fixes + theme
This commit is contained in:
1 parent
5af49655d6
commit
22f73ab3b9
25 files changed
+1004
-206
No files matched your search
@@ -164,6 +164,25 @@
|
||||
border-color: var(--t-accent);
|
||||
}
|
||||
|
||||
/* ── Detail-sidebar button (icon-only, sits next to the "group" label) ── */
|
||||
#detail-sidebar .slideshow-present-btn-sidebar {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-left: 4px;
|
||||
color: var(--t-muted);
|
||||
border: 1px solid var(--t-border);
|
||||
background: transparent;
|
||||
cursor: pointer;
|
||||
transition: all 0.15s;
|
||||
}
|
||||
#detail-sidebar .slideshow-present-btn-sidebar:hover {
|
||||
color: var(--t-accent);
|
||||
border-color: var(--t-accent);
|
||||
}
|
||||
|
||||
/* ── Hotspot editor ── */
|
||||
#slideshow-editor.hidden { display: none; }
|
||||
#slideshow-editor[disabled], #slideshow-editor [disabled] { opacity: 0.4; pointer-events: none; }
|
||||
|
||||
@@ -60,11 +60,11 @@
|
||||
<span id="slideshow-gp-count" class="font-pixel text-[9px] text-t-dim"></span>
|
||||
<div class="flex-1"></div>
|
||||
<button id="slideshow-gp-upload" class="flex items-center gap-1.5 px-2.5 py-1 text-xs border border-t-border text-t-muted hover:border-t-accent hover:text-t-accent transition-colors">
|
||||
<i class="ph ph-upload-simple text-sm"></i><span class="font-pixel text-[10px]">upload</span>
|
||||
<i class="ph ph-upload-simple text-sm"></i><span class="font-pixel text-[10px]">Upload</span>
|
||||
</button>
|
||||
<input type="file" id="slideshow-gp-file" accept="image/*" multiple class="hidden">
|
||||
<button id="slideshow-gp-cancel" class="flex items-center gap-1.5 px-2.5 py-1 text-xs border border-t-border text-t-muted hover:border-t-danger hover:text-t-danger transition-colors">
|
||||
<i class="ph ph-x text-sm"></i><span class="font-pixel text-[10px]">cancel</span>
|
||||
<i class="ph ph-x text-sm"></i><span class="font-pixel text-[10px]">Cancel</span>
|
||||
</button>
|
||||
</div>
|
||||
<div id="slideshow-gp-grid" class="flex-1 min-h-0 p-4 grid gap-3 content-start select-none" style="overflow:auto;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));"></div>
|
||||
@@ -79,9 +79,9 @@
|
||||
<span class="font-pixel text-[10px] text-t-accent">hotspot target</span>
|
||||
</div>
|
||||
<div class="flex flex-col gap-1 p-3 border-b border-t-border shrink-0">
|
||||
<button data-pick-target="slide:next" class="slideshow-pick-row"><i class="ph ph-caret-right text-sm"></i><span>next slide</span></button>
|
||||
<button data-pick-target="slide:prev" class="slideshow-pick-row"><i class="ph ph-caret-left text-sm"></i><span>previous slide</span></button>
|
||||
<button data-pick-target="slide:first" class="slideshow-pick-row"><i class="ph ph-skip-back text-sm"></i><span>first slide</span></button>
|
||||
<button data-pick-target="slide:next" class="slideshow-pick-row"><i class="ph ph-caret-right text-sm"></i><span>Next slide</span></button>
|
||||
<button data-pick-target="slide:prev" class="slideshow-pick-row"><i class="ph ph-caret-left text-sm"></i><span>Previous slide</span></button>
|
||||
<button data-pick-target="slide:first" class="slideshow-pick-row"><i class="ph ph-skip-back text-sm"></i><span>First slide</span></button>
|
||||
</div>
|
||||
<div class="px-3 py-2 shrink-0 border-b border-t-border">
|
||||
<input id="slideshow-pick-search" type="text" placeholder="search cards…" class="w-full bg-t-bg border border-t-border text-t-text text-xs" style="padding:4px 8px;border-radius:3px;">
|
||||
|
||||
@@ -306,6 +306,31 @@ if (groupBar) {
|
||||
injectGroupBarButton();
|
||||
}
|
||||
|
||||
// ── Detail-view sidebar button (shown when browsing a group card) ──
|
||||
|
||||
function injectDetailSidebarButton() {
|
||||
const sidebar = $('detail-sidebar');
|
||||
if (!sidebar) return;
|
||||
if (sidebar.querySelector('.slideshow-present-btn')) return;
|
||||
// Sidebar header is the first direct child div
|
||||
const header = sidebar.firstElementChild;
|
||||
if (!header) return;
|
||||
const btn = document.createElement('button');
|
||||
btn.className = 'slideshow-present-btn slideshow-present-btn-sidebar';
|
||||
btn.type = 'button';
|
||||
btn.title = 'present this group';
|
||||
btn.innerHTML = '<i class="ph ph-projector-screen text-sm"></i>';
|
||||
btn.addEventListener('click', async (e) => {
|
||||
e.stopPropagation();
|
||||
const pid = sidebar.dataset.groupId;
|
||||
if (pid) await startPresentationForGroup(pid);
|
||||
});
|
||||
header.appendChild(btn);
|
||||
}
|
||||
|
||||
if ($('detail-sidebar')) injectDetailSidebarButton();
|
||||
else document.addEventListener('DOMContentLoaded', injectDetailSidebarButton, { once: true });
|
||||
|
||||
// ── Hotspot editor ───────────────────────────────────────────────
|
||||
|
||||
const ed = {
|
||||
|
||||
Reference in new issue
Block a user