import * as React from "bloatless-react"; import { ViewController } from "./viewController"; import "./homePage.css"; import { ChatViewToggleButton } from "./Components/chatViewToggleButton"; import { TaskPage } from "./ChatPages/taskPage"; import { SettingsPage } from "./ChatPages/settingsPage"; import { MessagePage } from "./ChatPages/messagePage"; import { CalendarPage } from "./ChatPages/calendarPage"; import CoreViewModel from "../ViewModel/Global/coreViewModel"; import ChatViewModel, { ChatPageTypes } from "../ViewModel/Chat/chatViewModel"; export function ChatPage( coreViewModel: CoreViewModel, chatViewModel: ChatViewModel, ) { ViewController.chatPages.state = React.createProxyState( [chatViewModel.selectedPage], () => { switch (chatViewModel.selectedPage.value) { case ChatPageTypes.Settings: { return SettingsPage( coreViewModel, chatViewModel.settingsPageViewModel, ); } case ChatPageTypes.Tasks: { return TaskPage( coreViewModel, chatViewModel.taskPageViewModel, ); } case ChatPageTypes.Calendar: { return CalendarPage( coreViewModel, chatViewModel.calendarViewModel, ); } default: { return MessagePage( coreViewModel, chatViewModel.messagePageViewModel, ); } } }, ); const marqueeContent = React.createProxyState( [chatViewModel.notificationViewModel.marquee], () => { const value = chatViewModel.notificationViewModel.marquee.value; if (value == undefined) return ; return ( {value.sender} {value.chat}: {value.body} ); }, ); return (
{ChatViewToggleButton( coreViewModel.translations.chatPage.pages.calendar, "calendar_month", ChatPageTypes.Calendar, chatViewModel, )} {ChatViewToggleButton( coreViewModel.translations.chatPage.pages.tasks, "task_alt", ChatPageTypes.Tasks, chatViewModel, )} {ChatViewToggleButton( coreViewModel.translations.chatPage.pages.messages, "forum", ChatPageTypes.Messages, chatViewModel, )} {ChatViewToggleButton( coreViewModel.translations.chatPage.pages.settings, "settings", ChatPageTypes.Settings, chatViewModel, )}
); }