apps/ui: Warp's design system for Vue 3 + Tailwind v4. Tokens, fonts, icons and logo come from the brand package, with a Tailwind theme on the tokens and Vue components on the brand component styles. apps/admin: the admin panel as a separate, optional service. warp-admin embeds the built Vue app and proxies only the login endpoints and /_warp/admin/v1 to the homeserver. Pages: dashboard, users, rooms, federation, registration and tokens, server notices, application services, audit log. Also: pnpm workspace, go.work entry, Dockerfile, an `admin` compose profile, Makefile targets, a CI job with a proxy smoke test, and docs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
24 lines
520 B
Go
24 lines
520 B
Go
// Package panel holds the built admin panel, embedded into the binary.
|
|
package panel
|
|
|
|
import (
|
|
"embed"
|
|
"io/fs"
|
|
)
|
|
|
|
//go:embed all:build
|
|
var build embed.FS
|
|
|
|
// FS returns the built panel, rooted at its index.html. ok is false when
|
|
// the binary was compiled before `pnpm build`, and the panel is missing.
|
|
func FS() (files fs.FS, ok bool) {
|
|
sub, err := fs.Sub(build, "build/dist")
|
|
if err != nil {
|
|
return nil, false
|
|
}
|
|
if _, err := fs.Stat(sub, "index.html"); err != nil {
|
|
return nil, false
|
|
}
|
|
return sub, true
|
|
}
|