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/.
238 lines
6.1 KiB
HTML
238 lines
6.1 KiB
HTML
<!doctype html>
|
|
<html lang="{{language}}">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>{{title}}</title>
|
|
<link rel="stylesheet" href="/css/styles.css">
|
|
</head>
|
|
<body>
|
|
|
|
<div class="page">
|
|
|
|
{{{header_html}}}
|
|
|
|
<main class="page-main dashboard-main">
|
|
|
|
<section class="panel">
|
|
<h2>{{bootstrap_link_label}}</h2>
|
|
|
|
<fieldset>
|
|
<legend>{{generate_bootstrap_link_label}}</legend>
|
|
|
|
<div class="bootstrap-result-grid {{bootstrap_result_class}}">
|
|
<div>
|
|
<form method="post" action="/?lang={{language_url}}">
|
|
<input type="hidden" name="action" value="issue_bootstrap">
|
|
|
|
<label>
|
|
{{ttl_minutes_label}}<br>
|
|
<input type="number"
|
|
name="ttl_minutes"
|
|
value="{{bootstrap_ttl_minutes}}"
|
|
min="{{bootstrap_ttl_min_minutes}}"
|
|
max="{{bootstrap_ttl_max_minutes}}">
|
|
</label>
|
|
<p class="small">{{ttl_range_help}}</p>
|
|
|
|
<button type="submit">{{generate_bootstrap_link_label}}</button>
|
|
</form>
|
|
|
|
{{{generated_link_html}}}
|
|
</div>
|
|
|
|
{{{prompt_panel_html}}}
|
|
</div>
|
|
|
|
</fieldset>
|
|
</section>
|
|
|
|
</main>
|
|
|
|
</div>
|
|
|
|
<script src="/js/clipboard.js" defer></script>
|
|
<script src="/js/bootstrap-prompt.js" defer></script>
|
|
</body>
|
|
</html>
|
|
===
|
|
{
|
|
"translations": {
|
|
"app.title": {
|
|
"en": "Racket sandbox",
|
|
"nl": "Racket sandbox"
|
|
},
|
|
"app.manage_prompts": {
|
|
"en": "Manage prompts",
|
|
"nl": "Prompts beheren"
|
|
},
|
|
"app.logout": {
|
|
"en": "Logout",
|
|
"nl": "Uitloggen"
|
|
},
|
|
"app.language": {
|
|
"en": "Language",
|
|
"nl": "Taal"
|
|
},
|
|
"app.logged_in_as": {
|
|
"en": "Logged in as:",
|
|
"nl": "Ingelogd als:"
|
|
},
|
|
"app.admin": {
|
|
"en": "admin",
|
|
"nl": "admin"
|
|
},
|
|
"app.bootstrap_link": {
|
|
"en": "Bootstrap link",
|
|
"nl": "Bootstraplink"
|
|
},
|
|
"app.generate_bootstrap_link": {
|
|
"en": "Generate bootstrap link",
|
|
"nl": "Bootstraplink genereren"
|
|
},
|
|
"app.ttl_minutes": {
|
|
"en": "TTL in minutes",
|
|
"nl": "TTL in minuten"
|
|
},
|
|
"app.ttl_range_help": {
|
|
"en": "Allowed range: 30 minutes to 8 hours.",
|
|
"nl": "Toegestaan bereik: 30 minuten tot 8 uur."
|
|
},
|
|
"app.generated_link": {
|
|
"en": "Generated link",
|
|
"nl": "Gegenereerde link"
|
|
},
|
|
"app.copy": {
|
|
"en": "Copy",
|
|
"nl": "Kopieer"
|
|
},
|
|
"app.copied": {
|
|
"en": "Copied",
|
|
"nl": "Gekopieerd"
|
|
},
|
|
"app.generated_link_help": {
|
|
"en": "Give this link to the AI agent. The agent should start from this link and then only follow links from the generated HTML pages.",
|
|
"nl": "Geef deze link aan de AI-agent. De agent moet vanaf deze link starten en daarna alleen links volgen vanuit de gegenereerde HTML-paginas."
|
|
},
|
|
"app.select_prompt": {
|
|
"en": "Select prompt",
|
|
"nl": "Prompt selecteren"
|
|
},
|
|
"app.copy_full_prompt": {
|
|
"en": "Copy full prompt",
|
|
"nl": "Volledige prompt kopieren"
|
|
},
|
|
"app.bootstrap_prompt_help": {
|
|
"en": "Choose one of your prompts. The placeholder {{bootstrap-racket-link}} is replaced by the generated bootstrap link.",
|
|
"nl": "Kies een van je prompts. De placeholder {{bootstrap-racket-link}} wordt vervangen door de gegenereerde bootstraplink."
|
|
},
|
|
"app.no_bootstrap_prompts": {
|
|
"en": "No personal prompts are available for this language. Copy a default prompt first from prompt management.",
|
|
"nl": "Er zijn geen persoonlijke prompts beschikbaar voor deze taal. Kopieer eerst een standaardprompt vanuit promptbeheer."
|
|
},
|
|
"app.user_management": {
|
|
"en": "User management",
|
|
"nl": "Gebruikersbeheer"
|
|
},
|
|
"app.configuration": {
|
|
"en": "Configuration",
|
|
"nl": "Configuratie"
|
|
},
|
|
"app.user_management_help": {
|
|
"en": "Users are registered manually by email address, full name and password. This page only manages existing users.",
|
|
"nl": "Gebruikers worden handmatig geregistreerd met e-mailadres, volledige naam en wachtwoord. Deze pagina beheert alleen bestaande gebruikers."
|
|
},
|
|
"app.id": {
|
|
"en": "ID",
|
|
"nl": "ID"
|
|
},
|
|
"app.full_name": {
|
|
"en": "Full name",
|
|
"nl": "Volledige naam"
|
|
},
|
|
"app.email": {
|
|
"en": "Email",
|
|
"nl": "E-mail"
|
|
},
|
|
"app.enabled": {
|
|
"en": "Enabled",
|
|
"nl": "Ingeschakeld"
|
|
},
|
|
"app.created": {
|
|
"en": "Created",
|
|
"nl": "Gemaakt"
|
|
},
|
|
"app.last_login": {
|
|
"en": "Last login",
|
|
"nl": "Laatste login"
|
|
},
|
|
"app.actions": {
|
|
"en": "Actions",
|
|
"nl": "Acties"
|
|
},
|
|
"app.yes": {
|
|
"en": "yes",
|
|
"nl": "ja"
|
|
},
|
|
"app.no": {
|
|
"en": "no",
|
|
"nl": "nee"
|
|
},
|
|
"app.save_flags": {
|
|
"en": "Save flags",
|
|
"nl": "Vlaggen opslaan"
|
|
},
|
|
"app.new_password": {
|
|
"en": "New password",
|
|
"nl": "Nieuw wachtwoord"
|
|
},
|
|
"app.change_password": {
|
|
"en": "Change password",
|
|
"nl": "Wachtwoord wijzigen"
|
|
},
|
|
"app.delete_user": {
|
|
"en": "Delete user",
|
|
"nl": "Gebruiker verwijderen"
|
|
},
|
|
"app.delete_user_confirm": {
|
|
"en": "Delete user",
|
|
"nl": "Gebruiker verwijderen"
|
|
},
|
|
"app.cannot_delete_self": {
|
|
"en": "You cannot delete your own account.",
|
|
"nl": "Je kunt je eigen account niet verwijderen."
|
|
},
|
|
"app.bootstrap_link_issued": {
|
|
"en": "Bootstrap link issued.",
|
|
"nl": "Bootstraplink aangemaakt."
|
|
},
|
|
"app.password_changed_for": {
|
|
"en": "Password changed for: {{email}}",
|
|
"nl": "Wachtwoord gewijzigd voor: {{email}}"
|
|
},
|
|
"app.user_flags_updated": {
|
|
"en": "User flags updated.",
|
|
"nl": "Gebruikersvlaggen bijgewerkt."
|
|
},
|
|
"app.user_deleted": {
|
|
"en": "User deleted.",
|
|
"nl": "Gebruiker verwijderd."
|
|
},
|
|
"app.admin_rights_required": {
|
|
"en": "Admin rights required.",
|
|
"nl": "Adminrechten vereist."
|
|
},
|
|
"app.cannot_remove_own_admin": {
|
|
"en": "You cannot remove your own admin rights.",
|
|
"nl": "Je kunt je eigen adminrechten niet verwijderen."
|
|
},
|
|
"app.cannot_disable_self": {
|
|
"en": "You cannot disable your own account.",
|
|
"nl": "Je kunt je eigen account niet uitschakelen."
|
|
},
|
|
"app.unknown_action": {
|
|
"en": "Unknown action: {{action}}",
|
|
"nl": "Onbekende actie: {{action}}"
|
|
}
|
|
}
|
|
}
|