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

31 lines
784 B
TypeScript
Raw Normal View History

2024-07-23 00:05:48 +02:00
import * as React from "bloatless-react";
2024-07-23 00:57:40 +02:00
import BoardViewModel from "../../ViewModel/Pages/boardViewModel";
2024-07-23 00:05:48 +02:00
2024-07-23 00:57:40 +02:00
export function BoardEntry(boardViewModel: BoardViewModel) {
2024-07-23 00:05:48 +02:00
const view = (
2024-07-23 00:09:39 +02:00
<button
2024-07-23 00:57:40 +02:00
set:color={boardViewModel.color}
2024-07-23 00:09:39 +02:00
class="tile colored-tile"
2024-07-23 02:40:11 +02:00
toggle:selected={boardViewModel.isSelected}
on:click={boardViewModel.select}
2024-07-23 00:09:39 +02:00
>
2024-07-23 00:57:40 +02:00
<span class="shadow" subscribe:innerText={boardViewModel.name}></span>
<b subscribe:innerText={boardViewModel.name}></b>
2024-07-23 00:05:48 +02:00
</button>
);
2024-07-23 14:27:38 +02:00
boardViewModel.index.subscribe((newIndex) => {
view.style.order = newIndex;
});
2024-07-23 00:05:48 +02:00
return view;
}
export const BoardInfoToEntry: React.StateItemConverter<
2024-07-23 00:57:40 +02:00
BoardViewModel
> = (boardViewModel: BoardViewModel) => {
return BoardEntry(boardViewModel);
2024-07-23 00:05:48 +02:00
};