Initial commit
This commit is contained in:
1265
frontend/app/admin/SettingsPage.tsx
Normal file
1265
frontend/app/admin/SettingsPage.tsx
Normal file
File diff suppressed because it is too large
Load Diff
27
frontend/app/admin/[section]/page.tsx
Normal file
27
frontend/app/admin/[section]/page.tsx
Normal file
@@ -0,0 +1,27 @@
|
||||
import { notFound } from 'next/navigation'
|
||||
import SettingsPage from '../SettingsPage'
|
||||
|
||||
const ALLOWED_SECTIONS = new Set([
|
||||
'jellyseerr',
|
||||
'jellyfin',
|
||||
'artwork',
|
||||
'sonarr',
|
||||
'radarr',
|
||||
'prowlarr',
|
||||
'qbittorrent',
|
||||
'requests',
|
||||
'cache',
|
||||
'logs',
|
||||
'maintenance',
|
||||
])
|
||||
|
||||
type PageProps = {
|
||||
params: { section: string }
|
||||
}
|
||||
|
||||
export default function AdminSectionPage({ params }: PageProps) {
|
||||
if (!ALLOWED_SECTIONS.has(params.section)) {
|
||||
notFound()
|
||||
}
|
||||
return <SettingsPage section={params.section} />
|
||||
}
|
||||
26
frontend/app/admin/page.tsx
Normal file
26
frontend/app/admin/page.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
'use client'
|
||||
|
||||
import { useRouter } from 'next/navigation'
|
||||
import AdminShell from '../ui/AdminShell'
|
||||
|
||||
export default function AdminLandingPage() {
|
||||
const router = useRouter()
|
||||
|
||||
return (
|
||||
<AdminShell
|
||||
title="Settings"
|
||||
subtitle="Choose what you want to manage."
|
||||
actions={
|
||||
<button type="button" onClick={() => router.push('/')}>
|
||||
Back to requests
|
||||
</button>
|
||||
}
|
||||
>
|
||||
<section className="admin-section">
|
||||
<div className="status-banner">
|
||||
Pick a section from the left. Each page explains what it does and how it helps.
|
||||
</div>
|
||||
</section>
|
||||
</AdminShell>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user