diff --git a/CHANGELOG.md b/CHANGELOG.md index 21ab24cd..5eed5a74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,7 +26,9 @@ Section Order: ### Removed --> - +### Changed + +- **Administration Card Styling & Update Sections**: Modernized the character, corporation, and alliance administration cards with a responsive grid layout (`auto-fill`), circular portrait headers, dedicated error banners, detailed listing of individual update sections (e.g. Wallet Journal, Mining Ledger, Planets) with color-coded status dots (`OK`, `Failed`, `Token Error`, `Pending`), structured status badge rows with pulsing indicators for errors/issues, last synchronization timestamp, and aligned action buttons. ## [4.0.2] - 2026-10-11 diff --git a/frontend/src/Api/OpenApi.ts b/frontend/src/Api/OpenApi.ts index 2c87d492..ebf8284d 100644 --- a/frontend/src/Api/OpenApi.ts +++ b/frontend/src/Api/OpenApi.ts @@ -569,6 +569,33 @@ export interface components { status?: string | null; /** Last Sync */ last_sync?: string | null; + /** Error Message */ + error_message?: string | null; + /** Sections */ + sections?: components["schemas"]["AdminOwnerSectionSchema"][] | null; + }; + /** + * AdminOwnerSectionSchema + * @description Status of an individual update section. + */ + AdminOwnerSectionSchema: { + /** Section */ + section: string; + /** Section Name */ + section_name: string; + /** Is Success */ + is_success?: boolean | null; + /** + * Has Token Error + * @default false + */ + has_token_error: boolean; + /** Error Message */ + error_message?: string | null; + /** Last Run At */ + last_run_at?: string | null; + /** Last Run Finished At */ + last_run_finished_at?: string | null; }; /** * AdministrationResponse diff --git a/frontend/src/Api/schema.ts b/frontend/src/Api/schema.ts index c349afb8..24b9259a 100644 --- a/frontend/src/Api/schema.ts +++ b/frontend/src/Api/schema.ts @@ -14,6 +14,7 @@ export type AllianceOverview = components["schemas"]["AllianceOverview"]; export type DashboardSchema = components["schemas"]["DashboardSchema"]; export type AdministrationResponse = components["schemas"]["AdministrationResponse"]; export type AdminOwnerSchema = components["schemas"]["AdminOwnerSchema"]; +export type AdminOwnerSectionSchema = components["schemas"]["AdminOwnerSectionSchema"]; export type BillboardData = components["schemas"]["BillboardData"]; export type BillboardSchema = components["schemas"]["BillboardSchema"]; diff --git a/frontend/src/Components/Administration/AdministrationView.tsx b/frontend/src/Components/Administration/AdministrationView.tsx index 79960bd4..a1f03421 100644 --- a/frontend/src/Components/Administration/AdministrationView.tsx +++ b/frontend/src/Components/Administration/AdministrationView.tsx @@ -8,7 +8,7 @@ import { useMutation, useQueryClient } from "@tanstack/react-query"; import type { QueryKey } from "@tanstack/react-query"; import { createColumnHelper } from "@tanstack/react-table"; import type { ColumnDef } from "@tanstack/react-table"; -import { CheckCircle2, Clock, LogIn, RotateCw, Trash2, UserCheck, UserMinus, UserX, Users, XCircle } from "lucide-react"; +import { AlertCircle, AlertTriangle, CheckCircle2, Clock, LogIn, RotateCw, Trash2, UserCheck, UserMinus, UserX, Users, XCircle } from "lucide-react"; import { Alert, Badge, Button, Col, Row, Spinner } from "react-bootstrap"; import { useTranslation } from "react-i18next"; @@ -229,7 +229,7 @@ function AdministrationView({ )} -