Timeline Zoom
This commit is contained in:
@@ -862,3 +862,25 @@ button {
|
|||||||
color: var(--muted);
|
color: var(--muted);
|
||||||
font-size: .88rem;
|
font-size: .88rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.timeline-zoom {
|
||||||
|
display: flex;
|
||||||
|
gap: 8px;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-zoom button {
|
||||||
|
background: var(--panel-2);
|
||||||
|
border: 1px solid var(--border);
|
||||||
|
color: var(--text);
|
||||||
|
padding: 9px 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-zoom button.active {
|
||||||
|
background: var(--accent);
|
||||||
|
border-color: var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-wrap {
|
||||||
|
--minute-width: 2px;
|
||||||
|
}
|
||||||
|
|||||||
@@ -135,4 +135,33 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
|
const timelineWrap = document.querySelector(".timeline-wrap");
|
||||||
|
const zoomButtons = document.querySelectorAll("[data-zoom]");
|
||||||
|
|
||||||
|
if (!timelineWrap || !zoomButtons.length) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const savedZoom = localStorage.getItem("tvguideTimelineZoom") || "2";
|
||||||
|
|
||||||
|
const applyZoom = (zoom) => {
|
||||||
|
timelineWrap.style.setProperty("--minute-width", `${zoom}px`);
|
||||||
|
|
||||||
|
zoomButtons.forEach((button) => {
|
||||||
|
button.classList.toggle("active", button.dataset.zoom === zoom);
|
||||||
|
});
|
||||||
|
|
||||||
|
localStorage.setItem("tvguideTimelineZoom", zoom);
|
||||||
|
};
|
||||||
|
|
||||||
|
zoomButtons.forEach((button) => {
|
||||||
|
button.addEventListener("click", () => {
|
||||||
|
applyZoom(button.dataset.zoom);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
applyZoom(savedZoom);
|
||||||
|
});
|
||||||
|
|
||||||
console.log('TVGuide loaded');
|
console.log('TVGuide loaded');
|
||||||
|
|||||||
@@ -84,6 +84,13 @@ foreach ($dayProgrammes as $channel) {
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="timeline-zoom">
|
||||||
|
<button type="button" data-zoom="1.2">Kompakt</button>
|
||||||
|
<button type="button" data-zoom="2" class="active">Normal</button>
|
||||||
|
<button type="button" data-zoom="3">Groß</button>
|
||||||
|
<button type="button" data-zoom="4">Extra</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="guide-search">
|
<div class="guide-search">
|
||||||
<input
|
<input
|
||||||
type="search"
|
type="search"
|
||||||
|
|||||||
Executable
+37
@@ -0,0 +1,37 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
echo "Verwendung: $0 \"Commit-Kommentar\""
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
COMMENT="$*"
|
||||||
|
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
echo ">>> Git Status"
|
||||||
|
git status --short
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo ">>> git add ."
|
||||||
|
git add .
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo ">>> git commit -m \"$COMMENT\""
|
||||||
|
|
||||||
|
# Nur committen, wenn es Änderungen gibt
|
||||||
|
if git diff --cached --quiet; then
|
||||||
|
echo "Keine Änderungen zum Commit vorhanden."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
git commit -m "$COMMENT"
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo ">>> git push"
|
||||||
|
git push
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "✅ Fertig."
|
||||||
Reference in New Issue
Block a user