Files
CT/src/View/Components/boardViewToggleButton.tsx
T

24 lines
616 B
TypeScript
Raw Normal View History

2024-07-23 15:41:03 +02:00
import * as React from "bloatless-react";
2026-04-18 11:55:01 +00:00
import { RibbonButton } from "./ribbonButton";
2024-07-23 15:41:03 +02:00
import BoardViewModel, {
2026-04-08 14:02:12 +00:00
BoardPageTypes,
2024-07-23 15:41:03 +02:00
} from "../../ViewModel/Pages/boardViewModel";
export function BoardViewToggleButton(
2026-04-01 08:29:39 +00:00
label: string,
icon: string,
2026-04-08 14:02:12 +00:00
page: BoardPageTypes,
2026-04-01 08:29:39 +00:00
boardViewModel: BoardViewModel,
2024-07-23 15:41:03 +02:00
) {
2026-04-01 08:29:39 +00:00
function select() {
boardViewModel.selectedPage.value = page;
}
2024-07-23 15:41:03 +02:00
2026-04-01 08:29:39 +00:00
const isSelected = React.createProxyState(
[boardViewModel.selectedPage],
() => boardViewModel.selectedPage.value == page,
);
2024-07-23 15:41:03 +02:00
2026-04-01 08:29:39 +00:00
return RibbonButton(label, icon, isSelected, select);
2024-07-23 15:41:03 +02:00
}