Expand AITURK Turkish settings and desktop surfaces for beta 5

This commit is contained in:
yilsem committed 2026-09-06 05:03:32 +03:00
1 parent 237d1e2060
commit 5e76f58637
108 files changed
+6675 -1034

No files matched your search

@@ -6,6 +6,7 @@ import { Button } from '@/components/ui/button'
import { ConfirmDialog } from '@/components/ui/confirm-dialog'
import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle } from '@/components/ui/dialog'
import { deleteLearningNode, editLearningNode, getLearningNode } from '@/hermes'
import { useI18n } from '@/i18n'
import { notifyError } from '@/store/notifications'
import { evictStarmapNode, loadStarmapGraph } from '@/store/starmap'
@@ -33,6 +34,7 @@ interface EditState {
/** Right-click actions for a star-map node: edit (modal) or delete (confirm). */
export function NodeContextMenu({ onClose, onNodeRemoved, target }: NodeContextMenuProps) {
const { t } = useI18n()
const [editing, setEditing] = useState<EditState | null>(null)
const [deleting, setDeleting] = useState<Omit<NodeMenuTarget, 'x' | 'y'> | null>(null)
const [loading, setLoading] = useState(false)
@@ -125,7 +127,7 @@ export function NodeContextMenu({ onClose, onNodeRemoved, target }: NodeContextM
onClick={() => void openEdit()}
type="button"
>
Edit {noun}…
{target.kind === 'skill' ? t.surfaces.editSkill : t.surfaces.editMemory}
</button>
<button
className="block w-full cursor-pointer rounded-md px-2 py-1 text-left text-xs text-destructive hover:bg-destructive/10"
@@ -135,7 +137,7 @@ export function NodeContextMenu({ onClose, onNodeRemoved, target }: NodeContextM
}}
type="button"
>
{target.kind === 'skill' ? 'Archive skill' : 'Delete memory'}
{target.kind === 'skill' ? t.surfaces.archiveSkill : t.surfaces.deleteMemory}
</button>
</div>
</>
@@ -144,7 +146,7 @@ export function NodeContextMenu({ onClose, onNodeRemoved, target }: NodeContextM
<Dialog onOpenChange={value => !value && !saving && setEditing(null)} open={Boolean(editing)}>
<DialogContent className="max-w-2xl">
<DialogHeader>
<DialogTitle>Edit {editing?.label}</DialogTitle>
<DialogTitle>{t.surfaces.editNode(editing?.label ?? '')}</DialogTitle>
</DialogHeader>
<div className="h-80">
{editing && (
@@ -162,10 +164,10 @@ export function NodeContextMenu({ onClose, onNodeRemoved, target }: NodeContextM
{error ? <p className="text-xs text-destructive">{error}</p> : null}
<DialogFooter>
<Button disabled={saving} onClick={() => setEditing(null)} type="button" variant="ghost">
Cancel
{t.common.cancel}
</Button>
<Button disabled={saving} onClick={() => void save()}>
{saving ? 'Saving…' : 'Save'}
{saving ? t.common.saving : t.common.save}
</Button>
</DialogFooter>
</DialogContent>
@@ -186,8 +188,8 @@ export function NodeContextMenu({ onClose, onNodeRemoved, target }: NodeContextM
/>
) : (
<ConfirmDialog
confirmLabel="Delete"
description="This memory is removed permanently."
confirmLabel={t.common.delete}
description={t.surfaces.permanentMemory}
destructive
dismissOnConfirm
onClose={() => setDeleting(null)}
@@ -211,7 +213,7 @@ export function NodeContextMenu({ onClose, onNodeRemoved, target }: NodeContextM
)
}}
open={Boolean(deleting)}
title={`Delete ${deleting?.label ?? ''}?`}
title={t.surfaces.deleteNode(deleting?.label ?? '')}
/>
)}
</>