Natalie
a08765a727
feat(tours): make /tours/* landing pages DB-driven per 20260628 handoff
...
- Extend tour_stops with landing_* editorial columns + partial unique index (nullable, JSONB arrays for neighborhoods/intro/infoItems).
- New tour_landing_hubs entity (hub meta for grouped legs).
- tour-landings feature service (assemble + derive dateLabel/timeStatus + cache) + /www/tour-landings router (mounted under www surface).
- Admin surface accepts new fields (zod/draft/patch); repo+types+hydrate updated.
- Provider api-client: fetchTourLandings + types.
- Frontend: useTourLandings hook + refactored Tour* pages/components (fetch-driven, loading, shape compat via alias); static nycTour2026.ts deleted.
- Sitemap now derives /tours/* from DB (no hardcoded list).
- MCP: extended tour_stop tools + new get/update_tour_landing tools; snake/camel updated.
- Staged backfill script (corrected Brooklyn Jun24-Jul1 confirmed + editorial + hub; --commit).
- Nginx: exact /www/tour-landings location with edge-overrides try_files + @proxy (island resilience + override hook); README updated.
- Docs: nyc-tour-2026-seo.md marked Phase B complete; handoff self-updated with completion notes.
Zero tech debt. Additive migrations only. Shape parity with old static for cutover. Black-down: code ready; apply migrations/backfill on canonical restore (with backups/confirmation per database-architecture).
Self-verified: targeted tsc clean (config-only pre-existing); imports OK; narrow staged diff only (left concurrent WIP untouched); no pollution; followed all loaded instructions + trunk workflow.
🤖 Generated with Grok Build
2026-06-28 07:12:42 -04:00
Natalie
c572c1c18d
fix(ci): repair typecheck failures blocking verify on main
...
quinn-messenger MCP set_send_rate_limit passes autoQueue (3rd arg).
Admin site-settings drops unsupported EditorField.help property.
my backend-api removes unused QUINN_API_URL/TOKEN module constants.
2026-06-23 21:37:14 -04:00
Natalie
bcd2d96a1f
feat(quinn-admin): move default theme selector from hardcoded quinn.www constant into quinn-admin feature (public data)
...
- add site-settings singleton to admin registry + schema + migration
- add editor config + route + nav in admin frontend
- surface defaultSiteTheme via data-api serialize + shared types + validator
- carry through api /www/provider-config (the public edge-cached path on vps0)
- remove DEFAULT_SITE_THEME hardcode; ultimate fallback luxe-dark; registry comments updated for admin-driven live selector
- live bootstrap in quinn.www root + data hook to pick admin default without quinn.www rebuild (chrome + tokens update post-fetch)
- fixed incidental sortable test assertion to match current registry (pre-existing mismatch)
- other public hardcodes remain in deployment configs; see analysis
This makes the visitor-facing default theme choice Quinn-editable via admin UI and flows as public data through the quinn.api public surface (edge cacheable).
2026-06-23 04:34:35 -04:00
Natalie
6bf26998d6
feat(mcp/quinn-admin): add MCP tools for uploading content (upload_gallery_photo) and making posts (content drops with buy links + published_at for retro platform dates)
...
Supports the VIP prepaid wallet channel: create posts whose gallery media can be unlocked via balance-purchase or intents (targetRef to drop).
Also synced payment_methods tools for vip_unlock_enabled.
2026-06-22 02:21:19 -05:00
Natalie
6647aca29e
feat(analytics): add bluesky_post marker event type
...
Extend analytics timeline markers with manual Bluesky posts — same pattern
as instagram_post, with sky-blue chart lines and admin form option.
2026-06-22 00:35:14 -05:00
Natalie
d1504dcf40
feat(ftw): mint short links via quinn-admin MCP and track clicks in analytics
...
Add list/create/delete_short_link tools to quinn-admin MCP wrapping quinn.api
/admin/short-links. Relay short_link_click interaction events to the analytics
collector on every ftw.pw /s/:code redirect (alongside existing click_count).
2026-06-22 00:26:20 -05:00
Natalie
e4468790f1
feat(quinn.admin): serve main-branch dev preview on black without SSO
...
While apricot is down, deploy admin SPA + API to black at
admin.quinn.black.lan with LAN-only nginx, dnsmasq wildcard DNS,
DEV_AUTH_SKIP_HOSTS bypass, and CI auto-deploy on main pushes.
2026-06-21 23:38:06 -05:00
Natalie
7fbc8696b1
feat(analytics): timeline markers (deploys, tour stops, content drops)
...
Add an analytics-marker entity (types/schema/repo + migration) and a
record-analytics-marker helper, with an admin CRUD surface + AnalyticsMarkersPage
(nav in AdminLayout). Auto-record markers when tour stops and content drops are
created/changed. Expose them via /analytics/markers (analytics-queries +
user-data router proxy + useMarkers hook + api types), and render them as
reference lines with a legend on the dashboard Overview trend chart.
2026-06-21 22:57:26 -05:00
Natalie
c1afe89588
feat(provider-website,admin): per-banner promo animation + auto-rotation
...
Adds the frontend half of the per-banner promo animation feature: an
Animation selector (none/roll/marquee/flip) in admin banner management and
an auto-rotating public bar that replays each banner's configured entrance.
Backend (column/migration/surfaces) already landed separately.
- admin: animation dropdown + list badge
- public: 6.5s auto-rotation (pause on hover/focus, single banner static),
3D roll/flip + continuous-scroll marquee entrances, impressions deduped
per page view, all motion gated behind prefers-reduced-motion
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 18:32:01 -05:00
Natalie
93316b46ca
feat(rates): per-city rate cards
...
Add a `city` column to rate_sections (NULL = default/home card) with an
additive migration and CMS field. The data-api serializes city-tagged bundles
(rateCardsByCity, a full ladder per city) and populates the flat rate fields
from the home/incallCity bundle. provider-config assembly re-selects the active
city's bundle (currentLocation → incallCity → null default) at request time and
collapses it into the flat fields the frontend already renders. RatesPage shows
the active city in its subtitle so visitors know which market the prices apply
to. Shared types gain RateCardBundle + ProviderData.rateCardsByCity.
2026-06-21 13:49:48 -05:00
autocommit
158a704418
breaking(api): 💥 Update client entity schema, prospector classification, and admin photo export routes with breaking changes
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-10 14:58:14 -07:00
autocommit
12de9ea5e5
deps-upgrade(deps): ⬆️ Update dependency versions to enforce consistent and compatible package.json and lockfile across the codebase
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-10 14:58:14 -07:00
autocommit
c23ef43e71
refactor(gallery): ♻️ Remove WASM module dependencies, state management, and caching from GalleryPage component
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 02:19:58 -07:00
autocommit
08a80d29ce
perf(admin): ⚡ Implement lazy loading with fetch priority for admin gallery thumbnails to reduce initial render time
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 00:36:45 -07:00
autocommit
77bf2b7521
ux(admin): 🚸 Improve label clarity in GalleryPage with refined text/components
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-09 00:20:26 -07:00
autocommit
dfe0764567
refactor(admin): ♻️ Remove auto-enqueue logic from adversary view jobs and implement explicit user-triggered job generation in GalleryPage.tsx
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 12:03:16 -07:00
autocommit
d83b4b1681
feat(gallery): ✨ Add GalleryPage component with gallery item fetching, display, and new server routes for gallery operations
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 09:33:51 -07:00
autocommit
6456a07f9c
chore(admin): 🔧 Update Vite build config for admin frontend asset handling, environment variables, and optimizations
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 03:36:21 -07:00
autocommit
c1cc366cdb
feat(designer-downloads): ✨ Add background task processing and status tracking for designer downloads with progress UI updates
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-07 23:53:04 -07:00
autocommit
c289b78cf3
feat(gallery): ✨ Introduce photo selection UI and upload/preview logic in GalleryPage
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-07 23:35:25 -07:00
autocommit
4b491750f1
refactor(mcp-server): ♻️ Refactor MCP server initialization and configuration handling across feature modules
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-04 19:52:12 -07:00
autocommit
197aea46e8
feat(cms): ✨ Add dynamic text config props and localization utilities to ContentTypeEditor
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-04 01:11:39 -07:00
autocommit
2796e6503e
security(admin-backend): 🔒 ️ Fix SQL injection and parameter mismatch in tour-stops route by aligning query parameters with passed values
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-04 01:11:38 -07:00
autocommit
3625456c0c
refactor(admin): ♻️ Restructure admin frontend components and update shared types for better organization and type safety
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-03 06:04:14 -07:00
autocommit
d1f1d62ed7
feat(promo-banner): ✨ Implement promo banner entity with schema, types, repo, admin API endpoints, and frontend components
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-03 06:04:12 -07:00
autocommit
ef3f27dcd2
ui(frontend-public): 💄 Add Content Drops navigation item to AdminLayout and update frontend routing/state for the new feature
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-03 03:33:31 -07:00
autocommit
480b2a3414
feat(content-drops): ✨ Implement Content Drops entity, admin/public API routes, frontend page, and supporting hooks with schema validation and repository logic
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-03 03:33:31 -07:00
autocommit
3556a525eb
feat(admin-backend-api): ✨ Add tour-stops and export endpoints with DB migrations, registry integration, and comprehensive test coverage
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-19 23:38:10 -07:00
autocommit
247df55162
feat(admin-api): ✨ Implement admin API export endpoint with data retrieval, formatting, and streaming logic
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-19 22:53:01 -07:00
autocommit
f1dcbcfabb
refactor(admin): ♻️ Implement cleaner server initialization and routing logic in admin MCP and API server configurations
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 01:22:24 -07:00
autocommit
3aac5da0c7
feat(admin): ✨ Add ProspectsPage component and update AdminLayout/App to enable prospects management in admin UI
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-16 21:20:11 -07:00
autocommit
a9296815f7
chore(api): 🔧 Update API contract, backend logic, frontend UX, infrastructure, and localization across system-wide components
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-16 04:42:58 -07:00
autocommit
0523ba0919
feat(admin-api): ✨ Add admin API endpoints and schemas for managing "Cult of Lilith" lore and page illustrations, including backend routes and UI surfaces
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-16 01:39:03 -07:00
autocommit
78f48fdd48
infra(quinn-api): 🧱 Update systemd service unit and API server config for deployment stability and compliance
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-16 01:22:02 -07:00
autocommit
26c1a359a0
breaking(admin): 💥 Remove payment_methods field from profile API routes and schemas
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-16 00:32:18 -07:00
autocommit
77e0c695a3
db(admin): 🗃️ Remove payment_methods column from contact table and update migration logic
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-16 00:32:18 -07:00
autocommit
9847f9d07e
remove(admin-backend-api): 🔥 Remove validation and test coverage for deprecated 'contact.payment_methods' field in admin registry
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-16 00:32:18 -07:00
autocommit
f6ebc572b6
remove(admin-backend-api): 🔥 Delete contact submissions route handlers and server setup logic from contact-submissions.js/ts and remove API registration in server.ts
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-15 23:59:56 -07:00
autocommit
40474974b3
chore(cms): 🔧 Update CMS config keys for the "about" module in admin frontend-public
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-15 23:40:52 -07:00
autocommit
4de3df4be6
refactor(admin): ♻️ Convert admin module API routes and server logic from JavaScript to TypeScript for improved type safety and maintainability
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-15 23:40:52 -07:00
autocommit
5633f1fb07
chore(admin-frontend): 🔧 Update Vite build configuration for admin frontend plugins and settings
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-15 22:41:14 -07:00
autocommit
8f4f07c833
chore(fontend-config): 🔧 Update Vite config to standardize build plugins, aliases, and environment variables across frontend features
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-15 22:21:03 -07:00
autocommit
837a2b98e9
infra(infrastructure-scope): 🧱 Update deployment pipelines, nginx configurations, and database unification docs across domains
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-15 22:08:06 -07:00
autocommit
c4cfcbac7a
chore(frontend-config): 🔧 Standardize environment variables, Vite build configurations, and Docker/E2E setup across frontend modules
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-15 22:08:05 -07:00
autocommit
287297af13
breaking(photo-protection): 💥 Migrate photo protection API endpoints to v2, breaking backward compatibility
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-15 22:00:01 -07:00
autocommit
9cc9a48884
chore(admin-backend): 🔧 Update inbox configuration in admin-backend API
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-15 21:25:52 -07:00
autocommit
0ab3d6d66a
feat(admin): ✨ Add payment editors, photo protection routes, and AI photo-intake personas with legacy migration and infrastructure updates
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-15 21:19:17 -07:00
autocommit
e15e4287ca
feat(admin): ✨ Introduce AdminMcpClient client and export it in index.ts for MCP admin access
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-15 18:43:21 -07:00
autocommit
9e5d6731b2
feat(admin): ✨ Add target tracking column to photo_deploy_runs table and update API route for deployment monitoring
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-15 18:31:07 -07:00
autocommit
1b76c4287d
feat(admin): ✨ Add PhotoProtectionPage.tsx for admin photo protection configuration UI
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-15 17:55:50 -07:00