diff --git a/messages/en.json b/messages/en.json index 0ccad41a..150030ad 100644 --- a/messages/en.json +++ b/messages/en.json @@ -424,7 +424,8 @@ "processing": "Processing…", "withdrawalSuccess": "Withdrawal successful! You received {amount} XLM.", "errorNoSigners": "Please add at least one co-signer address.", - "errorInvalidThreshold": "Required signatures must be between 1 and the number of co-signers." + "errorInvalidThreshold": "Required signatures must be between 1 and the number of co-signers.", + "you": "You" }, "Voting": { "title": "Vote on this cause", @@ -521,7 +522,8 @@ }, "CampaignMap": { "emptyTitle": "No campaigns with location data", - "emptyBody": "Campaigns with coordinates will appear on this map. Switch to list view to browse all campaigns." + "emptyBody": "Campaigns with coordinates will appear on this map. Switch to list view to browse all campaigns.", + "loading": "Loading map…" }, "Gamification": { "level_Bronze": "Bronze", diff --git a/messages/es.json b/messages/es.json index bd884e70..44ab45bc 100644 --- a/messages/es.json +++ b/messages/es.json @@ -424,7 +424,8 @@ "processing": "Procesando…", "withdrawalSuccess": "¡Retiro exitoso! Recibiste {amount} XLM.", "errorNoSigners": "Por favor agrega al menos una dirección de co-firmante.", - "errorInvalidThreshold": "Las firmas requeridas deben estar entre 1 y el número de co-firmantes." + "errorInvalidThreshold": "Las firmas requeridas deben estar entre 1 y el número de co-firmantes.", + "you": "Tú" }, "Voting": { "title": "Vota por esta causa", @@ -521,7 +522,8 @@ }, "CampaignMap": { "emptyTitle": "No hay campañas con datos de ubicación", - "emptyBody": "Las campañas con coordenadas aparecerán en este mapa. Cambia a la vista de lista para ver todas las campañas." + "emptyBody": "Las campañas con coordenadas aparecerán en este mapa. Cambia a la vista de lista para ver todas las campañas.", + "loading": "Cargando mapa…" }, "Gamification": { "level_Bronze": "Bronce", diff --git a/src/components/AnimatedProgressFill.tsx b/src/components/AnimatedProgressFill.tsx index 1bf5e77c..9394029d 100644 --- a/src/components/AnimatedProgressFill.tsx +++ b/src/components/AnimatedProgressFill.tsx @@ -2,8 +2,10 @@ import { useEffect, useRef } from "react"; import { motion, useSpring, useTransform } from "framer-motion"; +import { useReducedMotion } from "@/hooks/useReducedMotion"; export default function AnimatedProgressFill({ targetPct }: { targetPct: number }) { + const prefersReducedMotion = useReducedMotion(); const hasMountedRef = useRef(false); const springPct = useSpring(targetPct, { stiffness: 120, damping: 20, mass: 0.6 }); const barWidth = useTransform(springPct, (v) => `${v}%`); @@ -17,6 +19,16 @@ export default function AnimatedProgressFill({ targetPct }: { targetPct: number springPct.set(targetPct); }, [targetPct, springPct]); + if (prefersReducedMotion) { + return ( +