Skip to content

Latest commit

 

History

History
49 lines (32 loc) · 1.38 KB

File metadata and controls

49 lines (32 loc) · 1.38 KB

frontend

is the web interface for pegasus, containing the admin dashboard and account management pages.

Built with MLX (a JSX-like OCaml dialect), server-reason-react (React SSR in OCaml) and melange (OCaml to JavaScript compiler).

pages

admin

  • Login (/admin) - Admin authentication
  • Users (/admin/users) - View and manage PDS users
  • Invites (/admin/invites) - Create and manage invite codes
  • Blobs (/admin/blobs) - Monitor blob storage usage

account

  • Account page (/account) - User profile and email settings
  • Identity (/account/identity) - Handle and DID management
  • Permissions (/account/permissions) - OAuth app permissions and sessions
  • Login (/login) - User authentication
  • Signup (/signup) - New account creation

oauth

  • Authorize (/oauth/authorize) - OAuth authorization flow

development

The frontend is built as part of the main pegasus project. When developing:

# Build the frontend
dune build

# The compiled JavaScript will be in _build/default/public/

formatting

The frontend uses MLX syntax, which can't be formatted using ocamlformat:

# Install formatter
opam install ocamlformat-mlx

# Format MLX files
ocamlformat-mlx -i frontend/src/**/*.mlx