feat: normaliser les URL production par entité
Some checks failed
Validation applicative / TypeScript, tests et build (push) Failing after 1m35s

This commit is contained in:
Santinova Deployment
2026-10-24 17:06:48 +00:00
parent a7845f5b06
commit 9e097e585a
12 changed files with 37 additions and 36 deletions

View File

@@ -163,7 +163,7 @@ export default function AdminEmailTemplates() {
.replace(/\{\{formateur\}\}/g, 'Jean Martin')
.replace(/\{\{couleurPrincipale\}\}/g, formData.couleurPrincipale)
.replace(/\{\{couleurSecondaire\}\}/g, formData.couleurSecondaire)
.replace(/\{\{lienReinitialisation\}\}/g, 'https://formations.itinova.org/reset-password/token123')
.replace(/\{\{lienReinitialisation\}\}/g, 'https://formations-itinova.santinova-soft.org/reset-password/token123')
.replace(/\{\{datesHTML\}\}/g, '<div class="date-item"><strong>Date 1 :</strong> lundi 15 janvier 2025</div><div class="date-item"><strong>Date 2 :</strong> mardi 16 janvier 2025</div>');
};
@@ -369,7 +369,7 @@ export default function AdminEmailTemplates() {
<div>
<Label htmlFor="bodyContent">Corps du message</Label>
{/* Boutons de variables dynamiques */}
<div className="flex flex-wrap gap-2 mb-2">
<Button

View File

@@ -14,14 +14,14 @@ import DashboardLayout from "@/components/DashboardLayout";
export default function AdminParametres() {
const { data: parametres, isLoading, refetch } = trpc.parametres.get.useQuery();
const { data: historique, isLoading: isLoadingHistorique } = trpc.parametres.getHistorique.useQuery({ limit: 20 });
const [urlPublique, setUrlPublique] = useState("");
const [delaiExpirationQR, setDelaiExpirationQR] = useState(30);
const [dureeValiditeToken, setDureeValiditeToken] = useState(24);
const [notificationsActives, setNotificationsActives] = useState(true);
const [testUrlStatus, setTestUrlStatus] = useState<{ loading: boolean; result?: { accessible: boolean; message: string } }>({ loading: false });
// Initialiser les valeurs quand les données sont chargées
useEffect(() => {
if (parametres) {
@@ -60,7 +60,7 @@ export default function AdminParametres() {
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault();
// Validation de l'URL
try {
new URL(urlPublique);
@@ -129,7 +129,7 @@ export default function AdminParametres() {
<Input
id="urlPublique"
type="url"
placeholder="https://formations.itinova.org"
placeholder="https://formations-itinova.santinova-soft.org"
value={urlPublique}
onChange={(e) => {
setUrlPublique(e.target.value);
@@ -168,8 +168,8 @@ export default function AdminParametres() {
</Button>
</div>
<p className="text-sm text-muted-foreground">
Cette URL est utilisée pour générer les QR codes d'émargement.
Exemple : https://formations.itinova.org (sans slash à la fin)
Cette URL est utilisée pour générer les QR codes d'émargement.
Exemple : https://formations-itinova.santinova-soft.org (sans slash à la fin)
</p>
</div>
@@ -225,8 +225,8 @@ export default function AdminParametres() {
</div>
<div className="flex items-center gap-2 pt-4">
<Button
type="submit"
<Button
type="submit"
disabled={updateMutation.isPending}
className="gap-2"
>