// GENERATED by gh-app 的 tool/design_tokens —— 不要手改,改了下次重跑就沒了。
//
// 顏色的真相在 gh-app 的 design_tokens/tokens.json。要改顏色改那裡、重跑 script,
// 再把這個檔推回 canvas。每個顏色是什麼意思寫在那邊的 $description。
//
// 這裡只有語意層。primitive(ref)不會出現在 canvas 上 —— 畫面要用的是
// 「這塊是什麼」,不是「這塊是幾號灰」。

const tokens = {
  surfaceBase:           '#FFFFFF',
  surfaceCard:           '#FFFFFF',
  surfaceCanvas:         '#F2F0EC',
  surfaceSunken:         '#F3F4F6',
  surfaceScrim:          '#1F1B16',
  textDefault:           '#1A1714',
  textMuted:             '#6E6A65',
  textSubtle:            '#9A968F',
  textInverse:           '#FFFFFF',
  textLink:              '#0A4A99',
  borderDefault:         '#E7E4DF',
  borderFocused:         '#6B7280',
  trendGain:             '#429C5A',
  trendLoss:             '#D74745',
  trendFlat:             '#6B7280',
  trendGainSurface:      '#D8F9DD',
  trendLossSurface:      '#FFE9E6',
  accentDefault:         '#1A1714',
  statusInvited:         '#E65100',
  statusRegistered:      '#2E7D32',
  statusBlocked:         '#C62828',
  marketTw:              '#D97A2B',
  marketUs:              '#2F6FEB',
  marketCrypto:          '#1F2937',
  marketOther:           '#6B7280',
  brandSeed:             '#4F46E5',
  strategyMintSurface:   '#9FE2C4',
  strategyMintText:      '#249C74',
  strategyCoralSurface:  '#FEBAB4',
  strategyCoralText:     '#D55753',
  strategyButterSurface: '#FBDF93',
  strategyButterText:    '#BA8400',
  strategyLilacSurface:  '#D8C7F9',
  strategyLilacText:     '#8864C0',
  strategySkySurface:    '#A2DAF6',
  strategySkyText:       '#0086B1',
  strategyRoseSurface:   '#FCB8C7',
  strategyRoseText:      '#D25579',
  buttonSolidFill:       '#1A1714',
  buttonOnSolidFill:     '#FFFFFF',
  switchTrackOff:        '#E7E4DF',
  switchTrackOn:         '#1A1714',
  refreshiconGlyph:      '#8C8C8C',
};
window.tokens = tokens;

// DEPRECATED —— 舊名字,只為了讓還沒改的畫面繼續能跑。
// 改一頁就把它用到的舊名從 tokens.json 的 $extensions 移掉一個;
// 清空之後這一段就消失了。
const deprecated = {
  bg:         tokens.surfaceBase,
  surface:    tokens.surfaceCard,
  surfaceAlt: tokens.surfaceCanvas,
  ink:        tokens.textDefault,
  ink2:       tokens.textMuted,
  ink3:       tokens.textSubtle,
  hairline:   tokens.borderDefault,
  accent:     tokens.accentDefault,
  brown:      '#7B5E3C',
  up:         tokens.trendGain,
  down:       tokens.trendLoss,
  upBg:       tokens.trendGainSurface,
  downBg:     tokens.trendLossSurface,
  mint:       tokens.strategyMintSurface,
  mintDk:     tokens.strategyMintText,
  coral:      tokens.strategyCoralSurface,
  coralDk:    tokens.strategyCoralText,
  butter:     tokens.strategyButterSurface,
  butterDk:   tokens.strategyButterText,
  lilac:      tokens.strategyLilacSurface,
  lilacDk:    tokens.strategyLilacText,
  sky:        tokens.strategySkySurface,
  skyDk:      tokens.strategySkyText,
  rose:       tokens.strategyRoseSurface,
  roseDk:     tokens.strategyRoseText,
};
window.flutterTokens = { ...tokens, ...deprecated };

// 策略色:一個 key 換一組(底色, 文字色)。
function stratColors(key) {
  const map = {
    mint:   { bg: tokens.strategyMintSurface, ink: tokens.strategyMintText },
    coral:  { bg: tokens.strategyCoralSurface, ink: tokens.strategyCoralText },
    butter: { bg: tokens.strategyButterSurface, ink: tokens.strategyButterText },
    lilac:  { bg: tokens.strategyLilacSurface, ink: tokens.strategyLilacText },
    sky:    { bg: tokens.strategySkySurface, ink: tokens.strategySkyText },
    rose:   { bg: tokens.strategyRoseSurface, ink: tokens.strategyRoseText },
  };
  return map[key] || map.mint;
}
window.stratColors = stratColors;
