@gaulatti/giorgia 0.1.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +45 -0
- package/dist/carousels.d.ts +1 -0
- package/dist/carousels.js +65 -0
- package/dist/components/live-program/LiveProgram.d.ts +9 -0
- package/dist/components/live-program/LiveProgram.js +751 -0
- package/dist/components/live-program/assets.d.ts +14 -0
- package/dist/components/live-program/assets.js +14 -0
- package/dist/components/live-program/components/Marquee.d.ts +16 -0
- package/dist/components/live-program/components/Marquee.js +88 -0
- package/dist/components/live-program/components/MarqueeCurtain.d.ts +5 -0
- package/dist/components/live-program/components/MarqueeCurtain.js +30 -0
- package/dist/components/live-program/components/WorldClocks.d.ts +19 -0
- package/dist/components/live-program/components/WorldClocks.js +101 -0
- package/dist/components/live-program/components/slides/ArticleSlide.d.ts +14 -0
- package/dist/components/live-program/components/slides/ArticleSlide.js +32 -0
- package/dist/components/live-program/components/slides/CallsignSlide.d.ts +6 -0
- package/dist/components/live-program/components/slides/CallsignSlide.js +49 -0
- package/dist/components/live-program/components/slides/LiveEventSlide.d.ts +9 -0
- package/dist/components/live-program/components/slides/LiveEventSlide.js +86 -0
- package/dist/components/live-program/components/slides/slideStyles.d.ts +1 -0
- package/dist/components/live-program/components/slides/slideStyles.js +64 -0
- package/dist/components/live-program/events.d.ts +34 -0
- package/dist/components/live-program/events.js +167 -0
- package/dist/components/live-program/hooks/useSSE.d.ts +11 -0
- package/dist/components/live-program/hooks/useSSE.js +107 -0
- package/dist/components/live-program/i18n.d.ts +4 -0
- package/dist/components/live-program/i18n.js +305 -0
- package/dist/components/live-program/segments/ArticlesSegment.d.ts +6 -0
- package/dist/components/live-program/segments/ArticlesSegment.js +160 -0
- package/dist/components/live-program/segments/EarthquakeSegment.d.ts +16 -0
- package/dist/components/live-program/segments/EarthquakeSegment.js +130 -0
- package/dist/components/live-program/segments/LiveEventSegment.d.ts +4 -0
- package/dist/components/live-program/segments/LiveEventSegment.js +27 -0
- package/dist/components/live-program/segments/MarketsSegment.d.ts +12 -0
- package/dist/components/live-program/segments/MarketsSegment.js +76 -0
- package/dist/components/live-program/segments/WeatherSegment.d.ts +15 -0
- package/dist/components/live-program/segments/WeatherSegment.js +119 -0
- package/dist/components/live-program/segments/fetchLiveEvents.d.ts +20 -0
- package/dist/components/live-program/segments/fetchLiveEvents.js +76 -0
- package/dist/components/live-program/segments/index.d.ts +8 -0
- package/dist/components/live-program/segments/index.js +8 -0
- package/dist/components/live-program/segments/types.d.ts +23 -0
- package/dist/components/live-program/segments/types.js +1 -0
- package/dist/components/live-program/segments/usePlaylistEngine.d.ts +9 -0
- package/dist/components/live-program/segments/usePlaylistEngine.js +108 -0
- package/dist/components/live-program/utils/broadcastTime.d.ts +12 -0
- package/dist/components/live-program/utils/broadcastTime.js +33 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGD_jZtU.ttf +0 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGFPjZtU.ttf +0 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGGHiZtU.ttf +0 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGGHjZtU.ttf +0 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGIbkZtU.ttf +0 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGL_kZtU.ttf +0 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGMjkZtU.ttf +0 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGOHjZtU.ttf +0 -0
- package/dist/fonts/LDIcapOFNxEwR-Bd1O9uYNmnUQomAgE25imKSbHhROjLsZBWTSrQGOHkZtU.ttf +0 -0
- package/dist/fonts/SlGDmQSNjdsmc35JDF1K5E55YMjF_7DPuGi-2fRUAw.ttf +0 -0
- package/dist/fonts/SlGDmQSNjdsmc35JDF1K5E55YMjF_7DPuGi-6_RUAw.ttf +0 -0
- package/dist/fonts/SlGDmQSNjdsmc35JDF1K5E55YMjF_7DPuGi-DPNUAw.ttf +0 -0
- package/dist/fonts/SlGDmQSNjdsmc35JDF1K5E55YMjF_7DPuGi-NfNUAw.ttf +0 -0
- package/dist/fonts/SlGDmQSNjdsmc35JDF1K5E55YMjF_7DPuGi-a_NUAw.ttf +0 -0
- package/dist/fonts/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7c8R496.ttf +0 -0
- package/dist/fonts/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7dbR496.ttf +0 -0
- package/dist/fonts/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7diR496.ttf +0 -0
- package/dist/fonts/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7e8QI96.ttf +0 -0
- package/dist/fonts/SlGFmQSNjdsmc35JDF1K5GRwUjcdlttVFm-rI7eOQI96.ttf +0 -0
- package/dist/fonts/TK3_WkUHHAIjg75cFRf3bXL8LICs13FvgUE.ttf +0 -0
- package/dist/fonts/TK3_WkUHHAIjg75cFRf3bXL8LICs169vgUE.ttf +0 -0
- package/dist/fonts/TK3_WkUHHAIjg75cFRf3bXL8LICs18NvgUE.ttf +0 -0
- package/dist/fonts/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvgUE.ttf +0 -0
- package/dist/fonts/TK3_WkUHHAIjg75cFRf3bXL8LICs1xZogUE.ttf +0 -0
- package/dist/fonts/TK3_WkUHHAIjg75cFRf3bXL8LICs1y9ogUE.ttf +0 -0
- package/dist/fonts/fonts.css +378 -0
- package/dist/fonts/j8_16_LD37rqfuwxyIuaZhE6cRXOLtm2gfTGgQ.ttf +0 -0
- package/dist/fonts/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-BYipBw.ttf +0 -0
- package/dist/fonts/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-IYmpBw.ttf +0 -0
- package/dist/fonts/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-PYqpBw.ttf +0 -0
- package/dist/fonts/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-WYupBw.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oYiRNDM.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oZ8RNDM.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oZ8RdDM.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oZORNDM.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oabQ9DM.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05oaiQ9DM.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05ob8Q9DM.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05ob8RNDM.ttf +0 -0
- package/dist/fonts/jizMREVItHgc8qDIbSTKq4XkRiUawTk7f45UM9y05obVQ9DM.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduh8MKUBw.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhHMWUBw.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhLsSUBw.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhLsWUBw.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhcMWUBw.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhh8KUBw.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhrsKUBw.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhrsWUBw.ttf +0 -0
- package/dist/fonts/jizOREVItHgc8qDIbSTKq4XkRg8T88bjFuXOnduhycKUBw.ttf +0 -0
- package/dist/homepage-distributor.d.ts +55 -0
- package/dist/homepage-distributor.js +68 -0
- package/dist/instagram-image-template.d.ts +9 -0
- package/dist/instagram-image-template.js +51 -0
- package/dist/live-program/main.d.ts +1 -0
- package/dist/live-program/main.js +10 -0
- package/dist/live-program-page/fifthbell/audio/pipes.ogg +0 -0
- package/dist/live-program-page/fifthbell/images/berlin.jpg +0 -0
- package/dist/live-program-page/fifthbell/images/fifthbell.png +0 -0
- package/dist/live-program-page/fifthbell/images/nyc.jpg +0 -0
- package/dist/live-program-page/fifthbell/images/nyse.jpg +0 -0
- package/dist/live-program-page/fifthbell/images/santiago.jpg +0 -0
- package/dist/live-program-page/fifthbell/images/seismograph.jpg +0 -0
- package/dist/live-program-page/fifthbell/images/tokyo.jpg +0 -0
- package/dist/live-program-page/index.html +16 -0
- package/dist/live-program-page/live-program.css +3 -0
- package/dist/live-program-page/live-program.js +76 -0
- package/dist/outlet-config.d.ts +29 -0
- package/dist/outlet-config.js +29 -0
- package/dist/renderer.browser.d.ts +2 -0
- package/dist/renderer.browser.js +132 -0
- package/dist/renderer.core.d.ts +9 -0
- package/dist/renderer.core.js +354 -0
- package/dist/renderer.d.ts +6 -0
- package/dist/renderer.js +4 -0
- package/dist/renderer.node.d.ts +16 -0
- package/dist/renderer.node.js +166 -0
- package/dist/types/canonical-article.d.ts +249 -0
- package/dist/types/canonical-article.js +236 -0
- package/dist/utils/sofascore.d.ts +3 -0
- package/dist/utils/sofascore.js +31 -0
- package/dist/version.d.ts +1 -0
- package/dist/version.js +4 -0
- package/package.json +89 -0
- package/src/partial-deps.json +53 -0
- package/src/styles/compiled.css +2 -0
- package/src/templates/layouts/404.hbs +5 -0
- package/src/templates/layouts/article-page.hbs +5 -0
- package/src/templates/layouts/category-page.hbs +5 -0
- package/src/templates/layouts/homepage.hbs +5 -0
- package/src/templates/layouts/link-in-bio.hbs +226 -0
- package/src/templates/layouts/live-story.hbs +5 -0
- package/src/templates/layouts/media-page.hbs +5 -0
- package/src/templates/layouts/search-page.hbs +5 -0
- package/src/templates/partials/blocks/audio.hbs +12 -0
- package/src/templates/partials/blocks/data-table.hbs +23 -0
- package/src/templates/partials/blocks/divider.hbs +1 -0
- package/src/templates/partials/blocks/heading.hbs +9 -0
- package/src/templates/partials/blocks/image.hbs +6 -0
- package/src/templates/partials/blocks/info-box.hbs +8 -0
- package/src/templates/partials/blocks/instagram.hbs +28 -0
- package/src/templates/partials/blocks/key-points.hbs +8 -0
- package/src/templates/partials/blocks/list.hbs +13 -0
- package/src/templates/partials/blocks/live-update.hbs +24 -0
- package/src/templates/partials/blocks/pull-quote.hbs +6 -0
- package/src/templates/partials/blocks/rich-text.hbs +1 -0
- package/src/templates/partials/blocks/tiktok.hbs +15 -0
- package/src/templates/partials/blocks/x.hbs +74 -0
- package/src/templates/partials/blocks/youtube.hbs +12 -0
- package/src/templates/partials/components/article-main.hbs +159 -0
- package/src/templates/partials/components/breaking-news/live-updates-column.hbs +29 -0
- package/src/templates/partials/components/breaking-news.hbs +56 -0
- package/src/templates/partials/components/category/header.hbs +5 -0
- package/src/templates/partials/components/category/main-grid.hbs +55 -0
- package/src/templates/partials/components/category/main.hbs +7 -0
- package/src/templates/partials/components/category/more-grid.hbs +26 -0
- package/src/templates/partials/components/editorial-hero.hbs +73 -0
- package/src/templates/partials/components/headline.hbs +15 -0
- package/src/templates/partials/components/hero-editorial.hbs +1 -0
- package/src/templates/partials/components/hero.hbs +1 -0
- package/src/templates/partials/components/home/landing.hbs +111 -0
- package/src/templates/partials/components/home/main.hbs +63 -0
- package/src/templates/partials/components/home/more-stories.hbs +23 -0
- package/src/templates/partials/components/home/must-read.hbs +77 -0
- package/src/templates/partials/components/live-story/main.hbs +229 -0
- package/src/templates/partials/components/media/main.hbs +220 -0
- package/src/templates/partials/components/not-found/main.hbs +28 -0
- package/src/templates/partials/components/search/main.hbs +420 -0
- package/src/templates/partials/components/snack.hbs +92 -0
- package/src/templates/partials/components/spotlight-hero.hbs +59 -0
- package/src/templates/partials/components/trending.hbs +14 -0
- package/src/templates/partials/components/ui/accordion.hbs +30 -0
- package/src/templates/partials/components/ui/breadcrumb.hbs +16 -0
- package/src/templates/partials/components/ui/icon-button.hbs +19 -0
- package/src/templates/partials/components/ui/loading-spinner.hbs +27 -0
- package/src/templates/partials/components/ui/pagination.hbs +56 -0
- package/src/templates/partials/components/ui/scroll-area.hbs +12 -0
- package/src/templates/partials/components/ui/status-badge.hbs +21 -0
- package/src/templates/partials/footers/footer-full.hbs +79 -0
- package/src/templates/partials/footers/footer-minimal.hbs +5 -0
- package/src/templates/partials/headers/header-main.hbs +400 -0
- package/src/templates/partials/headers/header-minimal.hbs +16 -0
- package/src/templates/partials/nav/nav-categories.hbs +5 -0
- package/src/templates/partials/shell/doc-end.hbs +282 -0
- package/src/templates/partials/shell/doc-start-404.hbs +41 -0
- package/src/templates/partials/shell/doc-start-standard.hbs +86 -0
- package/src/templates/templates/instagram-image.hbs +175 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
{{#*inline 'snackMetaImageRow'}}
|
|
2
|
+
{{#if category}}
|
|
3
|
+
<div class='w-full flex items-center justify-between {{#if metaTextSize}}{{metaTextSize}}{{else}}text-xs{{/if}} mb-2'>
|
|
4
|
+
<span class='text-[#8f0d00] dark:text-[#ff2e1a] uppercase font-bold tracking-wider'>{{category}}</span>
|
|
5
|
+
{{#if readTime}}
|
|
6
|
+
<span class='article-time text-slate-500 dark:text-slate-400'>{{readTime}}</span>
|
|
7
|
+
{{/if}}
|
|
8
|
+
</div>
|
|
9
|
+
{{else if (lookup categories 0)}}
|
|
10
|
+
{{#with (lookup categories 0)}}
|
|
11
|
+
<div class='w-full flex items-center justify-between {{#if ../metaTextSize}}{{../metaTextSize}}{{else}}text-xs{{/if}} mb-2'>
|
|
12
|
+
<span class='text-[#8f0d00] dark:text-[#ff2e1a] uppercase font-bold tracking-wider'>{{name}}</span>
|
|
13
|
+
{{#if ../readTime}}
|
|
14
|
+
<span class='article-time text-slate-500 dark:text-slate-400'>{{../readTime}}</span>
|
|
15
|
+
{{/if}}
|
|
16
|
+
</div>
|
|
17
|
+
{{/with}}
|
|
18
|
+
{{else if readTime}}
|
|
19
|
+
<div class='w-full flex items-center justify-end {{#if metaTextSize}}{{metaTextSize}}{{else}}text-xs{{/if}} mb-2'>
|
|
20
|
+
<span class='article-time text-slate-500 dark:text-slate-400'>{{readTime}}</span>
|
|
21
|
+
</div>
|
|
22
|
+
{{/if}}
|
|
23
|
+
{{/inline}}
|
|
24
|
+
|
|
25
|
+
{{#*inline 'snackMetaInline'}}
|
|
26
|
+
{{#if category}}
|
|
27
|
+
<div class='flex items-center {{#if metaTextSize}}{{metaTextSize}}{{else}}text-xs{{/if}} mb-2'>
|
|
28
|
+
<span class='text-[#8f0d00] dark:text-[#ff2e1a] uppercase font-bold tracking-wider'>{{category}}</span>
|
|
29
|
+
{{#if readTime}}
|
|
30
|
+
<span class='mx-2 text-slate-400 dark:text-slate-500'>•</span>
|
|
31
|
+
<span class='article-time text-slate-500 dark:text-slate-400'>{{readTime}}</span>
|
|
32
|
+
{{/if}}
|
|
33
|
+
</div>
|
|
34
|
+
{{else if (lookup categories 0)}}
|
|
35
|
+
{{#with (lookup categories 0)}}
|
|
36
|
+
<div class='flex items-center {{#if ../metaTextSize}}{{../metaTextSize}}{{else}}text-xs{{/if}} mb-2'>
|
|
37
|
+
<span class='text-[#8f0d00] dark:text-[#ff2e1a] uppercase font-bold tracking-wider'>{{name}}</span>
|
|
38
|
+
{{#if ../readTime}}
|
|
39
|
+
<span class='mx-2 text-slate-400 dark:text-slate-500'>•</span>
|
|
40
|
+
<span class='article-time text-slate-500 dark:text-slate-400'>{{../readTime}}</span>
|
|
41
|
+
{{/if}}
|
|
42
|
+
</div>
|
|
43
|
+
{{/with}}
|
|
44
|
+
{{else if readTime}}
|
|
45
|
+
<div class='flex items-center {{#if metaTextSize}}{{metaTextSize}}{{else}}text-xs{{/if}} mb-2'>
|
|
46
|
+
<span class='article-time text-slate-500 dark:text-slate-400'>{{readTime}}</span>
|
|
47
|
+
</div>
|
|
48
|
+
{{/if}}
|
|
49
|
+
{{/inline}}
|
|
50
|
+
|
|
51
|
+
<article class='{{#if className}}flex flex-col h-full {{className}} items-stretch{{else}}flex flex-col h-full py-4 border-t border-slate-100 dark:border-slate-800 items-stretch{{/if}}'>
|
|
52
|
+
{{#unless (eq showImage false)}}
|
|
53
|
+
{{#if image}}
|
|
54
|
+
{{> snackMetaImageRow}}
|
|
55
|
+
{{else if featuredImage.url}}
|
|
56
|
+
{{> snackMetaImageRow}}
|
|
57
|
+
{{/if}}
|
|
58
|
+
{{/unless}}
|
|
59
|
+
|
|
60
|
+
<div class='{{#if (eq showImage false)}}flex flex-col h-full{{else if image}}flex items-start gap-4{{else if featuredImage.url}}flex items-start gap-4{{else}}flex flex-col h-full{{/if}}'>
|
|
61
|
+
<div class='flex-1'>
|
|
62
|
+
{{#if (eq showImage false)}}
|
|
63
|
+
{{> snackMetaInline}}
|
|
64
|
+
{{else if image}}
|
|
65
|
+
{{else if featuredImage.url}}
|
|
66
|
+
{{else}}
|
|
67
|
+
{{> snackMetaInline}}
|
|
68
|
+
{{/if}}
|
|
69
|
+
|
|
70
|
+
<h3 class='{{#if titleFontWeight}}{{titleFontWeight}}{{else}}font-bold{{/if}} {{#if titleTextSize}}{{titleTextSize}}{{else}}text-lg{{/if}} leading-snug text-slate-900 dark:text-slate-100 {{#if titleClasses}}{{titleClasses}}{{else}}font-encode{{/if}}'>
|
|
71
|
+
<a href='{{url}}' class='hover:text-[#8f0d00] dark:hover:text-[#ff2e1a] transition-colors'>{{title}}</a>
|
|
72
|
+
</h3>
|
|
73
|
+
{{#unless (eq showExcerpt false)}}
|
|
74
|
+
{{#if excerpt}}
|
|
75
|
+
<p class='text-slate-500 dark:text-slate-400 {{#if excerptTextSize}}{{excerptTextSize}}{{else}}text-lg{{/if}} {{#if excerptClasses}}{{excerptClasses}}{{else}}font-serif leading-relaxed line-clamp-3{{/if}}'>{{excerpt}}</p>
|
|
76
|
+
{{/if}}
|
|
77
|
+
{{/unless}}
|
|
78
|
+
</div>
|
|
79
|
+
|
|
80
|
+
{{#unless (eq showImage false)}}
|
|
81
|
+
{{#if image}}
|
|
82
|
+
<a href='{{url}}' class='{{#if imageSize}}{{imageSize}}{{else}}w-32 h-24{{/if}} flex-shrink-0 block'>
|
|
83
|
+
<img src='{{image}}' alt='{{alt}}' class='w-full h-full object-cover rounded {{#if imageClasses}}{{imageClasses}}{{/if}}' />
|
|
84
|
+
</a>
|
|
85
|
+
{{else if featuredImage.url}}
|
|
86
|
+
<a href='{{url}}' class='{{#if imageSize}}{{imageSize}}{{else}}w-32 h-24{{/if}} flex-shrink-0 block'>
|
|
87
|
+
<img src='{{featuredImage.url}}' alt='{{featuredImage.alt}}' class='w-full h-full object-cover rounded {{#if imageClasses}}{{imageClasses}}{{/if}}' />
|
|
88
|
+
</a>
|
|
89
|
+
{{/if}}
|
|
90
|
+
{{/unless}}
|
|
91
|
+
</div>
|
|
92
|
+
</article>
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<section class='spotlight-hero relative w-full min-h-[800px] md:min-h-[900px] bg-[#0C0C0C] overflow-hidden' data-carousel='spotlight'>
|
|
2
|
+
<div class='carousel-background absolute inset-0 w-full h-full'>
|
|
3
|
+
{{#if slides}}
|
|
4
|
+
{{#each slides}}
|
|
5
|
+
<div class='carousel-slide {{#if @first}}active opacity-100{{else}}hidden opacity-0{{/if}} absolute inset-0 bg-cover bg-center transition-opacity duration-700' style='background-image: radial-gradient(71.75% 69.5% at 50% 47.39%, rgba(0, 0, 0, 0) 0%, #000000 100%), url({{image}});'></div>
|
|
6
|
+
{{/each}}
|
|
7
|
+
{{else if hero.url}}
|
|
8
|
+
<div class='carousel-slide active opacity-100 absolute inset-0 bg-cover bg-center transition-opacity duration-700' style='background-image: radial-gradient(71.75% 69.5% at 50% 47.39%, rgba(0, 0, 0, 0) 0%, #000000 100%), url({{hero.url}});'></div>
|
|
9
|
+
{{else}}
|
|
10
|
+
<div class='carousel-slide active opacity-100 absolute inset-0 bg-cover bg-center transition-opacity duration-700' style='background-image: radial-gradient(71.75% 69.5% at 50% 47.39%, rgba(0, 0, 0, 0) 0%, #000000 100%), url(https://images.unsplash.com/photo-1586348943529-beaae6c28db9?w=1440&h=882&fit=crop);'></div>
|
|
11
|
+
{{/if}}
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
<div class='absolute bottom-0 left-0 right-0 h-[200px] pointer-events-none' style='background: linear-gradient(180deg, rgba(3, 7, 18, 0) 0%, var(--color-slate-950) 46.88%);'></div>
|
|
15
|
+
|
|
16
|
+
<div class='container mx-auto relative py-12 md:py-20 px-4 flex flex-col justify-end min-h-[800px] md:min-h-[900px]'>
|
|
17
|
+
<div class='absolute right-0 top-20 flex items-center gap-4'>
|
|
18
|
+
{{#if slides}}
|
|
19
|
+
{{#each slides}}
|
|
20
|
+
<button class='carousel-dot w-3 h-3 rounded-full {{#if @first}}active{{/if}}' data-slide='{{@index}}' aria-label='Go to slide {{add @index 1}}'></button>
|
|
21
|
+
{{/each}}
|
|
22
|
+
{{else}}
|
|
23
|
+
<button class='carousel-dot w-3 h-3 rounded-full active' data-slide='0' aria-label='Go to slide 1'></button>
|
|
24
|
+
{{/if}}
|
|
25
|
+
<button class='carousel-next w-10 h-10 flex items-center justify-center' aria-label='Next slide'>
|
|
26
|
+
<svg width='15' height='27' viewBox='0 0 15 27' fill='none'>
|
|
27
|
+
<path d='M1.5 1.5L13.5 13.5L1.5 25.5' stroke='#FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'></path>
|
|
28
|
+
</svg>
|
|
29
|
+
</button>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<div class='w-full max-w-[592px] border-l border-white pl-4 md:pl-10 flex flex-col gap-4 md:gap-6 mb-8 md:mb-12'>
|
|
33
|
+
<h1 class='text-3xl md:text-[44px] leading-tight md:leading-[56px] font-normal text-white font-sans'>
|
|
34
|
+
<a href='{{articleUrl slug=slug categories=categories language=@root.language}}' class='hover:text-slate-300 transition-colors'>{{title}}</a>
|
|
35
|
+
</h1>
|
|
36
|
+
<p class='text-xl md:text-2xl leading-7 md:leading-8 text-white self-stretch font-serif'>{{excerpt}}</p>
|
|
37
|
+
<a href='{{articleUrl slug=slug categories=categories language=@root.language}}' class='border border-[#717273] rounded-md px-4 py-[11px] h-11 flex items-center justify-center whitespace-nowrap self-start hover:bg-white/10 transition-colors'>
|
|
38
|
+
<span class='text-white text-base font-medium leading-[22px] font-sans'>Read More</span>
|
|
39
|
+
</a>
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
<div class='w-full flex flex-col gap-6'>
|
|
43
|
+
<div class='grid grid-cols-2 lg:grid-cols-4 gap-4 lg:gap-6'>
|
|
44
|
+
{{#each (slice related 0 4)}}
|
|
45
|
+
{{> components/headline
|
|
46
|
+
url=url
|
|
47
|
+
title=title
|
|
48
|
+
time=(formatDate (coalesce updatedAt publishedAt))
|
|
49
|
+
timestamp=(coalesce updatedAt publishedAt)
|
|
50
|
+
image=image
|
|
51
|
+
featuredImage=featuredImage
|
|
52
|
+
titleClass='text-sm lg:text-base leading-tight lg:leading-[22px] font-medium text-[#F9FAFB] font-sans'
|
|
53
|
+
imageFallbackBgClass='bg-slate-700'
|
|
54
|
+
}}
|
|
55
|
+
{{/each}}
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
</section>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<div class='container mx-auto px-4 flex justify-around'>
|
|
2
|
+
<section class='inline-flex mx-auto my-6 gap-15 overflow-x-auto whitespace-nowrap scrollbar-thin scrollbar-thumb-slate-300 scrollbar-track-transparent'>
|
|
3
|
+
<article class='gap-1 flex items-center flex-none'>
|
|
4
|
+
<div class='flex flex-row items-center'>
|
|
5
|
+
<span class='h-2 w-2 rounded-full bg-[#b21100] mr-2'></span>
|
|
6
|
+
<span class='text-[#8f0d00] font-medium mr-1'>En vivo</span>
|
|
7
|
+
</div>
|
|
8
|
+
<span class='text-[#121212]'>Clásico Universitario</span>
|
|
9
|
+
</article>
|
|
10
|
+
<article class='gap-2 flex font-normal items-center flex-none'>Trending Up: Apagón en España</article>
|
|
11
|
+
<article class='gap-2 flex font-normal items-center flex-none'>Trending Up: Copa Libertadores</article>
|
|
12
|
+
<article class='gap-2 flex font-normal items-center flex-none'>Trending Up: Terremoto en Magallanes</article>
|
|
13
|
+
</section>
|
|
14
|
+
</div>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<div class='border border-slate-200 dark:border-slate-800 {{#if className}}{{className}}{{/if}}'>
|
|
2
|
+
{{#each items}}
|
|
3
|
+
<details class='group border-b border-slate-200 dark:border-slate-800 last:border-b-0' {{#if open}}open{{/if}}>
|
|
4
|
+
<summary class='flex cursor-pointer list-none items-start justify-between gap-6 px-6 py-5 marker:hidden [&::-webkit-details-marker]:hidden hover:bg-slate-50 dark:hover:bg-slate-900/50'>
|
|
5
|
+
<span class='flex min-w-0 flex-col'>
|
|
6
|
+
<span class='text-base font-semibold text-slate-900 dark:text-slate-100'>{{title}}</span>
|
|
7
|
+
{{#if subtitle}}
|
|
8
|
+
<span class='mt-1.5 text-sm text-slate-500 dark:text-slate-400'>{{subtitle}}</span>
|
|
9
|
+
{{/if}}
|
|
10
|
+
</span>
|
|
11
|
+
<span class='mt-1 shrink-0 text-slate-400 transition-transform duration-200 group-open:rotate-180 group-open:text-[#8f0d00] dark:group-open:text-[#ff2e1a]' aria-hidden='true'>
|
|
12
|
+
<svg viewBox='0 0 20 20' fill='currentColor' class='h-5 w-5'>
|
|
13
|
+
<path fill-rule='evenodd' d='M5.23 7.21a.75.75 0 0 1 1.06.02L10 11.17l3.71-3.94a.75.75 0 1 1 1.08 1.04l-4.25 4.5a.75.75 0 0 1-1.08 0l-4.25-4.5a.75.75 0 0 1 .02-1.06Z' clip-rule='evenodd'></path>
|
|
14
|
+
</svg>
|
|
15
|
+
</span>
|
|
16
|
+
</summary>
|
|
17
|
+
<div class='grid grid-rows-[0fr] transition-[grid-template-rows] duration-200 group-open:grid-rows-[1fr]'>
|
|
18
|
+
<div class='overflow-hidden'>
|
|
19
|
+
<div class='border-l-2 border-[#b21100] dark:border-[#ff2e1a] mx-6 mb-6 mt-1 pl-5 pb-1 text-sm leading-relaxed text-slate-700 dark:text-slate-300'>
|
|
20
|
+
{{#if html}}
|
|
21
|
+
{{{html}}}
|
|
22
|
+
{{else}}
|
|
23
|
+
{{{content}}}
|
|
24
|
+
{{/if}}
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</details>
|
|
29
|
+
{{/each}}
|
|
30
|
+
</div>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<nav aria-label='Breadcrumb' class='{{#if className}}{{className}}{{/if}}'>
|
|
2
|
+
<ol class='inline-flex flex-wrap items-center text-sm py-1'>
|
|
3
|
+
{{#each items}}
|
|
4
|
+
<li class='inline-flex items-center'>
|
|
5
|
+
{{#if @last}}
|
|
6
|
+
<span aria-current='page' class='font-semibold text-slate-900 dark:text-slate-100 px-1.5'>{{label}}</span>
|
|
7
|
+
{{else}}
|
|
8
|
+
<a href='{{coalesce url href}}' class='px-1.5 text-slate-500 transition-colors hover:text-[#8f0d00] dark:text-slate-400 dark:hover:text-[#ff2e1a]'>
|
|
9
|
+
{{label}}
|
|
10
|
+
</a>
|
|
11
|
+
<span class='text-slate-300 dark:text-slate-600 select-none font-light' aria-hidden='true'>/</span>
|
|
12
|
+
{{/if}}
|
|
13
|
+
</li>
|
|
14
|
+
{{/each}}
|
|
15
|
+
</ol>
|
|
16
|
+
</nav>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{{#if href}}
|
|
2
|
+
<a
|
|
3
|
+
href='{{href}}'
|
|
4
|
+
class='inline-flex items-center justify-center rounded-full w-9 h-9 border border-slate-200 dark:border-slate-700 bg-white dark:bg-slate-900 text-slate-600 dark:text-slate-300 transition-colors hover:border-[#b21100] hover:text-[#8f0d00] dark:hover:border-[#ff2e1a] dark:hover:text-[#ff2e1a] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[#b21100] {{#if className}}{{className}}{{/if}}'
|
|
5
|
+
{{#if title}}title='{{title}}'{{/if}}
|
|
6
|
+
{{#if ariaLabel}}aria-label='{{ariaLabel}}'{{/if}}
|
|
7
|
+
>
|
|
8
|
+
{{{icon}}}
|
|
9
|
+
</a>
|
|
10
|
+
{{else}}
|
|
11
|
+
<button
|
|
12
|
+
type='{{coalesce type "button"}}'
|
|
13
|
+
class='inline-flex items-center justify-center rounded-full w-9 h-9 border border-slate-200 dark:border-slate-700 bg-white dark:bg-slate-900 text-slate-600 dark:text-slate-300 transition-colors hover:border-[#b21100] hover:text-[#8f0d00] dark:hover:border-[#ff2e1a] dark:hover:text-[#ff2e1a] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[#b21100] {{#if className}}{{className}}{{/if}}'
|
|
14
|
+
{{#if title}}title='{{title}}'{{/if}}
|
|
15
|
+
{{#if ariaLabel}}aria-label='{{ariaLabel}}'{{/if}}
|
|
16
|
+
>
|
|
17
|
+
{{{icon}}}
|
|
18
|
+
</button>
|
|
19
|
+
{{/if}}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<div class='inline-flex items-center justify-center gap-2 {{#if className}}{{className}}{{/if}}' role='status' aria-live='polite'>
|
|
2
|
+
{{#if (eq size "sm")}}
|
|
3
|
+
<svg viewBox='0 0 24 24' class='h-4 w-4 text-[#8f0d00] dark:text-[#ff2e1a]' fill='none' aria-hidden='true'>
|
|
4
|
+
<circle cx='12' cy='12' r='9' stroke='currentColor' stroke-width='2' opacity='0.15'/>
|
|
5
|
+
<circle cx='12' cy='12' r='9' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-dasharray='16 40' fill='none'>
|
|
6
|
+
<animateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='0.75s' repeatCount='indefinite'/>
|
|
7
|
+
</circle>
|
|
8
|
+
</svg>
|
|
9
|
+
{{else}}
|
|
10
|
+
{{#if (eq size "lg")}}
|
|
11
|
+
<svg viewBox='0 0 24 24' class='h-12 w-12 text-[#8f0d00] dark:text-[#ff2e1a]' fill='none' aria-hidden='true'>
|
|
12
|
+
<circle cx='12' cy='12' r='9' stroke='currentColor' stroke-width='2' opacity='0.15'/>
|
|
13
|
+
<circle cx='12' cy='12' r='9' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-dasharray='20 36' fill='none'>
|
|
14
|
+
<animateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='0.75s' repeatCount='indefinite'/>
|
|
15
|
+
</circle>
|
|
16
|
+
</svg>
|
|
17
|
+
{{else}}
|
|
18
|
+
<svg viewBox='0 0 24 24' class='h-8 w-8 text-[#8f0d00] dark:text-[#ff2e1a]' fill='none' aria-hidden='true'>
|
|
19
|
+
<circle cx='12' cy='12' r='9' stroke='currentColor' stroke-width='2' opacity='0.15'/>
|
|
20
|
+
<circle cx='12' cy='12' r='9' stroke='currentColor' stroke-width='2.25' stroke-linecap='round' stroke-dasharray='18 38' fill='none'>
|
|
21
|
+
<animateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='0.75s' repeatCount='indefinite'/>
|
|
22
|
+
</circle>
|
|
23
|
+
</svg>
|
|
24
|
+
{{/if}}
|
|
25
|
+
{{/if}}
|
|
26
|
+
<span class='sr-only'>{{coalesce label "Loading"}}</span>
|
|
27
|
+
</div>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<nav aria-label='Pagination' class='flex items-center justify-center gap-6 {{#if className}}{{className}}{{/if}}'>
|
|
2
|
+
{{#if prev.url}}
|
|
3
|
+
<a
|
|
4
|
+
href='{{prev.url}}'
|
|
5
|
+
class='inline-flex items-center gap-1 text-sm font-medium text-slate-500 dark:text-slate-400 transition-colors hover:text-[#8f0d00] dark:hover:text-[#ff2e1a]'
|
|
6
|
+
aria-label='Previous page'
|
|
7
|
+
>
|
|
8
|
+
<svg viewBox='0 0 20 20' fill='currentColor' class='h-4 w-4' aria-hidden='true'><path fill-rule='evenodd' d='M11.78 5.22a.75.75 0 0 1 0 1.06L8.06 10l3.72 3.72a.75.75 0 1 1-1.06 1.06l-4.25-4.25a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0Z' clip-rule='evenodd'/></svg>
|
|
9
|
+
{{coalesce prev.label "Prev"}}
|
|
10
|
+
</a>
|
|
11
|
+
{{else}}
|
|
12
|
+
<span class='inline-flex items-center gap-1 text-sm font-medium text-slate-300 dark:text-slate-700' aria-disabled='true'>
|
|
13
|
+
<svg viewBox='0 0 20 20' fill='currentColor' class='h-4 w-4' aria-hidden='true'><path fill-rule='evenodd' d='M11.78 5.22a.75.75 0 0 1 0 1.06L8.06 10l3.72 3.72a.75.75 0 1 1-1.06 1.06l-4.25-4.25a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0Z' clip-rule='evenodd'/></svg>
|
|
14
|
+
{{coalesce prev.label "Prev"}}
|
|
15
|
+
</span>
|
|
16
|
+
{{/if}}
|
|
17
|
+
|
|
18
|
+
<ol class='flex items-center gap-0.5'>
|
|
19
|
+
{{#each pages}}
|
|
20
|
+
<li>
|
|
21
|
+
{{#if ellipsis}}
|
|
22
|
+
<span class='inline-flex h-9 w-9 items-center justify-center text-sm text-slate-400 dark:text-slate-500'>…</span>
|
|
23
|
+
{{else}}
|
|
24
|
+
{{#if current}}
|
|
25
|
+
<span aria-current='page' class='inline-flex h-9 w-9 items-center justify-center text-sm font-bold text-[#8f0d00] dark:text-[#ff2e1a] border-b-2 border-[#b21100] dark:border-[#ff2e1a]'>
|
|
26
|
+
{{label}}
|
|
27
|
+
</span>
|
|
28
|
+
{{else}}
|
|
29
|
+
<a
|
|
30
|
+
href='{{url}}'
|
|
31
|
+
class='inline-flex h-9 w-9 items-center justify-center text-sm font-medium text-slate-600 dark:text-slate-300 transition-colors hover:text-[#8f0d00] dark:hover:text-[#ff2e1a]'
|
|
32
|
+
>
|
|
33
|
+
{{label}}
|
|
34
|
+
</a>
|
|
35
|
+
{{/if}}
|
|
36
|
+
{{/if}}
|
|
37
|
+
</li>
|
|
38
|
+
{{/each}}
|
|
39
|
+
</ol>
|
|
40
|
+
|
|
41
|
+
{{#if next.url}}
|
|
42
|
+
<a
|
|
43
|
+
href='{{next.url}}'
|
|
44
|
+
class='inline-flex items-center gap-1 text-sm font-medium text-slate-500 dark:text-slate-400 transition-colors hover:text-[#8f0d00] dark:hover:text-[#ff2e1a]'
|
|
45
|
+
aria-label='Next page'
|
|
46
|
+
>
|
|
47
|
+
{{coalesce next.label "Next"}}
|
|
48
|
+
<svg viewBox='0 0 20 20' fill='currentColor' class='h-4 w-4' aria-hidden='true'><path fill-rule='evenodd' d='M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 1 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z' clip-rule='evenodd'/></svg>
|
|
49
|
+
</a>
|
|
50
|
+
{{else}}
|
|
51
|
+
<span class='inline-flex items-center gap-1 text-sm font-medium text-slate-300 dark:text-slate-700' aria-disabled='true'>
|
|
52
|
+
{{coalesce next.label "Next"}}
|
|
53
|
+
<svg viewBox='0 0 20 20' fill='currentColor' class='h-4 w-4' aria-hidden='true'><path fill-rule='evenodd' d='M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 1 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z' clip-rule='evenodd'/></svg>
|
|
54
|
+
</span>
|
|
55
|
+
{{/if}}
|
|
56
|
+
</nav>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<div
|
|
2
|
+
class='{{#if (eq orientation "both")}}overflow-auto{{else}}{{#if (eq orientation "horizontal")}}overflow-x-auto overflow-y-hidden{{else}}overflow-y-auto overflow-x-hidden{{/if}}{{/if}} [&::-webkit-scrollbar]:h-1.5 [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-slate-300 [&::-webkit-scrollbar-thumb:hover]:bg-slate-400 dark:[&::-webkit-scrollbar-thumb]:bg-slate-600 dark:[&::-webkit-scrollbar-thumb:hover]:bg-slate-500 {{#if className}}{{className}}{{/if}}'
|
|
3
|
+
{{#if maxHeight}}style='max-height: {{maxHeight}};'{{/if}}
|
|
4
|
+
>
|
|
5
|
+
{{#if content}}
|
|
6
|
+
{{{content}}}
|
|
7
|
+
{{else}}
|
|
8
|
+
{{#if @partial-block}}
|
|
9
|
+
{{> @partial-block}}
|
|
10
|
+
{{/if}}
|
|
11
|
+
{{/if}}
|
|
12
|
+
</div>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<span class='inline-flex items-baseline gap-3 {{#if className}}{{className}}{{/if}}'>
|
|
2
|
+
<span class='inline-flex items-center gap-1.5 border-l-2 pl-2 pr-3 py-0.5 text-xs font-semibold uppercase tracking-wider leading-5
|
|
3
|
+
{{#if (eq variant "live")}}border-emerald-500 bg-emerald-50 text-emerald-700 dark:bg-emerald-950/30 dark:text-emerald-300
|
|
4
|
+
{{else}}{{#if (eq variant "offline")}}border-slate-400 bg-slate-100 text-slate-600 dark:bg-slate-800/60 dark:text-slate-400
|
|
5
|
+
{{else}}{{#if (eq variant "warning")}}border-amber-500 bg-amber-50 text-amber-700 dark:bg-amber-950/30 dark:text-amber-400
|
|
6
|
+
{{else}}{{#if (eq variant "info")}}border-sky-500 bg-sky-50 text-sky-700 dark:bg-sky-950/30 dark:text-sky-400
|
|
7
|
+
{{else}}border-slate-400 bg-slate-100 text-slate-600 dark:bg-slate-800/60 dark:text-slate-400
|
|
8
|
+
{{/if}}{{/if}}{{/if}}{{/if}}'>
|
|
9
|
+
<span class='h-1.5 w-1.5 rounded-full flex-shrink-0
|
|
10
|
+
{{#if (eq variant "live")}}bg-emerald-500 animate-pulse
|
|
11
|
+
{{else}}{{#if (eq variant "offline")}}bg-slate-400
|
|
12
|
+
{{else}}{{#if (eq variant "warning")}}bg-amber-500
|
|
13
|
+
{{else}}{{#if (eq variant "info")}}bg-sky-500
|
|
14
|
+
{{else}}bg-slate-500
|
|
15
|
+
{{/if}}{{/if}}{{/if}}{{/if}}'></span>
|
|
16
|
+
<span>{{label}}</span>
|
|
17
|
+
</span>
|
|
18
|
+
{{#if description}}
|
|
19
|
+
<span class='text-xs leading-5 text-slate-500 dark:text-slate-400'>{{description}}</span>
|
|
20
|
+
{{/if}}
|
|
21
|
+
</span>
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
<footer
|
|
2
|
+
class='sticky top-[100vh] bg-slate-50 dark:bg-slate-900 border-t border-slate-200 dark:border-slate-800 mt-8 transition-colors'
|
|
3
|
+
style='view-transition-name: site-footer;'
|
|
4
|
+
>
|
|
5
|
+
<div class='container mx-auto px-4 py-6'>
|
|
6
|
+
<div class='flex flex-col md:grid md:grid-cols-3 items-center gap-4'>
|
|
7
|
+
<div class='flex items-center justify-center md:justify-start gap-3'>
|
|
8
|
+
<a
|
|
9
|
+
href='https://bsky.app/profile/fifthbell.com'
|
|
10
|
+
target='_blank'
|
|
11
|
+
rel='noopener noreferrer'
|
|
12
|
+
class='text-slate-600 dark:text-slate-400 hover:text-[#0085ff] dark:hover:text-[#0085ff] transition-colors'
|
|
13
|
+
aria-label='Follow us on Bluesky'
|
|
14
|
+
>
|
|
15
|
+
<svg class='w-5 h-5' viewBox='0 0 600 530' fill='currentColor'>
|
|
16
|
+
<path
|
|
17
|
+
d='M135.72 44.03c66.496 49.921 138.02 151.14 164.28 205.46 26.262-54.316 97.782-155.54 164.28-205.46 47.98-36.021 125.72-63.892 125.72 24.795 0 17.712-10.155 148.79-16.111 170.07-20.703 73.984-96.144 92.854-163.25 81.433 117.3 19.964 147.14 86.092 82.697 152.22-122.39 125.59-175.91-31.511-189.63-71.766-2.514-7.3797-3.6904-10.832-3.7077-7.8964-.0174-2.9357-1.1937.51669-3.7077 7.8964-13.714 40.255-67.233 197.36-189.63 71.766-64.444-66.128-34.605-132.26 82.697-152.22-67.108 11.421-142.55-7.4491-163.25-81.433-5.9562-21.282-16.111-152.36-16.111-170.07 0-88.687 77.742-60.816 125.72-24.795z'
|
|
18
|
+
></path>
|
|
19
|
+
</svg>
|
|
20
|
+
</a>
|
|
21
|
+
<a
|
|
22
|
+
href='https://x.com/thisisfifthbell'
|
|
23
|
+
target='_blank'
|
|
24
|
+
rel='noopener noreferrer'
|
|
25
|
+
class='text-slate-600 dark:text-slate-400 hover:text-[#000000] dark:hover:text-[#ffffff] transition-colors'
|
|
26
|
+
aria-label='Follow us on X (Twitter)'
|
|
27
|
+
>
|
|
28
|
+
<svg class='w-5 h-5' viewBox='0 0 24 24' fill='currentColor'>
|
|
29
|
+
<path
|
|
30
|
+
d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'
|
|
31
|
+
></path>
|
|
32
|
+
</svg>
|
|
33
|
+
</a>
|
|
34
|
+
<a
|
|
35
|
+
href='https://instagram.com/thisisfifthbell'
|
|
36
|
+
target='_blank'
|
|
37
|
+
rel='noopener noreferrer'
|
|
38
|
+
class='text-slate-600 dark:text-slate-400 hover:text-[#E4405F] dark:hover:text-[#E4405F] transition-colors'
|
|
39
|
+
aria-label='Follow us on Instagram'
|
|
40
|
+
>
|
|
41
|
+
<svg class='w-5 h-5' viewBox='0 0 24 24' fill='currentColor'>
|
|
42
|
+
<path
|
|
43
|
+
d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'
|
|
44
|
+
></path>
|
|
45
|
+
</svg>
|
|
46
|
+
</a>
|
|
47
|
+
<a
|
|
48
|
+
href='https://www.youtube.com/@thisisfifthbell'
|
|
49
|
+
target='_blank'
|
|
50
|
+
rel='noopener noreferrer'
|
|
51
|
+
class='text-slate-600 dark:text-slate-400 hover:text-[#FF0000] dark:hover:text-[#FF0000] transition-colors'
|
|
52
|
+
aria-label='Subscribe on YouTube'
|
|
53
|
+
>
|
|
54
|
+
<svg class='w-5 h-5' viewBox='0 0 24 24' fill='currentColor'>
|
|
55
|
+
<path
|
|
56
|
+
d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'
|
|
57
|
+
></path>
|
|
58
|
+
</svg>
|
|
59
|
+
</a>
|
|
60
|
+
</div>
|
|
61
|
+
|
|
62
|
+
<div class='flex items-center justify-center md:space-x-3'>
|
|
63
|
+
<div class='bg-slate-600 dark:bg-slate-700 text-slate-50 dark:text-slate-300 p-2 transition-colors'>
|
|
64
|
+
<svg class='w-5 h-5' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>
|
|
65
|
+
<path d='M10.268 21a2 2 0 0 0 3.464 0'></path>
|
|
66
|
+
<path d='M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326'></path>
|
|
67
|
+
<path d='M4 2C2.8 3.7 2 5.7 2 8'></path>
|
|
68
|
+
<path d='M22 8a10 10 0 0 0-2-6'></path>
|
|
69
|
+
</svg>
|
|
70
|
+
</div>
|
|
71
|
+
<span class='hidden md:inline text-slate-600 dark:text-slate-400 transition-colors'>fifth<span class='font-semibold'>bell</span></span>
|
|
72
|
+
</div>
|
|
73
|
+
|
|
74
|
+
<div class='flex items-center justify-center md:justify-end text-sm text-slate-600 dark:text-slate-400 transition-colors'>
|
|
75
|
+
<span>© 2026 fifth<b>bell</b>. All rights reserved.</span>
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
</footer>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<footer class='sticky top-[100vh] bg-slate-50 dark:bg-slate-900 border-t border-slate-200 dark:border-slate-800 mt-8 transition-colors' style='view-transition-name: site-footer;'>
|
|
2
|
+
<div class='container mx-auto px-4 py-6 text-center text-sm text-slate-600 dark:text-slate-400'>
|
|
3
|
+
<span>© 2026 fifth<b>bell</b>. All rights reserved.</span>
|
|
4
|
+
</div>
|
|
5
|
+
</footer>
|