Do you want moooooooooore ?

I can't hear youuuuu !

Ok, more stuph.
This commit is contained in:
2026-01-21 15:50:22 +01:00
parent d332744f5f
commit 5e90213d61
8 changed files with 1805 additions and 80 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,5 @@
tree:
-
entry: home
-
entry: f7371605-56d8-4396-b118-879cab386516

View File

@ -1,5 +1,8 @@
document.addEventListener('DOMContentLoaded', () => {
// Video fixed BG
const FPS = 60; // Target frames per second for cursor tracking
// -------- Video fixed BG ------------------------------
const reelEl = document.getElementById('reel');
if (!reelEl) return;
@ -12,7 +15,8 @@ document.addEventListener('DOMContentLoaded', () => {
playPromise.catch(() => {
// Autoplay bloqué : passer en muet et retenter
video.muted = true;
video.play().catch(() => {});
video.play().catch(() => {
});
});
}
}
@ -23,8 +27,7 @@ document.addEventListener('DOMContentLoaded', () => {
// make visible the video element
video.style.visibility = 'visible';
tryPlay();
}
else {
} else {
video.style.visibility = 'hidden';
video.pause();
}
@ -35,7 +38,7 @@ document.addEventListener('DOMContentLoaded', () => {
entries.forEach(entry => {
handleVisibility(entry.intersectionRatio >= 0.01);
});
}, { threshold: [0, 0.01, 1] });
}, {threshold: [0, 0.01, 1]});
observer.observe(reelEl);
} else {
// Fallback simple : vérification sur scroll/resize
@ -55,7 +58,7 @@ document.addEventListener('DOMContentLoaded', () => {
}
};
onScroll();
window.addEventListener('scroll', onScroll, { passive: true });
window.addEventListener('scroll', onScroll, {passive: true});
window.addEventListener('resize', onScroll);
}
@ -73,7 +76,7 @@ document.addEventListener('DOMContentLoaded', () => {
});
let lastUpdate = 0;
const FRAME_INTERVAL = 1000 / 60;
const FRAME_INTERVAL = 1000 / FPS;
const updateTwist = (timestamp) => {
if (!timestamp) timestamp = performance.now();
if (timestamp - lastUpdate >= FRAME_INTERVAL) {
@ -85,4 +88,9 @@ document.addEventListener('DOMContentLoaded', () => {
}
updateTwist();
// --------- Init Lenis smooth scroll ------------------------
// Initialize Lenis
const lenis = new Lenis({
autoRaf: true,
});
});

View File

@ -107,6 +107,49 @@ video{
.tournament-block:hover{
transform: scale(0.9);
}
.custom-grid{
display:grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap:0;
border:1px solid hsla(0,0%,6%,0.1);
}
.custom-grid .custom-cell{
position: relative;
aspect-ratio: 1 / 1;
display: grid;
place-items: center;
/*border:1px solid var(--bulma-black);*/
}
.custom-grid .custom-cell+.custom-cell{
border-left:1px solid hsla(0,0%,6%,0.1);
}
.custom-cell .bg{
position: absolute;
top:0;
left:0;
width:100%;
height:100%;
background-size: cover;
background-position: center;
mix-blend-mode: soft-light; /* overlay? */
transition: opacity 0.5s ease-out;
}
.custom-cell .bg.active {
opacity: 0;
mix-blend-mode: normal;
}
.custom-cell:hover .bg.active {
opacity: 0.6;
}
.custom-cell img{
position:relative;
transition: transform 0.5s ease-out;
transform: scale(1);
}
.custom-cell:hover img {
transform: scale(1.1);
}
/*------------------------------------------------------------------*/
/*Twist animation*/
.twist{

View File

@ -13,6 +13,13 @@ tabs:
required: true
validate:
- required
-
handle: game
field:
type: text
display: Game
instructions: 'Nom du jeu'
width: 66
-
handle: type
field:
@ -33,6 +40,7 @@ tabs:
type: select
display: type
instructions: 'Type de tournoi'
width: 33
-
handle: content
field:
@ -49,6 +57,7 @@ tabs:
display: Logo
instructions: 'Transparent tournament logo'
mode: grid
width: 33
-
handle: backdrop
field:
@ -58,12 +67,7 @@ tabs:
display: Backdrop
instructions: 'Image du jeu'
sortable: false
-
handle: template
field:
type: template
display: Template
localizable: true
width: 33
-
handle: video
field:
@ -71,6 +75,7 @@ tabs:
display: video
instructions: 'Video du tournoi'
sortable: false
width: 33
-
display: 'Dates and place'
fields:
@ -95,6 +100,55 @@ tabs:
type: date
display: End
instructions: 'Fin du tournoi'
-
display: Guests
instructions: 'Infos des invités'
fields:
-
handle: guests
field:
type: replicator
display: Guests
sets:
new_set_group:
display: 'New Set Group'
sets:
guest:
display: Guest
icon: user-avatar
fields:
-
handle: name
field:
type: text
display: Name
-
handle: country
field:
type: text
display: Country
width: 50
-
handle: flag
field:
max_files: 1
container: assets
type: assets
display: Flag
width: 50
-
handle: picture
field:
container: assets
type: assets
display: Picture
instructions: 'Image détourée du guest'
-
handle: reveal
field:
type: toggle
display: Reveal
instructions: "Si pas reveal, l'image du joueur sera remplacée par une silhouette noire"
sidebar:
display: Sidebar
sections:

View File

@ -21,8 +21,8 @@
</span>
</section>
<section class="section" id="incentive">
<h2>Incentive</h2>
<section class="section has-background-black" id="incentive">
<h2 class="is-size-2 has-text-weight-bold is-uppercase has-text-primary block">L'évènement</h2>
<div class="fixed-grid has-3-cols">
<div class="grid">
{{ incentives }}
@ -33,17 +33,34 @@
</section>
<section class="section has-background-primary has-text-black" id="tournaments">
<h2>Tournaments</h2>
<h3>Stier</h3>
<div class="fixed-grid has-3-cols">
<div class="grid">
<h2 class="is-size-2 has-text-weight-bold is-uppercase block">
Tournois
<a class="navbar-item button is-rounded is-float-right" href="/reglement">
Règlement
</a>
</h2>
<div class="custom-grid">
{{ collection:tournaments type:is="stier" }}
<a class="custom-cell"
href="{{ url }}"
>
<div class="bg" style="background-image:url('{{ glide:backdrop preset='thumbnail'}}');"></div>
<div class="bg active" style="background-image:url('{{ glide:backdrop preset='thumbnail'}}');"></div>
<img src="{{ glide:logo preset='logo' }}" alt="title">
</a>
{{ /collection:tournaments }}
</div>
<h3 class="is-size-3 has-text-weight-bold is-uppercase">Tournois S-Tier</h3>
<div class="grid is-col-min-9">
{{ collection:tournaments type:is="stier" }}
{{ partial:_tournamentblock }}
{{ /collection:tournaments }}
</div>
</div>
<h3>Atier</h3>
<h3 class="is-size-3 has-text-weight-bold is-uppercase">Tournois A-Tier</h3>
<div class="fixed-grid has-3-cols">
<div class="grid">
{{ collection:tournaments type:is="atier" }}
@ -52,7 +69,7 @@
</div>
</div>
<h3>Rythm Tier</h3>
<h3 class="is-size-3 has-text-weight-bold is-uppercase">Tournois Rythm-Tier</h3>
<div class="fixed-grid has-3-cols">
<div class="grid">
{{ collection:tournaments type:is="rythm" }}
@ -61,7 +78,7 @@
</div>
</div>
<h3>Family Tier</h3>
<h3 class="is-size-3 has-text-weight-bold is-uppercase">Tournois Family-Tier</h3>
<div class="fixed-grid has-3-cols">
<div class="grid">
{{ collection:tournaments type:is="family" }}
@ -73,7 +90,7 @@
<section class="section" id="gallery">
<h2>Gallery</h2>
<h2 class="is-size-2 has-text-weight-bold is-uppercase block has-text-primary">Gallerie</h2>
<div class="grid is-col-min-9">
{{ photos }}
{{ partial:_photoblock }}

View File

@ -12,7 +12,7 @@
<title>{{ title ?? site:name }}</title>
</head>
<body>
<nav id="nav" class="navbar is-primaryt is-fixed-top p-5" role="navigation" aria-label="main navigation">
<nav id="nav" class="navbar is-fixed-top p-5" role="navigation" aria-label="main navigation">
<div class="navbar-brand">
<a class="navbar-item squircle" href="/">
<img src="/assets/logo2.svg" style="height:5rem;"/>
@ -27,7 +27,16 @@
{{ template_content }}
<footer>Footer</footer>
<footer class="footer">
<div class="grid is-col-min-9">
<div class="cell has-text-centered has-text-primary">
<img src="/assets/logo2.svg" alt="" style="width:3rem;">
</div>
<div class="cell"></div>
<div class="cell"></div>
</div>
</footer>
</body>
<script src="https://unpkg.com/lenis@1.3.17/dist/lenis.min.js"></script>
<script src="/assets/js/main.js"></script>
</html>

View File

@ -0,0 +1,6 @@
<div class="container">
<h1 class="is-size-1 has-text-weight-bolder has-text-primary">Règlement</h1>
<div class="content">
{{ rules }}
</div>
</div>