Move rendering into private templates
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/.
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
<tr class="{{status_class}}">
|
||||
<td><code>{{token}}</code></td>
|
||||
<td>{{created_at}}</td>
|
||||
<td>{{expires_at}}</td>
|
||||
</tr>
|
||||
@@ -0,0 +1,8 @@
|
||||
<table>
|
||||
<tr>
|
||||
<th>{{token_label}}</th>
|
||||
<th>{{created_at_label}}</th>
|
||||
<th>{{expires_at_label}}</th>
|
||||
</tr>
|
||||
{{{token_rows_html}}}
|
||||
</table>
|
||||
@@ -0,0 +1 @@
|
||||
<span class="small">({{admin_label}})</span>
|
||||
@@ -0,0 +1 @@
|
||||
<input type="hidden" name="{{name}}" value="{{value}}">
|
||||
@@ -0,0 +1,9 @@
|
||||
<form class="header-language-form" method="get" action="{{language_action}}">
|
||||
{{{hidden_inputs_html}}}
|
||||
<label>
|
||||
{{language_label}}
|
||||
<select name="lang" onchange="this.form.submit()">
|
||||
{{{language_options_html}}}
|
||||
</select>
|
||||
</label>
|
||||
</form>
|
||||
@@ -0,0 +1,5 @@
|
||||
<span class="nav-separator" aria-hidden="true">|</span>
|
||||
<form class="header-action-form" method="post" action="{{logout_action}}">
|
||||
<input type="hidden" name="action" value="logout">
|
||||
<button type="submit">{{logout_label}}</button>
|
||||
</form>
|
||||
@@ -0,0 +1 @@
|
||||
<strong>{{label}}</strong>
|
||||
@@ -0,0 +1 @@
|
||||
<a href="{{url}}">{{label}}</a>
|
||||
@@ -0,0 +1 @@
|
||||
<span class="nav-separator" aria-hidden="true">|</span>
|
||||
@@ -0,0 +1,6 @@
|
||||
<span class="nav-separator" aria-hidden="true">|</span>
|
||||
<span class="nav-user">
|
||||
{{user_prefix}}
|
||||
{{display_name}}
|
||||
{{{admin_html}}}
|
||||
</span>
|
||||
@@ -0,0 +1,11 @@
|
||||
<h3>{{generated_link_label}}</h3>
|
||||
<div class="generated-link-row">
|
||||
<a href="{{issued_link}}" target="_blank" rel="noopener noreferrer">{{issued_link}}</a>
|
||||
<button type="button"
|
||||
class="js-copy-button"
|
||||
data-copy-text="{{issued_link}}"
|
||||
data-copy-label="{{copy_label}}"
|
||||
data-copied-label="{{copied_label}}">
|
||||
{{copy_label}}
|
||||
</button>
|
||||
</div>
|
||||
@@ -0,0 +1,21 @@
|
||||
<div class="bootstrap-prompt-tool">
|
||||
<label>
|
||||
{{select_prompt_label}}<br>
|
||||
<select id="bootstrapPromptSelect">
|
||||
{{{prompt_options_html}}}
|
||||
</select>
|
||||
</label>
|
||||
|
||||
<textarea id="bootstrapPromptOutput" readonly rows="12"></textarea>
|
||||
|
||||
<button type="button"
|
||||
class="js-copy-button"
|
||||
data-copy-target="bootstrapPromptOutput"
|
||||
data-copy-label="{{copy_label}}"
|
||||
data-copied-label="{{copied_label}}">
|
||||
{{copy_full_prompt_label}}
|
||||
</button>
|
||||
</div>
|
||||
<script type="application/json" id="bootstrapPromptData">
|
||||
{{{bootstrap_prompt_json}}}
|
||||
</script>
|
||||
@@ -0,0 +1,6 @@
|
||||
<div>
|
||||
<h3>{{copy_full_prompt_label}}</h3>
|
||||
<p>{{bootstrap_prompt_help}}</p>
|
||||
|
||||
{{{prompt_tool_html}}}
|
||||
</div>
|
||||
@@ -0,0 +1 @@
|
||||
<p><a href="/login.php">{{login_label}}</a></p>
|
||||
@@ -0,0 +1 @@
|
||||
<div class="{{class}}">{{message}}</div>
|
||||
@@ -0,0 +1,6 @@
|
||||
<tr id="pkg-{{id}}">
|
||||
<td>{{index}}</td>
|
||||
<td class="pkg-name">
|
||||
<a class="pkg-link" href="{{url}}">{{name}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -0,0 +1,5 @@
|
||||
<tr>
|
||||
<td>{{number}}</td>
|
||||
<td>{{base64_bytes}}</td>
|
||||
<td><a href="{{url}}">{{url}}</a></td>
|
||||
</tr>
|
||||
@@ -0,0 +1 @@
|
||||
<tr><th>{{label}}</th><td>{{{value_html}}}</td></tr>
|
||||
@@ -0,0 +1 @@
|
||||
<p class="{{class}}">{{text}}</p>
|
||||
@@ -0,0 +1,4 @@
|
||||
<div class="default-admin-notice">
|
||||
<strong>{{badge}}</strong>
|
||||
<span>{{hint}}</span>
|
||||
</div>
|
||||
@@ -0,0 +1,15 @@
|
||||
<details class="create-drawer">
|
||||
<summary>{{create_default_label}}</summary>
|
||||
<form method="post" action="/prompts?lang={{language_url}}&mode=defaults">
|
||||
<input type="hidden" name="action" value="create_default">
|
||||
<label>{{default_key_label}}<br><input type="text" name="default_key" placeholder="bootstrap-racket"></label>
|
||||
<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_default_label}}</button>
|
||||
</form>
|
||||
</details>
|
||||
@@ -0,0 +1,6 @@
|
||||
<form method="post" action="/prompts?lang={{language_url}}&mode=defaults"
|
||||
onsubmit="return confirm({{{confirm_json}}});">
|
||||
<input type="hidden" name="action" value="delete_default">
|
||||
<input type="hidden" name="default_id" value="{{id}}">
|
||||
<button type="submit">{{delete_label}}</button>
|
||||
</form>
|
||||
@@ -0,0 +1,17 @@
|
||||
<div class="prompt-list-item default-prompt-item">
|
||||
<button type="button"
|
||||
class="prompt-select js-open-prompt"
|
||||
data-kind="default"
|
||||
data-id="{{id}}">
|
||||
<span class="prompt-name">{{name}}</span>
|
||||
<span class="prompt-subline">{{{metadata}}}</span>
|
||||
</button>
|
||||
|
||||
<form method="post" action="/prompts?lang={{language_url}}&mode=personal">
|
||||
<input type="hidden" name="action" value="copy_default">
|
||||
<input type="hidden" name="default_id" value="{{id}}">
|
||||
<button type="submit">{{copy_label}}</button>
|
||||
</form>
|
||||
|
||||
{{{admin_delete_html}}}
|
||||
</div>
|
||||
@@ -0,0 +1,15 @@
|
||||
<div class="prompt-list-item">
|
||||
<button type="button"
|
||||
class="prompt-select js-open-prompt"
|
||||
data-kind="personal"
|
||||
data-id="{{id}}">
|
||||
<span class="prompt-name">{{name}}</span>
|
||||
<span class="prompt-subline">{{metadata}}</span>
|
||||
</button>
|
||||
<form method="post" action="/prompts?lang={{language_url}}&mode=personal"
|
||||
onsubmit="return confirm({{{confirm_json}}});">
|
||||
<input type="hidden" name="action" value="delete_prompt">
|
||||
<input type="hidden" name="prompt_id" value="{{id}}">
|
||||
<button type="submit">{{delete_label}}</button>
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,6 @@
|
||||
<tr>
|
||||
<td>{{index}}</td>
|
||||
<td>{{number}}</td>
|
||||
<td>{{size}}</td>
|
||||
<td><a href="{{url}}">{{url}}</a></td>
|
||||
</tr>
|
||||
@@ -0,0 +1 @@
|
||||
<option value="{{value}}"{{{selected}}}>{{label}}</option>
|
||||
@@ -0,0 +1,6 @@
|
||||
<form method="post" action="/users?lang={{language_url}}"
|
||||
onsubmit="return confirm({{{confirm_json}}});">
|
||||
<input type="hidden" name="action" value="delete_user">
|
||||
<input type="hidden" name="user_id" value="{{user_id}}">
|
||||
<button type="submit">{{delete_user_label}}</button>
|
||||
</form>
|
||||
@@ -0,0 +1,27 @@
|
||||
<tr>
|
||||
<td colspan="7">
|
||||
<form method="post" action="/users?lang={{language_url}}" class="user-row-form">
|
||||
<input type="hidden" name="action" value="update_user">
|
||||
<input type="hidden" name="user_id" value="{{user_id}}">
|
||||
|
||||
<label>{{full_name_label}}<br><input type="text" name="full_name" value="{{full_name}}" required></label>
|
||||
<label>{{email_label}}<br><input type="email" name="email" value="{{email}}" required></label>
|
||||
<label><input type="checkbox" name="is_admin" value="1"{{{is_admin_checked}}}> {{admin_label}}</label>
|
||||
<label><input type="checkbox" name="is_enabled" value="1"{{{is_enabled_checked}}}> {{enabled_label}}</label>
|
||||
<span>{{created_at}}</span>
|
||||
<span>{{last_login_at}}</span>
|
||||
<button type="submit">{{update_user_label}}</button>
|
||||
</form>
|
||||
|
||||
<div class="user-row-actions">
|
||||
<form method="post" action="/users?lang={{language_url}}">
|
||||
<input type="hidden" name="action" value="set_password">
|
||||
<input type="hidden" name="email" value="{{email}}">
|
||||
<label>{{new_password_label}}<br><input type="password" name="password" autocomplete="new-password"></label>
|
||||
<button type="submit">{{change_password_label}}</button>
|
||||
</form>
|
||||
|
||||
{{{delete_html}}}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -0,0 +1 @@
|
||||
<p class="small">{{cannot_delete_self}}</p>
|
||||
Reference in New Issue
Block a user