off?: () => void
}>()
+const $emit = defineEmits(['clicked'])
+
const id = props.shared === true ? `shared-toggle-button-${props.id}` : `toggle-button-${props.id}`
const state = ref({
})
const click = (): void => {
- if (props.shared) {
+ if (props.shared === true) {
for (const key in localStorage) {
if (key !== id && key.startsWith('shared-toggle-button-')) {
setToLocalStorage<boolean>(key, false)
}
setToLocalStorage<boolean>(id, !getFromLocalStorage<boolean>(id, props.status ?? false))
state.value.status = getFromLocalStorage<boolean>(id, props.status ?? false)
- // console.log(`----begin----`)
- // for (const key in localStorage) {
- // if (key.startsWith('shared-toggle-button-')) {
- // console.log(key, getFromLocalStorage<boolean>(key, props.status ?? false))
- // }
- // }
- // console.log(`----end----`)
if (getFromLocalStorage<boolean>(id, props.status ?? false)) {
props.on?.()
} else {
props.off?.()
}
+ $emit('clicked', getFromLocalStorage<boolean>(id, props.status ?? false))
}
</script>