prepare calendar view

This commit is contained in:
marlon-erler
2024-07-18 14:54:11 +02:00
parent 5f9a6094dc
commit 4e068a8666
4 changed files with 58 additions and 1 deletions
+28
View File
@@ -0,0 +1,28 @@
import * as React from "bloatless-react";
import { Chat, MessageObject } from "../../Model/chatModel";
import { ObjectGridView } from "./objectGridView";
export function CalendarView(
chat: Chat,
messageObjects: React.MapState<MessageObject>,
selectedObject: React.State<MessageObject | undefined>,
isShowingObjectModal: React.State<boolean>
) {
const notes = new React.ListState<MessageObject>();
messageObjects.handleAddition((messageObject) => {
const latest = chat.getMostRecentContent(messageObject);
if (!latest) return;
if (!latest.date) return;
notes.add(messageObject);
messageObjects.handleRemoval(messageObject, () =>
notes.remove(messageObject)
);
});
return <div class="width-100 height-100 scroll-v padding">
{ObjectGridView(chat, notes, selectedObject, isShowingObjectModal)}
</div>;
}
+4
View File
@@ -12,12 +12,14 @@ import { icons } from "../../icons";
import { translation } from "../../translations";
import { previousObjectSearches } from "../../Model/model";
import { stringToOptionTag } from "../../utility";
import { CalendarView } from "./calendarView";
export const viewTypes = {
all: [translation.viewAll, "grid_view"],
notes: [translation.viewNotes, icons.noteContent],
kanban: [translation.viewKanban, "view_kanban"],
status: [translation.viewStatus, icons.status],
calendar: [translation.viewCalendar, icons.date],
};
export function ObjectPane(chat: Chat) {
@@ -143,6 +145,8 @@ export function ObjectPane(chat: Chat) {
return KanbanView;
case "status":
return StatusView;
case "calendar":
return CalendarView;
default:
return AllObjectsView;
}
+3
View File
@@ -114,6 +114,7 @@ const englishTranslations = {
viewNotes: "Notes",
viewKanban: "Kanban",
viewStatus: "Status",
viewCalendar: "Calendar",
noObjects: "No objects",
@@ -254,6 +255,7 @@ const allTranslations: { [key: string]: typeof englishTranslations } = {
viewNotes: "Notas",
viewKanban: "Kanban",
viewStatus: "Estado",
viewCalendar: "Calendario",
noObjects: "Sin objetos",
@@ -391,6 +393,7 @@ const allTranslations: { [key: string]: typeof englishTranslations } = {
viewNotes: "Notizen",
viewKanban: "Kanban",
viewStatus: "Status",
viewCalendar: "Kalender",
noObjects: "Keine Objekte",