fix(sync): bind sync engine to its user DB, scope instructions/templates per account, harden navigation

This commit is contained in:
Yun Chan 2026-09-28 00:53:42 +09:00
parent 1b8fe445f3
commit 9aa7302944
30 changed files with 2614 additions and 386 deletions

View file

@ -11,7 +11,28 @@ interface MarkdownRendererProps {
content: string
}
/**
* 링크는 앱 창 안에서 이동하지 않는다 — 메인 창이 원격 페이지로 바뀌면 preload API가 그 페이지에 노출된다.
* 클릭은 main의 openExternal(허용 scheme만)로 넘겨 OS 브라우저에서 연다.
*/
function openLinkExternally(event: React.MouseEvent<HTMLAnchorElement>, href: string | undefined): void {
event.preventDefault()
if (!href) return
void window.electronAPI.system.openExternal({ url: href })
}
const components: Components = {
a: ({ children, href }) => (
<Box
component="a"
href={href}
rel="noopener noreferrer"
onClick={(event: React.MouseEvent<HTMLAnchorElement>) => openLinkExternally(event, href)}
sx={{ color: d3roPalette.accent.main, textDecoration: 'underline', cursor: 'pointer' }}
>
{children}
</Box>
),
h1: ({ children }) => (
<Box
component="h1"