mirror of
https://github.com/R0m1k3/PleinR.git
synced 2026-10-20 13:48:08 +02:00
Accueil: logo centre, "A l'honneur" en carrousel auto
- Hero : logo centre verticalement (alignItems center) - Titre "A l'honneur ce mois-ci" -> "A l'honneur" - Remplace les 3 fiches "mise en avant" par un carrousel auto-defilant de tous les adherents actifs, en rotation equitable (l'ordre pivote d'un cran par heure). Pause au survol, respecte prefers-reduced-motion. - Retire la coche "Mettre a l'honneur" du back-office (edition adherent) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
eb6536ce8a
commit
64ab10dea1
6 files changed
+161
-68
No files matched your search
@@ -122,6 +122,32 @@ export async function getMemberLivePromotions(memberId: number) {
|
||||
.orderBy(desc(promotions.createdAt));
|
||||
}
|
||||
|
||||
// Tous les adhérents actifs, tournés équitablement : l'ordre pivote d'un cran
|
||||
// par heure pour que chacun passe en tête à tour de rôle au fil du temps.
|
||||
export async function getRotatingActiveMembers() {
|
||||
const rows = await db
|
||||
.select({
|
||||
id: members.id,
|
||||
name: members.name,
|
||||
description: members.description,
|
||||
city: members.city,
|
||||
address: members.address,
|
||||
coverUrl: members.coverUrl,
|
||||
logoUrl: members.logoUrl,
|
||||
categoryLabel: categories.label,
|
||||
accent: categories.accent,
|
||||
})
|
||||
.from(members)
|
||||
.leftJoin(categories, eq(members.categoryId, categories.id))
|
||||
.where(eq(members.status, "active"))
|
||||
.orderBy(asc(members.id));
|
||||
|
||||
const n = rows.length;
|
||||
if (n <= 1) return rows;
|
||||
const offset = Math.floor(Date.now() / 3_600_000) % n;
|
||||
return [...rows.slice(offset), ...rows.slice(0, offset)];
|
||||
}
|
||||
|
||||
export async function getHighlightedMembers(limit = 3) {
|
||||
const rows = await db
|
||||
.select({
|
||||
|
||||
Reference in new issue
Block a user