@@ -188,9 +188,12 @@ export default function AccountImportModal({
188188 </ >
189189 }
190190 >
191- < div className = "grid gap-5 p-6" >
192- < div className = "grid gap-4 lg:grid-cols-[minmax(0,0.92fr)_minmax(0,1.08fr)]" >
193- < section className = "grid min-w-0 gap-3 border-2 border-[var(--border-color)] bg-[var(--bg-main)] p-4 shadow-[4px_4px_0_var(--shadow-color)]" >
191+ < div className = "grid gap-5 p-6 lg:grid-cols-[minmax(0,0.92fr)_minmax(0,1.08fr)] lg:items-start" >
192+ < section
193+ data-account-import-input-panel
194+ className = "grid min-w-0 gap-4 border-2 border-[var(--border-color)] bg-[var(--bg-main)] p-4 shadow-[4px_4px_0_var(--shadow-color)]"
195+ >
196+ < div className = "grid gap-3 border-b-2 border-dashed border-[var(--border-color)] pb-4" >
194197 < div className = "flex items-center justify-between gap-3" >
195198 < div className = "flex min-w-0 items-center gap-2" >
196199 < FilePlus className = "h-4 w-4 shrink-0 text-[var(--text-muted)]" strokeWidth = { 3 } />
@@ -229,9 +232,9 @@ export default function AccountImportModal({
229232 </ span >
230233 </ span >
231234 </ button >
232- </ section >
235+ </ div >
233236
234- < section className = "grid min-w-0 gap-3 border-2 border-[var(--border-color)] bg-[var(--bg-main)] p-4 shadow-[4px_4px_0_var(--shadow-color)] " >
237+ < div className = "grid gap-3" >
235238 < div className = "flex items-center justify-between gap-3" >
236239 < div className = "flex min-w-0 items-center gap-2" >
237240 < ClipboardPaste className = "h-4 w-4 shrink-0 text-[var(--text-muted)]" strokeWidth = { 3 } />
@@ -269,8 +272,8 @@ export default function AccountImportModal({
269272 { t ( 'accounts.import_account_clear_paste' ) }
270273 </ button >
271274 </ div >
272- </ section >
273- </ div >
275+ </ div >
276+ </ section >
274277
275278 < section className = "grid min-w-0 border-2 border-[var(--border-color)] bg-[var(--bg-main)]" >
276279 < header className = "border-b-2 border-[var(--border-color)] bg-[var(--bg-surface)] px-4 py-3" >
@@ -286,39 +289,46 @@ export default function AccountImportModal({
286289 { t ( 'accounts.import_account_queue_empty' ) }
287290 </ div >
288291 ) : (
289- < div className = "grid" >
292+ < div className = "grid gap-3 bg-[var(--bg-surface)] p-4 " >
290293 { queueItems . map ( ( item , index ) => (
291294 < div
292295 key = { item . id }
293- className = "grid min-h-16 grid-cols-[2.25rem_minmax(0,1fr)_auto] items-center gap-3 border-b border-dashed border-[var(--border-color)] px-4 py-3 last:border-b-0 sm:grid-cols-[2.25rem_minmax(0,1fr)_9rem_auto]"
296+ data-account-card
297+ className = "card-swiss relative flex min-w-0 max-w-full flex-col overflow-visible bg-[var(--bg-main)] p-0"
294298 >
295- < span className = "grid h-8 w-8 place-items-center border-2 border-[var(--border-color)] bg-[var(--bg-surface)] font-mono text-[length:var(--font-size-ui-xs)] font-black" >
296- { index + 1 }
297- </ span >
298- < div className = "min-w-0" >
299- < div className = "truncate text-[length:var(--font-size-ui-sm)] font-black text-[var(--text-primary)]" >
300- { resolveQueueItemTitle ( item . payload ) }
301- </ div >
302- < div className = "mt-1 truncate font-mono text-[length:var(--font-size-ui-2xs)] font-black uppercase tracking-[0.12em] text-[var(--text-muted)]" >
303- { item . source === 'file' ? t ( 'accounts.import_account_source_file' ) : t ( 'accounts.import_account_source_paste' ) }
299+ < div className = "grid gap-3 border-b-2 border-[var(--border-color)] bg-[var(--bg-main)] p-4 sm:grid-cols-[minmax(0,1fr)_auto] sm:items-start" >
300+ < div className = "flex min-w-0 items-start gap-3" >
301+ < span className = "grid h-9 w-9 shrink-0 place-items-center border-2 border-[var(--border-color)] bg-[var(--bg-surface)] font-mono text-[length:var(--font-size-ui-xs)] font-black" >
302+ { index + 1 }
303+ </ span >
304+ < div className = "min-w-0" >
305+ < div className = "truncate text-[length:var(--font-size-ui-sm)] font-black uppercase italic tracking-normal text-[var(--text-primary)]" >
306+ { resolveQueueItemTitle ( item . payload ) }
307+ </ div >
308+ < div className = "mt-1 flex min-w-0 flex-wrap gap-2" >
309+ < span className = "border border-[var(--border-color)] bg-[var(--bg-surface)] px-2 py-0.5 font-mono text-[length:var(--font-size-ui-2xs)] font-black uppercase tracking-[0.12em] text-[var(--text-muted)]" >
310+ { item . source === 'file' ? t ( 'accounts.import_account_source_file' ) : t ( 'accounts.import_account_source_paste' ) }
311+ </ span >
312+ < span className = "border border-[var(--border-color)] bg-[var(--bg-surface)] px-2 py-0.5 font-mono text-[length:var(--font-size-ui-2xs)] font-black uppercase tracking-[0.12em] text-[var(--text-primary)]" >
313+ { resolveQueueItemKind ( item . payload ) }
314+ </ span >
315+ </ div >
316+ </ div >
304317 </ div >
305- < pre className = "mt-2 max-h-24 overflow-auto whitespace-pre-wrap break-words font-mono text-[length:var(--font-size-ui-2xs)] leading-relaxed text-[var(--text-secondary)]" >
306- { resolveAccountImportPayloadPreview ( item . payload ) }
307- </ pre >
318+ < button
319+ type = "button"
320+ onClick = { ( ) => setQueueItems ( ( prev ) => prev . filter ( ( candidate ) => candidate . id !== item . id ) ) }
321+ disabled = { submitting }
322+ className = "justify-self-end border-0 bg-transparent p-1 text-[var(--color-status-danger)] transition-transform active:scale-95 disabled:opacity-45"
323+ aria-label = { t ( 'accounts.import_account_remove_item' ) }
324+ title = { t ( 'accounts.import_account_remove_item' ) }
325+ >
326+ < Trash2 className = "h-4 w-4" strokeWidth = { 3 } />
327+ </ button >
308328 </ div >
309- < span className = "hidden justify-self-start border-2 border-[var(--border-color)] bg-[var(--bg-surface)] px-2 py-1 font-mono text-[length:var(--font-size-ui-2xs)] font-black uppercase tracking-[0.12em] text-[var(--text-primary)] sm:block" >
310- { resolveQueueItemKind ( item . payload ) }
311- </ span >
312- < button
313- type = "button"
314- onClick = { ( ) => setQueueItems ( ( prev ) => prev . filter ( ( candidate ) => candidate . id !== item . id ) ) }
315- disabled = { submitting }
316- className = "justify-self-end border-0 bg-transparent p-1 text-[var(--color-status-danger)] transition-transform active:scale-95 disabled:opacity-45"
317- aria-label = { t ( 'accounts.import_account_remove_item' ) }
318- title = { t ( 'accounts.import_account_remove_item' ) }
319- >
320- < Trash2 className = "h-4 w-4" strokeWidth = { 3 } />
321- </ button >
329+ < pre className = "max-h-28 overflow-auto whitespace-pre-wrap break-words border-0 bg-[var(--bg-surface)] px-4 py-3 font-mono text-[length:var(--font-size-ui-2xs)] leading-relaxed text-[var(--text-secondary)]" >
330+ { resolveAccountImportPayloadPreview ( item . payload ) }
331+ </ pre >
322332 </ div >
323333 ) ) }
324334 </ div >
0 commit comments