import React from 'react';
import PageHeader from '../components/PageHeader';
import { useStore } from '../stores/store';
const formulaires = [
{
titre: 'Rencontre hebdomadaire',
description: 'Présences informelles, collecte, ventes, jetons et notes de réunion.',
fichier: 'rencontre',
},
{
titre: "Assemblée d'affaires",
description: 'Ordre du jour, présences, propositions, décisions, postes et rapport du trésorier.',
fichier: 'assemblee',
},
{
titre: 'Trésorerie',
description: 'Collectes, dépôts, dépenses, réserves et rapprochement mensuel.',
fichier: 'tresorerie',
},
];
const lignes = (n) => Array.from({ length: n }, (_, i) => `
${i + 1}.
`).join('');
function htmlFormulaire(type, groupe) {
const nomGroupe = groupe?.nom || 'Groupe';
const commun = `
${nomGroupe}
Formulaire papier de reprise en main
`;
const sections = {
rencontre: `
Rencontre hebdomadaire
Sujet / thème
Collecte Montant: __________
Détenteur: __________
Ventes littérature / jetons / gâteau ${lignes(6)}
Remises de jetons / anniversaires ${lignes(6)}
Notes
`,
assemblee: `
Assemblée d'affaires
Présences ${lignes(12)}
Rapport du trésorier
Propositions / décisions ${lignes(10)}
Postes à pourvoir ${lignes(6)}
Suites à donner
`,
tresorerie: `
Trésorerie
Encaisse / banque / réserves ${lignes(8)}
Collectes et ventes reçues ${lignes(8)}
Dépenses et contributions ${lignes(8)}
Rapprochement / notes
`,
};
return `${nomGroupe} - ${type}
${commun}${sections[type]}`;
}
export default function ModePapier() {
const { groupe } = useStore();
const imprimer = (type) => {
const win = window.open('', '_blank');
if (!win) return;
win.document.write(htmlFormulaire(type, groupe));
win.document.close();
};
return (
Ces formulaires vierges servent de plan de secours. Ils permettent de poursuivre une rencontre,
une assemblée ou une opération de trésorerie, puis de ressaisir les données plus tard.
{formulaires.map((formulaire) => (
imprimer(formulaire.fichier)}
className="w-full bg-white rounded-2xl p-4 shadow-sm text-left active:scale-[0.98] transition"
>
🖨️
{formulaire.titre}
{formulaire.description}
›
))}
);
}