import AstalWp from "gi://AstalWp"
import { Variable, bind } from "astal"
import Dropdown from "./Dropdown"
const speaker = AstalWp.get_default().audio.default_speaker!
const icon = Variable.derive(
[bind(speaker, "volume"), bind(speaker, "mute")],
(volume, mute) => {
if (mute || volume <= 0.01) return "audio-volume-muted-symbolic"
if (volume < 0.33) return "audio-volume-low-symbolic"
if (volume < 0.66) return "audio-volume-medium-symbolic"
return "audio-volume-high-symbolic"
}
)
export function VolumeWidget(gdkmonitor: Gdk.Monitor) {
const open = Variable(false)
const button = (
)
const popup = (
(speaker.volume = self.value)}
/>
)
return { button, popup }
}