39 lines
896 B
TypeScript
39 lines
896 B
TypeScript
import { createMemo } from "solid-js"
|
|
import { useLocal } from "../context/local"
|
|
import { DialogSelect } from "../ui/dialog-select"
|
|
import { useDialog } from "../ui/dialog"
|
|
|
|
export function DialogVariant() {
|
|
const local = useLocal()
|
|
const dialog = useDialog()
|
|
|
|
const options = createMemo(() => {
|
|
return [
|
|
{
|
|
value: "default",
|
|
title: "Default",
|
|
onSelect: () => {
|
|
dialog.clear()
|
|
local.model.variant.set(undefined)
|
|
},
|
|
},
|
|
...local.model.variant.list().map((variant) => ({
|
|
value: variant,
|
|
title: variant,
|
|
onSelect: () => {
|
|
dialog.clear()
|
|
local.model.variant.set(variant)
|
|
},
|
|
})),
|
|
]
|
|
})
|
|
|
|
return (
|
|
<DialogSelect<string>
|
|
options={options()}
|
|
title={"Select variant"}
|
|
current={local.model.variant.selected()}
|
|
flat={true}
|
|
/>
|
|
)
|
|
}
|