From dadefeff99dbb0e9f81a025c5d4fbfc56c03df9e Mon Sep 17 00:00:00 2001 From: Ashwin Date: Tue, 9 Dec 2025 16:10:31 +0530 Subject: [PATCH] feat: Add profile details to session type; refactor component prop defaults, update dynamic component syntax, and enhance type safety in form and error handling. --- frontend/src/app.d.ts | 4 ++++ .../src/lib/components/ui/card/card-description.svelte | 2 +- frontend/src/lib/components/ui/card/card-header.svelte | 2 +- frontend/src/lib/components/ui/card/card-title.svelte | 2 +- .../src/lib/components/ui/dialog/dialog-content.svelte | 4 ++-- .../lib/components/ui/dialog/dialog-description.svelte | 2 +- .../src/lib/components/ui/dialog/dialog-footer.svelte | 2 +- .../src/lib/components/ui/dialog/dialog-header.svelte | 2 +- .../src/lib/components/ui/dialog/dialog-title.svelte | 2 +- .../src/lib/components/ui/kanban/KanbanBoard.svelte | 3 +-- .../src/lib/components/ui/kanban/KanbanColumn.svelte | 3 +-- frontend/src/lib/components/ui/label/label.svelte | 2 +- frontend/src/routes/(app)/leads/+page.svelte | 3 ++- .../src/routes/(app)/settings/tags/+page.server.js | 10 ++++++---- 14 files changed, 24 insertions(+), 19 deletions(-) diff --git a/frontend/src/app.d.ts b/frontend/src/app.d.ts index 8e79195e..a9be9d47 100644 --- a/frontend/src/app.d.ts +++ b/frontend/src/app.d.ts @@ -12,6 +12,10 @@ declare global { currency_symbol?: string; default_country?: string | null; }; + profile?: { + role?: string; + is_organization_admin?: boolean; + }; } // interface PageData {} // interface PageState {} diff --git a/frontend/src/lib/components/ui/card/card-description.svelte b/frontend/src/lib/components/ui/card/card-description.svelte index f8f84b86..ce98b76b 100644 --- a/frontend/src/lib/components/ui/card/card-description.svelte +++ b/frontend/src/lib/components/ui/card/card-description.svelte @@ -1,7 +1,7 @@

import { cn } from '$lib/utils.js'; - let { ref = $bindable(null), class: className, children, ...restProps } = $props(); + let { ref = $bindable(null), class: className = undefined, children, ...restProps } = $props();

import { cn } from '$lib/utils.js'; - let { ref = $bindable(null), class: className, children, ...restProps } = $props(); + let { ref = $bindable(null), class: className = undefined, children, ...restProps } = $props();
diff --git a/frontend/src/lib/components/ui/dialog/dialog-footer.svelte b/frontend/src/lib/components/ui/dialog/dialog-footer.svelte index b2d4035e..45460648 100644 --- a/frontend/src/lib/components/ui/dialog/dialog-footer.svelte +++ b/frontend/src/lib/components/ui/dialog/dialog-footer.svelte @@ -2,7 +2,7 @@ import { cn } from "$lib/utils.js"; let { ref = $bindable(null), - class: className, + class: className = undefined, children, ...restProps } = $props(); diff --git a/frontend/src/lib/components/ui/dialog/dialog-header.svelte b/frontend/src/lib/components/ui/dialog/dialog-header.svelte index 2d4d36eb..163eb208 100644 --- a/frontend/src/lib/components/ui/dialog/dialog-header.svelte +++ b/frontend/src/lib/components/ui/dialog/dialog-header.svelte @@ -3,7 +3,7 @@ let { ref = $bindable(null), - class: className, + class: className = undefined, children, ...restProps } = $props(); diff --git a/frontend/src/lib/components/ui/dialog/dialog-title.svelte b/frontend/src/lib/components/ui/dialog/dialog-title.svelte index 95a17ba6..fb139001 100644 --- a/frontend/src/lib/components/ui/dialog/dialog-title.svelte +++ b/frontend/src/lib/components/ui/dialog/dialog-title.svelte @@ -4,7 +4,7 @@ let { ref = $bindable(null), - class: className, + class: className = undefined, ...restProps } = $props(); diff --git a/frontend/src/lib/components/ui/kanban/KanbanBoard.svelte b/frontend/src/lib/components/ui/kanban/KanbanBoard.svelte index 2a0d37e0..ff2aaf52 100644 --- a/frontend/src/lib/components/ui/kanban/KanbanBoard.svelte +++ b/frontend/src/lib/components/ui/kanban/KanbanBoard.svelte @@ -258,8 +258,7 @@
{#each activeMobileColumn.items as item (item.id)} {#if CardComponent} - onCardClick(item)} /> diff --git a/frontend/src/lib/components/ui/kanban/KanbanColumn.svelte b/frontend/src/lib/components/ui/kanban/KanbanColumn.svelte index 0d797e9c..363899a6 100644 --- a/frontend/src/lib/components/ui/kanban/KanbanColumn.svelte +++ b/frontend/src/lib/components/ui/kanban/KanbanColumn.svelte @@ -101,8 +101,7 @@
{#each column.items as item (item.id)} {#if CardComponent} - onCardClick(item)} ondragstart={(e) => onCardDragStart(e, item)} diff --git a/frontend/src/lib/components/ui/label/label.svelte b/frontend/src/lib/components/ui/label/label.svelte index 43d63c28..2d84d942 100644 --- a/frontend/src/lib/components/ui/label/label.svelte +++ b/frontend/src/lib/components/ui/label/label.svelte @@ -2,7 +2,7 @@ import { Label as LabelPrimitive } from 'bits-ui'; import { cn } from '$lib/utils.js'; - let { ref = $bindable(null), class: className, ...restProps } = $props(); + let { ref = $bindable(null), class: className = undefined, ...restProps } = $props(); { const formData = await request.formData(); + const name = /** @type {string | null} */ (formData.get('name')); const data = { - name: formData.get('name'), + name, color: formData.get('color') || 'blue', description: formData.get('description') || '' }; - if (!data.name?.trim()) { + if (!name?.trim()) { return fail(400, { error: 'Tag name is required' }); } @@ -47,13 +48,14 @@ export const actions = { update: async ({ request, cookies }) => { const formData = await request.formData(); const tagId = formData.get('tagId'); + const name = /** @type {string | null} */ (formData.get('name')); const data = { - name: formData.get('name'), + name, color: formData.get('color'), description: formData.get('description') || '' }; - if (!data.name?.trim()) { + if (!name?.trim()) { return fail(400, { error: 'Tag name is required' }); }