| <!DOCTYPE html> |
| <html lang="de"> |
| <head> |
| <meta charset="UTF-8" /> |
| <title>Juristischer Assistenz-Prototyp</title> |
|
|
| |
| <link rel="stylesheet" href="/static/styles/style.css?v=2" /> |
| </head> |
| <body> |
|
|
| <div class="header"> |
| <img src="data:image/png;base64,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" |
| alt="Berliner Apotheker‑Verein (BAV) e. V." |
| class="logo" /> |
| </div> |
|
|
| <div class="chat"> |
| <h2>Juristischer Assistenz-Prototyp</h2> |
|
|
| <div class="messages" id="messages"></div> |
|
|
| <textarea id="question" placeholder="Ihre juristische Frage …"></textarea> |
|
|
| <div class="row"> |
| <button id="askBtn" onclick="send()">Frage stellen</button> |
| <button id="promptBtn" onclick="openPromptModal()">System-Prompt bearbeiten</button> |
| </div> |
| </div> |
|
|
| |
| <div class="modal-backdrop" id="promptModalBackdrop" onclick="backdropClick(event)"> |
| <div class="modal" role="dialog" aria-modal="true" aria-labelledby="promptTitle"> |
| <h3 id="promptTitle">System-Prompt bearbeiten</h3> |
|
|
| <textarea id="systemPromptTextarea" placeholder="System-Prompt…"></textarea> |
|
|
| <div class="modal-actions"> |
| <div class="status" id="promptStatus"></div> |
| <button onclick="resetPrompt()">Zurücksetzen</button> |
| <button onclick="savePrompt()">Speichern</button> |
| <button onclick="closePromptModal()">Schließen</button> |
| </div> |
|
|
| <div class="hint"> |
| Hinweis: Änderungen wirken sofort für alle folgenden Antworten serverseitig. |
| </div> |
| </div> |
| </div> |
|
|
| |
| <aside id="pdfPanel" class="pdf-panel" aria-hidden="true" role="dialog" aria-label="PDF-Fundstelle"> |
| <div class="pdf-panel-header"> |
| <div class="pdf-panel-titles"> |
| <div class="pdf-panel-title" id="pdfPanelTitle">Quelle</div> |
| <div class="pdf-panel-subtitle" id="pdfPanelSubtitle"></div> |
| </div> |
| <div class="pdf-panel-controls"> |
| <button id="pdfPrevBtn" class="pdf-ctrl" type="button" title="Vorherige Seite" aria-label="Vorherige Seite">‹</button> |
| <span class="pdf-page-indicator" id="pdfPageIndicator">–</span> |
| <button id="pdfNextBtn" class="pdf-ctrl" type="button" title="Nächste Seite" aria-label="Nächste Seite">›</button> |
| <button id="pdfJumpBtn" class="pdf-ctrl pdf-jump" type="button" title="Zur markierten Fundstelle springen">Fundstelle</button> |
| <a id="pdfOpenTab" class="pdf-ctrl pdf-open-tab" href="#" target="_blank" rel="noopener" title="PDF in neuem Tab öffnen">⧉</a> |
| <button id="pdfCloseBtn" class="pdf-ctrl pdf-close" type="button" title="Schließen (Esc)" aria-label="Schließen">×</button> |
| </div> |
| </div> |
|
|
| <div class="pdf-viewport" id="pdfViewport"> |
| <div class="pdf-status" id="pdfStatus"></div> |
| <div class="pdf-page-wrap" id="pdfPageWrap"> |
| <canvas id="pdfCanvas"></canvas> |
| <div class="textLayer" id="pdfTextLayer"></div> |
| </div> |
| </div> |
| </aside> |
|
|
| <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.11.174/pdf.min.js"></script> |
| <script src="/static/js/script.js?v=2"></script> |
| </body> |
| </html> |