Admin

API key management, audit logs, user management, and system admin tools.

API Key Manager

Create, view, and revoke API keys with permission scopes and expiry.

Preview

API Keys

2 keys

Production Key
Active

sk-p************xxxx

Created: 2024-01-01
read
write
Read-only Key
Active

sk-r**********xxxx

Created: 2024-02-01
read
API Key Manager.tsx
import { APIKeyManager } from "@launchapp/design-system/blocks/admin";const keys = [  { id: "1", name: "Production Key", key: "sk-prod-xxxx", createdAt: "2024-01-01", active: true, permissions: ["read", "write"] },  { id: "2", name: "Read-only Key", key: "sk-ro-xxxx", createdAt: "2024-02-01", active: true, permissions: ["read"] },];export default function Page() {  return (    <APIKeyManager      keys={keys}      onCreateKey={(data) => console.log("create", data)}      onRevokeKey={(id) => console.log("revoke", id)}      onCopyKey={(key) => navigator.clipboard.writeText(key)}      availablePermissions={["read", "write", "admin"]}    />  );}

Audit Log Viewer

Paginated audit log with search, level filters, and action filters.

Preview

Audit Log

3 entries

Level:
INFO
WARN
ERROR
DEBUG
Action:
Created
Updated
Deleted
Login
Logout
API Call
Config
User Action
INFO
Created
Alice Johnson2024-01-01T10:00:00Z

Created user bob@example.com

WARN
API Call
Bob Smith2024-01-02T11:00:00Z

Revoked API key sk-xxx

ERROR
Login
System2024-01-03T09:30:00Z192.168.1.1

Failed login attempt from 192.168.1.1

Audit Log Viewer.tsx
import { AuditLogViewer } from "@launchapp/design-system/blocks/admin";const logs = [  { id: "1", actor: { name: "Alice" }, action: "user.create", level: "info", timestamp: "2024-01-01T10:00:00Z", message: "Created user bob@example.com" },  { id: "2", actor: { name: "Bob" }, action: "api_key.revoke", level: "warning", timestamp: "2024-01-02T11:00:00Z", message: "Revoked key sk-xxx" },];export default function Page() {  return <AuditLogViewer logs={logs} pageSize={20} />;}

System Settings Panel

Admin panel for toggling system-wide feature flags and configuration.

Preview

System Settings

Configure LaunchApp application settings and feature flags.

Application Configuration

Global settings for LaunchApp.

Feature Flags

Toggle features on or off for LaunchApp.

Enable the redesigned dashboard layout.

Enable AI-powered suggestions.

Take the site offline for maintenance.

System Settings Panel.tsx
import { SystemSettingsPanel } from "@launchapp/design-system/blocks/admin";const settings = [  { id: "maintenance", label: "Maintenance Mode", description: "Take the site offline for maintenance", enabled: false },  { id: "signups", label: "New Signups", description: "Allow new user registrations", enabled: true },];export default function Page() {  return <SystemSettingsPanel settings={settings} onToggle={(id, value) => console.log(id, value)} />;}

User Management Table

Admin table for managing users — ban, unban, edit, and delete.

Preview

Users

3 total users

NameEmailRoleStatusCreatedLast Active
A
Alice Johnson
alice@example.com
Admin
Active
2024-01-012024-01-15
B
Bob Smith
bob@example.com
Editor
Active
2024-02-012024-02-10
C
Carol White
carol@example.com
Viewer
Pending
2024-03-012024-03-01
Page 1 of 1
User Management Table.tsx
import { UserManagementTable } from "@launchapp/design-system/blocks/admin";const users = [  { id: "1", name: "Alice Johnson", email: "alice@example.com", role: "admin", status: "active", createdAt: "2024-01-01" },  { id: "2", name: "Bob Smith", email: "bob@example.com", role: "member", status: "active", createdAt: "2024-02-01" },];export default function Page() {  return (    <UserManagementTable      users={users}      onBanUser={(id) => console.log("ban", id)}      onDeleteUser={(id) => console.log("delete", id)}      onAddUser={() => console.log("add user")}    />  );}

Webhook Manager

Create and manage outbound webhooks with event subscriptions and delivery logs.

Preview

Webhooks

1 active endpoint

Production Webhook
Active

https://api.example.com/hooks

user.created
payment.success

Created: 2024-01-01

Staging Webhook
Inactive

https://staging.example.com/hooks

user.created

Created: 2024-02-01

Webhook Manager.tsx
import { WebhookManager } from "@launchapp/design-system/blocks/admin";const webhooks = [  { id: "1", url: "https://example.com/hook", events: ["user.created"], active: true, createdAt: "2024-01-01" },];export default function Page() {  return (    <WebhookManager      webhooks={webhooks}      onCreateWebhook={(data) => console.log("create", data)}      onDeleteWebhook={(id) => console.log("delete", id)}      onToggleWebhook={(id, active) => console.log(id, active)}      availableEvents={["user.created", "user.deleted", "payment.succeeded"]}    />  );}

Feature Flag Panel

Manage feature flags across development, staging, and production environments.

Preview

Feature Flags

Manage feature flags across environments

new-dashboard

new-dashboard

Redesigned dashboard UI

Updated 1/10/2024
development
On
staging
On
production
Off

ai-suggestions

ai-suggestions

AI-powered content suggestions

Updated 1/5/2024
development
On
staging
Off
production
Off

advanced-export

advanced-export

Export data to multiple formats

Updated 1/12/2024
development
On
staging
On
production
On
Feature Flag Panel.tsx
import { FeatureFlagPanel } from "@launchapp/design-system/blocks/admin";const flags = [  {    id: "1",    key: "new_dashboard",    name: "New Dashboard",    description: "Enable the redesigned dashboard layout.",    environments: { development: true, staging: true, production: false },    createdAt: "2024-01-01",    updatedAt: "2024-01-15",  },  {    id: "2",    key: "ai_assistant",    name: "AI Assistant",    description: "Enable AI-powered suggestions.",    environments: { development: true, staging: false, production: false },    createdAt: "2024-02-01",    updatedAt: "2024-02-01",  },];export default function Page() {  return (    <FeatureFlagPanel      flags={flags}      onToggle={(flag, env, enabled) => console.log("toggle", flag.key, env, enabled)}    />  );}

Status Page

Public-facing service status page with uptime, incidents, and overall health.

Preview

System Status

Real-time status of our services

Operational

Services

API Gateway
Operational
99.98%
Web App
Operational
99.95%
Database
Degraded Performance

Elevated query times

99.50%
Email Service
Operational
100.00%
Status Page.tsx
import { StatusPage } from "@launchapp/design-system/blocks/admin";const services = [  { id: "api", name: "API", description: "REST and GraphQL APIs", status: "operational", uptime: 99.98 },  { id: "web", name: "Web App", description: "Main web application", status: "operational", uptime: 99.95 },  { id: "db", name: "Database", description: "Primary database cluster", status: "degraded", uptime: 99.82 },];export default function Page() {  return (    <StatusPage      services={services}      overallStatus="degraded"      title="System Status"    />  );}

Activity Audit Log Viewer

Detailed audit log with severity levels, sortable columns, search, and export.

Preview

Audit Log

TimeActionActorResourceLevelDescription
Jan 15, 12:00 PMsettings.updated
Dan Lee(dan@example.com)
settings
Success
Security settings updated.
Jan 15, 11:30 AMbilling.payment_failed
system
billing
Error
Payment processing failed for subscription renewal.
Jan 15, 11:00 AMuser.deleted
Carol White(carol@example.com)
users#usr_xyz
Warning
User account deleted by admin.
Jan 15, 10:45 AMapi_key.created
Bob Smith(bob@example.com)
api_keys#key_abc123
Info
New API key created with read/write scope.
Jan 15, 10:23 AMuser.login
Alice Johnson(alice@example.com)
auth
Info
User signed in successfully.

Showing 15 of 5 entries

1 / 1
Activity Audit Log Viewer.tsx
import { AuditLogViewer } from "@launchapp/design-system/blocks/activity";const logs = [  { id: "1", timestamp: "2025-01-15T10:23:00Z", action: "user.login", actor: "Alice Johnson", actorEmail: "alice@example.com", resource: "auth", level: "info", severity: "low", description: "User signed in successfully." },  { id: "2", timestamp: "2025-01-15T10:45:00Z", action: "api_key.created", actor: "Bob Smith", actorEmail: "bob@example.com", resource: "api_keys", resourceId: "key_abc123", level: "info", severity: "medium", description: "New API key created with read/write scope." },  { id: "3", timestamp: "2025-01-15T11:00:00Z", action: "user.deleted", actor: "Carol White", actorEmail: "carol@example.com", resource: "users", resourceId: "usr_xyz", level: "warning", severity: "high", description: "User account deleted." },  { id: "4", timestamp: "2025-01-15T11:30:00Z", action: "billing.payment_failed", actor: "system", resource: "billing", level: "error", severity: "critical", description: "Payment processing failed." },];export default function Page() {  return (    <AuditLogViewer      logs={logs}      title="Audit Log"      onExport={() => console.log("export")}    />  );}