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

31 lines
669 B
TypeScript
Raw Normal View History

2024-07-20 16:28:00 +02:00
import * as React from "bloatless-react";
2024-07-22 21:07:44 +02:00
import ChatViewModel, { ChatPageType } from "../../ViewModel/Chat/chatViewModel";
2024-07-20 16:28:00 +02:00
export function ChatViewToggleButton(
label: string,
icon: string,
page: ChatPageType,
chatViewModel: ChatViewModel
) {
function select() {
chatViewModel.selectedPage.value = page;
}
const isSelected = React.createProxyState(
[chatViewModel.selectedPage],
() => chatViewModel.selectedPage.value == page
);
return (
<button
2024-07-23 02:11:25 +02:00
class="ghost ribbon-button"
2024-07-20 16:28:00 +02:00
aria-label={label}
toggle:selected={isSelected}
on:click={select}
>
<span class="icon">{icon}</span>
</button>
);
}