feat: add scoped upload tokens

This commit is contained in:
Ludwig Lehnert
2026-06-18 19:17:51 +00:00
parent a2b6054440
commit 0ed32f7623
17 changed files with 592 additions and 95 deletions

View File

@@ -49,20 +49,12 @@ export default async function DashboardPage({ searchParams }) {
<p className="muted">Angemeldet als {user.username}</p>
</div>
<div className="toolbar">
{user.admin ? (
<a className="chip primary" href="/manage/admin/dashboard">
Adminbereich
</a>
) : null}
<form className="inline-form" action={userLogoutAction}>
<input type="hidden" name="csrfToken" value={csrfToken} />
<button className="btn secondary" type="submit">
Abmelden
</button>
</form>
</div>
<form className="inline-form" action={userLogoutAction}>
<input type="hidden" name="csrfToken" value={csrfToken} />
<button className="btn secondary" type="submit">
Abmelden
</button>
</form>
</header>
<StatusMessage error={error} success={success} />
@@ -77,6 +69,14 @@ export default async function DashboardPage({ searchParams }) {
<a className={`tab ${activeTab === 'requests' ? 'active' : ''}`} href="/manage/dashboard?tab=requests">
Anfragen
</a>
{user.admin ? (
<>
<a className="tab" href="/manage/admin/dashboard?tab=stats">Admin</a>
<a className="tab" href="/manage/admin/files">Dateimanager</a>
<a className="tab" href="/manage/admin/users">Benutzer</a>
<a className="tab" href="/manage/admin/tokens">Upload-Tokens</a>
</>
) : null}
</nav>
<div className="summary-line">