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:
@@ -69,29 +69,16 @@ export const it: Record<string, string> = {
|
||||
openWithSettingsRemove: 'Rimuovi',
|
||||
openWithSettingsInvalidHint: 'Gli editor con nome mancante o modello senza {path} / scheme:// non vengono mostrati nel menu',
|
||||
newTab: 'Nuova scheda',
|
||||
openExplorer: 'Esplora risorse',
|
||||
brokenSymlink: 'Collegamento simbolico interrotto',
|
||||
openGit: 'Pannello Git',
|
||||
newTerminal: 'Nuovo terminale',
|
||||
terminalLimit: 'Numero massimo di terminali raggiunto (3)',
|
||||
close: 'Chiudi',
|
||||
closeOtherTabs: 'Chiudi le altre schede',
|
||||
closeLeftTabs: 'Chiudi le schede a sinistra',
|
||||
closeRightTabs: 'Chiudi le schede a destra',
|
||||
floatDropHint: 'Rilascia per aprire in una finestra libera',
|
||||
dockToSidebar: 'Torna alla barra laterale',
|
||||
pinTerminal: 'Blocca Terminale',
|
||||
pinAgentTerminal: 'Blocca Terminale Agent',
|
||||
pinToWorkspace: 'Blocca in Workspace',
|
||||
pinToGlobal: 'Blocca Globalmente',
|
||||
unpinTerminal: 'Sblocca',
|
||||
pinnedTerminalTooltip: '{kind} · {scope} · {cwd}',
|
||||
pinnedTerminalKindUi: 'Terminale UI',
|
||||
pinnedTerminalKindAgent: 'Terminale Agent',
|
||||
pinnedTerminalScopeWorkspace: 'Bloccato in workspace',
|
||||
pinnedTerminalScopeGlobal: 'Bloccato globalmente',
|
||||
pinnedRailLabel: 'Terminali Bloccati',
|
||||
closePinnedTerminal: 'Chiudi Terminale',
|
||||
collapseBottomPanel: 'Comprimi pannello inferiore',
|
||||
expandBottomPanel: 'Espandi pannello inferiore',
|
||||
terminalError: 'Connessione del terminale non riuscita',
|
||||
@@ -123,10 +110,6 @@ export const it: Record<string, string> = {
|
||||
loading: 'Caricamento…',
|
||||
error: 'Caricamento non riuscito',
|
||||
retry: 'Riprova',
|
||||
splitLeft: 'Dividi a sinistra',
|
||||
splitRight: 'Dividi a destra',
|
||||
splitUp: 'Dividi in alto',
|
||||
splitDown: 'Dividi in basso',
|
||||
notRepo: 'Questa directory non è un repository git',
|
||||
noChanges: 'Nessuna modifica',
|
||||
statusTruncated: 'Troppe modifiche; vengono mostrate solo le prime 2000 voci',
|
||||
@@ -136,7 +119,6 @@ export const it: Record<string, string> = {
|
||||
unstageAll: 'Rimuovi tutto dalla preparazione',
|
||||
commitPlaceholder: 'Messaggio di commit (Ctrl+Enter)',
|
||||
commit: 'Commit',
|
||||
commitError: 'Commit non riuscito',
|
||||
branch: 'Ramo',
|
||||
worktree: 'Albero di lavoro',
|
||||
checkoutError: 'Cambio di ramo non riuscito',
|
||||
@@ -160,7 +142,6 @@ export const it: Record<string, string> = {
|
||||
diffDeleted: 'Eliminato',
|
||||
diffRenamed: 'Rinominato',
|
||||
diffExpand: 'Espandi altre {count} righe',
|
||||
diffCollapse: 'Comprimi',
|
||||
discard: 'Annulla modifiche',
|
||||
discardTitle: 'Annulla modifiche',
|
||||
discardDesc: 'Questo annulla le modifiche della copia di lavoro di «{path}» (non recuperabile).',
|
||||
@@ -181,18 +162,14 @@ export const it: Record<string, string> = {
|
||||
loadMore: 'Carica altro',
|
||||
historyLoadError: 'Caricamento di altra cronologia non riuscito',
|
||||
produced: 'Prodotti',
|
||||
producedOpen: 'Apri nella barra laterale',
|
||||
disconnected: 'Terminale disconnesso, riconnessione…',
|
||||
exited: 'Il processo del terminale è terminato',
|
||||
noSession: 'Selezioni una conversazione per usare la barra laterale',
|
||||
pluginNotLoaded: 'Plugin non caricato; scheda non disponibile:',
|
||||
hiddenFiles: 'File nascosti',
|
||||
parent: 'Directory superiore',
|
||||
copied: 'Copiato',
|
||||
copy: 'Copia',
|
||||
newFile: 'Nuovo file',
|
||||
openEditor: 'Apri editor',
|
||||
gitDetail: 'Vedi i dettagli delle modifiche',
|
||||
referenceFile: '@file',
|
||||
addToConversation: 'Aggiungi alla conversazione',
|
||||
copyRelative: 'Copia percorso relativo',
|
||||
@@ -236,7 +213,6 @@ export const it: Record<string, string> = {
|
||||
settingsSchemeCustomDesc: 'Controllo totale: inietti CSS personalizzato (può sovrascrivere gli stili integrati) e imposti la distanza di scorrimento della barra del titolo',
|
||||
settingsSchemeDetectedSuffix: 'rilevato',
|
||||
settingsCustomCssTitle: 'CSS personalizzato',
|
||||
settingsCustomCssDesc: 'Stili accodati alla fine della pagina (in caso di parità vince chi è dopo; usi !important per sovrascrivere le variabili inline scritte da JS)',
|
||||
settingsCustomCssPlaceholder: '/* es. riserva 36px per una shell con barra del titolo disegnata a mano */\nhtml[data-dsh-title-bar-height="36"] {\n --dsh-title-bar-strip: 36px !important;\n}',
|
||||
settingsSaveFailed: 'Salvataggio non riuscito',
|
||||
settingsConflict: 'L’impostazione è stata modificata in un’altra finestra — riprovi',
|
||||
@@ -259,7 +235,6 @@ export const it: Record<string, string> = {
|
||||
settingsFontFamilyPlaceholder: '"JetBrains Mono", monospace',
|
||||
settingsFontSizeTitle: 'Dimensione del carattere del terminale',
|
||||
settingsFontSizeDesc: 'Dimensione del carattere del terminale in px (9–32, predefinito 13)',
|
||||
settingsFontSizeSuffix: 'px',
|
||||
settingsShellTitle: 'Percorso della shell',
|
||||
settingsShellDesc: 'Shell avviata per i terminali dell’interfaccia e del modello (percorso assoluto o nome eseguibile). Vuoto mantiene l’ordine preesistente: config.shell di yaml → $SHELL / shell di login / powershell.exe di Windows. Si applica ai terminali aperti successivamente',
|
||||
settingsShellPlaceholder: 'es. /bin/zsh (vuoto = automatico)',
|
||||
@@ -301,19 +276,14 @@ export const it: Record<string, string> = {
|
||||
browserEmbedBlockedDesc: 'Il sito vieta di essere mostrato all’interno di altre pagine (X-Frame-Options / frame-ancestors), per cui non può essere caricato nella barra laterale. Lo apra direttamente nel browser.',
|
||||
browserEmbedAnyway: 'Carica comunque',
|
||||
subagent: 'Attività',
|
||||
openSubagent: 'Attività',
|
||||
subagentMainAgent: 'Agente principale',
|
||||
subagentEmpty: 'Nessun sottoagente',
|
||||
subagentEmptyDesc: 'I sottoagenti generati dall’agente principale compariranno qui',
|
||||
subagentRunning: 'In esecuzione',
|
||||
subagentInactive: 'Inattivo',
|
||||
subagentModeOneShot: 'Monouso',
|
||||
subagentModeContinuable: 'Proseguibile',
|
||||
subagentCount: '{count} sottoagenti',
|
||||
subagentCountRunning: '{count} sottoagenti · {running} in esecuzione',
|
||||
subagentDiagCorrupt: 'Danneggiato',
|
||||
subagentDiagUnsupported: 'Non supportato',
|
||||
subagentDiagUnavailable: 'Non disponibile',
|
||||
subagentThinking: 'In pensiero…',
|
||||
sideChat: 'Chat laterale (beta)',
|
||||
sideChatNew: 'Nuova conversazione',
|
||||
@@ -334,10 +304,7 @@ export const it: Record<string, string> = {
|
||||
sideChatThink: 'Pensiero',
|
||||
sideChatInjection: 'Contesto iniettato',
|
||||
sideChatSend: 'Invia',
|
||||
sideChatCancel: 'Arresta',
|
||||
sideChatCancelTitle: 'Interrompe il turno in corso (il lavoro in coda è conservato)',
|
||||
sideChatClose: 'Chiudi conversazione',
|
||||
sideChatCloseTitle: 'Rilascia l’agente della conversazione (la cronologia è conservata)',
|
||||
sideChatError: 'Errore della chat laterale: {message}',
|
||||
sideChatTurnUsage: 'Input {input} tok · Output {output} tok',
|
||||
sideChatBlockCollapse: 'Comprimi',
|
||||
@@ -373,7 +340,6 @@ export const it: Record<string, string> = {
|
||||
jobDurationMinutes: '{minutes}min {seconds}s',
|
||||
jobDurationHours: '{hours}h {minutes}min',
|
||||
jobViewOutput: 'Vedi output',
|
||||
jobHideOutput: 'Nascondi output',
|
||||
jobNoOutput: 'Nessun output per ora',
|
||||
jobNotReadYet: 'In attesa che il modello legga questa attività; il suo output compare qui quando il modello esegue job_output',
|
||||
jobOutputTruncated: 'Output troncato',
|
||||
@@ -391,7 +357,6 @@ export const it: Record<string, string> = {
|
||||
settingsViewModeGraphDesc: 'Grafo di nodi a livelli, con zoom e pan',
|
||||
settingsViewModeTree: 'Albero',
|
||||
settingsViewModeTreeDesc: 'Albero a rientri classico, navigabile da tastiera',
|
||||
tasksWorkflowMember: 'Membro del workflow',
|
||||
tasksFoldCompleted: '✓ {count} completati',
|
||||
tasksFoldExpand: 'Espandi i nodi completati',
|
||||
tasksFoldCollapse: 'Comprimi i nodi completati',
|
||||
@@ -412,7 +377,6 @@ export const it: Record<string, string> = {
|
||||
tasksStateError: 'Errore',
|
||||
teamBoard: 'Bacheca delle attività del team',
|
||||
teamChip: 'Team {members} membri · {tasks} attività',
|
||||
teamMembers: 'Membri',
|
||||
teamTasksEmpty: 'Ancora nessuna attività condivisa',
|
||||
teamTaskCreate: 'Nuova attività',
|
||||
teamTaskSubject: 'Titolo',
|
||||
|
||||
Reference in New Issue
Block a user