Files
accounted/public/logos/skatteverket.svg
T
Jakob WennbergandClaude Fable 5 2bec5acedb feat(ui): rest-of-nav 1 — Viktiga datum, Skattekonto, Periodiseringar, Import to the concept language (#1140)
* feat(ui): concept scenes 17/24/32/33 for Viktiga datum, Skattekonto, Periodiseringar and Import (rest-of-nav 1)

Viktiga datum: thread rows with type-icon circles behind a type seg
(Alla/Skatt/Fakturering/Egna), Narmast countdown pane, Ny deadline lifted
to the page header, both banners replaced by one AttnLine, mark-done via
ConfirmDialog. DeadlineCard/DeadlineFilters die; DeadlineRow is the row.

Skattekonto: card-less saldo hero with OCR + quiet copy, shortfall AttnLine
computed from the next drain date with a betalningsuppgifter dialog
(bankgiro 5050-1055 + OCR), one dry-table with Kommande/Forfallna/
Genomforda band rows, chips only on unbooked genomforda rows, quiet
hover actions. Tabs and per-row badge noise are gone; the concept's
Saldo column is dropped because SKV stores no per-row running balance.

Periodiseringar: banner becomes an AttnLine with inline Bokfor forfallna
(now confirm-first), house seg with Aktiva count, dry-table with muted
normal states and animated RowFoldout for installments, Los upp nu as a
quiet hover link through the shared ConfirmDialog.

Import: tabs collapse into one two-column row list (Importera | Exportera)
in the concept row language; SIE export moves into a small dialog and
Molnsynkronisering folds the CloudBackupCard open in place. The
/import?view=export#sie-export and /import#cloud-backup deep links keep
working. Sandbox notice is an AttnLine.

All four pages get stagger-enter, a help popover behind ? and sv+en keys
for every new string. 9189 tests green, lint clean, guards pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* chore(ui): align dashboard loading skeletons with the migrated page silhouettes

Folds in the parallel WIP from this checkout at the founder's request:
every loading.tsx under (dashboard) now mirrors its migrated page
row-for-row (24px title block, pill actions, borderless table heads,
single-line rows), and the shared (dashboard)/loading.tsx takes Hem's
greeting + Att gora silhouette. Also lands the pending DECISIONS.md
lines (onboarding swap plan note + rest-of-nav 1 deviations).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* polish(ui): authority logos, stat-tile skattekonto hero, quieter type on rest-of-nav 1

Viktiga datum: statutory deadlines wear the receiving authority's mark
(Skatteverket for tax dates, Bolagsverket for arsredovisning/arsstamma)
as a small badge on white; other deadlines keep the neutral type icons.
Row dates go muted, titles drop font-medium, the Narmast countdown
steps down to the house text-4xl display scale.

Skattekonto: the 32px serif hero becomes two compact metric tiles in
the KPIHeroCards idiom (saldo with the Skatteverket mark + OCR meta,
nasta dragning with date and event count), matching how numbers read
on the migrated pages.

Periodiseringar: chevron column dropped; rows expand on click exactly
like the verifikat list.

Import: provider logo chips return on Hamta fran annat system (live-
version parity) and Koppla bank carries the Enable Banking mark.

Adds skatteverket(_color), bolagsverket, enable-banking plus claude/
anthropic marks (for future use) under public/logos/.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* polish(ui): keep Importera and Exportera as separate tabs on the import page

Founder feedback: the merged two-column landing goes back to the
familiar split. The house seg switches between the Importera rows and
the Exportera rows (SIE 4 dialog + Molnsynkronisering fold), ?view=export
selects the export tab again and the hash deep links flip to it before
opening their surface. Row language and logo chips stay.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(ui): readable Enable Banking mark and full-width skattekonto

The enable-banking.webp is the full stacked logo in white-on-transparent:
invisible on the light chip and mush at 16px. The chip now uses a cropped
368px icon square (enable-banking-icon.png) with the marketing site's
grayscale+brightness treatment in light mode and a white lift in dark.

Skattekonto loses its max-w-3xl cap so the table stretches the content
column exactly like Bokforing and Transaktioner; the saldo tiles take
KPI-card width (lg:grid-cols-4). Import's tab columns stretch too.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(ui): address review-bot findings on rest-of-nav 1

CodeRabbit triage, all three confirmed real: the Bokfor forfallna attn
action is hidden for read-only users instead of rendering a no-op link;
a failed deadline edit rethrows so the form stays open with the user's
input; authority marks are reserved for statutory (system-generated)
deadlines: a manual tax-category deadline keeps the neutral icon.

Compliance swarm's two high findings verified clean, no change needed:
/api/bookkeeping/accruals/:id/dissolve and /api/deadlines/:id (+ /complete)
all run through withRouteContext with company_id scoping and 404 on miss.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 12:36:08 +02:00

84 lines
4.6 KiB
XML

<svg version="1.1" id="Layer_1" xmlns:x="ns_extend;" xmlns:i="ns_ai;" xmlns:graph="ns_graphs;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 69.4 63.1" style="enable-background:new 0 0 69.4 63.1;" xml:space="preserve">
<style type="text/css">
.st0{fill:#231F20;}
</style>
<metadata>
<sfw xmlns="ns_sfw;">
<slices>
</slices>
<sliceSourceBounds bottomLeftOrigin="true" height="63.2" width="69.6" x="-0.1" y="-0.1">
</sliceSourceBounds>
</sfw>
</metadata>
<g>
<path class="st0" d="M55.5,50.9c2-5.9,1.2-12.6-3.3-17.4c-2.9-3.3-7-5.3-11.2-6.5l0.1-0.7C50.2,28.4,59.3,34,60.9,44
c0.3,2.2,0.3,4.6-0.3,6.8L55.5,50.9z">
</path>
<path class="st0" d="M36.7,29.1c1.6,0.8,3,2,4.1,3.5c3.4,4.8,2.8,9.8,1.7,12.8c-1.1,3.5-3,5.4-3,5.4h-6.9c4.6-3,7.4-7.7,7.7-13.2
c0.1-2.9-1.3-6.4-3.9-8L36.7,29.1z">
</path>
<path class="st0" d="M39.5,4.4c-6.1,1.2-11.4,5.2-13.4,11.5c-1.4,4.1-1.1,8.7-0.1,13l-0.6,0.2c-2.7-9-2.4-19.7,5.6-26
c1.8-1.4,3.8-2.5,6-3.1L39.5,4.4z">
</path>
<path class="st0" d="M30.1,31.5c-0.1-1.8,0.2-3.6,1-5.3c2.4-5.3,7.1-7.3,10.3-7.9c3.6-0.8,6.2-0.1,6.2-0.1l3.4,6
c-4.9-2.5-10.3-2.6-15.2-0.1c-2.5,1.4-4.9,4.3-5,7.4H30.1z">
</path>
<g>
<path class="st0" d="M8.1,41.6c4.2,4.6,10.4,7.1,16.7,5.6c4.3-0.9,8.1-3.5,11.1-6.6l0.5,0.4c-6.3,6.9-15.6,12.2-25.1,8.6
c-2.1-0.8-4.1-2-5.8-3.6L8.1,41.6z">
</path>
<path class="st0" d="M36.1,35.7c-1.5,1-3.2,1.7-5.1,1.9c-5.8,0.6-9.9-2.3-12.1-4.7c-2.6-2.6-3.3-5.3-3.3-5.3l3.4-6
c0.4,5.5,3.1,10.2,7.8,13.1c2.5,1.4,6.2,2,8.9,0.5L36.1,35.7z">
</path>
</g>
<path class="st0" d="M4.9,55.9c-0.5-0.2-1.1-0.4-1.8-0.4c-0.6,0-1.4,0.3-1.4,1.2c0,1.5,3.8,0.9,3.8,3.8c0,1.9-1.5,2.6-3.2,2.6
c-0.9,0-1.4-0.1-2.2-0.3l0.2-1.6c0.6,0.3,1.3,0.5,1.9,0.5c0.7,0,1.5-0.3,1.5-1.1c0-1.6-3.8-1-3.8-3.8c0-1.9,1.5-2.6,3-2.6
c0.7,0,1.4,0.1,2.1,0.3L4.9,55.9z">
</path>
<path class="st0" d="M6.8,53.6h1.7V59l0,0l2-2.5h1.9L10,59.4l2.7,3.5h-2.1l-2.1-3.1l0,0v3.1H6.8V53.6z">
</path>
<path class="st0" d="M14.4,61.1c0-1,1.1-1.1,1.8-1.1h0.7c0,0.5-0.1,0.9-0.3,1.3c-0.3,0.3-0.7,0.6-1.2,0.6
C14.8,61.9,14.4,61.7,14.4,61.1z M13.5,58.4c0.6-0.4,1.3-0.7,2-0.7c1,0,1.4,0.3,1.4,1.4H16c-0.7,0-1.5,0.1-2.1,0.4
c-0.6,0.3-1.1,0.9-1.1,1.8c0,1.2,1.1,1.9,2.2,1.9c0.8,0,1.6-0.4,2-1.1l0,0c0,0.2,0,0.6,0.1,0.9h1.5c0-0.5-0.1-0.9-0.1-1.4
s0-0.9,0-1.6v-0.8c0-1.9-0.8-2.7-2.7-2.7c-0.7,0-1.6,0.2-2.2,0.5L13.5,58.4z">
</path>
<path class="st0" d="M20.2,57.8H19v-1.2h1.2v-1.3l1.7-0.5v1.8h1.5v1.2h-1.5v3c0,0.5,0.1,1,0.8,1c0.3,0,0.6-0.1,0.8-0.2v1.3
C23.2,63,22.8,63,22.3,63c-1.3,0-2-0.8-2-2.1L20.2,57.8z">
</path>
<path class="st0" d="M25,57.8h-1.2v-1.2H25v-1.3l1.7-0.5v1.8h1.5v1.2h-1.5v3c0,0.5,0.1,1,0.8,1c0.3,0,0.6-0.1,0.8-0.2v1.3
C28,63,27.6,63,27.1,63c-1.3,0-2-0.8-2-2.1L25,57.8z">
</path>
<path class="st0" d="M30.2,59.1c0.1-0.9,0.5-1.5,1.5-1.5c0.9,0,1.3,0.7,1.3,1.5H30.2z M34.1,61.2c-0.6,0.3-1.3,0.6-2.1,0.6
c-1,0-1.7-0.6-1.8-1.6h4.4c0-2.2-0.7-3.8-3-3.8c-2,0-2.9,1.5-3,3.3c0,2.1,1.2,3.3,3.3,3.3c0.9,0,1.6-0.2,2.2-0.5V61.2z">
</path>
<path class="st0" d="M34.8,56.6h1.8l1.6,4.6l0,0l1.5-4.6h1.7L39,62.9h-1.9L34.8,56.6z">
</path>
<path class="st0" d="M43.1,59.1c0.1-0.9,0.5-1.5,1.5-1.5c0.9,0,1.3,0.7,1.3,1.5H43.1z M47,61.2c-0.6,0.3-1.3,0.6-2.1,0.6
c-1,0-1.7-0.6-1.8-1.6h4.4c0-2.2-0.7-3.8-3-3.8c-2,0-2.9,1.5-3,3.3c0,2.1,1.2,3.3,3.3,3.3c0.9,0,1.6-0.2,2.2-0.5L47,61.2z">
</path>
<path class="st0" d="M48.7,56.6h1.5V58l0,0c0.1-0.6,0.8-1.6,1.7-1.6c0.2,0,0.3,0,0.5,0v1.7c-0.1,0-0.4-0.1-0.7-0.1
c-1.3,0-1.3,1.7-1.3,2.6v2.3h-1.7V56.6z">
</path>
<path class="st0" d="M53.1,53.7h1.7v5.4l0,0l2-2.5h1.9l-2.4,2.8L59,63h-2.1l-2.1-3.1l0,0V63h-1.7L53.1,53.7z">
</path>
<path class="st0" d="M60.4,59.2c0.1-0.9,0.5-1.5,1.5-1.5c0.9,0,1.3,0.7,1.3,1.5H60.4z M64.3,61.3c-0.6,0.3-1.3,0.6-2.1,0.6
c-1,0-1.7-0.6-1.8-1.6h4.4c0-2.2-0.7-3.8-3-3.8c-2,0-2.9,1.5-3,3.3c0,2.1,1.2,3.3,3.3,3.3c0.9,0,1.6-0.2,2.2-0.5V61.3z">
</path>
<path class="st0" d="M66.2,57.8H65v-1.2h1.2v-1.3l1.7-0.5v1.8h1.5v1.2h-1.5v3c0,0.5,0.1,1,0.8,1c0.3,0,0.6-0.1,0.8-0.2v1.3
C69.2,63,68.8,63,68.3,63c-1.3,0-2-0.8-2-2.1L66.2,57.8z">
</path>
</g>
<path class="st0" d="M38.8,27.8c6.2,1.9,11.5,6.8,12.8,13.5c0.6,3.1,0.1,6.6-1.1,9.7h-5.4c1.3-2.2,2.3-4.6,2.5-7.2
c0.4-4.5-1.2-9.9-5.1-12.9c-1.2-1-2.5-1.8-3.9-2.5L38.8,27.8z">
</path>
<path class="st0" d="M27.9,30.4c-1.5-6.3,0.2-13.3,5.3-17.8c2.4-2.1,5.6-3.4,8.9-3.9l2.7,4.7c-2.6,0-5.1,0.3-7.5,1.4
c-4.2,1.9-8,6-8.6,10.8c-0.2,1.5-0.3,3.1-0.2,4.6L27.9,30.4z">
</path>
<g>
<g>
<path class="st0" d="M36.3,38.2c-4.6,4.5-11.5,6.7-18,4.7c-3-1-5.8-3.1-7.9-5.6l2.6-4.7c1.3,2.2,2.9,4.2,5.1,5.7
c3.8,2.6,9.3,3.7,13.7,1.8c1.4-0.6,2.8-1.3,4.1-2.3L36.3,38.2z">
</path>
</g>
</g>
</svg>