Chargement...
;
+ }
+
+ return (
+
+
+
+ Maisons ({houses.length})
+
+
+
+ {/* Modal d'édition */}
+ {editingHouse && (
+
+
+
+
+ Modifier la maison
+
+
+
+
+
+
+ )}
+
+ {/* Modal des membres */}
+ {viewingMembers && (
+
setViewingMembers(null)}
+ size="lg"
+ >
+
+
+
+ Membres de "{viewingMembers.name}"
+
+ setViewingMembers(null)} size="lg" />
+
+
+ {viewingMembers.memberships.length === 0 ? (
+
+ Aucun membre dans cette maison
+
+ ) : (
+
+ {viewingMembers.memberships.map((membership) => {
+ const roleColor = getRoleColor(membership.role);
+ return (
+
+
+
+
+
+
+ {membership.user.username}
+
+
+ Niveau {membership.user.level} • Score:{" "}
+ {formatNumber(membership.user.score)}
+
+
+
+
+
+ {getRoleLabel(membership.role)}
+
+ {membership.role !== "OWNER" && (
+
+ )}
+
+
+
+ );
+ })}
+
+ )}
+
+
+ )}
+
+ {houses.length === 0 ? (
+
+ Aucune maison trouvée
+
+ ) : (
+
+ {houses.map((house) => {
+ return (
+
+
+
+
+
+ {house.name}
+
+
+ {house.membersCount} membre
+ {house.membersCount !== 1 ? "s" : ""}
+
+
+ {house.description && (
+
+ {house.description}
+
+ )}
+
+
+
+
+ Créée par {house.creator.username}
+
+
+
+ Créée le{" "}
+ {new Date(house.createdAt).toLocaleDateString("fr-FR")}
+
+
+
+ {!editingHouse && (
+
+
+
+
+
+ )}
+
+
+ );
+ })}
+
+ )}
+
+ );
+}
+
diff --git a/components/ui/Avatar.tsx b/components/ui/Avatar.tsx
index 520f0a1..e89ee27 100644
--- a/components/ui/Avatar.tsx
+++ b/components/ui/Avatar.tsx
@@ -10,6 +10,7 @@ interface AvatarProps {
className?: string;
borderClassName?: string;
fallbackText?: string;
+ style?: React.CSSProperties;
}
const sizeClasses = {
@@ -28,6 +29,7 @@ export default function Avatar({
className = "",
borderClassName = "",
fallbackText,
+ style,
}: AvatarProps) {
const [avatarError, setAvatarError] = useState(false);
const prevSrcRef = useRef