Files
CT/src/View/ChatPages/taskPage.tsx
T

50 lines
1.5 KiB
TypeScript
Raw Normal View History

2024-07-22 13:17:21 +02:00
import * as React from "bloatless-react";
2024-07-23 00:05:48 +02:00
import { BoardInfoToEntry } from "../Components/boardEntry";
2024-07-22 21:07:44 +02:00
import TaskPageViewModel from "../../ViewModel/Pages/taskPageViewModel";
2024-07-22 13:17:21 +02:00
import { translations } from "../translations";
2024-07-22 21:07:44 +02:00
export function TaskPage(taskPageViewModel: TaskPageViewModel) {
2024-07-23 00:05:48 +02:00
taskPageViewModel.loadData();
2024-07-22 13:17:21 +02:00
return (
<div id="task-page">
2024-07-22 19:43:23 +02:00
<div class="pane side">
2024-07-23 01:48:27 +02:00
<div class="toolbar">
2024-07-22 19:50:57 +02:00
<div class="flex-row width-input">
<input
2024-07-22 21:07:44 +02:00
bind:value={taskPageViewModel.newBoardNameInput}
on:enter={taskPageViewModel.createBoard}
2024-07-22 19:50:57 +02:00
placeholder={translations.chatPage.task.newBoardNamePlaceholder}
></input>
<button
class="primary"
aria-label={
translations.chatPage.task.createBoardButtonAudioLabel
}
2024-07-22 21:07:44 +02:00
on:click={taskPageViewModel.createBoard}
toggle:disabled={taskPageViewModel.cannotCreateBoard}
2024-07-22 19:50:57 +02:00
>
<span class="icon">add</span>
</button>
</div>
2024-07-23 01:48:27 +02:00
</div>
<div class="content">
2024-07-23 00:05:48 +02:00
<div
class="grid gap"
style="grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr))"
2024-07-23 01:48:27 +02:00
children:append={[
taskPageViewModel.boardViewModels,
BoardInfoToEntry,
]}
2024-07-23 00:05:48 +02:00
></div>
2024-07-22 19:43:23 +02:00
</div>
2024-07-22 13:17:21 +02:00
</div>
2024-07-22 19:43:23 +02:00
<div class="pane">
2024-07-22 20:02:13 +02:00
<div class="toolbar"></div>
2024-07-22 19:43:23 +02:00
<div class="content"></div>
2024-07-22 13:17:21 +02:00
</div>
</div>
);
}