From 819d5b876a7ba90f142428250bf7ca666f2cbd2d Mon Sep 17 00:00:00 2001 From: AlacrisDevs Date: Sat, 7 Feb 2026 11:03:58 +0200 Subject: [PATCH] ui: overhaul files, kanban, calendar, settings, chat modules - FileBrowser: modernize breadcrumbs, toolbar, list/grid items, empty states - KanbanColumn: remove fixed height, border-based styling, compact header - KanbanCard: cleaner border styling, smaller tags, compact footer - Calendar: compact nav bar, border grid, today circle indicator, day view empty state - DocumentViewer: remove bg-night rounded-[32px], border-b header pattern - Settings tags: inline border/rounded-xl cards, icon action buttons - Chat: create +layout.svelte with PageHeader, overhaul sidebar and main area - Chat i18n: add nav_chat, chat_title, chat_subtitle keys (en + et) svelte-check: 0 errors, vitest: 112/112 passed --- messages/en.json | 3 + messages/et.json | 3 + src/lib/components/calendar/Calendar.svelte | 137 +++++------- .../documents/DocumentViewer.svelte | 35 ++- .../components/documents/FileBrowser.svelte | 201 +++++++++--------- src/lib/components/kanban/KanbanCard.svelte | 61 ++---- src/lib/components/ui/KanbanColumn.svelte | 31 ++- src/routes/[orgSlug]/chat/+layout.svelte | 36 ++++ src/routes/[orgSlug]/chat/+page.svelte | 180 ++++++++-------- src/routes/[orgSlug]/settings/+page.svelte | 99 +++++---- 10 files changed, 376 insertions(+), 410 deletions(-) create mode 100644 src/routes/[orgSlug]/chat/+layout.svelte diff --git a/messages/en.json b/messages/en.json index 23d83fd..f620aa8 100644 --- a/messages/en.json +++ b/messages/en.json @@ -254,6 +254,9 @@ "entity_invite": "invite", "entity_event": "event", "nav_events": "Events", + "nav_chat": "Chat", + "chat_title": "Chat", + "chat_subtitle": "Team messaging and communication", "events_title": "Events", "events_subtitle": "Organize and manage your events", "events_new": "New Event", diff --git a/messages/et.json b/messages/et.json index 228d7cc..f206b28 100644 --- a/messages/et.json +++ b/messages/et.json @@ -254,6 +254,9 @@ "entity_invite": "kutse", "entity_event": "ürituse", "nav_events": "Üritused", + "nav_chat": "Vestlus", + "chat_title": "Vestlus", + "chat_subtitle": "Meeskonna sõnumid ja suhtlus", "events_title": "Üritused", "events_subtitle": "Korralda ja halda oma üritusi", "events_new": "Uus üritus", diff --git a/src/lib/components/calendar/Calendar.svelte b/src/lib/components/calendar/Calendar.svelte index f2bad56..20061cc 100644 --- a/src/lib/components/calendar/Calendar.svelte +++ b/src/lib/components/calendar/Calendar.svelte @@ -123,63 +123,63 @@ }); -
+
-
-
+
+
{headerTitle}
-
+
@@ -187,48 +187,40 @@ {#if currentView === "month"} -
+
-
+
{#each weekDayHeaders as day} -
- {day} +
+ {day}
{/each}
-
+
{#each weeks as week} -
+
{#each week as day} {@const dayEvents = getEventsForDay(day)} {@const isToday = isSameDay(day, today)} {@const inMonth = isCurrentMonth(day)} -
onDateClick?.(day)} > {day.getDate()} {#each dayEvents.slice(0, 2) as event} {/each} {#if dayEvents.length > 2} - +{dayEvents.length - 2} more + +{dayEvents.length - 2} {/if} -
+ {/each}
{/each} @@ -253,40 +242,25 @@ {#if currentView === "week"} -
-
+
+
{#each weekDates as day} {@const dayEvents = getEventsForDay(day)} {@const isToday = isSameDay(day, today)} -
-
-
+
+
+
{weekDayHeaders[(day.getDay() + 6) % 7]}
-
+
{day.getDate()}
-
+
{#each dayEvents as event} + {:else if mode === "edit"} - {:else} - + {/if} - +
-
+
diff --git a/src/lib/components/documents/FileBrowser.svelte b/src/lib/components/documents/FileBrowser.svelte index 8e44fee..fae3729 100644 --- a/src/lib/components/documents/FileBrowser.svelte +++ b/src/lib/components/documents/FileBrowser.svelte @@ -5,9 +5,6 @@ Button, Modal, Input, - Avatar, - IconButton, - Icon, } from "$lib/components/ui"; import { DocumentViewer } from "$lib/components/documents"; import { createLogger } from "$lib/utils/logger"; @@ -490,97 +487,101 @@ } -
+
-
- -
- -

{title}

- - - - -
- - - + +
-
+
{#if viewMode === "list"}
{#if currentFolderItems.length === 0} -
-

- No files yet. Drag files here or create a new - one. -

+
+ folder_open +

{m.files_empty()}

{:else} {#each currentFolderItems as item} @@ -678,7 +671,7 @@ {#if selectedDoc} -
+
- delete + close {/if} {#if card.tags && card.tags.length > 0} -
+
{#each card.tags as tag} {tag.name} @@ -95,55 +95,40 @@ {/if} -

+

{card.title}

{#if hasFooter} -
-
- +
+
{#if card.due_date} -
+ - calendar_today - - - {formatDueDate(card.due_date)} - -
+ class="material-symbols-rounded" + style="font-size: 14px; font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 14;" + >calendar_today + {formatDueDate(card.due_date)} + {/if} - {#if (card.checklist_total ?? 0) > 0} -
+ - check_box - - - {card.checklist_done ?? 0}/{card.checklist_total} - -
+ class="material-symbols-rounded" + style="font-size: 14px; font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 14;" + >check_box + {card.checklist_done ?? 0}/{card.checklist_total} + {/if}
- {#if card.assignee_id} {/if}
diff --git a/src/lib/components/ui/KanbanColumn.svelte b/src/lib/components/ui/KanbanColumn.svelte index f604b1b..990988e 100644 --- a/src/lib/components/ui/KanbanColumn.svelte +++ b/src/lib/components/ui/KanbanColumn.svelte @@ -14,28 +14,25 @@
-
+
- {title} -
- {count} -
+ {title} + {count}
{#if onMore} +
+ +
{/if}
diff --git a/src/routes/[orgSlug]/chat/+layout.svelte b/src/routes/[orgSlug]/chat/+layout.svelte new file mode 100644 index 0000000..0022c62 --- /dev/null +++ b/src/routes/[orgSlug]/chat/+layout.svelte @@ -0,0 +1,36 @@ + + +
+ + + {#if isNavigatingHere && !$navigating?.from?.url.pathname?.includes(`/${data.org.slug}/chat`)} + + {:else} +
+ {@render children()} +
+ {/if} +
diff --git a/src/routes/[orgSlug]/chat/+page.svelte b/src/routes/[orgSlug]/chat/+page.svelte index 41e1da2..56638e3 100644 --- a/src/routes/[orgSlug]/chat/+page.svelte +++ b/src/routes/[orgSlug]/chat/+page.svelte @@ -392,9 +392,9 @@ {#if showMatrixLogin}
-
-

Connect to Chat

-

+

+

Connect to Chat

+

Enter your Matrix credentials to enable messaging.

@@ -410,12 +410,12 @@ placeholder="@user:matrix.org" />
- + { if (e.key === "Enter") handleMatrixLogin(); }} @@ -438,9 +438,9 @@
-

+

{#if isInitializing} Connecting to Matrix... {:else if $syncState === "CATCHUP"} @@ -460,56 +460,50 @@ {:else if matrixClient} {#snippet children()} -

+
-