This commit is contained in:
KIRITO_KMA 2026-04-13 23:05:47 +02:00
parent 1082ef13fb
commit 3c1c3d3e89
28 changed files with 249 additions and 126 deletions

View file

@ -1168,6 +1168,14 @@ section {
.portfolio-item h4 {
font-family: 'OmegaLarge', sans-serif;
font-size: 1.25rem;
color: #ffffff; /* Toujours blanc — lisible sur le gradient sombre en bas */
}
/* En mode clair, forcer le blanc sur les textes des cartes portfolio */
[data-theme="light"] .portfolio-item h4,
[data-theme="light"] .portfolio-tag,
[data-theme="light"] .portfolio-tag::before {
color: #ffffff;
}
.portfolio-item p {
@ -2152,13 +2160,31 @@ footer {
font-family: 'OmegaLarge', sans-serif;
font-size: 2rem;
margin-bottom: 0.5rem;
color: #ffffff;
}
.bento-image-content p {
color: var(--text-secondary);
color: rgba(255,255,255,0.85);
font-size: 1rem;
}
/* Mode clair — forcer blanc sur textes bento (gradient sombre garantit lisibilité) */
[data-theme="light"] .bento-image-content h3,
[data-theme="light"] .bento-image-content p,
[data-theme="light"] .bento-image-content .portfolio-tag {
color: #ffffff;
}
/* Mode clair — tag catégorie dans la modal projet : couleur contrastée */
[data-theme="light"] .project-modal .portfolio-tag,
[data-theme="light"] #modal-category {
color: var(--accent-primary);
}
[data-theme="light"] .project-modal .portfolio-tag::before,
[data-theme="light"] #modal-category::before {
border-bottom-color: var(--accent-primary);
}
/* Stats Grid */
.bento-stats {
grid-column: 2;
@ -4272,3 +4298,53 @@ footer {
/* Quand le son est activé */
.gallery-mute-btn.unmuted .icon-muted { display: none; }
.gallery-mute-btn.unmuted .icon-unmuted { display: block; }
/* Footer social — img pour logos CDN (gaming platforms) */
.footer-social a img {
width: 20px;
height: 20px;
display: block;
object-fit: contain;
filter: brightness(0) invert(1); /* Force blanc pour cohérence avec les SVG */
opacity: 0.85;
transition: opacity 0.3s ease;
}
.footer-social a:hover img {
opacity: 1;
filter: none; /* Affiche la couleur officielle au hover */
}
/* ═══════════════════════════════════════════════════════════════════════════
Footer gaming icons — logos officiels locaux
═══════════════════════════════════════════════════════════════════════════ */
.footer-gaming-icon {
width: 20px;
height: 20px;
display: block;
object-fit: contain;
opacity: 0.85;
/* Mode sombre : icône blanche */
filter: brightness(0) invert(1);
transition: opacity 0.2s ease, filter 0.2s ease;
}
.footer-social a:hover .footer-gaming-icon {
opacity: 1;
}
/* Mode clair : icône sombre */
[data-theme="light"] .footer-gaming-icon {
filter: brightness(0);
}
[data-theme="light"] .footer-social a:hover .footer-gaming-icon {
filter: brightness(0) invert(1); /* Blanc au hover (fond accent) */
}
/* Hytale PNG — fond transparent forcé via mix-blend-mode */
.footer-gaming-icon--hytale {
mix-blend-mode: screen;
opacity: 0.9;
}

View file

@ -75,7 +75,7 @@
},
{
"name": "site-omega",
"displayName": "Site Omega",
"displayName": " ‎ ‎ ‎ Site ‎ ‎ ‎ Omega",
"description": "Site dans l'univers SCP entièrement en UEFN.",
"longDesc": "Site Omega est un projet ambitieux qui vise à recréer l'univers de la Fondation SCP dans Fortnite en utilisant UEFN. Les joueurs peuvent explorer des installations secrètes, interagir avec des anomalies et vivre des expériences uniques inspirées de l'univers SCP.",
"gradient": "linear-gradient(135deg, #1a3a5e, #3a5e8b)",

View file

@ -352,7 +352,7 @@
"desc": "Suite de Victoria's Vice, avec une map plus grande, plus de bâtiments, plus de systèmes et une immersion encore plus poussée dans l'univers italien.",
"gradient": "linear-gradient(135deg, #5E2040, #8b3a62)",
"year": "2026",
"duration": "en cour...",
"duration": "en cours...",
"features": [
"économie réaliste",
"50+ bâtiments",
@ -382,22 +382,22 @@
"stats": [
{
"icon": "play",
"value": "en cour...",
"value": "en cours...",
"label": "Sessions"
},
{
"icon": "home",
"value": "en cour...",
"value": "en cours...",
"label": "Bâtiments"
},
{
"icon": "users",
"value": "en cour...",
"value": "en cours...",
"label": "Joueurs max"
},
{
"icon": "calendar",
"value": "en cour...",
"value": "en cours...",
"label": "Mois de dev"
}
],
@ -420,12 +420,12 @@
"id": 7,
"category": "bot",
"title": "Beta",
"desc": "En cour de développement chez Omega Kube.",
"desc": "En cours de développement chez Omega Kube.",
"gradient": "linear-gradient(135deg, #000000, #434343)",
"year": "2026",
"duration": "en cour...",
"duration": "en cours...",
"features": [
"en cour..."
"en cours..."
],
"tech": [
{
@ -452,22 +452,22 @@
"stats": [
{
"icon": "users",
"value": "en cour...",
"value": "en cours...",
"label": "Utilisateurs"
},
{
"icon": "terminal",
"value": "en cour...",
"value": "en cours...",
"label": "Commandes"
},
{
"icon": "credit-card",
"value": "en cour...",
"value": "en cours...",
"label": "RP menés"
},
{
"icon": "activity",
"value": "en cour...",
"value": "en cours...",
"label": "Uptime"
}
],

View file

@ -27,7 +27,7 @@
{"icon": "settings", "title": "Panel Admin","desc": "Interface web de gestion"}
],
"cta": [
{"label": "Demander un devis","href": "index.html#contact", "style": "primary","icon": "message-circle"},
{"label": "Demander un devis","href": "../index.html#contact", "style": "primary","icon": "message-circle"},
{"label": "Voir nos réalisations","href": "realisations.html","style": "secondary","icon": "eye"}
],
"note": []
@ -37,7 +37,7 @@
"nav": {
"label": "Maps RP",
"icon": "map",
"stamp": {"type": "soon","text": "Bintôt dispo"}
"stamp": {"type": "soon","text": "Bientôt dispo"}
},
"visual": {
"accentFrom": "#1a5e8b",
@ -60,7 +60,7 @@
{"icon": "edit-3","title": "Modifications","desc": "Ajustements post-livraison"}
],
"cta": [
{"label": "Demander un devis","href": "index.html#contact","style": "primary","icon": "message-circle"},
{"label": "Demander un devis","href": "../index.html#contact","style": "primary","icon": "message-circle"},
{"label": "Voir nos maps","href": "realisations.html","style": "secondary","icon": "eye"}
],
"note": []
@ -93,7 +93,7 @@
{"icon": "book-open","title": "Guide de style","desc": "Charte graphique fournie"}
],
"cta": [
{"label": "Demander un devis","href": "index.html#contact","style": "primary","icon": "message-circle" },
{"label": "Demander un devis","href": "../index.html#contact","style": "primary","icon": "message-circle" },
{"label": "Voir nos créations","href": "realisations.html","style": "secondary","icon": "eye"}
],
"note": [
@ -112,7 +112,7 @@
"accentTo": "#5ab57a",
"stamp": {"type": "free","text": "✓ Gratuit","animated": true}
},
"title": "Consulting & Suivie",
"title": "Consulting & Suivi",
"titleStamp": {"type": "free","text": "Gratuit"},
"description": "Bénéficiez de notre expérience pour structurer, lancer et développer votre projet RP. Conseils stratégiques et accompagnement personnalisé.",
"highlights": [
@ -129,7 +129,7 @@
{"icon": "dollar-sign","title": "Monétisation","desc": "Conseils revenus"}
],
"cta": [
{"label": "Prendre rendez-vous","href": "index.html#contact","style": "primary","icon": "message-circle"}
{"label": "Prendre rendez-vous","href": "../index.html#contact","style": "primary","icon": "message-circle"}
],
"note": [
{"value": "✓","label": "Première consultation gratuite et sans engagement"}
@ -164,7 +164,7 @@
{"icon": "headphones","title": "Support 3 mois","desc": "Accompagnement lancement"}
],
"cta": [
{"label": "Demander un devis pack","href": "index.html#contact","style": "primary","icon": "message-circle"},
{"label": "Demander un devis pack","href": "../index.html#contact","style": "primary","icon": "message-circle"},
{"label": "Voir nos packs livrés","href": "realisations.html","style": "secondary","icon": "eye"}
],
"note": [

View file

@ -90,7 +90,7 @@
},
{
"value": "★★★★",
"label": "Intermédiaire - Avançé"
"label": "Intermédiaire - Avancé"
}
],
"skills": [
@ -199,11 +199,11 @@
},
{
"value": "500+",
"label": "Commande réalisées"
"label": "Commandes réalisées"
},
{
"value": "0",
"label": "Vulnerabilités"
"label": "Vulnérabilités"
}
],
"skills": [

View file

@ -0,0 +1 @@
<svg role="img" viewBox="0 0 24 24" width="20" height="20" xmlns="http://www.w3.org/2000/svg"><title>Epic Games</title><path fill="white" d="M3.537 0C2.165 0 1.66.506 1.66 1.879V18.44a4.262 4.262 0 00.02.433c.031.3.037.59.316.92.027.033.311.245.311.245.153.075.258.13.43.2l8.335 3.491c.433.199.614.276.928.27h.002c.314.006.495-.071.928-.27l8.335-3.492c.172-.07.277-.124.43-.2 0 0 .284-.211.311-.243.28-.33.285-.621.316-.92a4.261 4.261 0 00.02-.434V1.879c0-1.373-.506-1.88-1.878-1.88zm13.366 3.11h.68c1.138 0 1.688.553 1.688 1.696v1.88h-1.374v-1.8c0-.369-.17-.54-.523-.54h-.235c-.367 0-.537.17-.537.539v5.81c0 .369.17.54.537.54h.262c.353 0 .523-.171.523-.54V8.619h1.373v2.143c0 1.144-.562 1.71-1.7 1.71h-.694c-1.138 0-1.7-.566-1.7-1.71V4.82c0-1.144.562-1.709 1.7-1.709zm-12.186.08h3.114v1.274H6.117v2.603h1.648v1.275H6.117v2.774h1.74v1.275h-3.14zm3.816 0h2.198c1.138 0 1.7.564 1.7 1.708v2.445c0 1.144-.562 1.71-1.7 1.71h-.799v3.338h-1.4zm4.53 0h1.4v9.201h-1.4zm-3.13 1.235v3.392h.575c.354 0 .523-.171.523-.54V4.965c0-.368-.17-.54-.523-.54zm-3.74 10.147a1.708 1.708 0 01.591.108 1.745 1.745 0 01.49.299l-.452.546a1.247 1.247 0 00-.308-.195.91.91 0 00-.363-.068.658.658 0 00-.28.06.703.703 0 00-.224.163.783.783 0 00-.151.243.799.799 0 00-.056.299v.008a.852.852 0 00.056.31.7.7 0 00.157.245.736.736 0 00.238.16.774.774 0 00.303.058.79.79 0 00.445-.116v-.339h-.548v-.565H7.37v1.255a2.019 2.019 0 01-.524.307 1.789 1.789 0 01-.683.123 1.642 1.642 0 01-.602-.107 1.46 1.46 0 01-.478-.3 1.371 1.371 0 01-.318-.455 1.438 1.438 0 01-.115-.58v-.008a1.426 1.426 0 01.113-.57 1.449 1.449 0 01.312-.46 1.418 1.418 0 01.474-.309 1.58 1.58 0 01.598-.111 1.708 1.708 0 01.045 0zm11.963.008a2.006 2.006 0 01.612.094 1.61 1.61 0 01.507.277l-.386.546a1.562 1.562 0 00-.39-.205 1.178 1.178 0 00-.388-.07.347.347 0 00-.208.052.154.154 0 00-.07.127v.008a.158.158 0 00.022.084.198.198 0 00.076.066.831.831 0 00.147.06c.062.02.14.04.236.061a3.389 3.389 0 01.43.122 1.292 1.292 0 01.328.17.678.678 0 01.207.24.739.739 0 01.071.337v.008a.865.865 0 01-.081.382.82.82 0 01-.229.285 1.032 1.032 0 01-.353.18 1.606 1.606 0 01-.46.061 2.16 2.16 0 01-.71-.116 1.718 1.718 0 01-.593-.346l.43-.514c.277.223.578.335.9.335a.457.457 0 00.236-.05.157.157 0 00.082-.142v-.008a.15.15 0 00-.02-.077.204.204 0 00-.073-.066.753.753 0 00-.143-.062 2.45 2.45 0 00-.233-.062 5.036 5.036 0 01-.413-.113 1.26 1.26 0 01-.331-.16.72.72 0 01-.222-.243.73.73 0 01-.082-.36v-.008a.863.863 0 01.074-.359.794.794 0 01.214-.283 1.007 1.007 0 01.34-.185 1.423 1.423 0 01.448-.066 2.006 2.006 0 01.025 0zm-9.358.025h.742l1.183 2.81h-.825l-.203-.499H8.623l-.198.498h-.81zm2.197.02h.814l.663 1.08.663-1.08h.814v2.79h-.766v-1.602l-.711 1.091h-.016l-.707-1.083v1.593h-.754zm3.469 0h2.235v.658h-1.473v.422h1.334v.61h-1.334v.442h1.493v.658h-2.255zm-5.3.897l-.315.793h.624zm-1.145 5.19h8.014l-4.09 1.348z"/></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View file

@ -0,0 +1,3 @@
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" width="20" height="20" xmlns="http://www.w3.org/2000/svg">
<path d="M7 3h10v3H11v3.5h5.5v3H11v8.5L7 22V3z"/>
</svg>

After

Width:  |  Height:  |  Size: 242 B

View file

@ -0,0 +1,14 @@
<svg viewBox="0 0 384 384" xmlns="http://www.w3.org/2000/svg" width="20" height="20">
<rect width="384" height="384" rx="60" fill="#0081FF"/>
<path class="st1" d="M235.57,221.91c-2.84,3.4-5.68,7.51-9.22,10.88c-7.2,6.84-16.2,10.41-25.77,12.49
c-11.53,2.51-23.13,2.18-34.76,0.61c-14.52-1.95-27.27-7.83-38.38-17.22c-9.35-7.91-16.06-17.8-20.84-29.04
c-4.88-11.46-7.4-23.51-8.68-35.81c-1.85-17.78-0.99-35.42,4.33-52.6c4.37-14.11,11.01-27,21.08-38.03
C135,60.4,149.18,52.08,166.1,48.59c9.46-1.95,19.01-1.95,28.57-0.4c17,2.77,30.13,11.49,39.75,25.68c0.25,0.32,1.19,1.72,1.19,1.72
s0-4.78,0-6.83c-0.01-5.16,0-16.51,0-16.51s1.09,0,1.35,0c15.28-0.05,49.97-0.01,49.97-0.01s-0.01,1.96-0.01,4.28
c0,64.4,0.09,128.8-0.05,193.19c-0.04,20.36-5.79,39-18.84,54.95c-10.15,12.4-23.25,20.57-38.25,25.85
c-14.6,5.14-29.7,6.91-45.08,6.26c-16.81-0.71-32.99-4.35-47.75-12.64c-22.22-12.49-35.72-31.22-39.07-56.78
c-0.45-3.39-0.56-6.84-0.69-10.26c-0.01-0.21-0.07-1.31-0.07-1.31s1.04,0,1.26,0c15.24-0.07,30.48-0.08,45.72-0.03
c0.18,0,0.9,0.01,0.9,0.01s-0.01,0.96-0.01,1.12c0.16,8.86,2.62,16.86,8.77,23.44c4.59,4.91,10.26,8.16,16.7,9.89
c14.96,4.03,29.59,3.19,43.49-3.98c12.5-6.45,20.4-16.54,21.3-30.85c0.67-10.79,0.27-21.66,0.34-32.49
C235.57,222.35,235.57,221.79,235.57,221.91z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -0,0 +1,8 @@
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" width="20" height="20">
<rect x="0" y="0" width="100" height="100" fill="#2d1b33"/>
<rect x="20" y="21" width="20" height="19" fill="white"/>
<rect x="60" y="21" width="20" height="19" fill="white"/>
<rect x="40" y="41" width="20" height="10" fill="white"/>
<rect x="30" y="51" width="10" height="29" fill="white"/>
<rect x="60" y="51" width="10" height="29" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 317 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 KiB

View file

@ -236,7 +236,7 @@ document.addEventListener('DOMContentLoaded', () => {
<div class="team-avatar">
<div class="team-avatar-inner" id="team-avatar-inner-${i}">
<img src="${imgSrc}" alt="${m.name}" class="team-avatar-photo"
onerror="if(this.src.endsWith('.png')){this.src=this.src.replace('.png','.jpg');}else{this.style.display='none';document.getElementById('team-avatar-fallback-${i}').style.display='flex';}">
onerror="const s=this.src;if(s.endsWith('.png')){this.src=s.replace('.png','.jpg');}else if(s.endsWith('.jpg')){this.src=s.replace('.jpg','.gif');}else{this.style.display='none';document.getElementById('team-avatar-fallback-${i}').style.display='flex';}">
<span class="team-avatar-fallback" id="team-avatar-fallback-${i}" style="display:none;">${m.avatar}</span>
</div>
</div>
@ -332,7 +332,7 @@ document.addEventListener('DOMContentLoaded', () => {
const imgSrc = `assets/images/team/${m.id}.png`;
modalAvatar.innerHTML = `
<img src="${imgSrc}" alt="${m.name}" class="team-modal-avatar-photo"
onerror="if(this.src.endsWith('.png')){this.src=this.src.replace('.png','.jpg');}else{this.style.display='none';this.nextElementSibling.style.display='flex';}">
onerror="const s=this.src;if(s.endsWith('.png')){this.src=s.replace('.png','.jpg');}else if(s.endsWith('.jpg')){this.src=s.replace('.jpg','.gif');}else{this.style.display='none';this.nextElementSibling.style.display='flex';}">
<span class="team-modal-avatar-fallback">${m.avatar || m.name.charAt(0)}</span>
`;
modalName.textContent = m.name;

View file

@ -13,13 +13,18 @@ window.OK_SOCIAL = {
tiktok: 'https://www.tiktok.com/@omegakube',
facebook: '#',
bluesky: '#',
epicgames: 'https://www.fortnite.com/@omega_kube_team',
email: 'contact@omegakube.fr'
};
// SVGs des réseaux — utilisé partout dans les modals
const SVG_ICONS = {
discord: '<svg viewBox="0 0 24 24" fill="currentColor" width="18" height="18"><path d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z"/></svg>',
fortnite: '<svg viewBox="0 0 24 24" fill="currentColor" width="18" height="18"><path d="M6 3h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm0 2v8h12V5H6zm2 2h2v1h1V7h2v4h-2V9h-1v2H8V7zm7 1a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm2 2a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm-4 4l-2 4h2l1-2 1 2h2l-2-4h-2z"/></svg>',
fortnite: '<svg viewBox="0 0 24 24" fill="currentColor" width="18" height="18"><path d="M2.234 0v24h6.522v-8.035h5.9v-5.64h-5.9V5.636h7.964V0zm11.13 10.329v5.636h5.9v2.382h-5.9V24H21.766V10.329z"/></svg>',
epicgames: '<svg viewBox="0 0 24 24" fill="currentColor" width="18" height="18"><path d="M4.712 18.393h1.444v2.172h1.37v-2.172h1.444v-.99H4.712zm4.373 2.172h1.332v-3.162H9.085zm3.876-3.162l-.899 2.173-.921-2.173H9.791v3.162h1.017v-1.875l.784 1.875h.95l.784-1.875v1.875h1.017v-3.162zm2.76 0H14.39v3.162h3.009v-.966h-1.678zM7.471 11.925H5.024V6.413H3.41v8.48H2V3h14v5.525h-1.61V4.41H5.47v10.494h2.001zm8.47-1.021h-2.73v-2.43h2.424v-1.41h-2.424V8.512h2.73V7.087H11.61v9.39h4.33zM22 14.17c0 1.01-.28 1.775-.838 2.283-.55.509-1.392.763-2.518.763h-2.39V7.087h2.39c2.234 0 3.356 1.133 3.356 3.4zm-1.61-3.588c0-1.344-.535-2.016-1.605-2.016h-.919v7.21h.919c1.07 0 1.605-.682 1.605-2.048z"/></svg>',
minecraft: '<svg viewBox="0 0 24 24" fill="currentColor" width="18" height="18"><path d="M3.261 0A3.261 3.261 0 0 0 0 3.261V20.74A3.261 3.261 0 0 0 3.261 24H20.74A3.261 3.261 0 0 0 24 20.739V3.261A3.261 3.261 0 0 0 20.739 0zm4.103 3.836h3.27v3.268h3.268V3.836h3.27v3.268h-3.27v3.27h3.27v3.267h-3.27v3.27h-3.268v-3.27H7.364v-3.268h3.268V7.104H7.364z"/></svg>',
gmod: '<svg viewBox="0 0 24 24" fill="currentColor" width="18" height="18"><path d="M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0zm0 2c5.514 0 10 4.486 10 10s-4.486 10-10 10S2 17.514 2 12 6.486 2 12 2zm1 4h-2v6H7v2h4v4h2v-4h4v-2h-4z"/></svg>',
hytale: '<svg viewBox="0 0 24 24" fill="currentColor" width="18" height="18"><path d="M1.117 0v24h5.412v-9.386h10.942V24h5.412V0h-5.412v9.386H6.529V0z"/></svg>',
twitter: '<svg viewBox="0 0 24 24" fill="currentColor" width="18" height="18"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.259 5.631 5.905-5.631zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>',
instagram: '<svg viewBox="0 0 24 24" fill="currentColor" width="18" height="18"><path 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"/></svg>',
youtube: '<svg viewBox="0 0 24 24" fill="currentColor" width="18" height="18"><path 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"/></svg>',
@ -44,6 +49,7 @@ window.renderSocialLinks = function(social, discordFallback) {
{ key: 'instagram', url: S.instagram },
{ key: 'youtube', url: S.youtube },
{ key: 'tiktok', url: S.tiktok },
{ key: 'epicgames', url: S.epicgames || G.epicgames },
{ key: 'github', url: S.github },
{ key: 'website', url: S.website },
];
@ -151,6 +157,7 @@ document.addEventListener('DOMContentLoaded', async () => {
'facebook': S.facebook,
'bluesky': S.bluesky,
'email-link': S.email ? 'mailto:' + S.email : '#',
'epicgames': S.epicgames,
};
document.querySelectorAll('[data-social]').forEach(el => {
const key = el.getAttribute('data-social');