Desktop v2 screens: releases (store cards, stage stepper, rollout ring), submit checklist, TestFlight cards; listings as store pages with completeness, framed screenshots with issue badges, product cards, price matrix with gap shading; health tiles and issue cards, store-style review feed with rating distribution, growth funnel, readiness score with fix-first, tools grid, store-info sheet; settings, accounts, folders, dependencies and onboarding in the v2 language
This commit is contained in:
parent
ce939ee063
commit
f131de9df2
47 changed files with 2309 additions and 927 deletions
|
|
@ -5,7 +5,9 @@ import { withIgnored } from '../lib/identity';
|
|||
import { useNav } from '../nav';
|
||||
import { useData } from '../store';
|
||||
import { Icon, StoreGlyph } from '../ui/icons';
|
||||
import { AppIcon, Card, Empty, StoreOnlyTag, StudioMark } from '../ui/kit';
|
||||
import { AppIcon, StoreOnlyTag, StudioMark } from '../ui/kit';
|
||||
import { EmptyState, PageHeader, Section } from '../ui/ds';
|
||||
import '../styles/folders.css';
|
||||
|
||||
export function Ignored() {
|
||||
const d = useData();
|
||||
|
|
@ -15,14 +17,11 @@ export function Ignored() {
|
|||
const restoreAll = () => d.updateOverrides(o => ({ ...o, ignored: [] }));
|
||||
const empty = !apps.length && !accounts.length;
|
||||
return (
|
||||
<div className="page">
|
||||
<div className="ph">
|
||||
<div><h1>{t('nav.ignored')}</h1><p>{t('ignored.lead')}</p></div>
|
||||
{!empty && <div className="actions"><button className="btn" onClick={restoreAll}><Icon name="eye" />{t('ignored.restoreAll')}</button></div>}
|
||||
</div>
|
||||
{empty ? <Card pad={false}><Empty compact illo="shield" title={t('ignored.emptyTitle')}>{t('ignored.emptyText')}</Empty></Card> : (
|
||||
<div className="page scr-ignored">
|
||||
<PageHeader icon="eyeOff" eyebrow={t('v2cfg.workspace')} title={t('nav.ignored')} subtitle={t('ignored.lead')} actions={!empty ? <><button className="btn" onClick={restoreAll}><Icon name="eye" />{t('ignored.restoreAll')}</button></> : undefined} />
|
||||
{empty ? <Section><EmptyState icon="shield" tone="ok"><b>{t('ignored.emptyTitle')}</b> {t('ignored.emptyText')}</EmptyState></Section> : (
|
||||
<>
|
||||
<Card title={t('ignored.apps')} icon="layers" sub={t('ignored.appsSub', { count: apps.length })} pad={false}>
|
||||
<Section title={t('ignored.apps')} icon="layers" sub={t('ignored.appsSub', { count: apps.length })} pad={false}>
|
||||
{apps.length ? (
|
||||
<div className="list">
|
||||
{apps.map(a => {
|
||||
|
|
@ -44,8 +43,8 @@ export function Ignored() {
|
|||
})}
|
||||
</div>
|
||||
) : <div className="card-body"><p className="small muted">{t('ignored.noApps')}</p></div>}
|
||||
</Card>
|
||||
<Card title={t('ignored.accounts')} icon="key" sub={t('ignored.accountsSub')} pad={false}>
|
||||
</Section>
|
||||
<Section title={t('ignored.accounts')} icon="key" sub={t('ignored.accountsSub')} pad={false}>
|
||||
{accounts.length ? (
|
||||
<div className="list">
|
||||
{accounts.map(a => (
|
||||
|
|
@ -57,7 +56,7 @@ export function Ignored() {
|
|||
))}
|
||||
</div>
|
||||
) : <div className="card-body"><p className="small muted">{t('ignored.noAccounts')}</p></div>}
|
||||
</Card>
|
||||
</Section>
|
||||
</>
|
||||
)}
|
||||
<p className="small muted">{t('ignored.howTo')} <button className="link" onClick={() => nav.go({ screen: 'settings', section: 'pairing' })}>{t('ignored.toPairing')}</button></p>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue