diff --git a/nostr/commit-signatures.jsonl b/nostr/commit-signatures.jsonl index a43ff10..5123260 100644 --- a/nostr/commit-signatures.jsonl +++ b/nostr/commit-signatures.jsonl @@ -109,3 +109,4 @@ {"kind":1640,"pubkey":"573634b648634cbad10f2451776089ea21090d9407f715e83c577b4611ae6edc","created_at":1772142558,"tags":[["author","Silberengel","silberengel7@protonmail.com"],["message","remove redundancy"]],"content":"Signed commit: remove redundancy","id":"11ac91151bebd4dd49b91bcdef7b0b7157f0afd8ce710f7231be4860fb073d08","sig":"a7efcafa5ea83a0c37eae4562a84a7581c3d5c5dd1416f8f3e2bd2633d8523ae0eb7cc56dc4292c127ea16fb2dd5bc639483cb096263a850956b47312ed7ff6f"} {"kind":1640,"pubkey":"573634b648634cbad10f2451776089ea21090d9407f715e83c577b4611ae6edc","created_at":1772182112,"tags":[["author","Silberengel","silberengel7@protonmail.com"],["message","refactor 12"]],"content":"Signed commit: refactor 12","id":"73671ae6535309f9eae164f7a3ec403b1bc818ef811b9692fd0122d0b72c2774","sig":"0df56b009f5afb77de334225ab30cff55586ac0cf48f5ee435428201a1e72dc357a0fb5e80ef196f5bd76d6d448056d25f0feab0b1bcbe45f9af1a2a0d5453ca"} {"kind":1640,"pubkey":"573634b648634cbad10f2451776089ea21090d9407f715e83c577b4611ae6edc","created_at":1772188835,"tags":[["author","Silberengel","silberengel7@protonmail.com"],["message","refactor 13"]],"content":"Signed commit: refactor 13","id":"f41c8662dcbf1be408c560d11eda0890c40582a8ea8bb3220116e645cc6a2bb5","sig":"2b7b70089cecfa4652fe236fa586a6fe1b05c1c95434a160717cbf5ee2f37382cdd8e8f31d7b3a7576ee5264e9e70c7a8651591caaea0cd311d1be4c561d282f"} +{"kind":1640,"pubkey":"573634b648634cbad10f2451776089ea21090d9407f715e83c577b4611ae6edc","created_at":1772193104,"tags":[["author","Silberengel","silberengel7@protonmail.com"],["message","bug-fixes"]],"content":"Signed commit: bug-fixes","id":"02dcdcda1083cffd91dbf8906716c2ae09f06f77ef8590802afecd85f0b3108a","sig":"13d2b30ed37af03fd47dc09536058babb4dc63d1cfc55b8f38651ffd6342abcddc840b543c085b047721e9102b2d07e3dae78ff31d5990c92c04410ef1efcd5b"} diff --git a/src/lib/components/CodeEditor.svelte b/src/lib/components/CodeEditor.svelte index 9cef1a7..9e7c43a 100644 --- a/src/lib/components/CodeEditor.svelte +++ b/src/lib/components/CodeEditor.svelte @@ -79,6 +79,8 @@ autocompletion(), highlightSelectionMatches(), highlightField, + // Enable line wrapping to prevent horizontal overflow + EditorView.lineWrapping, keymap.of([ ...closeBracketsKeymap, ...defaultKeymap, @@ -230,15 +232,54 @@ .code-editor { height: 100%; width: 100%; - overflow: auto; + max-width: 100%; + overflow-x: hidden; + overflow-y: auto; + min-width: 0; + box-sizing: border-box; } :global(.code-editor .cm-editor) { height: 100%; + width: 100%; + max-width: 100%; + min-width: 0; + box-sizing: border-box; + overflow: hidden; } :global(.code-editor .cm-scroller) { - overflow: auto; + overflow-x: hidden !important; + overflow-y: auto; + width: 100%; + max-width: 100%; + min-width: 0; + box-sizing: border-box; + } + + :global(.code-editor .cm-content) { + max-width: 100% !important; + min-width: 0; + box-sizing: border-box; + word-wrap: break-word; + overflow-wrap: break-word; + overflow-x: hidden !important; + width: 100%; + } + + :global(.code-editor .cm-line) { + max-width: 100% !important; + min-width: 0; + box-sizing: border-box; + word-wrap: break-word; + overflow-wrap: break-word; + overflow-x: hidden !important; + } + + :global(.code-editor .cm-line > *) { + max-width: 100% !important; + word-wrap: break-word !important; + overflow-wrap: break-word !important; } :global(.code-editor .cm-highlight-marker) { @@ -246,4 +287,24 @@ padding: 2px 0; border-radius: 2px; } + + /* Prevent any CodeMirror element from causing horizontal overflow */ + :global(.code-editor .cm-gutters), + :global(.code-editor .cm-gutter), + :global(.code-editor .cm-panels), + :global(.code-editor .cm-panel), + :global(.code-editor .cm-focused) { + max-width: 100%; + box-sizing: border-box; + overflow-x: hidden !important; + } + + /* Ensure all text content in CodeMirror wraps */ + :global(.code-editor .cm-content), + :global(.code-editor .cm-line), + :global(.code-editor .cm-lineContent) { + overflow-x: hidden !important; + word-break: break-word; + overflow-wrap: break-word; + } diff --git a/src/lib/components/CommentRenderer.svelte b/src/lib/components/CommentRenderer.svelte index 84c9d9a..023b3b8 100644 --- a/src/lib/components/CommentRenderer.svelte +++ b/src/lib/components/CommentRenderer.svelte @@ -1,3 +1,15 @@ + + {#snippet leftPane()} + {#if isMaintainer && onCreateFile} +
+ +
+ {/if} ● Unsaved changes {/if} - {#if currentFile && supportsPreview((currentFile.split('.').pop() || '').toLowerCase()) && !isMaintainer} + {#if currentFile && supportsPreview((currentFile.split('.').pop() || '').toLowerCase())} + + + {/snippet} + + + diff --git a/src/routes/repos/[npub]/[repo]/components/dialogs/CreateThreadDialog.svelte b/src/routes/repos/[npub]/[repo]/components/dialogs/CreateThreadDialog.svelte index adb742a..3518eeb 100644 --- a/src/routes/repos/[npub]/[repo]/components/dialogs/CreateThreadDialog.svelte +++ b/src/routes/repos/[npub]/[repo]/components/dialogs/CreateThreadDialog.svelte @@ -37,6 +37,7 @@ label { display: block; margin-bottom: 1rem; + color: var(--text-primary); } label input, @@ -46,6 +47,22 @@ margin-top: 0.25rem; border: 1px solid var(--border-color, #e0e0e0); border-radius: 4px; + background-color: var(--bg-primary); + color: var(--text-primary); + font-family: inherit; + } + + label textarea { + font-family: 'IBM Plex Mono', monospace; + font-size: 0.9rem; + resize: vertical; + } + + label input:focus, + label textarea:focus { + outline: none; + border-color: var(--button-primary); + box-shadow: 0 0 0 2px rgba(var(--button-primary-rgb, 220, 20, 60), 0.2); } .modal-actions { diff --git a/src/routes/repos/[npub]/[repo]/components/dialogs/Modal.svelte b/src/routes/repos/[npub]/[repo]/components/dialogs/Modal.svelte index fdddb72..790c1e3 100644 --- a/src/routes/repos/[npub]/[repo]/components/dialogs/Modal.svelte +++ b/src/routes/repos/[npub]/[repo]/components/dialogs/Modal.svelte @@ -7,9 +7,10 @@ ariaLabel?: string; onClose: () => void; children?: Snippet; + maxWidth?: string; } - let { open, title, ariaLabel, onClose, children }: Props = $props(); + let { open, title, ariaLabel, onClose, children, maxWidth = '500px' }: Props = $props(); {#if open} @@ -27,6 +28,7 @@