475765e31f
Add an explicit template renderer with HTML views and partials for the app, bootstrap, package, and catalog pages. Move shared reporting setup into config/reporting.php and relocate stylesheet assets under css/.
463 lines
12 KiB
HTML
463 lines
12 KiB
HTML
<!doctype html>
|
|
<html lang="{{language}}">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>{{title}}</title>
|
|
<link rel="stylesheet" href="/css/styles.css?v={{style_version}}">
|
|
</head>
|
|
<body>
|
|
|
|
<div class="page">
|
|
|
|
{{{header_html}}}
|
|
|
|
<main class="page-main prompt-workbench">
|
|
|
|
<aside class="prompt-sidebar panel">
|
|
<div class="prompt-tabs" role="tablist" aria-label="Prompt lists">
|
|
<button type="button" class="prompt-tab {{defaults_tab_active_class}}" data-tab="defaults" role="tab" aria-selected="{{defaults_tab_selected}}">
|
|
{{available_defaults_label}}
|
|
</button>
|
|
<button type="button" class="prompt-tab {{personal_tab_active_class}}" data-tab="personal" role="tab" aria-selected="{{personal_tab_selected}}">
|
|
{{your_prompts_label}}
|
|
</button>
|
|
</div>
|
|
|
|
<section class="prompt-tab-panel {{defaults_tab_active_class}}" id="tab-defaults" role="tabpanel">
|
|
{{{default_admin_notice_html}}}
|
|
|
|
<div class="sidebar-actions">
|
|
<form method="post" action="/prompts?lang={{language_url}}&mode=personal">
|
|
<input type="hidden" name="action" value="copy_all_defaults">
|
|
<input type="hidden" name="language" value="{{language}}">
|
|
<button type="submit">{{copy_all_label}}</button>
|
|
</form>
|
|
</div>
|
|
|
|
<div class="prompt-list">
|
|
{{{default_prompts_html}}}
|
|
{{{no_defaults_html}}}
|
|
</div>
|
|
|
|
{{{create_default_html}}}
|
|
</section>
|
|
|
|
<section class="prompt-tab-panel {{personal_tab_active_class}}" id="tab-personal" role="tabpanel">
|
|
<div class="prompt-list">
|
|
{{{personal_prompts_html}}}
|
|
{{{no_personal_html}}}
|
|
</div>
|
|
|
|
<details class="create-drawer">
|
|
<summary>{{create_personal_label}}</summary>
|
|
<form method="post" action="/prompts?lang={{language_url}}&mode=personal">
|
|
<input type="hidden" name="action" value="create_prompt">
|
|
<label>{{name_label}}<br><input type="text" name="name"></label>
|
|
<label>{{language_label}}<br>
|
|
<select name="language">
|
|
{{{language_options_html}}}
|
|
</select>
|
|
</label>
|
|
<label>{{prompt_content_label}}<br><textarea name="content" rows="7"></textarea></label>
|
|
<button type="submit">{{create_personal_label}}</button>
|
|
</form>
|
|
</details>
|
|
</section>
|
|
</aside>
|
|
|
|
<section id="promptViewer" class="prompt-viewer panel is-empty">
|
|
<div class="viewer-empty">
|
|
{{select_prompt_label}}
|
|
</div>
|
|
|
|
<div class="viewer-shell">
|
|
<div class="viewer-header">
|
|
<div>
|
|
<div class="viewer-title" id="viewerTitle">{{prompt_label}}</div>
|
|
<div class="version-meta" id="viewerMeta"></div>
|
|
</div>
|
|
<button type="button" id="editPromptButton">{{edit_label}}</button>
|
|
</div>
|
|
<pre id="viewerContent" class="viewer-content"></pre>
|
|
</div>
|
|
</section>
|
|
|
|
</main>
|
|
|
|
<footer class="page-footer">
|
|
<a href="/">{{back_label}}</a>
|
|
</footer>
|
|
|
|
</div>
|
|
|
|
<div id="promptModalBackdrop" class="modal-backdrop">
|
|
<div class="prompt-modal">
|
|
|
|
<form id="promptModalForm" class="edit-mode" method="post" action="/prompts?lang={{language_url}}&mode={{mode_url}}">
|
|
|
|
<div class="modal-header">
|
|
<div>
|
|
<div class="modal-title" id="modalTitle">{{prompt_label}}</div>
|
|
<div class="version-meta" id="modalMeta"></div>
|
|
</div>
|
|
<button type="button" id="cancelEditButton">{{close_label}}</button>
|
|
</div>
|
|
|
|
<div class="modal-toolbar">
|
|
<button type="button" id="versionNewerButton">{{newer_previous_label}}</button>
|
|
<button type="button" id="versionOlderButton">{{older_previous_label}}</button>
|
|
|
|
<label>
|
|
{{diff_view_label}}
|
|
<select id="diffMode">
|
|
<option value="plain">{{diff_plain_label}}</option>
|
|
<option value="all" selected>{{diff_all_label}}</option>
|
|
<option value="same">{{diff_same_label}}</option>
|
|
<option value="added">{{diff_added_label}}</option>
|
|
<option value="deleted">{{diff_deleted_label}}</option>
|
|
<option value="changed">{{diff_changed_label}}</option>
|
|
</select>
|
|
</label>
|
|
|
|
<span id="versionIndicator" class="version-meta"></span>
|
|
</div>
|
|
|
|
<div class="modal-body">
|
|
|
|
<div class="edit-pane">
|
|
<div class="modal-form-grid">
|
|
<label>
|
|
{{name_label}}<br>
|
|
<input type="text" id="modalName" name="name">
|
|
</label>
|
|
|
|
<label>
|
|
{{language_label}}<br>
|
|
<select id="modalLanguage" name="language">
|
|
{{{language_options_plain_html}}}
|
|
</select>
|
|
</label>
|
|
</div>
|
|
|
|
<div id="defaultKeyRow" class="default-key-row">
|
|
<label>
|
|
{{default_key_label}}<br>
|
|
<input type="text" id="modalDefaultKey" name="default_key">
|
|
</label>
|
|
</div>
|
|
|
|
<label class="content-label">
|
|
<span>{{prompt_content_label}}</span>
|
|
<textarea id="modalContent" name="content"></textarea>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="version-pane">
|
|
<div>
|
|
<strong>{{previous_version_label}}</strong>
|
|
<div id="selectedVersionMeta" class="version-meta"></div>
|
|
</div>
|
|
|
|
<div class="version-content" id="versionContent"></div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
|
<input type="hidden" id="modalAction" name="action" value="">
|
|
<input type="hidden" id="modalPromptId" name="prompt_id" value="">
|
|
<input type="hidden" id="modalDefaultId" name="default_id" value="">
|
|
|
|
<label>
|
|
<input type="checkbox" name="create_version" value="1" checked>
|
|
{{store_version_label}}
|
|
</label>
|
|
|
|
<label>
|
|
{{version_note_label}}
|
|
<input type="text" name="version_note" value="editor edit">
|
|
</label>
|
|
|
|
<button type="submit">{{save_label}}</button>
|
|
<button type="button" id="snapshotButton">{{store_snapshot_label}}</button>
|
|
<button type="button" id="restoreVersionButton">{{restore_version_label}}</button>
|
|
<button type="button" id="deleteVersionButton">{{delete_version_label}}</button>
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<form id="modalAuxForm" method="post" action="/prompts?lang={{language_url}}&mode={{mode_url}}" class="hidden">
|
|
<input type="hidden" id="auxAction" name="action" value="">
|
|
<input type="hidden" id="auxPromptId" name="prompt_id" value="">
|
|
<input type="hidden" id="auxDefaultId" name="default_id" value="">
|
|
<input type="hidden" id="auxVersionNo" name="version_no" value="">
|
|
<input type="hidden" id="auxVersionNote" name="version_note" value="">
|
|
</form>
|
|
|
|
<script type="application/json" id="promptDataJson">
|
|
{{{prompt_data_json}}}
|
|
</script>
|
|
<script type="application/json" id="promptTextJson">
|
|
{{{prompt_text_json}}}
|
|
</script>
|
|
<script src="/js/prompt-editor.js?v={{prompt_editor_version}}" defer></script>
|
|
|
|
</body>
|
|
</html>
|
|
===
|
|
{
|
|
"translations": {
|
|
"prompts.title": {
|
|
"en": "Prompt administration",
|
|
"nl": "Promptbeheer"
|
|
},
|
|
"prompts.back": {
|
|
"en": "Back to Racket sandbox",
|
|
"nl": "Terug naar Racket sandbox"
|
|
},
|
|
"prompts.your_prompts": {
|
|
"en": "Your prompts",
|
|
"nl": "Jouw prompts"
|
|
},
|
|
"prompts.default_admin": {
|
|
"en": "Default prompt administration",
|
|
"nl": "Standaardpromptbeheer"
|
|
},
|
|
"prompts.language": {
|
|
"en": "Language",
|
|
"nl": "Taal"
|
|
},
|
|
"prompts.available_defaults": {
|
|
"en": "Available default prompts",
|
|
"nl": "Beschikbare standaardprompts"
|
|
},
|
|
"prompts.default_admin_badge": {
|
|
"en": "Admin default prompts",
|
|
"nl": "Admin standaardprompts"
|
|
},
|
|
"prompts.default_admin_hint": {
|
|
"en": "Defaults are shared with every user and can be copied into personal prompts.",
|
|
"nl": "Standaarden worden gedeeld met alle gebruikers en kunnen naar persoonlijke prompts worden gekopieerd."
|
|
},
|
|
"prompts.copy_all": {
|
|
"en": "Copy all",
|
|
"nl": "Alles kopieren"
|
|
},
|
|
"prompts.copy": {
|
|
"en": "copy",
|
|
"nl": "kopieer"
|
|
},
|
|
"prompts.delete": {
|
|
"en": "delete",
|
|
"nl": "verwijder"
|
|
},
|
|
"prompts.create_default": {
|
|
"en": "Create default prompt",
|
|
"nl": "Standaardprompt maken"
|
|
},
|
|
"prompts.create_personal": {
|
|
"en": "Create personal prompt",
|
|
"nl": "Persoonlijke prompt maken"
|
|
},
|
|
"prompts.name": {
|
|
"en": "Name",
|
|
"nl": "Naam"
|
|
},
|
|
"prompts.default_key": {
|
|
"en": "Default key",
|
|
"nl": "Standaardsleutel"
|
|
},
|
|
"prompts.prompt_content": {
|
|
"en": "Prompt content",
|
|
"nl": "Promptinhoud"
|
|
},
|
|
"prompts.no_defaults": {
|
|
"en": "No default prompts for this language yet.",
|
|
"nl": "Nog geen standaardprompts voor deze taal."
|
|
},
|
|
"prompts.no_personal": {
|
|
"en": "No personal prompts yet for this language.",
|
|
"nl": "Nog geen persoonlijke prompts voor deze taal."
|
|
},
|
|
"prompts.select_prompt": {
|
|
"en": "Select a prompt on the left to view it.",
|
|
"nl": "Selecteer links een prompt om deze te bekijken."
|
|
},
|
|
"prompts.edit": {
|
|
"en": "Edit",
|
|
"nl": "Bewerk"
|
|
},
|
|
"prompts.close": {
|
|
"en": "Close",
|
|
"nl": "Sluiten"
|
|
},
|
|
"prompts.newer_previous": {
|
|
"en": "newer previous version",
|
|
"nl": "nieuwere vorige versie"
|
|
},
|
|
"prompts.older_previous": {
|
|
"en": "older previous version",
|
|
"nl": "oudere vorige versie"
|
|
},
|
|
"prompts.diff_view": {
|
|
"en": "Diff view:",
|
|
"nl": "Verschilweergave:"
|
|
},
|
|
"prompts.diff_plain": {
|
|
"en": "text, no diff",
|
|
"nl": "tekst, geen verschil"
|
|
},
|
|
"prompts.diff_all": {
|
|
"en": "all diff",
|
|
"nl": "alle verschillen"
|
|
},
|
|
"prompts.diff_same": {
|
|
"en": "unchanged only",
|
|
"nl": "alleen ongewijzigd"
|
|
},
|
|
"prompts.diff_added": {
|
|
"en": "additions only",
|
|
"nl": "alleen toevoegingen"
|
|
},
|
|
"prompts.diff_deleted": {
|
|
"en": "deletions only",
|
|
"nl": "alleen verwijderingen"
|
|
},
|
|
"prompts.diff_changed": {
|
|
"en": "changes only",
|
|
"nl": "alleen wijzigingen"
|
|
},
|
|
"prompts.previous_version": {
|
|
"en": "Previous version",
|
|
"nl": "Vorige versie"
|
|
},
|
|
"prompts.store_version": {
|
|
"en": "store this edit as a new version",
|
|
"nl": "bewaar deze bewerking als nieuwe versie"
|
|
},
|
|
"prompts.version_note": {
|
|
"en": "Version note:",
|
|
"nl": "Versienotitie:"
|
|
},
|
|
"prompts.save": {
|
|
"en": "Save",
|
|
"nl": "Opslaan"
|
|
},
|
|
"prompts.store_snapshot": {
|
|
"en": "Store snapshot",
|
|
"nl": "Snapshot bewaren"
|
|
},
|
|
"prompts.restore_version": {
|
|
"en": "Restore selected version",
|
|
"nl": "Geselecteerde versie herstellen"
|
|
},
|
|
"prompts.delete_version": {
|
|
"en": "Delete selected version",
|
|
"nl": "Geselecteerde versie verwijderen"
|
|
},
|
|
"prompts.prompt": {
|
|
"en": "Prompt",
|
|
"nl": "Prompt"
|
|
},
|
|
"prompts.prompt_not_found": {
|
|
"en": "Prompt not found",
|
|
"nl": "Prompt niet gevonden"
|
|
},
|
|
"prompts.no_previous_versions": {
|
|
"en": "No previous versions stored.",
|
|
"nl": "Geen vorige versies opgeslagen."
|
|
},
|
|
"prompts.no_lines_for_view": {
|
|
"en": "No lines for this view.",
|
|
"nl": "Geen regels voor deze weergave."
|
|
},
|
|
"prompts.restore_version_confirm": {
|
|
"en": "Restore version",
|
|
"nl": "Versie herstellen"
|
|
},
|
|
"prompts.delete_version_confirm": {
|
|
"en": "Delete version",
|
|
"nl": "Versie verwijderen"
|
|
},
|
|
"prompts.delete_default_confirm": {
|
|
"en": "Delete default prompt {{name}}?",
|
|
"nl": "Standaardprompt {{name}} verwijderen?"
|
|
},
|
|
"prompts.delete_prompt_confirm": {
|
|
"en": "Delete prompt {{name}}?",
|
|
"nl": "Prompt {{name}} verwijderen?"
|
|
},
|
|
"prompts.default_metadata": {
|
|
"en": "{{default_key}} · {{updated_at}}",
|
|
"nl": "{{default_key}} · {{updated_at}}"
|
|
},
|
|
"prompts.personal_metadata": {
|
|
"en": "{{language}} · {{updated_at}}",
|
|
"nl": "{{language}} · {{updated_at}}"
|
|
},
|
|
"prompts.default_prompt_prefix": {
|
|
"en": "Default prompt: ",
|
|
"nl": "Standaardprompt: "
|
|
},
|
|
"prompts.prompt_prefix": {
|
|
"en": "Prompt: ",
|
|
"nl": "Prompt: "
|
|
},
|
|
"prompts.created": {
|
|
"en": "created",
|
|
"nl": "gemaakt"
|
|
},
|
|
"prompts.updated": {
|
|
"en": "updated",
|
|
"nl": "bijgewerkt"
|
|
},
|
|
"prompts.default_prompt": {
|
|
"en": "default prompt",
|
|
"nl": "standaardprompt"
|
|
},
|
|
"prompts.version": {
|
|
"en": "version",
|
|
"nl": "versie"
|
|
},
|
|
"prompts.showing_version": {
|
|
"en": "showing version",
|
|
"nl": "toont versie"
|
|
},
|
|
"prompts.of": {
|
|
"en": "of",
|
|
"nl": "van"
|
|
},
|
|
"prompts.old": {
|
|
"en": "old",
|
|
"nl": "oud"
|
|
},
|
|
"prompts.new": {
|
|
"en": "new",
|
|
"nl": "nieuw"
|
|
},
|
|
"prompts.unknown_action": {
|
|
"en": "Unknown action: {{action}}",
|
|
"nl": "Onbekende actie: {{action}}"
|
|
},
|
|
"app.admin": {
|
|
"en": "admin",
|
|
"nl": "admin"
|
|
},
|
|
"app.user_management": {
|
|
"en": "User management",
|
|
"nl": "Gebruikersbeheer"
|
|
},
|
|
"app.configuration": {
|
|
"en": "Configuration",
|
|
"nl": "Configuratie"
|
|
},
|
|
"app.logout": {
|
|
"en": "Logout",
|
|
"nl": "Uitloggen"
|
|
}
|
|
}
|
|
}
|