diff --git a/frontend/src/components/Settings.svelte b/frontend/src/components/Settings.svelte index 5d504af..46048a7 100644 --- a/frontend/src/components/Settings.svelte +++ b/frontend/src/components/Settings.svelte @@ -12,6 +12,9 @@ let saving = false let meetingLimitMin = 15 let defaultTimeMin = 2 + let defaultJiraUrl = '' + let editingDefaultJiraUrl = false + let defaultJiraUrlInput = '' let windowWidth = 800 let windowFullHeight = true let audioContext = null @@ -236,6 +239,7 @@ } if (settings) { defaultTimeMin = Math.floor(settings.defaultParticipantTime / 60) + defaultJiraUrl = settings.defaultJiraUrl || 'https://jira.ncloudtech.ru/secure/RapidBoard.jspa?rapidView=1431&projectKey=RNDIN' windowWidth = settings.windowWidth || 800 windowFullHeight = settings.windowFullHeight !== false } @@ -251,6 +255,7 @@ saving = true try { settings.defaultParticipantTime = defaultTimeMin * 60 + settings.defaultJiraUrl = defaultJiraUrl.trim() meeting.timeLimit = meetingLimitMin * 60 settings.windowWidth = Math.max(480, windowWidth) settings.windowFullHeight = windowFullHeight @@ -312,6 +317,29 @@ + +
+ + {#if editingDefaultJiraUrl} +
+ + { + if (e.key === 'Enter') { defaultJiraUrl = defaultJiraUrlInput; editingDefaultJiraUrl = false } + if (e.key === 'Escape') editingDefaultJiraUrl = false + }} + /> + + +
+ {:else} + +
{ defaultJiraUrlInput = defaultJiraUrl; editingDefaultJiraUrl = true }}> + {defaultJiraUrl || '—'} + +
+ {/if} +
@@ -526,7 +554,8 @@ } input[type="text"], - input[type="number"] { + input[type="number"], + input[type="url"] { width: 100%; padding: 12px; border: 1px solid #3d4f61; @@ -830,4 +859,79 @@ background: #3b7dc9; border-color: #3b7dc9; } + + .jira-display { + display: flex; + align-items: center; + justify-content: space-between; + padding: 12px; + border: 1px solid #3d4f61; + border-radius: 8px; + background: #1b2636; + color: #e0e0e0; + cursor: pointer; + font-size: 14px; + transition: border-color 0.15s; + } + + .jira-display:hover { + border-color: #4a90d9; + } + + .jira-url-text { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + flex: 1; + } + + .jira-edit-icon { + flex-shrink: 0; + margin-left: 8px; + color: #9ca3af; + opacity: 0; + transition: opacity 0.15s; + } + + .jira-display:hover .jira-edit-icon { + opacity: 1; + } + + .jira-edit-inline { + display: flex; + gap: 8px; + align-items: center; + } + + .jira-edit-inline input { + flex: 1; + padding: 12px; + border: 1px solid #4a90d9; + border-radius: 8px; + background: #1b2636; + color: #e0e0e0; + font-size: 14px; + box-sizing: border-box; + } + + .jira-inline-save, + .jira-inline-cancel { + flex-shrink: 0; + width: 36px; + height: 42px; + border: none; + border-radius: 8px; + font-size: 18px; + cursor: pointer; + } + + .jira-inline-save { + background: #22c55e; + color: white; + } + + .jira-inline-cancel { + background: #ef4444; + color: white; + } diff --git a/frontend/src/components/Setup.svelte b/frontend/src/components/Setup.svelte index 989b401..33a35df 100644 --- a/frontend/src/components/Setup.svelte +++ b/frontend/src/components/Setup.svelte @@ -1,6 +1,6 @@