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

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors