All checks were successful
release-tag / release-image (push) Successful in 1m57s
175 lines
11 KiB
HTML
175 lines
11 KiB
HTML
{{define "bulk.html"}}
|
|
<!doctype html>
|
|
<html lang="{{.Lang}}">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
<title>{{.Name}} · {{index .Text "bulk_title"}}</title>
|
|
<meta name="description" content="{{index .Text "bulk_meta_description"}}">
|
|
<meta name="robots" content="noindex,nofollow">
|
|
{{if not .WhiteLabel}}
|
|
<meta name="theme-color" content="#F8FAFC">
|
|
<link rel="icon" href="/static/brand/favicon.ico" sizes="any">
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/static/brand/ucng-icon-32.png">
|
|
<link rel="icon" type="image/png" sizes="192x192" href="/static/brand/ucng-icon-192.png">
|
|
<link rel="icon" type="image/png" sizes="512x512" href="/static/brand/ucng-icon-512.png">
|
|
<link rel="apple-touch-icon" sizes="192x192" href="/static/brand/ucng-icon-192.png">
|
|
<meta property="og:image" content="{{.BaseURL}}/static/brand/ucng-open-graph.png">
|
|
<meta property="og:image:width" content="1200">
|
|
<meta property="og:image:height" content="630">
|
|
{{end}}
|
|
<link rel="stylesheet" href="/static/style.css">
|
|
</head>
|
|
<body class="bulk-page">
|
|
<header class="site-header bulk-header">
|
|
<a class="brand" href="/?lang={{.Lang}}">{{if .WhiteLabel}}<span class="brand-text">{{.Name}}</span>{{else}}<img src="/static/brand/ucng-logo.png" width="800" height="233" alt="UCNG — Universal Content Notation Guidelines">{{end}}</a>
|
|
<nav>
|
|
<a href="#workspace">{{index .Text "bulk_nav_workspace"}}</a>
|
|
<a href="#advanced">{{index .Text "bulk_nav_advanced"}}</a>
|
|
<a href="#results">{{index .Text "bulk_nav_results"}}</a>
|
|
</nav>
|
|
<label class="language-switch"><span class="sr-only">{{index .Text "field_language"}}</span><select id="bulk-language">
|
|
{{range .Languages}}<option value="{{.Code}}" {{if eq $.Lang .Code}}selected{{end}}>{{.Name}}</option>{{end}}
|
|
</select></label>
|
|
</header>
|
|
|
|
<main class="bulk-main">
|
|
<section class="bulk-hero">
|
|
<div>
|
|
<p class="eyebrow">{{index .Text "bulk_eyebrow"}}</p>
|
|
<h1>{{index .Text "bulk_title"}}</h1>
|
|
<p class="lead">{{index .Text "bulk_intro"}}</p>
|
|
</div>
|
|
<div class="bulk-status-grid" aria-label="{{index .Text "bulk_status"}}">
|
|
<div class="bulk-status-card"><span>{{index .Text "bulk_license"}}</span><strong>{{if .BulkAPI}}{{index .Text "bulk_active"}}{{else}}{{index .Text "bulk_inactive"}}{{end}}</strong></div>
|
|
<div class="bulk-status-card"><span>{{index .Text "bulk_limit"}}</span><strong>{{.BulkMaxItems}}</strong></div>
|
|
<div class="bulk-status-card"><span>{{index .Text "bulk_auth"}}</span><strong>{{if .BulkRequireAPIKey}}{{index .Text "bulk_api_key"}}{{else}}{{index .Text "bulk_no_api_key"}}{{end}}</strong></div>
|
|
</div>
|
|
</section>
|
|
|
|
{{if not .BulkAPI}}
|
|
<section class="notice bulk-license-warning">
|
|
<strong>{{index .Text "bulk_inactive_title"}}</strong>
|
|
<p>{{index .Text "bulk_inactive_help"}}</p>
|
|
</section>
|
|
{{end}}
|
|
|
|
<section id="workspace" class="panel bulk-workspace">
|
|
<div class="section-heading-row bulk-section-heading">
|
|
<div>
|
|
<p class="eyebrow">{{index .Text "bulk_workspace_eyebrow"}}</p>
|
|
<h2>{{index .Text "bulk_workspace_title"}}</h2>
|
|
<p>{{index .Text "bulk_workspace_intro"}}</p>
|
|
</div>
|
|
</div>
|
|
|
|
{{if .BulkRequireAPIKey}}
|
|
<div class="bulk-auth-box">
|
|
<label>{{index .Text "bulk_api_key_label"}}
|
|
<input id="bulk-api-key" type="password" autocomplete="off" placeholder="{{index .Text "bulk_api_key_placeholder"}}">
|
|
<small>{{index .Text "bulk_api_key_help"}}</small>
|
|
</label>
|
|
</div>
|
|
{{end}}
|
|
|
|
<div class="bulk-two-column">
|
|
<div class="bulk-source-panel">
|
|
<label>{{index .Text "bulk_items_label"}}
|
|
<textarea id="bulk-items" rows="12" placeholder="{{index .Text "bulk_items_placeholder"}}"></textarea>
|
|
<small>{{index .Text "bulk_items_help"}}</small>
|
|
</label>
|
|
<div class="bulk-inline-actions">
|
|
<button type="button" class="button secondary" id="bulk-sample-items">{{index .Text "bulk_sample"}}</button>
|
|
<span id="bulk-item-count" class="bulk-counter">0 / {{.BulkMaxItems}}</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="bulk-profile-panel">
|
|
<h3>{{index .Text "bulk_profile_title"}}</h3>
|
|
<p>{{index .Text "bulk_profile_intro"}}</p>
|
|
<div class="bulk-profile-grid">
|
|
<label>{{index .Text "field_language"}}
|
|
<select id="bulk-output-language">{{range .Languages}}<option value="{{.Code}}" {{if eq $.Lang .Code}}selected{{end}}>{{.Name}}</option>{{end}}</select>
|
|
</label>
|
|
<label>{{index .Text "field_assurance"}}
|
|
<select id="bulk-assurance">{{range .Assurances}}<option value="{{.Value}}">{{.Label}}</option>{{end}}</select>
|
|
</label>
|
|
|
|
<div class="bulk-component-row"><strong>Text</strong><select id="bulk-text-extent">{{range .Extents}}<option value="{{.Value}}" {{if eq .Value "none"}}selected{{end}}>{{.Label}}</option>{{end}}</select><select id="bulk-text-review">{{range .Reviews}}<option value="{{.Value}}" {{if eq .Value "none"}}selected{{end}}>{{.Label}}</option>{{end}}</select></div>
|
|
<div class="bulk-component-row"><strong>{{index .Text "bulk_cover_image"}}</strong><select id="bulk-cover-extent">{{range .Extents}}<option value="{{.Value}}" {{if eq .Value "none"}}selected{{end}}>{{.Label}}</option>{{end}}</select><select id="bulk-cover-review">{{range .Reviews}}<option value="{{.Value}}" {{if eq .Value "none"}}selected{{end}}>{{.Label}}</option>{{end}}</select></div>
|
|
<div class="bulk-component-row"><strong>{{index .Text "bulk_images"}}</strong><select id="bulk-image-extent">{{range .Extents}}<option value="{{.Value}}" {{if eq .Value "none"}}selected{{end}}>{{.Label}}</option>{{end}}</select><select id="bulk-image-review">{{range .Reviews}}<option value="{{.Value}}" {{if eq .Value "none"}}selected{{end}}>{{.Label}}</option>{{end}}</select></div>
|
|
<div class="bulk-component-row"><strong>{{index .Text "bulk_research"}}</strong><select id="bulk-research-extent">{{range .Extents}}<option value="{{.Value}}" {{if eq .Value "assisted"}}selected{{end}}>{{.Label}}</option>{{end}}</select><select id="bulk-research-review">{{range .Reviews}}<option value="{{.Value}}" {{if eq .Value "editorial"}}selected{{end}}>{{.Label}}</option>{{end}}</select></div>
|
|
<div class="bulk-component-row"><strong>{{index .Text "bulk_translation"}}</strong><select id="bulk-translation-extent">{{range .Extents}}<option value="{{.Value}}" {{if eq .Value "none"}}selected{{end}}>{{.Label}}</option>{{end}}</select><select id="bulk-translation-review">{{range .Reviews}}<option value="{{.Value}}" {{if eq .Value "none"}}selected{{end}}>{{.Label}}</option>{{end}}</select></div>
|
|
<div class="bulk-component-row"><strong>Code</strong><select id="bulk-code-extent">{{range .Extents}}<option value="{{.Value}}" {{if eq .Value "none"}}selected{{end}}>{{.Label}}</option>{{end}}</select><select id="bulk-code-review">{{range .Reviews}}<option value="{{.Value}}" {{if eq .Value "none"}}selected{{end}}>{{.Label}}</option>{{end}}</select></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<details class="bulk-legal-details">
|
|
<summary>{{index .Text "bulk_article50_title"}}</summary>
|
|
<div class="legal-check-grid bulk-legal-grid">
|
|
<label class="check-card"><input id="bulk-public-interest" type="checkbox"><span><strong>{{index .Text "field_public_interest_text"}}</strong></span></label>
|
|
<label class="check-card"><input id="bulk-deepfake" type="checkbox"><span><strong>{{index .Text "field_deepfake"}}</strong></span></label>
|
|
<label class="check-card"><input id="bulk-substantial-review" type="checkbox"><span><strong>{{index .Text "field_substantial_review"}}</strong></span></label>
|
|
<label class="check-card"><input id="bulk-editorial-responsibility" type="checkbox"><span><strong>{{index .Text "field_editorial_responsibility_confirmed"}}</strong></span></label>
|
|
<label class="check-card"><input id="bulk-first-exposure" type="checkbox"><span><strong>{{index .Text "field_first_exposure"}}</strong></span></label>
|
|
<label class="check-card"><input id="bulk-accessibility" type="checkbox"><span><strong>{{index .Text "field_accessibility"}}</strong></span></label>
|
|
</div>
|
|
<div class="bulk-profile-grid bulk-responsibility-grid">
|
|
<label>{{index .Text "field_responsible_name"}}<input id="bulk-responsible" type="text"></label>
|
|
<label>{{index .Text "field_responsible_url"}}<input id="bulk-responsible-url" type="url"></label>
|
|
</div>
|
|
</details>
|
|
|
|
<div class="bulk-primary-actions">
|
|
<button type="button" id="bulk-run" {{if not .BulkAPI}}disabled{{end}}>{{index .Text "bulk_run"}}</button>
|
|
<span id="bulk-run-status" role="status" aria-live="polite"></span>
|
|
</div>
|
|
</section>
|
|
|
|
<section id="advanced" class="panel bulk-advanced">
|
|
<p class="eyebrow">{{index .Text "bulk_advanced_eyebrow"}}</p>
|
|
<h2>{{index .Text "bulk_advanced_title"}}</h2>
|
|
<p>{{index .Text "bulk_advanced_intro"}}</p>
|
|
<label>{{index .Text "bulk_json_label"}}
|
|
<textarea id="bulk-json" class="bulk-json-editor" rows="16"></textarea>
|
|
</label>
|
|
<div class="bulk-inline-actions">
|
|
<button type="button" class="button secondary" id="bulk-json-sample">{{index .Text "bulk_json_sample"}}</button>
|
|
<button type="button" id="bulk-json-run" {{if not .BulkAPI}}disabled{{end}}>{{index .Text "bulk_json_run"}}</button>
|
|
</div>
|
|
</section>
|
|
|
|
<section id="results" class="panel bulk-results" hidden>
|
|
<div class="section-heading-row bulk-section-heading">
|
|
<div>
|
|
<p class="eyebrow">{{index .Text "bulk_results_eyebrow"}}</p>
|
|
<h2>{{index .Text "bulk_results_title"}}</h2>
|
|
</div>
|
|
<div class="bulk-inline-actions">
|
|
<button type="button" class="button secondary" id="bulk-copy-json">{{index .Text "bulk_copy_json"}}</button>
|
|
<button type="button" class="button secondary" id="bulk-download-json">{{index .Text "bulk_download_json"}}</button>
|
|
<button type="button" class="button secondary" id="bulk-download-csv">{{index .Text "bulk_download_csv"}}</button>
|
|
</div>
|
|
</div>
|
|
<div id="bulk-result-summary" class="bulk-result-summary"></div>
|
|
<div class="bulk-table-wrap">
|
|
<table class="bulk-result-table">
|
|
<thead><tr><th>{{index .Text "bulk_col_id"}}</th><th>{{index .Text "bulk_col_status"}}</th><th>{{index .Text "bulk_col_assessment"}}</th><th>{{index .Text "bulk_col_links"}}</th></tr></thead>
|
|
<tbody id="bulk-result-body"></tbody>
|
|
</table>
|
|
</div>
|
|
<details class="bulk-raw-result"><summary>{{index .Text "bulk_raw_result"}}</summary><pre id="bulk-result-json"></pre></details>
|
|
</section>
|
|
</main>
|
|
|
|
<footer>
|
|
<span>{{if .WhiteLabel}}{{.Name}}{{else}}UCNG{{end}} · {{index .Text "bulk_footer_note"}}</span>
|
|
<span><a href="/legal?lang={{.Lang}}">{{legalLabel .Lang "legal"}}</a> · <a href="/privacy?lang={{.Lang}}">{{legalLabel .Lang "privacy"}}</a> · <a href="/accessibility?lang={{.Lang}}">{{legalLabel .Lang "accessibility"}}</a></span>
|
|
</footer>
|
|
<script>window.BULK_CONFIG={{.AppConfig}};</script>
|
|
<script src="/static/bulk.js" defer></script>
|
|
</body>
|
|
</html>
|
|
{{end}}
|