Loading admin panel...

Access Denied

You don't have permission to access the admin panel.

Go Home
User Dashboard
User Dashboard

Home

Total Users
{{ stats.total_users || 0 }}
Total Pages
{{ stats.total_pages || 0 }}
Total Views
{{ formatNumber(stats.total_views || 0) }}
Total Uploads
{{ stats.total_uploads || 0 }}

Recent Users

{{ user.username.charAt(0).toUpperCase() }}
{{ user.username }}
{{ user.email }}
{{ formatDate(user.created_at) }}

No recent users

Users

Showing {{ users.length }} / {{ usersTotal }}

User Email Role Statuses Joined Actions
{{ user.username.charAt(0).toUpperCase() }}
{{ user.username }} BANNED
{{ user.email }} {{ userRoleLabel(user.role) }}
{{ status.short_name }} None
{{ formatDate(user.created_at) }}
No users found
Page {{ usersPage }} of {{ usersPageCount }}

Pages

Showing {{ pages.length }} / {{ pagesTotal }}

{{ page.display_name || page.slug }}
@{{ page.slug }}
{{ page.view_count || 0 }} views {{ page.link_count || 0 }} links
No pages found
Page {{ pagesPage }} of {{ pagesPageCount }}

Changelog

Create Post

Stored as UTC in DB.

Recent Posts

{{ changelogPosts.length }} total
Loading…
No posts yet
{{ post.title }}
UTC {{ post.published_at }}
{{ snippet(post.body, 180) }}

Uploads

Showing {{ uploads.length }} / {{ uploadsTotal }}

User Type Preview Name Size Created Link
{{ up.username }} {{ up.file_type }}
{{ up.original_name || up.filename }}
{{ up.mime_type }}
{{ formatBytes(up.file_size) }} {{ formatDate(up.created_at) }} Open
Offset {{ uploadsOffset }}
No uploads found

Upload Tokens

Token Owner Created Last Used Actions
{{ token.token.substring(0, 12) }}... {{ token.owner || 'Anonymous' }} {{ formatDate(token.created_at) }} {{ token.last_used ? formatDate(token.last_used) : 'Never' }}
No tokens generated yet

Invite Codes

{{ inviteStats.total || 0 }}
Total Invites
{{ inviteStats.available || 0 }}
Available
{{ inviteStats.used || 0 }}
Used
Invite Wave
Gives 1 new invite to every active user

0 means permanent

Loading invites...
Code Owner Status Used By Created Expires Actions
{{ String(invite.code || '').slice(0, 8) }}... {{ invite.owner_username || 'Unassigned' }} {{ invite.is_used ? 'Used' : (isInviteExpired(invite.expires_at_ts || invite.expires_at) ? 'Expired' : 'Available') }} {{ invite.used_by_username || '-' }} {{ formatDate(invite.created_at) }} {{ formatInviteExpiry(invite.expires_at_ts || invite.expires_at, invite.is_used) }}
Showing first 250 invites
No invites generated yet

User Statuses

Preview Name Short Name Description How to obtain Code Color Actions
{{ status.short_name }} {{ status.name }} {{ status.short_name }} {{ status.description }} - {{ status.how_to_obtain }} - {{ status.status_code }} -
{{ status.color }}
No statuses created yet

Site Settings

Branding

Public-facing name and description.

Access

Control registration and maintenance visibility.

Let new users create accounts.

Only admins can access the site.

Uploads

Size limits for user assets and hosting.

Owner-only

Global cap across all uploads.

/api/upload.php?action=general (ShareX).

Avatars, headers, backgrounds.

Background videos.

Music uploads.

Custom font uploads.

Link icons.

Homepage

Message shown on the homepage.

Leave empty to hide.

Integrations

External services used by the site.

Owner-only

Used by /mc.

Miscellaneous

Notifications

No users found

Leave the target empty to notify everyone.

Logs

Showing {{ logs.length }} / {{ logsTotal }}

Time Event User IP Country Path UA Details
Offset {{ logOffset }}

{{ editingUser ? 'Edit User' : 'Create User' }}

{{ userRoleLabel(editingUser.role) }} Banned UID #{{ editingUser.uid }} {{ editingUser.email || 'No email' }} {{ (editingUser.statuses || []).length }} statuses
Joined {{ formatDate(editingUser.created_at) }} Last login {{ editingUser.last_login ? formatDateTime(editingUser.last_login) : 'Never' }} Last activity {{ editingUser.last_activity ? formatDateTime(editingUser.last_activity) : 'Never' }} Invited by {{ editingUser.invited_by_username || (editingUser.invited_by ? `UID #${editingUser.invited_by}` : '—') }}

Only admins can change account activity.

Disable to block login without banning.

Only the owner can grant admin.

Owner role can’t be changed here.

Toggle to grant or revoke admin.

Only the owner can grant moderator.

Owner role can’t be changed here.

Toggle to grant or revoke moderator.

Grants full owner privileges.

You can’t ban this account.

Banning logs the user out and blocks login + profile access.

BANNED
Reason
{{ editingUser.ban_reason || '—' }}

You can’t reset this account’s password.

Set a new password and revoke active sessions.

Showing {{ userAuditLogs.length }} / {{ userAuditTotal }}
Time Event Success IP Details
{{ formatDateTime(log.created_at) }} {{ log.event_type || '—' }} Success Fail {{ log.ip_address || '—' }} {{ log.details || '—' }}
No audit events found yet.
Pending changes {{ assignedStatuses.length }} assigned
Assigned
{{ status.short_name }} {{ status.name }}
No statuses assigned
No statuses found
No statuses available
No statuses available yet.

Generate Invite Codes

Generate 1-100 invites at once

0 means permanent

No users found

Assign invites directly to a user's inventory

Assign Invite to User

{{ assigningInvite?.code }}

{{ confirmModalConfig.title }}

{{ confirmModalConfig.message }}

{{ statusForm.id ? 'Edit' : 'Create' }} Status

Optional. (max 255 chars).

Optional. (max 255 chars).

Enable requirements
{{ requirementLabelForType(statusForm.requirements_type) }}
Enable redeem code

Use A-Z, 0-9, underscores, and dashes.

glow
float
shine
pulse
{{ statusForm.short_name || 'Badge' }}

Log Details

{{ activeLog ? formatDateTime(activeLog.created_at) : '' }}

Event
{{ activeLog?.event_type || '—' }}
Success
{{ activeLog?.success === null || activeLog?.success === undefined ? '—' : (activeLog?.success ? 'Success' : 'Fail') }}
User
{{ activeLog?.username || activeLog?.user_id || '—' }}
IP
{{ activeLog?.ip_address || '—' }}
Country
{{ activeLog?.country || '—' }}
Method
{{ activeLog?.method || '—' }}
Path
{{ activeLog?.path || '—' }}
Referer
{{ activeLog?.referer || '—' }}
User Agent
{{ activeLog?.user_agent || '—' }}
Details
{{ entry.label }}
{{ entry.value }}
No details available.
{{ toast.message }}