Update web/templates/entry_view.html
This commit is contained in:
@@ -25,8 +25,22 @@
|
|||||||
<button class="btn btn-lg btn-primary" {% if position >= count %}disabled{% endif %}>Next ›</button>
|
<button class="btn btn-lg btn-primary" {% if position >= count %}disabled{% endif %}>Next ›</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
<!-- Share button (copies Illustration + two spaces + Application) -->
|
||||||
|
<button id="share-btn" class="btn btn-lg btn-primary" type="button" title="Copy to clipboard" style="margin-left:6px;">
|
||||||
|
<span style="display:flex;align-items:center;gap:6px;">
|
||||||
|
<!-- iOS-like share icon (SVG) -->
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"
|
||||||
|
viewBox="0 0 16 16" aria-hidden="true" focusable="false" fill="currentColor">
|
||||||
|
<path d="M8 1a.5.5 0 0 1 .5.5V9a.5.5 0 0 1-1 0V1.5A.5.5 0 0 1 8 1z"/>
|
||||||
|
<path d="M5.646 3.646a.5.5 0 0 1 .708 0L8 5.293l1.646-1.647a.5.5 0 0 1 .708.708L8.354 6.354a.5.5 0 0 1-.708 0L5.646 4.354a.5.5 0 0 1 0-.708z"/>
|
||||||
|
<path d="M4.5 6A1.5 1.5 0 0 0 3 7.5v5A1.5 1.5 0 0 0 4.5 14h7A1.5 1.5 0 0 0 13 12.5v-5A1.5 1.5 0 0 0 11.5 6H10a.5.5 0 0 0 0 1h1.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-5a.5.5 0 0 1 .5-.5H6a.5.5 0 0 0 0-1H4.5z"/>
|
||||||
|
</svg>
|
||||||
|
Share
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
|
||||||
{% if user.is_authenticated and user.is_staff %}
|
{% if user.is_authenticated and user.is_staff %}
|
||||||
<a class="btn btn-outline" href="{% url 'entry_edit' entry.id %}">Unlock / Edit</a>
|
<a class="btn btn-outline" href="{% url 'entry_edit' entry.id %}">Edit</a>
|
||||||
<a class="btn btn-danger" href="{% url 'entry_delete' entry.id %}">Delete</a>
|
<a class="btn btn-danger" href="{% url 'entry_delete' entry.id %}">Delete</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
@@ -53,7 +67,7 @@
|
|||||||
<!-- ILLUSTRATION -->
|
<!-- ILLUSTRATION -->
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<div class="section-label">Illustration</div>
|
<div class="section-label">Illustration</div>
|
||||||
<div class="section-body lead-text">
|
<div class="section-body lead-text" id="illustration-text">
|
||||||
{{ entry.illustration|linebreaksbr|default:"—" }}
|
{{ entry.illustration|linebreaksbr|default:"—" }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -61,7 +75,7 @@
|
|||||||
<!-- APPLICATION -->
|
<!-- APPLICATION -->
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<div class="section-label">Application</div>
|
<div class="section-label">Application</div>
|
||||||
<div class="section-body lead-text">
|
<div class="section-body lead-text" id="application-text">
|
||||||
{{ entry.application|linebreaksbr|default:"—" }}
|
{{ entry.application|linebreaksbr|default:"—" }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -127,6 +141,14 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Toast for copy confirmation -->
|
||||||
|
<div id="copy-toast"
|
||||||
|
style="position:fixed;bottom:20px;left:50%;transform:translateX(-50%);
|
||||||
|
background:#333;color:#fff;padding:10px 16px;border-radius:6px;
|
||||||
|
font-size:14px;display:none;z-index:9999;">
|
||||||
|
The Illustration was copied to the clipboard
|
||||||
|
</div>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
.subject-pills{
|
.subject-pills{
|
||||||
display:flex;
|
display:flex;
|
||||||
@@ -150,4 +172,25 @@
|
|||||||
border-color:#c9def5;
|
border-color:#c9def5;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// Copy Illustration + two spaces + Application
|
||||||
|
(function () {
|
||||||
|
const btn = document.getElementById('share-btn');
|
||||||
|
if (!btn) return;
|
||||||
|
btn.addEventListener('click', function () {
|
||||||
|
const ill = (document.getElementById('illustration-text')?.innerText || '').trim();
|
||||||
|
const app = (document.getElementById('application-text')?.innerText || '').trim();
|
||||||
|
const text = ill + ' ' + app; // two spaces between
|
||||||
|
navigator.clipboard.writeText(text).then(() => {
|
||||||
|
const toast = document.getElementById('copy-toast');
|
||||||
|
if (!toast) return;
|
||||||
|
toast.style.display = 'block';
|
||||||
|
setTimeout(() => { toast.style.display = 'none'; }, 5000);
|
||||||
|
}).catch(err => {
|
||||||
|
alert('Failed to copy: ' + err);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
Reference in New Issue
Block a user