feat(maintenance): Update maintenance mode status schema and UI logic
This commit is contained in:
parent
ba209593f5
commit
83743343c9
|
|
@ -52,6 +52,8 @@ export default function MaintenancePage() {
|
||||||
return <div className="text-center py-8">Loading maintenance status...</div>
|
return <div className="text-center py-8">Loading maintenance status...</div>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const isEnabled = status?.status === 'ACTIVE'
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="space-y-6">
|
<div className="space-y-6">
|
||||||
<h2 className="text-3xl font-bold">Maintenance Mode</h2>
|
<h2 className="text-3xl font-bold">Maintenance Mode</h2>
|
||||||
|
|
@ -60,8 +62,8 @@ export default function MaintenancePage() {
|
||||||
<CardHeader>
|
<CardHeader>
|
||||||
<div className="flex items-center justify-between">
|
<div className="flex items-center justify-between">
|
||||||
<CardTitle>Maintenance Status</CardTitle>
|
<CardTitle>Maintenance Status</CardTitle>
|
||||||
<Badge variant={status?.enabled ? 'destructive' : 'default'}>
|
<Badge variant={isEnabled ? 'destructive' : 'default'}>
|
||||||
{status?.enabled ? 'Enabled' : 'Disabled'}
|
{isEnabled ? 'Enabled' : 'Disabled'}
|
||||||
</Badge>
|
</Badge>
|
||||||
</div>
|
</div>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
|
|
@ -74,12 +76,12 @@ export default function MaintenancePage() {
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<Switch
|
<Switch
|
||||||
checked={status?.enabled || false}
|
checked={isEnabled}
|
||||||
onCheckedChange={handleToggle}
|
onCheckedChange={handleToggle}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{!status?.enabled && (
|
{!isEnabled && (
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
<Label htmlFor="message">Maintenance Message (Optional)</Label>
|
<Label htmlFor="message">Maintenance Message (Optional)</Label>
|
||||||
<Input
|
<Input
|
||||||
|
|
@ -94,7 +96,7 @@ export default function MaintenancePage() {
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{status?.enabled && status?.message && (
|
{isEnabled && status?.message && (
|
||||||
<div>
|
<div>
|
||||||
<Label>Current Message</Label>
|
<Label>Current Message</Label>
|
||||||
<p className="text-sm mt-2">{status.message}</p>
|
<p className="text-sm mt-2">{status.message}</p>
|
||||||
|
|
@ -105,4 +107,3 @@ export default function MaintenancePage() {
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,10 +30,15 @@ export interface SystemInfo {
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface MaintenanceStatus {
|
export interface MaintenanceStatus {
|
||||||
enabled: boolean
|
id: string
|
||||||
|
status: 'ACTIVE' | 'INACTIVE'
|
||||||
message?: string
|
message?: string
|
||||||
scheduledStart?: string
|
scheduledAt?: string | null
|
||||||
scheduledEnd?: string
|
startedAt?: string | null
|
||||||
|
endedAt?: string | null
|
||||||
|
enabledBy?: string
|
||||||
|
createdAt: string
|
||||||
|
updatedAt: string
|
||||||
}
|
}
|
||||||
|
|
||||||
class SystemService {
|
class SystemService {
|
||||||
|
|
@ -57,7 +62,7 @@ class SystemService {
|
||||||
* Get maintenance mode status
|
* Get maintenance mode status
|
||||||
*/
|
*/
|
||||||
async getMaintenanceStatus(): Promise<MaintenanceStatus> {
|
async getMaintenanceStatus(): Promise<MaintenanceStatus> {
|
||||||
const response = await apiClient.get<MaintenanceStatus>('/admin/maintenance/status')
|
const response = await apiClient.get<MaintenanceStatus>('/admin/maintenance')
|
||||||
return response.data
|
return response.data
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user