feat(market): portfolio row-style redesign + per-wallet scope
Replace the drag/resize dashboard grid on the Market tab's portfolio with
three full-width row styles — compact (single-line), detailed (two-line),
and value-hero — cycled with Left/Right arrows like the Overview layouts.
Rows live in an internal scroll region bounded to the portfolio's height
budget, so the section stays put as groups are added.
- pfDrawRow renders each group in the selected style, reusing the icon /
value / DRGX / 24h / sparkline pieces; per-entry field toggles honored.
- portfolio_style setting (0/1/2) persisted; arrow-key switcher + toast.
- Portfolio groups gain a per-wallet scope: new groups default to the
active wallet's identity hash; legacy groups (empty scope) stay visible
in every wallet. Scope filter drives both the height budget and the rows.
- Remove the now-dead grid machinery (mktDrawCard, pfComputeGridLayout,
PfCell, PfGridDrag, MktCardCtx + MktCtx grid fields) — net code drop.
- Full UI sweep: seed demo portfolio groups + wavy price history and add
market-rows-{compact,detailed,featured} surfaces so the styles are
captured per skin (snapshot/restore the real portfolio + market data).
- i18n: portfolio_style_{label,compact,detailed,featured} + 8 langs; CJK
subset rebuilt.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
@@ -839,6 +839,10 @@
|
||||
"portfolio_spark_min": "Minute",
|
||||
"portfolio_spark_month": "Monat",
|
||||
"portfolio_spark_week": "Woche",
|
||||
"portfolio_style_compact": "Kompakte Zeilen",
|
||||
"portfolio_style_detailed": "Detaillierte Zeilen",
|
||||
"portfolio_style_featured": "Hervorgehobene Zeilen",
|
||||
"portfolio_style_label": "Portfolio-Stil",
|
||||
"portfolio_untitled": "Ohne Titel",
|
||||
"price_chart": "Preisdiagramm",
|
||||
"privacy_great": "Großartige Privatsphäre!",
|
||||
@@ -1341,6 +1345,7 @@
|
||||
"wallets_new_hint": "Name (z. B. Ersparnisse)",
|
||||
"wallets_new_label": "Eine neue Wallet erstellen:",
|
||||
"wallets_open": "Öffnen",
|
||||
"wallets_reveal": "Ordner anzeigen",
|
||||
"wallets_title": "Wallets",
|
||||
"warning": "Warnung",
|
||||
"warning_upper": "WARNUNG!",
|
||||
|
||||
@@ -839,6 +839,10 @@
|
||||
"portfolio_spark_min": "Minuto",
|
||||
"portfolio_spark_month": "Mes",
|
||||
"portfolio_spark_week": "Semana",
|
||||
"portfolio_style_compact": "Filas compactas",
|
||||
"portfolio_style_detailed": "Filas detalladas",
|
||||
"portfolio_style_featured": "Filas destacadas",
|
||||
"portfolio_style_label": "Estilo de cartera",
|
||||
"portfolio_untitled": "Sin título",
|
||||
"price_chart": "Gráfico de Precios",
|
||||
"privacy_great": "¡Excelente privacidad!",
|
||||
@@ -1341,6 +1345,7 @@
|
||||
"wallets_new_hint": "Nombre (p. ej. ahorros)",
|
||||
"wallets_new_label": "Crear una nueva cartera:",
|
||||
"wallets_open": "Abrir",
|
||||
"wallets_reveal": "Mostrar carpeta",
|
||||
"wallets_title": "Carteras",
|
||||
"warning": "Advertencia",
|
||||
"warning_upper": "¡ADVERTENCIA!",
|
||||
|
||||
@@ -839,6 +839,10 @@
|
||||
"portfolio_spark_min": "Minute",
|
||||
"portfolio_spark_month": "Mois",
|
||||
"portfolio_spark_week": "Semaine",
|
||||
"portfolio_style_compact": "Lignes compactes",
|
||||
"portfolio_style_detailed": "Lignes détaillées",
|
||||
"portfolio_style_featured": "Lignes en vedette",
|
||||
"portfolio_style_label": "Style du portefeuille",
|
||||
"portfolio_untitled": "Sans titre",
|
||||
"price_chart": "Graphique des prix",
|
||||
"privacy_great": "Excellente confidentialité !",
|
||||
@@ -1341,6 +1345,7 @@
|
||||
"wallets_new_hint": "Nom (par ex. épargne)",
|
||||
"wallets_new_label": "Créer un nouveau portefeuille :",
|
||||
"wallets_open": "Ouvrir",
|
||||
"wallets_reveal": "Afficher le dossier",
|
||||
"wallets_title": "Portefeuilles",
|
||||
"warning": "Attention",
|
||||
"warning_upper": "ATTENTION !",
|
||||
|
||||
@@ -839,6 +839,10 @@
|
||||
"portfolio_spark_min": "分",
|
||||
"portfolio_spark_month": "月",
|
||||
"portfolio_spark_week": "週",
|
||||
"portfolio_style_compact": "コンパクト行",
|
||||
"portfolio_style_detailed": "詳細行",
|
||||
"portfolio_style_featured": "注目行",
|
||||
"portfolio_style_label": "ポートフォリオスタイル",
|
||||
"portfolio_untitled": "無題",
|
||||
"price_chart": "価格チャート",
|
||||
"privacy_great": "優れたプライバシーです!",
|
||||
@@ -1341,6 +1345,7 @@
|
||||
"wallets_new_hint": "名前(例:savings)",
|
||||
"wallets_new_label": "新しいウォレットを作成:",
|
||||
"wallets_open": "開く",
|
||||
"wallets_reveal": "フォルダを開く",
|
||||
"wallets_title": "ウォレット",
|
||||
"warning": "警告",
|
||||
"warning_upper": "警告!",
|
||||
|
||||
@@ -839,6 +839,10 @@
|
||||
"portfolio_spark_min": "분",
|
||||
"portfolio_spark_month": "월",
|
||||
"portfolio_spark_week": "주",
|
||||
"portfolio_style_compact": "간결한 행",
|
||||
"portfolio_style_detailed": "상세 행",
|
||||
"portfolio_style_featured": "강조 행",
|
||||
"portfolio_style_label": "포트폴리오 스타일",
|
||||
"portfolio_untitled": "제목 없음",
|
||||
"price_chart": "가격 차트",
|
||||
"privacy_great": "프라이버시가 우수합니다!",
|
||||
@@ -1341,6 +1345,7 @@
|
||||
"wallets_new_hint": "이름(예: savings)",
|
||||
"wallets_new_label": "새 지갑 만들기:",
|
||||
"wallets_open": "열기",
|
||||
"wallets_reveal": "폴더 열기",
|
||||
"wallets_title": "지갑",
|
||||
"warning": "경고",
|
||||
"warning_upper": "경고!",
|
||||
|
||||
@@ -839,6 +839,10 @@
|
||||
"portfolio_spark_min": "Minuto",
|
||||
"portfolio_spark_month": "Mês",
|
||||
"portfolio_spark_week": "Semana",
|
||||
"portfolio_style_compact": "Linhas compactas",
|
||||
"portfolio_style_detailed": "Linhas detalhadas",
|
||||
"portfolio_style_featured": "Linhas em destaque",
|
||||
"portfolio_style_label": "Estilo do portfólio",
|
||||
"portfolio_untitled": "Sem título",
|
||||
"price_chart": "Gráfico de Preços",
|
||||
"privacy_great": "Ótima privacidade!",
|
||||
@@ -1341,6 +1345,7 @@
|
||||
"wallets_new_hint": "Nome (ex.: poupança)",
|
||||
"wallets_new_label": "Criar uma nova carteira:",
|
||||
"wallets_open": "Abrir",
|
||||
"wallets_reveal": "Mostrar pasta",
|
||||
"wallets_title": "Carteiras",
|
||||
"warning": "Aviso",
|
||||
"warning_upper": "AVISO!",
|
||||
|
||||
@@ -839,6 +839,10 @@
|
||||
"portfolio_spark_min": "Минута",
|
||||
"portfolio_spark_month": "Месяц",
|
||||
"portfolio_spark_week": "Неделя",
|
||||
"portfolio_style_compact": "Компактные строки",
|
||||
"portfolio_style_detailed": "Подробные строки",
|
||||
"portfolio_style_featured": "Избранные строки",
|
||||
"portfolio_style_label": "Стиль портфеля",
|
||||
"portfolio_untitled": "Без названия",
|
||||
"price_chart": "График цен",
|
||||
"privacy_great": "Отличная конфиденциальность!",
|
||||
@@ -1341,6 +1345,7 @@
|
||||
"wallets_new_hint": "Имя (например, savings)",
|
||||
"wallets_new_label": "Создать новый кошелёк:",
|
||||
"wallets_open": "Открыть",
|
||||
"wallets_reveal": "Открыть папку",
|
||||
"wallets_title": "Кошельки",
|
||||
"warning": "Предупреждение",
|
||||
"warning_upper": "ПРЕДУПРЕЖДЕНИЕ!",
|
||||
|
||||
@@ -839,6 +839,10 @@
|
||||
"portfolio_spark_min": "分钟",
|
||||
"portfolio_spark_month": "月",
|
||||
"portfolio_spark_week": "周",
|
||||
"portfolio_style_compact": "紧凑行",
|
||||
"portfolio_style_detailed": "详细行",
|
||||
"portfolio_style_featured": "特色行",
|
||||
"portfolio_style_label": "投资组合样式",
|
||||
"portfolio_untitled": "未命名",
|
||||
"price_chart": "价格图表",
|
||||
"privacy_great": "隐私性极佳!",
|
||||
@@ -1341,6 +1345,7 @@
|
||||
"wallets_new_hint": "名称(例如 savings)",
|
||||
"wallets_new_label": "创建新钱包:",
|
||||
"wallets_open": "打开",
|
||||
"wallets_reveal": "打开文件夹",
|
||||
"wallets_title": "钱包",
|
||||
"warning": "警告",
|
||||
"warning_upper": "警告!",
|
||||
|
||||
Reference in New Issue
Block a user