feat(v13-f): palette desopacifiee pills + toggle cols laterales + footer gap-6 + manifeste CTA bord rouge

This commit is contained in:
Jules Neny
2026-05-11 20:14:28 +02:00
parent 8703d056d9
commit e012d11bee
5 changed files with 132 additions and 26 deletions

View File

@@ -1,11 +1,14 @@
---
import JournalList from '../vue/JournalList.vue';
// V1.3-F : palette desopacifiee — chaque categorie a une pastel pour le fill pill inactive.
// Regle bicouche : pastel = FILL pill inactive uniquement. Border + texte = encre couleur 100%.
const categories = [
{
id: 'politique',
label: 'Politique',
color: '#B5443A',
pastel: '#E5C3BE',
hashtags: ['#politique', '#aep-politique'],
plateformes: [
{ id: 'instagram', label: 'Court', url: 'https://www.instagram.com/aep.politique/' },
@@ -18,6 +21,7 @@ const categories = [
id: 'art',
label: 'Art',
color: '#5B6B3A',
pastel: '#CACFBE',
hashtags: ['#peinture', '#art'],
plateformes: [
{ id: 'instagram', label: '@julesneny', url: 'https://www.instagram.com/julesneny/' },
@@ -28,6 +32,7 @@ const categories = [
id: 'outils',
label: 'Outils',
color: '#475569',
pastel: '#C4C8CC',
hashtags: ['#stack', '#building-public'],
plateformes: [
{ id: 'gitea', label: 'Gitea', url: 'https://git.trans-former.fr/jules' },
@@ -38,6 +43,7 @@ const categories = [
id: 'pro',
label: 'Pro',
color: '#0F172A',
pastel: '#C4C8CC',
hashtags: ['#building-public', '#pro'],
plateformes: [
{ id: 'linkedin', label: 'LinkedIn', url: 'https://www.linkedin.com/in/jules-neny/' },
@@ -62,6 +68,7 @@ const categories = [
data-category-id={cat.id}
data-hashtags={cat.hashtags.join(',')}
data-color={cat.color}
data-pastel={cat.pastel}
data-has-selector={cat.hasSelector ? 'true' : 'false'}
class="category-badge"
style={`background:${cat.color};color:#fff;font-family:'Courier New',Courier,monospace;font-size:13px;padding:3px 10px;border-radius:4px;cursor:pointer;border:1px solid ${cat.color};`}
@@ -71,14 +78,14 @@ const categories = [
))}
</div>
<!-- Selecteur plateforme Politique -->
<!-- Selecteur plateforme Politique (V1.3-F : pastel #E5C3BE en fill inactive) -->
<div id="politique-selector" class="mt-2 hidden flex gap-2">
{categories[0].plateformes.map((p) => (
<button
type="button"
data-platform-id={p.id}
class="platform-pill"
style="font-family:'Courier New',Courier,monospace;font-size:12px;padding:2px 8px;border-radius:12px;cursor:pointer;border:1px solid #B5443A;background:transparent;color:#B5443A;"
style="font-family:'Courier New',Courier,monospace;font-size:12px;padding:2px 8px;border-radius:12px;cursor:pointer;border:1px solid #B5443A;background:#E5C3BE;color:#B5443A;"
>
{p.label}
</button>
@@ -203,14 +210,18 @@ const categories = [
window.dispatchEvent(new CustomEvent('platform-filter-change', { detail: { platform } }));
};
// V1.3-F : palette desopacifiee.
// Active = fill couleur 100% + texte blanc.
// Inactive = fill pastel + texte couleur 100% + border couleur 100% (regle bicouche).
const updateBadgeStyle = (btn: HTMLElement, active: boolean) => {
const color = btn.dataset.color || '#000';
const pastel = btn.dataset.pastel || '#E5C3BE';
if (active) {
btn.style.background = color;
btn.style.color = '#fff';
btn.style.border = `1px solid ${color}`;
} else {
btn.style.background = 'transparent';
btn.style.background = pastel;
btn.style.color = color;
btn.style.border = `1px solid ${color}`;
}
@@ -228,6 +239,9 @@ const categories = [
}
};
// V1.3-F : sub-pills Politique, regle bicouche identique.
// Active (ou aucun filtre) = fill brique #B5443A + texte blanc.
// Inactive = fill pastel #E5C3BE + texte brique + border brique 100%.
const updatePillStyles = () => {
const pills = document.querySelectorAll<HTMLElement>('.platform-pill');
const active = platformFilters['politique'];
@@ -237,7 +251,7 @@ const categories = [
pill.style.background = '#B5443A';
pill.style.color = '#fff';
} else {
pill.style.background = 'transparent';
pill.style.background = '#E5C3BE';
pill.style.color = '#B5443A';
}
});

View File

@@ -33,7 +33,8 @@
</div>
<!-- ZONE DROITE : logos RS cliquables (SVG inline, fill #0F172A 60%) -->
<div class="flex gap-3 items-center justify-center md:justify-end text-[#0F172A]">
<!-- V1.3-F : gap-4 mobile / gap-6 desktop pour espacer les logos -->
<div class="flex gap-4 md:gap-6 items-center justify-center md:justify-end text-[#0F172A]">
<!-- Instagram -->
<a
href="https://www.instagram.com/aep.politique/"