diff --git a/frontend/background-issue-sync.js b/frontend/background-issue-sync.js index f3eefce..bb071c8 100644 --- a/frontend/background-issue-sync.js +++ b/frontend/background-issue-sync.js @@ -360,6 +360,9 @@ function createBackgroundIssueSync({ const resource = item.kind === 'pull-comment' ? 'pull' : 'issue'; return { id: item.id, status, kind: 'message', route: '#/my-work/' + resource + '/' + repository + '/' + encodeURIComponent(item.number) }; } + if (typeof delivered.url === 'string' && /^https?:\/\//.test(delivered.url)) { + return { id: item.id, status, kind: 'issue', url: delivered.url }; + } return { id: item.id, status, kind: 'issue', route: '#/my-work/issue/' + repository + '/' + encodeURIComponent(delivered.number) }; } diff --git a/frontend/dashboard.css b/frontend/dashboard.css index e940e9f..23a50f4 100644 --- a/frontend/dashboard.css +++ b/frontend/dashboard.css @@ -12,6 +12,13 @@ header { position: sticky; top: 0; z-index: 20; padding: 12px 16px; display:flex .live-data-status-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; } .live-data-status-header h2, .live-data-status-header p { margin-top:0; } .live-data-status-header button, .live-data-status-actions button { min-height:44px; } +.issue-filing-receipt { position:fixed; inset:0; z-index:108; display:flex; align-items:flex-end; justify-content:center; background:rgba(5,12,21,.82); backdrop-filter:blur(4px); } +.issue-filing-receipt[hidden] { display:none; } +.issue-filing-receipt-panel { box-sizing:border-box; width:min(560px,100%); max-height:100dvh; overflow:auto; overflow-x:hidden; padding:18px; padding-bottom:calc(18px + env(safe-area-inset-bottom)); border:1px solid #4ade80; border-radius:18px 18px 0 0; background:#0b1526; overflow-wrap:anywhere; } +.issue-filing-receipt-panel h2, .issue-filing-receipt-panel h3 { margin:.25rem 0; } +.issue-filing-receipt-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:16px; } +.issue-filing-receipt-actions button, .issue-filing-receipt-actions .button-link { box-sizing:border-box; display:flex; align-items:center; justify-content:center; min-width:0; min-height:44px; width:100%; text-align:center; } +@media (max-width:359px) { .issue-filing-receipt-actions { grid-template-columns:1fr; } } .live-data-status-feeds { display:grid; gap:8px; margin:14px 0; } .live-data-status-feed { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:12px; border:1px solid #2a496e; border-radius:12px; background:#0f2237; } .live-data-status-feed strong, .live-data-status-feed span { overflow-wrap:anywhere; } diff --git a/frontend/dashboard.js b/frontend/dashboard.js index 9421298..d96e392 100644 --- a/frontend/dashboard.js +++ b/frontend/dashboard.js @@ -3962,6 +3962,14 @@ } let suppressCreateDraftOnHistoryClose = false; + const issueFilingReceipt = createIssueFilingReceipt({ + root:qs('#issue-filing-receipt'), heading:qs('#issue-filing-receipt-heading'), + key:qs('#issue-filing-receipt-key'), title:qs('#issue-filing-receipt-title'), + ownership:qs('#issue-filing-receipt-ownership'), openLink:qs('#issue-filing-receipt-open'), + shareButton:qs('#issue-filing-receipt-share'), fileAnotherButton:qs('#issue-filing-receipt-another'), + doneButton:qs('#issue-filing-receipt-done'), status:qs('#issue-filing-receipt-status'), + navigator, onFileAnother:() => qs('#new-issue').click(), + }); function closeCreateIssueSheet(navigate = true, preserveDraft = true) { if (navigate && taskOverlayHistory.current() === 'new') { suppressCreateDraftOnHistoryClose = !preserveDraft; @@ -4009,6 +4017,9 @@ item.kind === 'issue' && item.repository === confirmed.repository && item.number === confirmed.number ); const completionHandled = startedCompletions.has(confirmed.repository + '#' + confirmed.number); + if (!(confirmed.assignees || []).includes(activeFlushLogin)) { + issueFilingReceipt.show(confirmed, qs('#new-issue')); + } if (startCreated && !(result.completions || []).length && created) { const outcome = createAndStart.complete(created); if (outcome !== 'started' && openCreated) openRoutedWork(created, qs('#new-issue')); diff --git a/frontend/index.html b/frontend/index.html index 087d474..e83666b 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -424,6 +424,23 @@ +