feat(tasks-ui): readability pass, height-budget fix and leftover sweep
The native port is finished off with the readability work the earlier rounds left open, plus the cleanup of everything the shadcn era or the older canvas left behind. - Geometry: node height is now composed from named parts (chrome, two title lines, meta row) and per-node extras, so a teammate card that carries a task line no longer gets clipped by the old fixed 68px budget; the layout spec follows the new model and GRAPH_ROW_STRIDE stays exported for it. - Readability: row rhythm (28-32px), three ink levels for title/meta/owner, truncation with title hints, current-row and hover expressed as an accent bar plus a hover fill (no shadows), phase frames and edges back on the l1/l2 hairlines, control cluster uniformly 28px, drawer durations on tabular figures, kill action revealed on hover/focus without shifting the row, no horizontal overflow at 360px. - Task window: the markdown body is pulled onto the page scale (12px body, 12/13px headings, tightened list indent and paragraph spacing) while the shared MarkdownText/markdownTextProps contract is untouched. - Cleanup: dead stylesheet rules, unused TSX exports and helpers, stale comments that still described the retired Variant-D canvas, zero-reference i18n keys across the dictionaries, and the Tailwind/shadcn/Variant-D narrative in the design doc, AGENTS.md and the plugin guide (kept as one short "why it was rolled back" section). Verified here: typecheck and lint clean; 133 files / 1413 tests; build with no radix-ui or --tw- strings in lib/client.js (988.9 KiB); the 70-assertion real-browser contract at 70/70 with the 20 reference screenshots regenerated; mount e2e 7/7.
This commit is contained in:
@@ -76,29 +76,16 @@ export const nl: Record<string, string> = {
|
||||
openWithSettingsRemove: 'Verwijderen',
|
||||
openWithSettingsInvalidHint: 'Editors met een ontbrekende naam of een sjabloon zonder {path} / scheme:// worden niet in het menu getoond',
|
||||
newTab: 'Nieuw tabblad',
|
||||
openExplorer: 'Verkenner',
|
||||
brokenSymlink: 'Gebroken symlink',
|
||||
openGit: 'Git-paneel',
|
||||
newTerminal: 'Nieuwe terminal',
|
||||
terminalLimit: 'Terminallimiet bereikt (3)',
|
||||
close: 'Sluiten',
|
||||
closeOtherTabs: 'Andere tabbladen sluiten',
|
||||
closeLeftTabs: 'Tabbladen links sluiten',
|
||||
closeRightTabs: 'Tabbladen rechts sluiten',
|
||||
floatDropHint: 'Loslaten om in een vrij venster te openen',
|
||||
dockToSidebar: 'Terug naar de zijbalk',
|
||||
pinTerminal: 'Terminal vastmaken',
|
||||
pinAgentTerminal: 'Agent-terminal vastmaken',
|
||||
pinToWorkspace: 'Vastmaken aan werkruimte',
|
||||
pinToGlobal: 'Wereldwijd vastmaken',
|
||||
unpinTerminal: 'Losmaken',
|
||||
pinnedTerminalTooltip: '{kind} · {scope} · {cwd}',
|
||||
pinnedTerminalKindUi: 'UI-terminal',
|
||||
pinnedTerminalKindAgent: 'Agent-terminal',
|
||||
pinnedTerminalScopeWorkspace: 'Vastgemaakt aan werkruimte',
|
||||
pinnedTerminalScopeGlobal: 'Wereldwijd vastgemaakt',
|
||||
pinnedRailLabel: 'Vastgemaakte terminals',
|
||||
closePinnedTerminal: 'Terminal sluiten',
|
||||
collapseBottomPanel: 'Onderpaneel inklappen',
|
||||
expandBottomPanel: 'Onderpaneel uitklappen',
|
||||
terminalError: 'Terminalverbinding mislukt',
|
||||
@@ -130,10 +117,6 @@ export const nl: Record<string, string> = {
|
||||
loading: 'Laden…',
|
||||
error: 'Laden mislukt',
|
||||
retry: 'Opnieuw proberen',
|
||||
splitLeft: 'Splitsen links',
|
||||
splitRight: 'Splitsen rechts',
|
||||
splitUp: 'Splitsen omhoog',
|
||||
splitDown: 'Splitsen omlaag',
|
||||
notRepo: 'Deze map is geen git-repository',
|
||||
noChanges: 'Geen wijzigingen',
|
||||
statusTruncated: 'Te veel wijzigingen; alleen de eerste 2000 items worden weergegeven',
|
||||
@@ -143,7 +126,6 @@ export const nl: Record<string, string> = {
|
||||
unstageAll: 'Alles unstagen',
|
||||
commitPlaceholder: 'Commitbericht (Ctrl+Enter)',
|
||||
commit: 'Commit',
|
||||
commitError: 'Commit mislukt',
|
||||
branch: 'Branch',
|
||||
worktree: 'Worktree',
|
||||
checkoutError: 'Wisselen van branch mislukt',
|
||||
@@ -167,7 +149,6 @@ export const nl: Record<string, string> = {
|
||||
diffDeleted: 'Verwijderd',
|
||||
diffRenamed: 'Hernoemd',
|
||||
diffExpand: '{count} rijen extra uitklappen',
|
||||
diffCollapse: 'Inklappen',
|
||||
discard: 'Wijzigingen verwijderen',
|
||||
discardTitle: 'Wijzigingen verwijderen',
|
||||
discardDesc: 'Dit verwijdert de worktree-wijzigingen van "{path}" (niet terugdraaibaar).',
|
||||
@@ -188,18 +169,14 @@ export const nl: Record<string, string> = {
|
||||
loadMore: 'Meer laden',
|
||||
historyLoadError: 'Meer geschiedenis laden mislukt',
|
||||
produced: 'Geproduceerd',
|
||||
producedOpen: 'Openen in zijbalk',
|
||||
disconnected: 'Terminalverbinding verbroken, opnieuw verbinden…',
|
||||
exited: 'Terminalproces beëindigd',
|
||||
noSession: 'Selecteer een conversatie om de zijbalk te gebruiken',
|
||||
pluginNotLoaded: 'Plugin niet geladen; tabblad niet beschikbaar:',
|
||||
hiddenFiles: 'Verborgen bestanden',
|
||||
parent: 'Bovenliggende map',
|
||||
copied: 'Gekopieerd',
|
||||
copy: 'Kopiëren',
|
||||
newFile: 'Nieuw bestand',
|
||||
openEditor: 'Editor openen',
|
||||
gitDetail: 'Wijzigingsdetails bekijken',
|
||||
referenceFile: '@bestand',
|
||||
addToConversation: 'Aan conversatie toevoegen',
|
||||
copyRelative: 'Relatief pad kopiëren',
|
||||
@@ -243,7 +220,6 @@ export const nl: Record<string, string> = {
|
||||
settingsSchemeCustomDesc: 'Volledige controle: aangepaste CSS injecteren (kan ingebouwde stijlen overschrijven) en de verschuivingsafstand van de titelbalk instellen',
|
||||
settingsSchemeDetectedSuffix: 'gedetecteerd',
|
||||
settingsCustomCssTitle: 'Aangepaste CSS',
|
||||
settingsCustomCssDesc: 'Stijlen die aan het einde van de pagina worden toegevoegd (later in de cascade wint bij gelijke prioriteit; gebruik !important om JS-geschreven inline-variabelen te overschrijven)',
|
||||
settingsCustomCssPlaceholder: '/* bijv. reserveer 36px voor een shell met een zelf-getekende titelbalk */\nhtml[data-dsh-title-bar-height="36"] {\n --dsh-title-bar-strip: 36px !important;\n}',
|
||||
settingsSaveFailed: 'Opslaan mislukt',
|
||||
settingsConflict: 'De instelling is in een ander venster gewijzigd — probeer het opnieuw',
|
||||
@@ -266,7 +242,6 @@ export const nl: Record<string, string> = {
|
||||
settingsFontFamilyPlaceholder: '"JetBrains Mono", monospace',
|
||||
settingsFontSizeTitle: 'Terminallettergrootte',
|
||||
settingsFontSizeDesc: 'Terminallettergrootte in px (9–32, standaard 13)',
|
||||
settingsFontSizeSuffix: 'px',
|
||||
settingsShellTitle: 'Shell-pad',
|
||||
settingsShellDesc: 'Shell die wordt gestart voor UI- en model-terminals (absoluut pad of kale executable). Leeg houden volgt de bestaande volgorde: yaml config.shell → $SHELL / inlog-shell / Windows powershell.exe. Geldt voor terminals die daarna worden geopend',
|
||||
settingsShellPlaceholder: 'bijv. /bin/zsh (leeg = auto)',
|
||||
@@ -308,19 +283,14 @@ export const nl: Record<string, string> = {
|
||||
browserEmbedBlockedDesc: 'De site verbiedt weergave binnen andere pagina\'s (X-Frame-Options / frame-ancestors), dus kan niet in de zijbalk laden. Open de site direct in uw browser.',
|
||||
browserEmbedAnyway: 'Toch laden',
|
||||
subagent: 'Taken',
|
||||
openSubagent: 'Taken',
|
||||
subagentMainAgent: 'Hoofdagent',
|
||||
subagentEmpty: 'Geen subagents',
|
||||
subagentEmptyDesc: 'Subagents voortgebracht door de hoofdagent verschijnen hier',
|
||||
subagentRunning: 'Actief',
|
||||
subagentInactive: 'Inactief',
|
||||
subagentModeOneShot: 'One-shot',
|
||||
subagentModeContinuable: 'Vervolgbaar',
|
||||
subagentCount: '{count} subagents',
|
||||
subagentCountRunning: '{count} subagents · {running} actief',
|
||||
subagentDiagCorrupt: 'Corrupt',
|
||||
subagentDiagUnsupported: 'Niet ondersteund',
|
||||
subagentDiagUnavailable: 'Niet beschikbaar',
|
||||
subagentThinking: 'Nadenken…',
|
||||
sideChat: 'Side Chat (bèta)',
|
||||
sideChatNew: 'Nieuwe thread',
|
||||
@@ -341,10 +311,7 @@ export const nl: Record<string, string> = {
|
||||
sideChatThink: 'Denken',
|
||||
sideChatInjection: 'Context geïnjecteerd',
|
||||
sideChatSend: 'Versturen',
|
||||
sideChatCancel: 'Stoppen',
|
||||
sideChatCancelTitle: 'De lopende beurt afbreken (wachtrij blijft behouden)',
|
||||
sideChatClose: 'Thread sluiten',
|
||||
sideChatCloseTitle: 'De agent van de thread vrijgeven (geschiedenis blijft behouden)',
|
||||
sideChatError: 'Side Chat-fout: {message}',
|
||||
sideChatTurnUsage: 'Invoer {input} tok · Uitvoer {output} tok',
|
||||
sideChatBlockCollapse: 'Invouwen',
|
||||
@@ -380,7 +347,6 @@ export const nl: Record<string, string> = {
|
||||
jobDurationMinutes: '{minutes}m {seconds}s',
|
||||
jobDurationHours: '{hours}u {minutes}m',
|
||||
jobViewOutput: 'Uitvoer bekijken',
|
||||
jobHideOutput: 'Uitvoer verbergen',
|
||||
jobNoOutput: 'Nog geen uitvoer',
|
||||
jobNotReadYet: 'Wachten tot het model deze taak leest; de uitvoer verschijnt hier zodra het model job_output uitvoert',
|
||||
jobOutputTruncated: 'Uitvoer afgekapt',
|
||||
@@ -398,7 +364,6 @@ export const nl: Record<string, string> = {
|
||||
settingsViewModeGraphDesc: 'Gelaagde knoppengrafiek met in- en uitzoomen en pannen',
|
||||
settingsViewModeTree: 'Boom',
|
||||
settingsViewModeTreeDesc: 'Klassieke inspringboom, navigeerbaar met het toetsenbord',
|
||||
tasksWorkflowMember: 'Workflowlid',
|
||||
tasksFoldCompleted: '✓ {count} voltooid',
|
||||
tasksFoldExpand: 'Voltooide knopen uitklappen',
|
||||
tasksFoldCollapse: 'Voltooide knopen inklappen',
|
||||
@@ -419,7 +384,6 @@ export const nl: Record<string, string> = {
|
||||
tasksStateError: 'Fout',
|
||||
teamBoard: 'Teamtakenbord',
|
||||
teamChip: 'Team {members} leden · {tasks} taken',
|
||||
teamMembers: 'Leden',
|
||||
teamTasksEmpty: 'Nog geen gedeelde taken',
|
||||
teamTaskCreate: 'Nieuwe taak',
|
||||
teamTaskSubject: 'Onderwerp',
|
||||
|
||||
Reference in New Issue
Block a user