diff --git a/apps/manacore/apps/web/src/hooks.server.ts b/apps/manacore/apps/web/src/hooks.server.ts index 311882195..fdace0d5d 100644 --- a/apps/manacore/apps/web/src/hooks.server.ts +++ b/apps/manacore/apps/web/src/hooks.server.ts @@ -25,6 +25,30 @@ const PUBLIC_CONTACTS_API_URL_CLIENT = process.env.PUBLIC_CONTACTS_API_URL_CLIENT || process.env.PUBLIC_CONTACTS_API_URL || ''; const PUBLIC_GLITCHTIP_DSN = process.env.PUBLIC_GLITCHTIP_DSN || ''; +// Sync server URL (WebSocket) +const PUBLIC_SYNC_SERVER_URL_CLIENT = + process.env.PUBLIC_SYNC_SERVER_URL_CLIENT || process.env.PUBLIC_SYNC_SERVER_URL || ''; + +// Additional backend URLs +const PUBLIC_CHAT_API_URL_CLIENT = + process.env.PUBLIC_CHAT_API_URL_CLIENT || process.env.PUBLIC_CHAT_API_URL || ''; +const PUBLIC_STORAGE_API_URL_CLIENT = + process.env.PUBLIC_STORAGE_API_URL_CLIENT || process.env.PUBLIC_STORAGE_API_URL || ''; +const PUBLIC_CARDS_API_URL_CLIENT = + process.env.PUBLIC_CARDS_API_URL_CLIENT || process.env.PUBLIC_CARDS_API_URL || ''; +const PUBLIC_MUKKE_API_URL_CLIENT = + process.env.PUBLIC_MUKKE_API_URL_CLIENT || process.env.PUBLIC_MUKKE_API_URL || ''; +const PUBLIC_NUTRIPHI_API_URL_CLIENT = + process.env.PUBLIC_NUTRIPHI_API_URL_CLIENT || process.env.PUBLIC_NUTRIPHI_API_URL || ''; +const PUBLIC_ULOAD_SERVER_URL_CLIENT = + process.env.PUBLIC_ULOAD_SERVER_URL_CLIENT || process.env.PUBLIC_ULOAD_SERVER_URL || ''; +const PUBLIC_MEMORO_SERVER_URL_CLIENT = + process.env.PUBLIC_MEMORO_SERVER_URL_CLIENT || process.env.PUBLIC_MEMORO_SERVER_URL || ''; +const PUBLIC_MANA_MEDIA_URL_CLIENT = + process.env.PUBLIC_MANA_MEDIA_URL_CLIENT || process.env.PUBLIC_MANA_MEDIA_URL || ''; +const PUBLIC_MANA_LLM_URL_CLIENT = + process.env.PUBLIC_MANA_LLM_URL_CLIENT || process.env.PUBLIC_MANA_LLM_URL || ''; + // Map of app subdomains to internal paths const APP_SUBDOMAINS = new Set([ 'todo', @@ -72,6 +96,16 @@ window.__PUBLIC_TODO_API_URL__ = ${JSON.stringify(PUBLIC_TODO_API_URL_CLIENT)}; window.__PUBLIC_CALENDAR_API_URL__ = ${JSON.stringify(PUBLIC_CALENDAR_API_URL_CLIENT)}; window.__PUBLIC_CLOCK_API_URL__ = ${JSON.stringify(PUBLIC_CLOCK_API_URL_CLIENT)}; window.__PUBLIC_CONTACTS_API_URL__ = ${JSON.stringify(PUBLIC_CONTACTS_API_URL_CLIENT)}; +window.__PUBLIC_SYNC_SERVER_URL__ = ${JSON.stringify(PUBLIC_SYNC_SERVER_URL_CLIENT)}; +window.__PUBLIC_CHAT_API_URL__ = ${JSON.stringify(PUBLIC_CHAT_API_URL_CLIENT)}; +window.__PUBLIC_STORAGE_API_URL__ = ${JSON.stringify(PUBLIC_STORAGE_API_URL_CLIENT)}; +window.__PUBLIC_CARDS_API_URL__ = ${JSON.stringify(PUBLIC_CARDS_API_URL_CLIENT)}; +window.__PUBLIC_MUKKE_API_URL__ = ${JSON.stringify(PUBLIC_MUKKE_API_URL_CLIENT)}; +window.__PUBLIC_NUTRIPHI_API_URL__ = ${JSON.stringify(PUBLIC_NUTRIPHI_API_URL_CLIENT)}; +window.__PUBLIC_ULOAD_SERVER_URL__ = ${JSON.stringify(PUBLIC_ULOAD_SERVER_URL_CLIENT)}; +window.__PUBLIC_MEMORO_SERVER_URL__ = ${JSON.stringify(PUBLIC_MEMORO_SERVER_URL_CLIENT)}; +window.__PUBLIC_MANA_MEDIA_URL__ = ${JSON.stringify(PUBLIC_MANA_MEDIA_URL_CLIENT)}; +window.__PUBLIC_MANA_LLM_URL__ = ${JSON.stringify(PUBLIC_MANA_LLM_URL_CLIENT)}; window.__PUBLIC_GLITCHTIP_DSN__ = ${JSON.stringify(PUBLIC_GLITCHTIP_DSN)}; `; return injectUmamiAnalytics(html.replace('
', `${envScript}`)); @@ -85,7 +119,18 @@ window.__PUBLIC_GLITCHTIP_DSN__ = ${JSON.stringify(PUBLIC_GLITCHTIP_DSN)}; PUBLIC_CALENDAR_API_URL_CLIENT, PUBLIC_CLOCK_API_URL_CLIENT, PUBLIC_CONTACTS_API_URL_CLIENT, - ], + PUBLIC_SYNC_SERVER_URL_CLIENT, + PUBLIC_CHAT_API_URL_CLIENT, + PUBLIC_STORAGE_API_URL_CLIENT, + PUBLIC_CARDS_API_URL_CLIENT, + PUBLIC_MUKKE_API_URL_CLIENT, + PUBLIC_NUTRIPHI_API_URL_CLIENT, + PUBLIC_ULOAD_SERVER_URL_CLIENT, + PUBLIC_MEMORO_SERVER_URL_CLIENT, + PUBLIC_MANA_MEDIA_URL_CLIENT, + PUBLIC_MANA_LLM_URL_CLIENT, + 'wss://sync.mana.how', + ].filter(Boolean), }); return response; diff --git a/apps/manacore/apps/web/src/lib/modules/calendar/components/QuickEventPopover.svelte b/apps/manacore/apps/web/src/lib/modules/calendar/components/QuickEventPopover.svelte index 7b9d2b219..4128ce030 100644 --- a/apps/manacore/apps/web/src/lib/modules/calendar/components/QuickEventPopover.svelte +++ b/apps/manacore/apps/web/src/lib/modules/calendar/components/QuickEventPopover.svelte @@ -2,9 +2,16 @@ import { getContext, onMount, tick } from 'svelte'; import { getDefaultCalendar, getCalendarColor } from '../queries'; import type { Calendar } from '../types'; - import { format } from 'date-fns'; + import { format, addMinutes } from 'date-fns'; import { de } from 'date-fns/locale'; - import { X } from '@manacore/shared-icons'; + import { + X, + Clock, + CalendarBlank, + MapPin, + ArrowsClockwise, + TextAlignLeft, + } from '@manacore/shared-icons'; interface Props { startTime: Date; @@ -17,48 +24,76 @@ endTime: string; isAllDay: boolean; location: string | null; + description: string | null; + recurrenceRule: string | null; }) => void; onClose: () => void; - onExpand?: () => void; } - let { startTime, endTime, position, onSave, onClose, onExpand }: Props = $props(); + let { startTime, endTime, position, onSave, onClose }: Props = $props(); const calendarsCtx: { readonly value: Calendar[] } = getContext('calendars'); let title = $state(''); let location = $state(''); + let description = $state(''); + let isAllDay = $state(false); + let recurrenceRule = $state