|
2 | 2 | * components/CreateSessionModal.tsx — Modal dialog for creating new sessions. |
3 | 3 | */ |
4 | 4 |
|
5 | | -import { useState, useEffect, useRef, useCallback } from 'react' |
6 | | -import { useT } from '../i18n/context'; |
| 5 | +import { useState, useEffect, useRef, useCallback } from 'react'; |
7 | 6 | import { useFocusTrap } from '../hooks/useFocusTrap'; |
8 | 7 | import { useNavigate } from 'react-router-dom'; |
9 | 8 | import { X, Loader2, Plus, Trash2 } from 'lucide-react'; |
10 | 9 | import { createSession, batchCreateSessions, getTemplates } from '../api/client'; |
11 | 10 | import type { SessionTemplate } from '../types'; |
| 11 | +import { useT } from '../i18n/context'; |
12 | 12 |
|
13 | 13 | interface CreateSessionModalProps { |
14 | 14 | open: boolean; |
@@ -194,7 +194,7 @@ export default function CreateSessionModal({ open, onClose }: CreateSessionModal |
194 | 194 | /> |
195 | 195 |
|
196 | 196 | {/* Modal */} |
197 | | - <div ref={trapRef} role="dialog" aria-modal="true" aria-label={t('aria.createNewSession')} className={`relative w-full ${mode === 'batch' ? 'max-w-2xl' : 'max-w-md'} mx-4 bg-[var(--color-surface)] border border-[var(--color-void-lighter)] rounded-lg shadow-2xl max-h-[90vh] overflow-y-auto`}> |
| 197 | + <div ref={trapRef} role="dialog" aria-modal="true" aria-label={t("aria.createNewSession")} className={`relative w-full ${mode === 'batch' ? 'max-w-2xl' : 'max-w-md'} mx-4 bg-[var(--color-surface)] border border-[var(--color-void-lighter)] rounded-lg shadow-2xl max-h-[90vh] overflow-y-auto`}> |
198 | 198 | {/* Header */} |
199 | 199 | <div className="flex items-center justify-between px-4 sm:px-5 py-4 border-b border-[var(--color-void-lighter)]"> |
200 | 200 | <div className="flex items-center gap-4"> |
@@ -237,7 +237,7 @@ export default function CreateSessionModal({ open, onClose }: CreateSessionModal |
237 | 237 | )} |
238 | 238 | </div> |
239 | 239 | </div> |
240 | | - <button aria-label={t('aria.close')} |
| 240 | + <button aria-label={t("aria.close")} |
241 | 241 | onClick={handleClose} |
242 | 242 | className="min-h-[44px] min-w-[44px] flex items-center justify-center text-[var(--color-text-muted)] hover:text-[var(--color-text-primary)] transition-colors" |
243 | 243 | > |
@@ -390,7 +390,7 @@ export default function CreateSessionModal({ open, onClose }: CreateSessionModal |
390 | 390 | <button |
391 | 391 | type="button" |
392 | 392 | onClick={() => removeBatchRow(i)} |
393 | | - aria-label={t('aria.removeRow')} |
| 393 | + aria-label={t("aria.removeRow")} |
394 | 394 | disabled={batchRows.length <= 1} |
395 | 395 | className="min-h-[44px] min-w-[44px] flex items-center justify-center text-[var(--color-text-muted)] hover:text-[var(--color-error)] transition-colors disabled:opacity-30 disabled:cursor-not-allowed" |
396 | 396 | > |
|
0 commit comments