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 @@