Commit Graph

76 Commits

Author SHA1 Message Date
7a8bc8e22a Wire homepage hero to featured thumbnail family; add featured-picture component 2026-05-06 18:55:20 +02:00
a3cfc6c17f feat(academy): prepare AI Academy v1 for production enablement 2026-05-03 19:59:27 +02:00
90e93f0d42 Fixes 2026-05-03 09:21:13 +02:00
44354e5bea News: normalize category select values; fix Studio news editor category persistence; add CSV→SQL generator and news_dates.sql 2026-05-03 09:12:38 +02:00
a9dfa6ea11 Refine SEO, uploads, and deploy handling 2026-05-02 10:48:08 +02:00
caf1464aa5 chore: commit current workspace changes 2026-05-02 09:37:14 +02:00
18cea8b0f0 Wire admin studio SSR and search infrastructure 2026-05-01 11:46:06 +02:00
257b0dbef6 Build world campaigns rewards and recaps 2026-05-01 11:44:41 +02:00
28e7e46e13 Add news article comments and reactions 2026-05-01 11:43:49 +02:00
874f8feb9c Add homepage announcement module 2026-05-01 11:43:08 +02:00
961d21e91e Optimize anonymous public sessions 2026-05-01 11:42:10 +02:00
35011001ba Replace native selects with NovaSelect 2026-05-01 07:45:37 +02:00
157c6d49e8 Sanitize browse categories HTML output 2026-04-25 08:12:46 +02:00
a0b903f09d UI: use free FontAwesome globe icon for Worlds menu item 2026-04-18 17:13:28 +02:00
87d60af5a9 Save workspace changes 2026-04-18 17:02:56 +02:00
cdd42a0186 Improve creator studio browsing and versioning 2026-04-16 15:01:15 +02:00
56eaa3bcbf Improve studio artwork media revisions 2026-04-16 14:44:41 +02:00
d5cff21ea2 feat: ship creator journey v2 and profile updates 2026-04-12 21:42:07 +02:00
a2457f4e49 minor fixes 2026-04-09 08:50:36 +02:00
23d363a50c Add Meilisearch deploy support and studio grid tweak 2026-04-06 09:33:28 +02:00
08ad757bcb Commit workspace changes 2026-04-05 19:42:33 +02:00
0b216b7ecd Implement creator studio and upload updates 2026-04-04 10:12:02 +02:00
1da7d3bf88 Profile: store covers in object storage (WebP); add covers config; remember artworks categories content-type preference 2026-03-29 09:22:36 +02:00
cab4fbd83e optimizations 2026-03-28 19:15:39 +01:00
2608be7420 Repair: copy legacy joinDate into new user's created_at when creating users from legacy wallz 2026-03-22 09:13:39 +01:00
e8b5edf5d2 feat: add Reverb realtime messaging 2026-03-21 12:51:59 +01:00
979e011257 Refactor dashboard and upload flows
Remove dead admin UI code, redesign dashboard followers/following and upload experiences, and add schema audit tooling with repair migrations for forum and upload drift.
2026-03-21 11:02:22 +01:00
29c3ff8572 update 2026-03-20 21:17:26 +01:00
1a62fcb81d categories v1 finished 2026-03-17 20:13:33 +01:00
7da0fd39f7 updated gallery 2026-03-17 18:34:26 +01:00
7b37259a2c feat: redesign private messaging inbox 2026-03-17 18:34:00 +01:00
2119741ba7 feat: add community activity feed and mentions 2026-03-17 18:26:57 +01:00
2728644477 feat: add tag discovery analytics and reporting 2026-03-17 18:23:38 +01:00
b3fc889452 feat: add captcha-backed forum security hardening 2026-03-17 16:06:28 +01:00
980a15f66e refactor: unify artwork card rendering 2026-03-17 14:49:20 +01:00
78151aabfe Remove legacy frontend assets and update gallery routes 2026-03-14 15:06:28 +01:00
4f576ceb04 more fixes 2026-03-12 07:22:38 +01:00
f6772f673b login update 2026-03-05 11:24:37 +01:00
5a33ca55a1 fixes 2026-03-03 21:00:18 +01:00
b9c2d8597d feat: Inertia profile settings page, Studio edit redesign, EGS, Nova UI components\n\n- Redesign /dashboard/profile as Inertia React page (Settings/ProfileEdit)\n with SettingsLayout sidebar, Nova UI components (TextInput, Textarea,\n Toggle, Select, RadioGroup, Modal, Button), avatar drag-and-drop,\n password change, and account deletion sections\n- Redesign Studio artwork edit page with two-column layout, Nova components,\n integrated TagPicker, and version history modal\n- Add shared MarkdownEditor component\n- Add Early-Stage Growth System (EGS): SpotlightEngine, FeedBlender,\n GridFiller, AdaptiveTimeWindow, ActivityLayer, admin panel\n- Fix upload category/tag persistence (V1+V2 paths)\n- Fix tag source enum, category tree display, binding resolution\n- Add settings.jsx Vite entry, settings.blade.php wrapper\n- Update ProfileController with JSON response support for API calls\n- Various route fixes (profile.edit, toolbar settings link)" 2026-03-03 20:57:43 +01:00
dc51d65440 feat: forum rich-text editor, emoji picker, mentions, discover nav, feed, uploads, profile
Forum:
- TipTap WYSIWYG editor with full toolbar
- @emoji-mart/react emoji picker (consistent with tweets)
- @mention autocomplete with user search API
- Fix PHP 8.4 parse errors in Blade templates
- Fix thread data display (paginator items)
- Align forum page widths to max-w-5xl

Discover:
- Extract shared _nav.blade.php partial
- Add missing nav links to for-you page
- Add Following link for authenticated users

Feed/Posts:
- Post model, controllers, policies, migrations
- Feed page components (PostComposer, FeedCard, etc)
- Post reactions, comments, saves, reports, sharing
- Scheduled publishing support
- Link preview controller

Profile:
- Profile page components (ProfileHero, ProfileTabs)
- Profile API controller

Uploads:
- Upload wizard enhancements
- Scheduled publish picker
- Studio status bar and readiness checklist
2026-03-03 09:48:31 +01:00
1266f81d35 feat: upload wizard refactor + vision AI tags + artwork versioning
Upload wizard:
- Refactored UploadWizard into modular steps (Step1FileUpload, Step2Details, Step3Publish)
- Extracted reusable hooks: useUploadMachine, useFileValidation, useVisionTags
- Extracted reusable components: CategorySelector, ContentTypeSelector
- Added TagPicker component (studio-style list picker with AI badge + new-tag insertion)
- Fixed TagInput auto-open bug (hasFocusedRef guard)
- Replaced TagInput with TagPicker in UploadSidebar

Vision AI tag suggestions:
- Add UploadVisionSuggestController: sync POST /api/uploads/{id}/vision-suggest
- Calls vision.klevze.net/analyze/all on upload completion (before step 2 opens)
- Two-phase useVisionTags: immediate gateway call + background DB polling
- Trigger fires on uploadReady (not step change) so tags arrive before user sees step 2
- Added vision.gateway config block with VISION_GATEWAY_URL env

Artwork versioning system:
- ArtworkVersion / ArtworkVersionEvent models
- ArtworkVersioningService: createNewVersion, restoreVersion, rate limiting, ranking decay
- Migrations: artwork_versions, artwork_version_events, versioning columns on artworks
- Studio API routes: GET versions, POST restore/{version_id}
- Feature tests: ArtworkVersioningTest (13 cases)
2026-03-01 14:56:46 +01:00
a875203482 feat: Nova UI component library + Studio dropdown/picker polish
- Add Nova UI library: Button, TextInput, Textarea, FormField, Select,
  NovaSelect, Checkbox, Radio/RadioGroup, Toggle, DatePicker,
  DateRangePicker, Modal + barrel index.js
- Replace all native <select> in Studio with NovaSelect (StudioFilters,
  StudioToolbar, BulkActionsBar) including frosted-glass portal and
  category group headers
- Replace native checkboxes in StudioGridCard, StudioTable, UploadSidebar,
  UploadWizard, Upload/Index with custom Checkbox component
- Add nova-scrollbar CSS utility (thin 4px, semi-transparent)
- Fix portal position drift: use viewport-relative coords (no scrollY offset)
  for NovaSelect, DatePicker and DateRangePicker
- Close portals on external scroll instead of remeasuring
- Improve hover highlight visibility in NovaSelect (bg-white/[0.13])
- Move search icon to right side in NovaSelect dropdown
- Reduce Studio layout top spacing (py-6 -> pt-4 pb-8)
- Add StudioCheckbox and SquareCheckbox backward-compat shims
- Add sync.sh rsync deploy script
2026-03-01 10:41:43 +01:00
e3ca845a6d Studio: make grid checkbox rectangular and commit table changes 2026-03-01 08:43:48 +01:00
211dc58884 Studio: use site CTA for Upload button (bg-sky-600) instead of accent 2026-03-01 08:30:06 +01:00
90f244f264 feat: artwork share system with modal, native Web Share API, and tracking
- Add ArtworkShareModal with glassmorphism UI (Facebook, X, Pinterest, Email, Copy Link, Embed Code)
- Add ArtworkShareButton with lazy-loaded modal and native share fallback
- Add useWebShare hook abstracting navigator.share with AbortError handling
- Add ShareToast auto-dismissing notification component
- Add share() endpoint to ArtworkInteractionController (POST /api/artworks/{id}/share)
- Add artwork_shares migration for Phase 2 share tracking
- Refactor ArtworkActionBar to use new ArtworkShareButton component
2026-02-28 15:29:45 +01:00
568b3f3abb feat: merge Like+Favourite into single heart button, add Report modal with required reason & proof, fix favourite 422 (user_favorites -> artwork_favourites) 2026-02-28 15:15:37 +01:00
eee7df1f8c feat: artwork page carousels, recommendations, avatars & fixes
- Infinite loop carousels for Similar Artworks & Trending rails
- Mouse wheel horizontal scrolling on both carousels
- Author avatar shown on hover in RailCard (similar + trending)
- Removed "View" badge from RailCard hover overlay
- Added `id` to Meilisearch filterable attributes
- Auto-prepend Scout prefix in meilisearch:configure-index command
- Added author name + avatar to Similar Artworks API response
- Added avatar_url to ArtworkListResource author object
- Added direct /art/{id}/{slug} URL to ArtworkListResource
- Fixed race condition: Similar Artworks no longer briefly shows trending items
- Fixed user_profiles eager load (user_id primary key, not id)
- Bumped /api/art/{id}/similar rate limit to 300/min
- Removed decorative heart icons from tag pills
- Moved ReactionBar under artwork description
2026-02-28 14:05:39 +01:00
80100c7651 fix: prevent toolbar search flicker on outside page click 2026-02-28 08:14:12 +01:00
8b00084f09 fix: separate pill clicks from carousel drag with bottom drag zone 2026-02-28 08:10:10 +01:00