Files
zeekay 526dac4de6 Shipwright — product changelog & blog on the Hanzo stack
Forked from hanzo-starter (provider stack, vite.config, PKCE auth, deploy
contract unchanged). Three views in @hanzo/gui with a monospace terminal
aesthetic: changelog feed (reverse-chron timeline, type/tag filter, lime
newest-release highlight), post detail (full body + related), and a signed-in
compose editor. Auth is @hanzo/iam PKCE against hanzo.id (client id from
VITE_IAM_CLIENT_ID). Data is entries/tags/entry_tags on @hanzo/base, org-scoped,
provisioned from schema.sql.
2026-07-21 10:41:10 -07:00

25 lines
1.0 KiB
TypeScript

/**
* The app's environment contract, in ONE place. Every value has a sensible
* default so the starter runs against live Hanzo (hanzo.id + api.hanzo.ai) with
* zero config; the deploy pipeline overrides them per environment.
*/
const origin = typeof window !== 'undefined' ? window.location.origin : ''
/** OIDC issuer (Hanzo IAM). */
export const IAM_URL = import.meta.env.VITE_HANZO_IAM_URL || 'https://hanzo.id'
/**
* IAM application (client) id, `<org>-<app>`. Read from `VITE_IAM_CLIENT_ID`;
* a per-app client (e.g. `hanzo-changelog-ship`) is provisioned at deploy and
* injected here. Falls back to the shared `hanzo-app` client for local dev.
*/
export const CLIENT_ID = import.meta.env.VITE_IAM_CLIENT_ID || 'hanzo-app'
/** PKCE redirect URI — this origin's callback route unless overridden. */
export const REDIRECT_URI =
import.meta.env.VITE_HANZO_REDIRECT_URI || `${origin}/auth/callback`
/** Browser-reachable Hanzo Base data plane (IAM-native). */
export const BASE_URL = import.meta.env.VITE_HANZO_BASE_URL || 'https://api.hanzo.ai'