init
This commit is contained in:
26
packages/ags/config/modules/quicksettings/widgets/MicMute.js
Normal file
26
packages/ags/config/modules/quicksettings/widgets/MicMute.js
Normal file
@@ -0,0 +1,26 @@
|
||||
import { SimpleToggleButton } from "../ToggleButton.js"
|
||||
import icons from "../../../lib/icons.js"
|
||||
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"
|
||||
|
||||
// TODO: Variable watch option
|
||||
const ico = Variable(icon())
|
||||
microphone.connect("changed", () => ico.value = icon())
|
||||
|
||||
// TODO: Variable watch option
|
||||
const lbl = Variable(label())
|
||||
microphone.connect("changed", () => lbl.value = label())
|
||||
|
||||
export const MicMute = () => SimpleToggleButton({
|
||||
icon: ico.bind(),
|
||||
label: lbl.bind(),
|
||||
toggle: () => microphone.is_muted = !microphone.is_muted,
|
||||
connection: [microphone, () => microphone?.is_muted || false],
|
||||
})
|
||||
Reference in New Issue
Block a user