From 9cc10e47e67b8bca09714e82968217d0996c77b4 Mon Sep 17 00:00:00 2001 From: jmug Date: Sat, 7 Mar 2026 06:17:39 +0000 Subject: [PATCH] Handmade content changes --- docker-compose.yml | 5 +-- src/app.html | 6 ---- src/lib/i18n/messages.json | 28 ++++++++--------- src/routes/event/[id]/+page.svelte | 47 ++++++++++++++++++----------- static/favicon.ico | Bin 15406 -> 166394 bytes 5 files changed, 47 insertions(+), 39 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 19c01b2..0f5f3a0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,6 +2,7 @@ services: # Database postgres: image: postgres:15-alpine + restart: unless-stopped container_name: cactoide-db environment: POSTGRES_DB: ${POSTGRES_DB:-cactoide_database} @@ -28,7 +29,8 @@ services: # Application app: - image: ghcr.io/polaroi8d/cactoide/cactoide:${APP_VERSION:-latest} + image: cactoide:handmade + restart: unless-stopped build: . container_name: cactoide-app ports: @@ -46,7 +48,6 @@ services: condition: service_healthy networks: - cactoide-network - restart: unless-stopped volumes: postgres_data: diff --git a/src/app.html b/src/app.html index a8f821a..eaf9340 100644 --- a/src/app.html +++ b/src/app.html @@ -6,12 +6,6 @@ %sveltekit.head% - -
%sveltekit.body%
diff --git a/src/lib/i18n/messages.json b/src/lib/i18n/messages.json index a588199..5e7a741 100644 --- a/src/lib/i18n/messages.json +++ b/src/lib/i18n/messages.json @@ -103,16 +103,16 @@ "instance": "Instance" }, "home": { - "title": "Cactoide - The RSVP site", + "title": "RSVP | Handmade Cities", "description": "Create and manage event RSVPs. No registration required, instant sharing.", - "mainTitle": "Cactoide(ea)", - "subtitle": "The Ultimate RSVP Platform", - "tagline": "A federated mobile-first event RSVP platform that lets you create events, share unique URLs, and collect RSVPs without any registration required. With built-in federation, discover and share events across a decentralized network of instances.", + "mainTitle": "Cactoide", + "subtitle": "Handmade's Preferred RSVP System", + "tagline": "Create, share, and manage events with zero friction.", "openSourceTitle": "Open Source & Self-Hostable", "openSourceDescription": "Cactoide is open source and easily self-hostable. View the source code, contribute, or host your own instance.", "viewOnGitHub": "View on GitHub", - "whyCactoideTitle": "Why Cactoide(ae)?🌵", - "whyCactoideDescription": "Like the cactus, great events bloom under any condition when managed with care. Cactoide(ae) helps you streamline RSVPs, simplify coordination, and keep every detail efficient—so your gatherings are resilient, vibrant, and unforgettable.", + "whyCactoideTitle": "Why Cactoide?", + "whyCactoideDescription": "Cactoide is lightweight and open source. Meetup Hosts should ALWAYS create private events. We currently don't prevent strangers from spamming public ones:", "createEventNow": "Create Event Now", "discoverPublicEventsTitle": "Discover Public Events", "discoverPublicEventsDescription": "See what others are planning and get inspired", @@ -146,7 +146,7 @@ "ctaButton": "Create" }, "create": { - "title": "Create Event - Cactoide", + "title": "Create Event - Handmade Cities", "formTitle": "Create New Event", "eventNameLabel": "Name", "eventNamePlaceholder": "Enter event name", @@ -179,10 +179,10 @@ "createEventButton": "Create Event" }, "event": { - "title": "{eventName} - Cactoide", - "eventTitle": "Event - Cactoide", - "editTitle": "Edit Event - {eventName} - Cactoide", - "myEventsTitle": "My Events - Cactoide", + "title": "{eventName} - Handmade Cities", + "eventTitle": "Event - Handmade Cities", + "editTitle": "Edit Event - {eventName} - Handmade Cities", + "myEventsTitle": "My Events - Handmade Cities", "eventNotFoundTitle": "Event Not Found", "eventNotFoundDescription": "The event you're looking for doesn't exist or has been removed.", "joinThisEvent": "Join This Event", @@ -230,7 +230,7 @@ "inviteLinkExpiresAt": "This link expires when the event starts: {time}" }, "discover": { - "title": "Discover Events - Cactoide", + "title": "Discover Events - Handmade Cities", "noPublicEventsTitle": "No Public Events Yet", "noPublicEventsDescription": "There are no public events available at the moment. Be the first to create one!", "createButton": "Create", @@ -283,13 +283,13 @@ "downloadICalDescription": "Download .ics file for any calendar app" }, "errors": { - "title": "Error - Cactoide", + "title": "Error - Handmade Cities", "errorTitle": "Error", "anUnexpectedErrorOccurred": "An unexpected error occurred.", "homeButton": "Home" }, "layout": { - "defaultTitle": "Cactoide -", + "defaultTitle": "Handmade Cities -", "defaultDescription": "Create and manage event RSVPs", "userIdCookieText": "Your UserID stored as a cookie:", "firstTimeVisiting": "First time visiting. Generating new UserID...", diff --git a/src/routes/event/[id]/+page.svelte b/src/routes/event/[id]/+page.svelte index 35fdeb0..b6b2b7f 100644 --- a/src/routes/event/[id]/+page.svelte +++ b/src/routes/event/[id]/+page.svelte @@ -8,6 +8,7 @@ import CalendarModal from '$lib/components/CalendarModal.svelte'; import type { CalendarEvent } from '$lib/calendarHelpers.js'; import { t } from '$lib/i18n/i18n.js'; + import { onMount } from 'svelte'; export let data: { event: Event; rsvps: RSVP[]; userId: string }; type FormDataLocal = { success?: boolean; error?: string; type?: 'add' | 'remove' | 'copy' }; @@ -27,6 +28,17 @@ let typeToShow: 'add' | 'remove' | 'copy' | undefined; let successHideTimer: number | null = null; + // Compute eventId early so reactive blocks can use it. + const eventId = $page.params.id || ''; + + // client-only origin (empty during SSR). + let origin = ''; + + // Safe: Only runs in browser. + onMount(() => { + origin = window.location.origin; + }); + // Use server-side data $: event = data.event; $: rsvps = data.rsvps; @@ -40,10 +52,26 @@ date: event.date, time: event.time, location: event.location, - url: `${$page.url.origin}/event/${eventId}` + // Fallback to relative path on server render. + url: origin ? `${origin}/event/${eventId}` : `/event/${eventId}` }; } + const copyEventLink = () => { + if (browser && isEventCreator) { + const url = origin ? `${origin}/event/${eventId}` : `${location.origin}/event/${eventId}`; + navigator.clipboard.writeText(url).then(() => { + toastType = 'copy'; + success = t('event.eventLinkCopied'); + + setTimeout(() => { + success = ''; + toastType = null; + }, 3000); + }); + } + }; + // Handle form errors from server $: if (form?.error) { error = String(form.error); @@ -79,22 +107,7 @@ // Derive toast type from local or server form $: typeToShow = toastType ?? form?.type; - const eventId = $page.params.id || ''; - const copyEventLink = () => { - if (browser && isEventCreator) { - const url = `${$page.url.origin}/event/${eventId}`; - navigator.clipboard.writeText(url).then(() => { - toastType = 'copy'; - success = t('event.eventLinkCopied'); - - setTimeout(() => { - success = ''; - toastType = null; - }, 3000); - }); - } - }; const clearMessages = () => { error = ''; @@ -476,7 +489,7 @@ bind:isOpen={showCalendarModal} event={calendarEvent} {eventId} - baseUrl={$page.url.origin} + baseUrl={origin} on:close={closeCalendarModal} /> {/if} diff --git a/static/favicon.ico b/static/favicon.ico index 1a5c6beac8c0c7c822f693baebff15e56adf7170..06f7e3e6b2ffa48adddfbabd944f18af4e37cc86 100644 GIT binary patch literal 166394 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[N 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 G7yTdF`Dp|I literal 15406 zcmeHO3vg7`8D5H(3ax^O5JE7#Ulu4afj}M*l8}(+K5lqcs6YflAiJBrHxZm=)MBNA zk%F3m3gw-JB)gjoN}W#YlyRm7nRb*uY^PJjzAL3529f0U`|s|#+`W76-kTR<$DO%3 z_nve9|Ns7T{_~&zJYuo*vGlbJ9B4tBXjyxg#gbyNSP~OM-xCK}EUzMO`t)%5c#Gw& zAr{L-)By=7LitEc|G0p2tUbW*;ez~6=yA00yD85s1A9O?#svjY`8b07Q8V-}Q2@7~zgPs`^o-6)_#cTNr!@~KT_d~aKh8OSu0scR*Z*`hkzp_1R-B5c*KPq1AImE|zEQL`x+1ZlZK3BIL_gk}pH*@qgf;(gg*bcn za;K6$_rO|_c%c3-?fytyMS`r&FhkIEcDp}`*HtLeS; zq)Vi7!k)Q*#n-?aI)~ca78HuCO>SSo(G42(f|Ke|e^5EmlMY<4Iu-qM0MB~*R^n%T zL-GY@-r@B!Uq(+f%Ab-R`iR;4%O(8a<;-|_g&}=uqq~{ORnj{G)s-xtaKt;)A6Lqy z_o42o17>Wuf5_^w6yxb|N%N*eF2MgYoY$(RW#6c~g3(b*{WEE6{vImNJ5_nFwNaR6 z@p@$&WORzOk3Hbo3Rxe~L+^3rN&OY&J@!g|CK1nEJmjBx>Q~TOGYGf~9Rb0OKG;T& z^o~3#>nS;EKAey1YY%!}ko-v4rj>m`@35~nl<%avYWnVeV~pji<>`J0s`I)lPfhP= zt>JX#soSH4cc|&R`)wrO)>JLdf`2YK;S{+ZmS5UbGZ?zn3{v3~o>q>jaRb`})aAjNopEgZ-s`*p14%tE% z+P^U9?T@+R%(yKJ#6swy=DqMpg_!7>CuYA|9#y8U+ZFkUO zIe+QU{Mh05Y@s;)Cu88PhzJ`F1Z{3^%x8|j{VHvOeX74)H)jba>|zxo5Jrl&v2Bn;FJ zvV4qxd{@ce(S0D61^8LSm*gk7GtX07Yt@JCMaZ`{x;5)X(31Z_EDj8pBJzQQ(aZ7y z!3r$udh8oKWcgY9R!KfS@6fGSlhunz!~PHJjf={BCB0I3*)|m$=52^%+ryttQ#f2#Tk$CUnuI_ z1g1KRi0~1=SoWu&3E4&$|}eJsjm)%q)CX}xzv zKH1-x+H7&!v({dfUwYChPIxj;TKh?T!R$XMT$I+>euZxc`+}a-pJG0&SH-M-;kBtj z|5KkNIMXk7X6=LZ`3CZbQMRVx+gSX8vHNSS`eY9YuFNKjHxoNF#=qg7*%L-M(>qdk zEi)(IABw*bKW^5Nk9?Ycq;X{|9W~06?jE-#cX#2jji%(={GNHlxBOiB-SBHCVTTIe z#{bC{bkXv#Q@@;p?g3cqU(wblG+&V&%-Xf2J!z*kPRZQf%+I#_g$mfB9kJFu%CgS9 zJN&#imi)Ph{jmnFNNFHoi`KFdPfzZXfSvXa`$M_do22=zw3VL(pZ18&@6IS| z6*B0(*zcZP(kvv>UP^E5V`zgikxO%PbMn~ihu=MlP0sE5!(Y|l0@tOXn z*s`^HSZ_715nm2#aLgU=n#QY|)6r+|sN+E+nLSxf>tERNg|6ZU-Me2T{Ah3KoMpkG zb!@%%g~Ctk;i=y(k=BaIJEe8`=YpSm%Xv@nsoKfdFJA)t|G=#MV9!W=_?cn}f716k ziurmSf6i(50GfB~!RlO&_Vk0o8Th}eumwfz7>e@@^}s$QozrFSUnAO^rI@`}@Qa``=K=O_Hc!YC~mG;-o>c#nl`#>La z9jV4ItzRS7uqORb^f-`phaMd>>y~_ieTa6f8ULKLy>yJ37_ZDQme)5J$Q*Y47Dmp>NY`wq~IS{Sb2vNNYzU-mDxluHo!|by2`Qs+;kT z-0lkA(!O=U(Msve5VAV({1<2WIKTCNRnMMqPPClyh?NpQVBSynIeH*|i^8uf8|NjM zi=L$W7g{8@aJQ1p7tWg zK9SRwQnzT8S^VfPG2@k$BJGz>d8$aV4H=Ia%<4J;;ezr$5Yxq|{pamnC7tIaxHGPg z-JD|@KkZFYtVw6kq(g+Cg-t*|S}PmR@d`bx!J1@-o6-k2&Kx@9dB;w=PXwQ+*~er% zsk@enDRqn6@(!*uji1_|_>vCP4`fTM{ZaNFY;hIl0P_9vohnwYn_{fW_&G~o#5-Hj zKA()+oGaa((W4_Qh?(0+CefR=f1*P_5WR}G6hByBtBM0p&2tu2{Sdw1^OzF<@J(r( zf&VJmH?^}SO}PKiR+{*A@Wtc>Idc4ib`hYTZj2kjUx^=z45`i>mb9I#qcN&yKTIbr z{B#F^;y5}-BRQ{8jj=FC6|FQ}Y*Ov;m{kf6RWSZL><_bD}pt zru}JPlkrRA0Q;^Qb;KzC8u)RZn+&hMzFeoi2(k;b(lneHQj| z4&RNyzdG-f_g<>Qe!YR8)}(Z&NIB0b+fsV>3%C3~1EWgmP7n9G^ZwGNiovvpqP2$T z4gAx;XA?))%-1~Imi5rFAC(G*pFN3R>T~$d(ZYPm7t?$q<5k2yq4rnIzlJFFD|7}w z`4Czw(|tn494C)ohM(rZ6s)Id{cKP388N?m^$WE3e5%8bfGTl5eN^AXSgjZc2 z=T1wCccp)%vgc0W$3DjSl4e%|<82Sr+F(bQ)tK2g=G4F1f^OOi>i!S+_$F;BnzHa{ z#hI9MrP_BZzR{MaX$;9=a0Xt6I2by-k0&A)2KIl`{T;e%A=mHb3&ldP+vkBJcFd>1 zOl?W~zBmKx$Uju^lGc7sVNe)}vl0*Z`VhA?Af^yF+@tFzTupLY3%>wu^AFa?X3|-8 zOK6Vmz+Ohn@QUQYnv8E#W>UR$7wKg)xLKW)(0)n>#{a1}SJDHw397D`!eDuS#MZ6w zAD=Rex+&_|n%$>yAE;>9`qYTKjJg7DLxFS_PyZtm!-vD3FL5oxj$*%O_-%mHX%YBe qtA0iJzekJ*FR;FiKDZLT3-vagjVx+%ji)-DX8a|=mo3msE$}}N$Xts6