| 1 | {{/* report-sheet — "Report a problem" (spec §15.26, 2026-10-03): a |
| 2 | modal <dialog> that report.js opens, from the room (More, Devices, |
| 3 | and the words saying the call is over) and from the holding screen |
| 4 | for ten minutes after leaving. The browser's own modal brings the |
| 5 | focus trap, Escape and the inert page behind it. |
| 6 | |
| 7 | Script only, like the call itself: it is never open without script, |
| 8 | and a closed <dialog> renders nothing. |
| 9 | |
| 10 | The note is the vendored field envelope written out rather than |
| 11 | called, as chat's is: ui's field-textarea has no Maxlength key, and |
| 12 | the server takes a thousand characters. The hint under it is the |
| 13 | count left, and is named in aria-describedby with the sentence |
| 14 | saying what is sent, so both are read with the field. |
| 15 | |
| 16 | data-calls-version is the server's build, the version a web report |
| 17 | carries (protocol.ReportClient), where the page has it. */}} |
| 18 | {{define "report-sheet"}}<dialog id="report-sheet" class="calls-report" aria-labelledby="report-title"{{with .Version}} data-calls-version="{{.}}"{{end}}> |
| 19 | <form id="report-form" class="calls-report-form" novalidate> |
| 20 | <h2 id="report-title" class="calls-report-title">Report a problem</h2> |
| 21 | <div id="report-ask" class="calls-report-part"> |
| 22 | <div rst-field> |
| 23 | <label rst-field-label for="report-note">What went wrong?</label> |
| 24 | <textarea rst-textarea id="report-note" name="note" rows="4" maxlength="1000" aria-describedby="report-note-hint report-disclosure"></textarea> |
| 25 | <small rst-field-hint id="report-note-hint">Optional. Up to 1,000 characters.</small> |
| 26 | </div> |
| 27 | <p id="report-disclosure" class="calls-report-disclosure">Sends this call’s connection diagnostics to the Calls server log. No audio or video.</p> |
| 28 | <p id="report-error" class="calls-report-error" role="alert" hidden></p> |
| 29 | <div class="calls-report-actions"> |
| 30 | <button type="button" id="report-cancel" rst-btn>Cancel</button> |
| 31 | <button type="submit" id="report-send" rst-btn="primary">Send</button> |
| 32 | </div> |
| 33 | </div> |
| 34 | <div id="report-done" class="calls-report-part" hidden> |
| 35 | {{/* Focused when it appears, so the thanks and the reference are |
| 36 | read together. */}} |
| 37 | <div id="report-done-title" class="calls-report-done" tabindex="-1"> |
| 38 | <p class="calls-report-thanks">Sent — thank you</p> |
| 39 | <p class="calls-report-reference">Reference <strong id="report-ref" class="calls-report-ref"></strong></p> |
| 40 | </div> |
| 41 | <p id="report-copied" class="calls-report-copied" role="status"></p> |
| 42 | <div class="calls-report-actions"> |
| 43 | <button type="button" id="report-copy" rst-btn>Copy reference</button> |
| 44 | <button type="button" id="report-close" rst-btn="primary">Close</button> |
| 45 | </div> |
| 46 | </div> |
| 47 | </form> |
| 48 | </dialog>{{end}} |
| 49 | |