Skip to content

feat: admin panel support with notifications and posts#4

Merged
Destinea merged 10 commits into
mainfrom
feat/mobile-notifications-posts
Jul 18, 2026
Merged

feat: admin panel support with notifications and posts#4
Destinea merged 10 commits into
mainfrom
feat/mobile-notifications-posts

Conversation

@Destinea

@Destinea Destinea commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR expands DevKit with the shared database and design-system contracts required by ClashKing's mobile content, push notifications, feature flags, and dedicated operations admin panel.

Database

  • Restores the canonical migration history from 009_app_announcements.sql through 016_dashboard_role_grants.sql after rebasing on main.
  • Adds 017_mobile_admin_operations.sql for mobile device state, notification preferences, posts and revisions, localized campaigns, delivery attempts, administrator sessions, audit events, feature flags, and KPI snapshots.
  • Migrates legacy app_announcements rows into admin_posts and retires the superseded table.
  • Uses idempotent upgrades for databases that already contain pre-merge admin tables, including translations, target_locales, and send_time.
  • Adds 018_schema_history_reconciliation.sql to repair development databases affected by the former 009-012 version collision.
  • Includes the indexes and constraints required by ClashKingAPI, ClashKingTracking, ClashKingApp, and ClashKingAdminPanel.

Shared design system

  • Adds the warm graphite ck-theme-operations theme for operational and admin surfaces.
  • Adds reusable data-heavy web primitives for metrics, toolbars, progress indicators, tabular values, selects, flat rows, and icon tiles.
  • Adds shared danger-button, disabled-toggle, focus, and operations-theme control states so consuming products do not need local overrides.
  • Aligns web elevation, corner radii, surface treatment, and nested rows with the Flutter application's flatter visual language.
  • Extends the Flutter package and documentation with the corresponding shared tokens and components.

Validation and documentation

  • Strengthens repository and design-system validation in CI.
  • Updates database, mobile design, component, governance, and cross-repository contract documentation.
  • Documents ownership boundaries so reusable primitives remain in DevKit while product-specific composition stays in each application.

Validation

  • goose -dir database/timescale validate
  • Full Goose migration run from 001 through 018 on a temporary empty Timescale database
  • Upgrade of the existing local database from Goose version 12 through 18
  • ClashKingAPI go test ./... and runtime smoke tests
  • ClashKingAdminPanel API go test ./..., frontend production build, and /healthz smoke test
  • ClashKingTracking go test ./...
  • npm run check in design

@Destinea Destinea changed the title feat: add flat-row primitive and soften shadows to match the app's elevatio… feat: admin panel support with notifications and posts Jul 16, 2026
@Destinea
Destinea force-pushed the feat/mobile-notifications-posts branch from 6f099fe to 48d1ed4 Compare July 18, 2026 13:54
@Destinea
Destinea merged commit 0d97bbb into main Jul 18, 2026
1 check passed
@Destinea
Destinea deleted the feat/mobile-notifications-posts branch July 18, 2026 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant