mirror of
https://github.com/R0m1k3/PleinR.git
synced 2026-10-18 12:47:56 +02:00
Page Association : mission développée et bloc « ce que l'association apporte »
Le bandeau Mission tenait en une phrase et ne disait pas ce que l'adhésion apporte concrètement. - Mission réécrite en trois paragraphes : le réseau et les rencontres, la mise en avant de chaque adhérent auprès des habitants et des professionnels, et l'objectif double clients de proximité / courants d'affaires locaux. - Nouveau bloc de quatre cartes sous le bandeau : se rencontrer, gagner en visibilité (site et réseaux sociaux), attirer des clients en B to C, développer des affaires en B to B. - Les deux contenus sont éditables dans Paramètres : la mission accepte des paragraphes séparés par une ligne vide, les apports suivent la convention « Titre|Description » déjà utilisée pour le directoire. - Migration 0009 : le texte de mission n'est remplacé que s'il est resté celui d'origine, une version réécrite à la main n'est jamais écrasée. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXNXRC4j5VLfKvpyyisrnb
This commit is contained in:
7 files changed
+1525
-13
No files matched your search
@@ -11,7 +11,14 @@ export const SITE_SETTING_DEFAULTS = {
|
||||
association_intro:
|
||||
"Plein R rassemble les acteurs économiques locaux autour du réseau, des rencontres et de la mise en valeur du territoire.",
|
||||
association_mission:
|
||||
"Créer du lien entre adhérents, encourager les échanges de proximité et porter une dynamique collective au service du Bassin de Pompey.",
|
||||
"Plein R fédère les commerçants, artisans et entreprises du Bassin de Pompey autour d'une conviction simple : on va plus loin ensemble. L'association crée les occasions de se rencontrer, de se connaître et de travailler les uns avec les autres.\n\n" +
|
||||
"Nous mettons chaque adhérent en avant auprès des habitants comme des autres professionnels du territoire : une fiche dans l'annuaire, des bons plans relayés sur le site et sur nos réseaux sociaux, une place dans nos rencontres et nos publications.\n\n" +
|
||||
"L'objectif est double : amener des clients aux commerces de proximité, et faire naître des courants d'affaires entre les entreprises du bassin.",
|
||||
association_pillars:
|
||||
"Se rencontrer|Des rendez-vous réguliers entre adhérents pour échanger, partager les bonnes pratiques et rompre l'isolement du quotidien.\n" +
|
||||
"Gagner en visibilité|Une fiche dans l'annuaire, vos promotions relayées sur le site et sur les pages Facebook et LinkedIn de l'association.\n" +
|
||||
"Attirer des clients (B to C)|Vos offres mises sous les yeux des habitants du bassin, pour faire vivre le commerce de proximité toute l'année.\n" +
|
||||
"Développer des affaires (B to B)|Un réseau de professionnels qui se connaissent et se recommandent : prestataires, fournisseurs et partenaires à deux pas.",
|
||||
association_address: "",
|
||||
association_email: "",
|
||||
association_phone: "",
|
||||
@@ -91,6 +98,24 @@ export function splitLines(value: string) {
|
||||
.filter(Boolean);
|
||||
}
|
||||
|
||||
/** Paragraphes d'un champ libre : une ligne vide sépare deux paragraphes. */
|
||||
export function parseParagraphs(value: string) {
|
||||
return value
|
||||
.split(/\r?\n\s*\r?\n/)
|
||||
.map((block) => block.replace(/\s*\r?\n\s*/g, " ").trim())
|
||||
.filter(Boolean);
|
||||
}
|
||||
|
||||
/** « Titre|Description », une ligne par apport de l'association. */
|
||||
export function parsePillars(value: string) {
|
||||
return splitLines(value)
|
||||
.map((line) => {
|
||||
const [title, description] = line.split("|").map((part) => part.trim());
|
||||
return { title, description: description ?? "" };
|
||||
})
|
||||
.filter((pillar) => pillar.title);
|
||||
}
|
||||
|
||||
export function parseBoardMembers(value: string) {
|
||||
return splitLines(value).map((line) => {
|
||||
const [name, role] = line.split("|").map((part) => part.trim());
|
||||
|
||||
Reference in new issue
Block a user