Skip to content

webisoftSoftware/1AM-partner-theme-registery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

1AM Partner Theme Registry

Public list of co-branded partner themes that the 1AM wallet (chrome extension and mobile) renders in Settings → Team Settings → Partner Team.

The wallet fetches registry.json from this repo at startup, caches the result for one hour, and surfaces each entry as a selectable partner theme in the picker. Adding a new partner is a one-PR change here — no wallet release required for palette / metadata updates.

Logos are NOT loaded from this registry. Each partner ships a compiled SVG component in the wallet codebase, looked up by logoId. New partners require both a registry PR here AND a wallet release that adds their brand-mark component. This is a deliberate security trade-off (no inline SVG injection from a remote JSON).

Schema

{
  "version": 1,
  "partners": [
    {
      "id": "ascend",                                // unique slug; must match logoId
      "name": "Ascend Markets",                      // display name in picker
      "author": "Ascend Markets × 1AM",              // sub-line in picker
      "tagline": "Ascend Markets × 1AM co-brand",    // one-line description
      "shortLabel": "ASCEND",                        // wordmark in header chrome
      "logoId": "ascend",                            // resolves to a wallet SVG component
      "baseTheme": "ember",                          // base for derived semantic vars; "classic" | "midnight" | "ember"
      "fontPack": "classic",                         // "classic" | "modern" | "expressive" | "sci-fi" | "clean"
      "palettes": {
        "light": { /* 6 hex colors — see below */ },
        "dark":  { /* 6 hex colors — see below */ }
      }
    }
  ]
}

Palette fields

Every palette (both light and dark) must define all six fields, each as a #RRGGBB or #RGB hex color. The wallet rejects entries with missing, non-string, or non-hex values.

Field Purpose
accent Primary brand color — buttons, badges, focus rings
accentSoft Tinted-background variant of accent (low-emphasis)
canvas App background (the outermost surface)
surface Card / panel background
surfaceAlt Secondary card surface (hover, nested rows)
header Top chrome / nav strip

Partner identities are typically locked: both light and dark palettes should usually be the same dark expression so the brand stays consistent regardless of the user's wallet light/dark mode toggle (mirrors the 1AM mobile picker, which renders partners as canonical dark).

Validation

  • id must match ^[a-z0-9-]+$ and be unique across the partner list.
  • All string fields are required and non-empty (after trimming).
  • baseTheme must be one of: classic, midnight, ember.
  • fontPack must be one of: classic, modern, expressive, sci-fi, clean. Defaults to classic when omitted.
  • Both palettes.light and palettes.dark must be present and complete.
  • Entries failing any check are silently dropped at the wallet — submit a clean entry to ensure your partner appears in the picker.

Adding a new partner

  1. Open a PR adding a new object to the partners array in registry.json.
  2. Coordinate a wallet release that adds your brand-mark SVG component to entrypoints/components/PartnerLogo.tsx (extension) and the mobile equivalent. The component must be referenced by your logoId.
  3. Wallet caches refresh hourly; users see your partner theme automatically on the next sync after both the JSON and the logo land.

Caching behavior (wallet side)

The wallet fetches this URL:

https://raw.githubusercontent.com/webisoftSoftware/1AM-partner-theme-registery/main/registry.json

…with this fallback chain:

  1. Fresh cache (≤ 1 hour old) → use cached entries.
  2. Live fetch from this repo → cache + use response.
  3. Stale cache → use cached entries.
  4. Bundled fallback in the wallet binary → use that.

So even if this repo is unreachable, the wallet still surfaces whatever partners shipped in the last release.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors