feat: admin mail dashboard#226
Merged
Merged
Conversation
Deploying openshockapp with
|
| Latest commit: |
8da5104
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://e8a17597.openshockapp.pages.dev |
| Branch Preview URL: | https://feature-admin-mail-dashboard.openshockapp.pages.dev |
|
Ready to review this PR? Stage has broken it down into 6 individual chapters for you: Chapters generated by Stage for commit 8da5104 on Jul 6, 2026 1:40pm UTC. |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds an admin-facing mail queue dashboard (/admin/mail) backed by new internal API v1 endpoints/types, and applies a set of responsive/mobile layout improvements across core pages (header/shell overflow behavior, tables, settings pages, and sessions UI).
Changes:
- Introduces
/admin/mailwith queue listing, per-message actions (view/requeue/cancel/delete), and a send-test-email dialog. - Updates internal API v1 generated SDK/types/transformers and exports to support new mail endpoints (and exposes
sessionsGetSelfSessionfor current-session highlighting). - Improves mobile responsiveness by adjusting layout shell scrolling, table overflow behavior, page headers, and replacing the settings sessions table with responsive session cards.
Reviewed changes
Copilot reviewed 28 out of 28 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/routes/Sidebar.svelte | Adds a new admin sidebar entry for the Mail dashboard. |
| src/routes/Header.svelte | Adds mobile header layout with back button/title + refactors user menu rendering. |
| src/routes/+layout.svelte | Adjusts app shell sizing and enables vertical scrolling on main content. |
| src/routes/(app)/shockers/own/+page.svelte | Hides large title on small screens to reduce header crowding. |
| src/routes/(app)/shares/user/outgoing/+page.svelte | Switches wrapper overflow to horizontal for better mobile table handling. |
| src/routes/(app)/shares/user/invites/+page.svelte | Switches wrapper overflow to horizontal for better mobile table handling. |
| src/routes/(app)/shares/user/incoming/+page.svelte | Switches wrapper overflow to horizontal for better mobile table handling. |
| src/routes/(app)/shares/public/[shareId=guid]/edit/+page.svelte | Reworks header area to be more responsive and adds author tooltip/avatar placement. |
| src/routes/(app)/settings/sessions/session-card.svelte | Adds responsive session “card” component (replaces table row UI). |
| src/routes/(app)/settings/sessions/data-table-actions.svelte | Removes old table action menu for sessions (no longer used). |
| src/routes/(app)/settings/sessions/+page.svelte | Replaces sessions table with session cards and highlights the current session. |
| src/routes/(app)/settings/connections/+page.svelte | Migrates to PageHeader and adjusts layout for responsiveness. |
| src/routes/(app)/settings/api-tokens/new/+page.svelte | Makes the token request card responsive (w-full). |
| src/routes/(app)/settings/api-tokens/+page.svelte | Migrates to PageHeader and flattens layout around the table. |
| src/routes/(app)/profile/+page.svelte | Hides large title on small screens for consistent mobile header behavior. |
| src/routes/(app)/hubs/[hubId=guid]/update/+page.svelte | Wraps OTA history table to allow horizontal scrolling on small screens. |
| src/routes/(app)/home/+page.svelte | Adjusts grids to show 2 columns on mobile for stats and quick links. |
| src/routes/(app)/admin/mail/dialog-send-test.svelte | Adds dialog to enqueue a test/preview email template. |
| src/routes/(app)/admin/mail/dialog-message-details.svelte | Adds dialog to view outbox message details, payload, and last error. |
| src/routes/(app)/admin/mail/dialog-message-delete.svelte | Adds confirm-delete dialog for outbox messages. |
| src/routes/(app)/admin/mail/data-table-actions.svelte | Adds per-row action menu for mail queue (view/requeue/cancel/copy/delete). |
| src/routes/(app)/admin/mail/+page.svelte | Adds the mail queue dashboard page (stats tiles, filters, table, pagination). |
| src/lib/components/Table/DataTableTemplate.svelte | Changes table wrapper to horizontal overflow scrolling. |
| src/lib/api/internal/v1/types.gen.ts | Adds generated types/enums for mail outbox endpoints and DTOs. |
| src/lib/api/internal/v1/transformers.gen.ts | Adds transformers for Temporal/BigInt conversions for the new mail DTOs. |
| src/lib/api/internal/v1/sdk.gen.ts | Adds generated SDK functions for mail outbox endpoints and test email enqueue. |
| src/lib/api/internal/v1/index.ts | Re-exports newly generated mail-related SDK functions/types. |
| src/lib/api/index.ts | Exposes new admin mail API functions/enums/types (and sessions self-session). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Add the admin email-outbox (mail queue) dashboard at /admin/mail: paginated listing with status tiles/filtering, message details, requeue/cancel/delete actions, and a send-test dialog. Wire the regenerated hey-api SDK for the new admin email endpoints and add a Mail entry to the admin sidebar.
329f7f6 to
d689fbf
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds an admin mail dashboard at
/admin/mailfor viewing and managing outbound mail:Backed by new generated internal API v1 endpoints/types (regenerated from the live swagger).
Changes
src/routes/(app)/admin/mail/— page, data-table actions, and dialogs (details / delete / send-test)src/lib/api/internal/v1/*— regenerated SDK, types, and transformerssrc/lib/api/index.ts— API wiringsrc/routes/Sidebar.svelte— mail dashboard nav entryTest plan
pnpm run checkandpnpm run build/admin/mailloads and lists messages