Skip to content

Commit 47ba3f1

Browse files
committed
Adds a little fake scrubber for deep video links
1 parent 3f7e3a6 commit 47ba3f1

File tree

3 files changed

+24
-7
lines changed

3 files changed

+24
-7
lines changed

src/css/tailwind.css

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,20 @@ details[open] .summary-swap-open {
451451
.js .jamstacktv-js {
452452
display: none;
453453
}
454+
.jamstacktv-scrubber {
455+
position: absolute;
456+
bottom: 0;
457+
width: 100%;
458+
display: flex;
459+
align-items: flex-end;
460+
height: 1em;
461+
border-radius: 0 0 1em 1em;
462+
overflow: hidden;
463+
}
464+
.jamstacktv-scrubber > div {
465+
height: 4px;
466+
background-color: red;
467+
}
454468
/* purgecss end ignore */
455469

456470
@tailwind utilities;

src/site/_includes/layouts/base.njk

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@ ogimage: "/img/og/default-og-image.png"
3131
<meta property="twitter:image" content="{{ netlify.deployUrl }}{{ ogimage }}">
3232
<meta name="google-site-verification" content="i5IheizQ6X_M4jNqb_b7vbJrT34i_gvEg8Gxkq9IY_w" />
3333
<meta name="google-site-verification" content="WDIQ_1X8K7XIpPJ5G1Z8KnOqdSeYetPQB4EgoTLfIsc" />
34-
<script>
35-
if("classList" in document.documentElement) document.documentElement.classList.add("js");
36-
</script>
34+
<script type="module">document.documentElement.classList.add("js");</script>
3735
</head>
3836
<body class="bg-blue-900 text-blue-100 leading-relaxed antialiased">
3937
<svg width="0" height="0" aria-hidden="true" style="position: absolute;">

src/site/_includes/search-js.njk

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/algoliasearch-lite.umd.js" integrity="sha256-EXPXz4W6pQgfYY3yTpnDa3OH8/EPn16ciVsPQ/ypsjk=" crossorigin="anonymous"></script>
2-
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/instantsearch.production.min.js" integrity="sha256-LAGhRRdtVoD6RLo2qDQsU2mp+XVSciKRC8XPOBWmofM=" crossorigin="anonymous"></script>
3-
<script>
1+
<script type="module" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/algoliasearch-lite.umd.js" integrity="sha256-EXPXz4W6pQgfYY3yTpnDa3OH8/EPn16ciVsPQ/ypsjk=" crossorigin="anonymous"></script>
2+
<script type="module" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/instantsearch.production.min.js" integrity="sha256-LAGhRRdtVoD6RLo2qDQsU2mp+XVSciKRC8XPOBWmofM=" crossorigin="anonymous"></script>
3+
<script type="module">
44
const searchClient = algoliasearch('{{ algolia.appId }}', '{{ algolia.searchOnlyApiKey }}');
55
66
const search = instantsearch({
@@ -9,7 +9,9 @@ const search = instantsearch({
99
});
1010
1111
{% raw %}
12-
function pad(num) { return num < 10 ? `0${num}` : num; }
12+
function pad(num) {
13+
return num < 10 ? `0${num}` : num;
14+
}
1315
1416
function getDurationString(duration) {
1517
let secondsInOne = {
@@ -51,6 +53,8 @@ search.addWidgets([
5153
5254
if(start > 10) { // only show for deep links > 10 seconds
5355
obj.displayStartInline = `<span class="jamstacktv-time"><b></b><b></b>${getDurationString(start)} of</span>`;
56+
let scrubberWidth = Math.floor( 100 * item.caption.start / item.video.duration );
57+
obj.scrubberHtml = `<div class="jamstacktv-scrubber"><div style="width: ${scrubberWidth}%"></div></div>`;
5458
//obj._highlightResult.caption.content = `…${obj._highlightResult.caption.content}`;
5559
} else {
5660
obj.wrapperClass = "jamstacktv-no-skip";
@@ -64,6 +68,7 @@ search.addWidgets([
6468
<div class="aspect-ratio-youtube relative jamstacktv-card">
6569
<img src="{{ video.thumbnails.medium }}" alt="{{ video.title }}" class="jamstacktv-img absolute top-0 card-shadow bg-gradient-card-sunrise group-hover:card-shadow-sunrise">
6670
<span class="jamstacktv-duration">{{{ displayStartInline }}}{{ displayDuration }}</span>
71+
{{{ scrubberHtml }}}
6772
</div>
6873
<div class="col-span-2 jamstacktv-item {{ wrapperClass }}">
6974
<div class="jamstacktv-meta mb-1">

0 commit comments

Comments
 (0)