aboutsummaryrefslogtreecommitdiff
path: root/linux/home/.config/ags/widget/quicksettings/widgets/MicMute.ts
blob: b6e9454e021f1e25bb41c36f19d74caabe476b75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { SimpleToggleButton } from "../ToggleButton"
import icons from "lib/icons"
const { microphone } = await Service.import("audio")

const icon = () => microphone.is_muted || microphone.stream?.is_muted
    ? icons.audio.mic.muted
    : icons.audio.mic.high

const label = () => microphone.is_muted || microphone.stream?.is_muted
    ? "Muted"
    : "Unmuted"

export const MicMute = () => SimpleToggleButton({
    icon: Utils.watch(icon(), microphone, icon),
    label: Utils.watch(label(), microphone, label),
    toggle: () => microphone.is_muted = !microphone.is_muted,
    connection: [microphone, () => microphone?.is_muted || false],
})