Reddot UI Library
Docs
Review Modal
Review Modal
A modal component for collecting user feedback with rating options that redirects positive reviews to Trustpilot.
Installation
$npx shadcn@latest add https://reddot.dottools.xyz/r/review-modal.json
Structure des fichiers
Ce composant inclut les fichiers suivants :
- index.tsx : Composant principal
- hooks/use-review-modal.ts : Hook pour gérer l'état de la modal
Utilisation
import { ReviewModal } from '@/blocks/review-modal';
export default function Example() {
return (
<ReviewModal firstName="John" />
);
}Props
interface Props {
firstName?: string;
}Dépendances
Ce composant nécessite les dépendances suivantes :
https://reddot.dottools.xyz/r/modal-switch.jsonhttps://reddot.dottools.xyz/r/trustpilot-modal.json
Hook personnalisé
Le composant utilise le hook useReviewModal pour gérer l'état de la modal via les paramètres de l'URL :
import { useReviewModal } from './hooks/use-review-modal';
function Component() {
const { isOpen, setIsOpen, handleOpen, handleClose } = useReviewModal();
return (
<button onClick={handleOpen}>
Ouvrir la modal de review
</button>
);
}Exemple
Voici un exemple d'utilisation du composant Review Modal :
import { ReviewModal } from '@/blocks/review-modal';
import { useReviewModal } from '@/blocks/review-modal/hooks/use-review-modal';
export default function ExamplePage() {
const { handleOpen } = useReviewModal();
return (
<div className="p-4">
<button
className="px-4 py-2 bg-blue-500 text-white rounded"
onClick={handleOpen}
>
Leave a Review
</button>
<ReviewModal firstName="John" />
</div>
);
}Comportement
La modal présente 4 options de notation :
- Disappointing (Décevant)
- Average (Moyen)
- Good (Bon)
- Excellent (Excellent)
Lorsque l'utilisateur sélectionne "Good" ou "Excellent", il est automatiquement redirigé vers la modal Trustpilot pour laisser un avis public.
Pour les autres notes ("Disappointing" ou "Average"), la modal se ferme simplement.
Notes
- Ce composant block fait partie du système de design
- Peut être utilisé comme composant autonome ou intégré dans des pages complexes
- Respecte les conventions de style et d'accessibilité
- Utilise le système de gestion d'état via les paramètres URL avec
nuqs - Les icônes de notation doivent être présentes dans
/assets/review-modal/ - S'intègre avec la modal Trustpilot pour les avis positifs