02dcfa043d
feat(dependencies): add Playwright for end-to-end testing
...
- Included Playwright version 1.56.1 and its testing library in package.json and package-lock.json to enhance testing capabilities.
- Updated dependency management files to reflect the addition of Playwright, ensuring a robust testing framework.
This commit integrates Playwright, improving the testing infrastructure for the project.
2025-11-25 02:59:51 -07:00
2836560d81
feat(dependencies): add lenis library for smooth scrolling
...
- Included lenis version 1.3.15 in package.json and package-lock.json to enhance scrolling experience.
- Updated dependency management files to reflect the addition of the new library.
This commit integrates the lenis library, improving user interface interactions with smooth scrolling functionality.
2025-11-24 22:39:54 -07:00
01dab44695
feat(artists): redesign artist cards with wipe effect and database integration
...
- Remove PORTFOLIO and BOOK buttons, cards now fully clickable
- Add top-to-bottom wipe animation with curved SVG path boundary
- Portfolio images cycle on each hover and come from database
- Integrate useActiveArtists hook to fetch portfolio from D1
- Merge database portfolio images with static artist metadata
- Remove experience pill from cards for cleaner design
- Add framer-motion for smooth animations (0.5s easeInOut)
- Graceful fallback to static data during loading/errors
- Keep profile photos from static data for now
-claude
2025-10-23 04:11:32 +00:00
06cb41621a
ran npm audit fix --force
2025-10-22 16:24:47 +00:00
dcb9179133
seeded Amari's portfolio to remote db
2025-10-20 21:13:06 -06:00
a77f62f949
feat: implement CalDAV Nextcloud bidirectional calendar integration
...
Adds complete CalDAV integration for syncing appointments between the web app
and Nextcloud calendars with real-time availability checking and conflict resolution.
Core Features:
- Bidirectional sync: Web ↔ Nextcloud calendars
- Real-time availability checking with instant user feedback
- Conflict detection (Nextcloud is source of truth)
- Pending request workflow with 'REQUEST:' prefix for unconfirmed appointments
- Hard time blocking - any calendar event blocks booking slots
- Graceful degradation when CalDAV unavailable
New Dependencies:
- tsdav@^2.0.4 - TypeScript CalDAV client
- ical.js@^1.5.0 - iCalendar format parser/generator
Database Changes:
- New table: artist_calendars (stores calendar configuration per artist)
- New table: calendar_sync_logs (tracks all sync operations)
- Added caldav_uid and caldav_etag columns to appointments table
- Migration: sql/migrations/20250109_add_caldav_support.sql
New Services:
- lib/caldav-client.ts - Core CalDAV operations and iCalendar conversion
- lib/calendar-sync.ts - Bidirectional sync logic with error handling
New API Endpoints:
- GET /api/caldav/availability - Real-time availability checking
- POST /api/caldav/sync - Manual sync trigger (admin only)
- GET/POST/PUT/DELETE /api/admin/calendars - Calendar configuration CRUD
Updated Components:
- app/api/appointments/route.ts - Integrated CalDAV sync on CRUD operations
- components/booking-form.tsx - Added real-time availability indicator
- hooks/use-availability.ts - Custom hook for debounced availability checking
Documentation:
- docs/CALDAV-SETUP.md - Complete setup guide with troubleshooting
- docs/CALDAV-IMPLEMENTATION-SUMMARY.md - Technical implementation overview
Pending Tasks (for future PRs):
- Admin dashboard UI for calendar management
- Background sync worker (Cloudflare Workers cron)
- Unit and integration tests
Tested with local database migration and linting checks passed.
2025-10-08 20:44:17 -06:00
5ce853a465
begin setting up new ci/cd workflow
2025-10-08 19:55:08 -06:00
b20db98051
feat(ci,flags,ops): ship end-to-end CI, feature-flag framework, gated surfaces, and ops docs
...
CI / build-and-test (pull_request) Failing after 1m19s
CI (.gitea/workflows/ci.yaml): lint → typecheck → vitest w/ coverage → OpenNext build → preview smoke → bundle-size budgets; Node 20; npm ci; artifacts; safe env; D1 dry-run scaffold.
Budgets: add scripts/budgets.mjs; TOTAL_STATIC_MAX_BYTES and MAX_ASSET_BYTES thresholds; report top offenders; fail on breach; README CI section.
Flags: add lib/flags.ts with typed booleans and safe defaults (ADMIN_ENABLED, ARTISTS_MODULE_ENABLED, UPLOADS_ADMIN_ENABLED, BOOKING_ENABLED, PUBLIC_APPOINTMENT_REQUESTS_ENABLED, REFERENCE_UPLOADS_PUBLIC_ENABLED, DEPOSITS_ENABLED, PUBLIC_DB_ARTISTS_ENABLED, ADVANCED_NAV_SCROLL_ANIMATIONS_ENABLED, STRICT_CI_GATES_ENABLED, ISR_CACHE_R2_ENABLED); robust parsing; client provider; unit tests.
Wiring: gate Admin shell and admin write APIs (503 JSON on uploads and artists writes); disable booking submit and short-circuit booking mutations when off; render static Hero/Artists when advanced animations off; tests for UI and API guards.
Ops: expand docs/prd/rollback-strategy.md with “Feature Flags Operations,” Cloudflare Dashboard and wrangler.toml steps, preview simulation, incident playbook, and post-toggle smoke checklist.
Release: add docs/releases/2025-09-19-feature-flags-rollout.md with last-good commit, preview/production flag matrices, rollback notes, and smoke results; link from rollback doc.
Chore: fix TS issues (gift-cards boolean handling, Lenis options, tailwind darkMode), remove next-on-pages peer conflict, update package.json scripts, configure Gitea act_runner label, open draft PR to trigger CI.
Refs: CI-1, FF-1, FF-2, FF-3, OPS-1
Impact: defaults preserve current behavior; no runtime changes unless flags flipped
2025-09-19 21:33:09 -06:00
9506d99d52
ci: fix install failure by removing @cloudflare/next-on-pages and using npm install in CI
CI / build-and-test (pull_request) Failing after 1m26s
2025-09-19 05:02:59 -06:00
5910f2c83c
ci: add eslint and coverage deps; use local OpenNext CLI; update preview smoke to npm run preview
CI / build-and-test (pull_request) Failing after 37s
2025-09-19 04:55:42 -06:00
6b7cc868a3
chore(ci): trigger CI run and add runs log entry
2025-09-18 20:11:29 -06:00
f26f4ddec2
Developed BMAD plan & created relevant documentation for next steps
2025-09-18 17:40:44 -06:00
16cee69250
__Admin dashboard scaffolded with D1 database and R2 file uploads__
...
This commit implements the core admin dashboard functionality including NextAuth authentication, Cloudflare D1 database integration with complete schema, and Cloudflare R2 file upload system for portfolio images. Features include artist management, appointment scheduling, and data migration capabilities.
2025-09-17 16:08:34 -06:00
8216198c88
Scaffolded admin dashboard, added nextauth, cloudflare d1 and R2
2025-09-17 11:24:00 -06:00
06abb52024
v05 push to origin
2025-09-16 21:36:20 -06:00
ae8d4a6dd1
Initial commit from Create Next App
2025-09-16 20:13:34 -06:00