Commit Graph

65 Commits

Author SHA1 Message Date
AzuTear 0803a0124b Seed 2025 demo archive winners despite empty real season shells
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 1m2s
CI - Build & Verify / Deploy to award.noveria.net (push) Successful in 1m31s
The prior SeedDemoArchivedWinners2025 seed skipped whenever any non-demo
2025 season row existed. Production carries empty 2025/2024 season shells
with no published winners, so the demo archive stayed empty and
overview archiveYears returned []. Re-seed with a precise guard that only
skips when genuine published 2025 winner results exist; idempotent via
ON CONFLICT DO NOTHING.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 21:56:10 +02:00
AzuTear 6b3b0360e7 Add winner archive, host image upload and live demo data
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 1m1s
CI - Build & Verify / Deploy to award.noveria.net (push) Successful in 1m30s
Deliver the demo-ready feature set and seed data so the live site can be
presented end to end:

- Winner archive: ArchivedWinner domain, admin CRUD endpoints/view/manager
  and public archive surface, backed by AddArchivedWinners migration.
- Host presentation: host image upload and artist name on SiteSettings with
  public image endpoint and supporting migrations.
- Clip submissions: idempotent table-ensure migration plus current-season
  demo clips for review workflows.
- Demo seed data: sponsors, share links and 2025 archived winners, with a
  guarded RemoveDemoSeasons cleanup; all seeds guard against real data.
- EnsureRuntimeSchemaParity migration to align runtime schema defensively.
- Admin/home UI refinements; remove unused team role permissions modal and
  dead share-quick-links code.

All seed and schema migrations are idempotent (IF NOT EXISTS / ON CONFLICT)
and skip when real season data is present.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 21:47:52 +02:00
AzuTear f323e5a82c Seed current season demo voting data
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 56s
CI - Build & Verify / Deploy to award.noveria.net (push) Successful in 1m25s
2026-06-29 18:47:00 +02:00
AzuTear 09dc1de451 Seed live demo award data
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 57s
CI - Build & Verify / Deploy to award.noveria.net (push) Successful in 1m27s
2026-06-29 18:41:41 +02:00
AzuTear 049db2e0e0 Verify deployed build metadata
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 1m1s
CI - Build & Verify / Deploy to award.noveria.net (push) Successful in 3m39s
2026-06-29 18:23:33 +02:00
AzuTear 65c9815baa Guard demo seed migrations
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 59s
CI - Build & Verify / Deploy to award.noveria.net (push) Failing after 1m27s
2026-06-29 18:19:18 +02:00
AzuTear 3794b7f29e Free deploy disk headroom before migrations
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 55s
CI - Build & Verify / Deploy to award.noveria.net (push) Failing after 1m29s
2026-06-29 18:13:19 +02:00
AzuTear 709a024820 Ensure demo seed schema
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 55s
CI - Build & Verify / Deploy to award.noveria.net (push) Failing after 54s
2026-06-29 18:10:02 +02:00
AzuTear e497f19652 Ensure site settings seed columns
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 59s
CI - Build & Verify / Deploy to award.noveria.net (push) Failing after 54s
2026-06-29 18:06:34 +02:00
AzuTear c9fd3e47cb Add landing content settings migration
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 57s
CI - Build & Verify / Deploy to award.noveria.net (push) Failing after 57s
2026-06-29 18:02:05 +02:00
AzuTear 1a74c03621 Restore production migration history
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 57s
CI - Build & Verify / Deploy to award.noveria.net (push) Failing after 56s
2026-06-29 17:57:47 +02:00
AzuTear 441ef2b850 Update release notes and deploy workspace
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 59s
CI - Build & Verify / Deploy to award.noveria.net (push) Failing after 53s
2026-06-29 17:49:54 +02:00
AzuTear c466348d18 Extract season overview/workflow cards and add sponsor seed data
Splits AdminSeasonsView into AdminSeasonOverviewCard and AdminSeasonWorkflowCard
for cleaner separation of concerns. Adds SeedSponsorsBootstrapper with demo
sponsor SVG assets and extends SeedCatalog with sponsor seed entries.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 09:08:56 +02:00
AzuTear 1ab26ec2fd Make AddClipAdminMenuVisible migration idempotent
Rewrites DDL to use IF NOT EXISTS / DROP IF EXISTS and DROP COLUMN IF EXISTS
so the migration can be re-run safely against a DB that already has the schema.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 09:07:33 +02:00
AzuTear b53c7fb736 Add viewer-range categories, nomination tracking, dynamic showact form, session timeout, share URLs, and workflow-per-season
Features:
- Category viewer ranges + subcategory templates (admin group modal, tree workspace)
- Nomination enrichment via TwitchTracker API (NominationEnrichmentService,
  TwitchTrackerViewerStatsProvider) with admin tracking rules editor
- Nomination group tracker: CategoryGroupName as primary identifier,
  CategoryId stays as nullable legacy field; StreamerIdentity table
- Dynamic showact application form builder (AdminShowactFormBuilder,
  ShowactApplicationSchedule)
- Session idle timeout setting (AdminSessionTimeoutCard)
- Share URLs for X and Discord (SiteSettings, public extras)
- Workflow rules now stored per season (falls back to global SiteSettings)
- New admin routes: settings/access, settings/workflows, tracking-rules
- New admin review workspace with subcategory tabs
- AdminCategoriesView rebuilt with group/subcategory modals

Migrations (all additive):
- AddShareUrls, AddShowactDynamicForm, AddCategoryViewerRanges,
  AddSessionIdleTimeoutSettings, AddSeasonSubcategoryTemplates,
  AddNominationGroupTrackerIdentity, AddShowactApplicationSchedule,
  AddSeasonWorkflowRulesJson

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 23:32:21 +02:00
AzuTear 4b2c5fa15d Clean up repository hygiene
- Expand .gitignore with editor state, secrets, logs, and archive patterns
- Remove AdminCategoriesViewV2.vue (replaced, no remaining references)
- Exclude accidental AdminContentView duplicate from tsconfig

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 23:31:52 +02:00
AzuTear fc5c13a4fd Add project documentation and update workflow plan
Adds AGENTS.md, DESIGN.md, and docs/* covering architecture,
conventions, decisions, checklists, branching, release process,
and prompts. Updates README and workflow-feedback-plan to reflect
the decoupled GroupName nomination model.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 23:31:13 +02:00
AzuTear 18b61bed52 Improve admin candidate modal UX and add clip menu visibility toggle
- Widen AdminCandidateEditorModal to size lg for better readability
- Rename "Clip-Compilation" section to "Clip / Compilation", update copy to reflect single clips too, drop upload hint and Clip-Plattform field, rename label to "Link"
- Fix NativeSelect dropdown clipping inside overflow-y-auto modals by teleporting the menu to body with fixed positioning, flip-up logic, and dynamic maxHeight capped to viewport
- Add ClipAdminMenuVisible setting (backend domain, contracts, endpoint, migration) with matching frontend types, defaults, form wiring, and toggle in the Clip-Workflow modal — hides the Clips nav item from the admin sidebar when disabled

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 18:39:35 +02:00
AzuTear 494eba5edd Make deploy version metadata runner-safe
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 58s
CI - Build & Verify / Deploy to award.noveria.net (push) Failing after 1m19s
2026-06-26 22:01:21 +02:00
AzuTear f225addfe8 Add release notes and build version metadata
CI - Build & Verify / Build, Typecheck & Hygiene (push) Has been cancelled
CI - Build & Verify / Deploy to award.noveria.net (push) Has been cancelled
2026-06-26 22:00:39 +02:00
AzuTear 9393d433fa Harden audit privacy and admin modals
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 56s
CI - Build & Verify / Deploy to award.noveria.net (push) Successful in 1m5s
2026-06-26 20:47:07 +02:00
AzuTear aeade132f9 Fix team profile auth recovery
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 54s
CI - Build & Verify / Deploy to award.noveria.net (push) Successful in 1m5s
2026-06-26 20:06:10 +02:00
AzuTear 47fe59c42a Clean repository artifacts and update README
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 56s
CI - Build & Verify / Deploy to award.noveria.net (push) Successful in 53s
2026-06-26 18:56:48 +02:00
AzuTear 90795759f3 Refine admin risk workspace
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 1m3s
CI - Build & Verify / Deploy to award.noveria.net (push) Successful in 1m6s
2026-06-26 18:49:01 +02:00
AzuTear ca69cdb0de Fix Gitea pipeline workspace handling
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 59s
CI - Build & Verify / Deploy to award.noveria.net (push) Successful in 1m7s
2026-06-26 18:37:50 +02:00
AzuTear 3499ad0df5 Use single Gitea CI/CD pipeline
CI - Build & Verify / Build, Typecheck & Hygiene (push) Failing after 11s
CI - Build & Verify / Deploy to award.noveria.net (push) Has been skipped
2026-06-26 18:35:08 +02:00
AzuTear 6a6eb412ae Harden Gitea CI resource usage
CI - Build & Verify / Build, Typecheck & Hygiene (push) Failing after 12s
2026-06-26 18:30:59 +02:00
AzuTear 85b0a3fa42 Add Gitea CI/CD workflow
CI - Build & Verify / Backend (.NET) (push) Successful in 38s
CI - Build & Verify / Frontend (Vue/TS) (push) Successful in 4m53s
CI - Build & Verify / Repository Hygiene (push) Has been cancelled
2026-06-26 18:23:17 +02:00
AzuTear 8b69dfbafb Refine admin workflows and team access 2026-06-26 18:09:29 +02:00
AzuTear b7804e10ea Polish team role and login UI 2026-06-25 20:14:47 +02:00
AzuTear 3bf8b00a83 Seed personal team accounts 2026-06-25 20:06:48 +02:00
AzuTear e2f31d99fd Add footer content columns to production bootstrap 2026-06-25 19:54:17 +02:00
AzuTear 693769e5a8 Add team roles and content management updates 2026-06-25 19:52:46 +02:00
AzuTear 54293f4c45 Embed clips in admin review 2026-06-25 09:59:47 +02:00
AzuTear fd81c968f6 Embed voting clips on landing page 2026-06-25 09:54:22 +02:00
AzuTear f851e500f7 Make demo login gate backend-authoritative 2026-06-25 09:29:25 +02:00
AzuTear fef1d36fe8 Refactor app architecture and clean local artifacts 2026-06-24 23:43:14 +02:00
AzuTear 17134b3b82 Restyle shell and home page with Jayuhime brand; add account and privacy modals
- Replaces amber/Manrope shell with sticky purple nav (Outfit + Fredoka)
- Adds account modal: profile info, Datenschutzerklärung, DSGVO Art. 17 delete flow
- Home: new hero with animated blobs/stars/countdown, inline vote picker, clip submit form, show-reminder, FAQ
- Switches base palette to purple (#f4eefb / #3f3556) and adds keyframe animations

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 21:15:53 +02:00
AzuTear 30fb931bd3 Refresh home view with updated hero and steps 2026-06-22 18:06:47 +02:00
AzuTear d015fcbe6f Refine admin panel workflows 2026-06-18 14:29:40 +02:00
AzuTear f4512eba2e Ignore local .claude config directories
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 09:46:03 +02:00
AzuTear 8c9425dce6 Reflect clip moderation in settings, fix leftover umlaut
- Settings: Clip-Moderation feature gate now active (admin clips exist)
- Users & Logs: fix "Fuer" -> "Für"

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 07:54:55 +02:00
AzuTear 24f9a69022 Align backend with frontend, make clips end-to-end, polish admin
Backend
- Add ClipSubmission entity + table (runtime bootstrapper) and
  POST /api/public/clips (server-derives platform from the link)
- Surface clip submissions in the admin season detail
- Add DELETE candidate/category/clip endpoints with audit entries

Frontend
- Clips admin: real moderation view (list, open link, delete) instead
  of placeholder; wired clipSubmissions through types/api/store
- Categories admin: add delete with confirm modal (matches Candidates)
- Voting ranking bar uses the unified purple gradient
- Fix ASCII transliterations to proper German umlauts across admin
- Remove orphan AdminView 2.vue

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 07:53:19 +02:00
AzuTear cca297a4eb Redesign public site, add phase gating and clip submission
- Rebuild landing page and Nominations/Voting/Winners views in the
  Jayuhime brand style (purple/gold/pastel-rainbow, stars, PageHero banner)
- Gate participation by season phase (nominate/clip share the nomination
  window, vote in the voting window); hide closed/locked pages from nav
- Add login-gated clip submission flow (link-based) + voting clip links
- Make candidate admin scalable: searchable, filterable, paginated table
  with modal create/edit and confirm-delete; add delete API/store actions
- New reusable Modal and PageHero components, usePhases composable
- Segmented top nav and full-size header on admin routes
- vite: honor PORT env for preview

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 06:46:41 +02:00
AzuTear a2d6a5edc0 Iterate admin pages with smarter workflows 2026-06-18 01:00:58 +02:00
AzuTear 0fa763667d Expand admin navigation and pages 2026-06-18 00:21:40 +02:00
AzuTear 178f014a4a Make admin reviews scalable 2026-06-18 00:09:25 +02:00
AzuTear 1e101ee2fb Make admin categories scalable 2026-06-18 00:05:40 +02:00
AzuTear 65ac0861da Refine admin sidebar navigation 2026-06-18 00:00:17 +02:00
AzuTear adaea5cbce Improve admin year setup card 2026-06-17 14:35:09 +02:00