Commit Graph

198 Commits

Author SHA1 Message Date
ad5221dc35 fix: stop toggle from triggering overflow 2026-07-24 22:32:01 -04:00
5eecb8e7d1 fix: correct DarkModeToggle sig 2026-07-24 22:28:25 -04:00
c66cd6d456 nav color fixes, cache busting 2026-07-24 15:26:36 -04:00
9e285570e1 feat:lineage compat, nessa made more similar 2026-07-24 07:40:58 -04:00
f2fc6a5d1a meta: task ref cleanup 2026-07-23 21:54:52 -04:00
8e33af43a5 fix: product subdomain cleanup 2026-07-23 20:52:49 -04:00
e7b32d6566 Merge branch 'per-subdomain-contact-pages' (task 09)
# Conflicts:
#	src/routes/contact.tsx
2026-07-23 17:08:54 -04:00
59d129b46b feat: add product-aware deletion emails and subdomain deletion/downloads routes
- Extend DeletionForm with product discriminator and configurable cooldown cookie
- Extract env-free deletion email helpers into deletion-email.ts with Lineage/Nessa branding
- Make misc.sendDeletionRequestEmail mutation product-aware (subject, html content, cookie)
- Replace legacy /deletion/life-and-lineage page with 308 redirect to lineage subdomain
- Add Lineage and Nessa subdomain deletion route modules with shared content components
- Add Lineage downloads route modules with shared content
- Update privacy policy deletion link to lineage subdomain
2026-07-23 12:32:14 -04:00
a7ad581ed2 feat(contact): extract shared ContactForm and add per-subdomain contact pages
Refactor the monolithic main-site contact page into a reusable
<ContactForm> component that encapsulates the Turnstile widget, cooldown
timer, email-verification flow, and tRPC submission. The main
/contact route becomes a thin wrapper that supplies the site-specific
disclaimer subline and Life-and-Lineage FAQ accordion (now exported as
<LineageContactQuestions> for reuse).

Add per-subdomain contact routes (gaze, inputhalo, lineage, nessa) that
render the shared component, with site-aware subject prefix, recipient,
heading, and PageHead metadata derived via useSite() from CONTACT_CONTEXT.

Introduce src/lib/contact-config.ts (with tests) centralizing the contact
recipient/sender addresses and subject building. The misc.sendContactRequest
mutation accepts an optional subjectPrefix (defaulting to "freno.me") so
inbound call sites continue emitting byte-identical legacy subjects, while
subdomain submissions route distinct subjects (e.g. "[Gaze] Contact Request")
to the same inbox.
2026-07-23 12:25:13 -04:00
d42cfc106b feat(nav): site-aware layout and navigation refinements
- Extract shared SubdomainNavList used by both subdomain bars
- Add branded Typewriter header to MainLeftBarContent
- Update BACK_TO_FRENO label to 'back to freno.me'
2026-07-23 11:14:58 -04:00
650b216dbc feat(Bars): add site-aware layout and navigation with subdomain nav config
Refactor LeftBar/RightBarContent into main-site and subdomain variants.
Subdomain sites render a simplified, brand-colored shell iterating a new
pure nav-config module (NAV_CONFIG), with a "back to freno.me" affordance
and inline SVG icon resolver. The main site retains its bespoke bars
(Recent Posts, auth-aware nav, admin links, widgets) unchanged.

Add nav-config.ts as an import-free, unit-testable module defining the
per-site link sets (with external/href/auth-gating/icon contract), plus
filterNavByAuth helper and BACK_TO_FRENO link.
2026-07-23 10:38:53 -04:00
741a6e26a3 feat(PageHead): make page metadata site-aware with auto-derived canonical URLs
Extract pure resolvePageHeadMeta helper that derives title suffix,
canonical URL, and OpenGraph fallbacks from the active site config and
router pathname. PageHead now reads useSite() + useLocation() to
render per-subdomain metadata (e.g. " | Nessa", canonical on
nessa.freno.me) instead of hardcoding " | Michael Freno".

- Always emit a canonical link (explicit override wins; otherwise
  https://<site.domain><pathname>)
- Default og:image to the site ogDefaultImage when not provided
- Add unit tests covering all five sites, canonical derivation, and
  OpenGraph fallback behavior
2026-07-23 10:09:10 -04:00
30b2d03c68 cleanup 2026-05-28 20:22:30 -04:00
d48bbc0fc3 security cleanup, fix turnstile 2026-05-28 16:48:06 -04:00
3635133994 fix github activity 2026-04-06 14:41:30 -04:00
4dbd0ac965 (sidebar)forget redis, better parallization 2026-04-06 13:32:46 -04:00
67bf77815e mermaid loading improved 2026-04-03 14:07:42 -04:00
9c48bc61c0 Flip Github/Gitea order - put Gitea above GitHub in sidebar 2026-04-03 14:07:42 -04:00
e045909acb somehow this works better 2026-02-10 13:10:12 -05:00
ef2968707e simpler 2026-02-09 01:01:26 -05:00
80daaa29dc quick fix 2026-02-02 15:24:28 -05:00
7b60494d6d fix: duplication error 2026-01-21 12:57:58 -05:00
6325f963ed general: passing up inverse 2026-01-13 21:24:25 -05:00
9d6c32d8b0 fix: corrected github recent commits 2026-01-13 09:48:27 -05:00
0286fae8aa make skeleton loader spinner easier to see 2026-01-12 14:20:45 -05:00
f68f1f462a session state simplification 2026-01-12 09:24:58 -05:00
df56a5ede8 fix: button size no longer changes on loading. locking for dl buttons 2026-01-11 14:08:05 -05:00
6a934880f9 mostly working 2026-01-07 17:53:21 -05:00
0a0c0e313e migrated 2026-01-07 16:22:31 -05:00
445ab6d7de auth querying consolidation 2026-01-06 23:26:51 -05:00
08a9ad35af updating auth token security 2026-01-06 23:11:19 -05:00
dec4162baf continued cleanup 2026-01-06 18:18:04 -05:00
aedcacaa57 clean up 401, simplify terminal error page 2026-01-06 17:57:58 -05:00
b981f953d6 coundown fixed 2026-01-06 14:19:39 -05:00
374c924119 form feedback consolidation 2026-01-06 14:00:22 -05:00
a11f1fee50 consolidation 2026-01-06 13:51:47 -05:00
133800f2e3 comment fixing 2026-01-06 13:40:32 -05:00
1f661f4f89 more more more 2026-01-06 11:58:12 -05:00
46f1efcd79 continued UI consolidation 2026-01-06 11:46:15 -05:00
b81c73a6bc simplifying 2026-01-06 11:13:49 -05:00
021a2871c1 UI Consolidation Cont. 2026-01-06 10:40:15 -05:00
609932a55b UI consolidation 2026-01-06 10:16:38 -05:00
3ce61bbe4c download link and analytics link for admin 2026-01-06 01:51:34 -05:00
ea556b3677 fledged out analytics, self gather, remove vercel speed insights 2026-01-06 01:34:55 -05:00
61303969e8 load previous attachments, video support 2026-01-05 18:52:50 -05:00
ad1f8b322c add lua 2026-01-04 23:31:24 -05:00
826a73b4e0 tag memoization 2026-01-04 22:00:54 -05:00
c0b4bad93d new tests and bundling changes 2026-01-04 21:40:27 -05:00
c6305d2f07 perf improvement - lower compute 2026-01-04 21:15:05 -05:00
8c8ae6be42 improve mobile ux 2026-01-04 21:07:37 -05:00