/* * Copyright (C) 2025 Aleksander WilczyƄski (aleks@alekswilc.dev) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published * by the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * See LICENSE for more. */ import { ReactNode, useState } from "react"; import { FaUserShield, FaUserSlash, FaUserLock } from "react-icons/fa6"; import { useTranslation } from 'react-i18next'; export const UseHover = ({ children, hover }: { children: ReactNode, hover: ReactNode }) => { const [isHovered, setIsHovered] = useState(true); return
setIsHovered(false)} onMouseLeave={() => setIsHovered(true)}> {isHovered ? children : hover}
} export const UserIcons = ({ flags }: { flags: string[] }) => { const { t } = useTranslation(); return <> { flags.includes('administrator') && {t("icons.admin")} }> } { flags.includes("leaderboard_hidden") && {t("icons.leaderboard_hidden")} }> } { flags.includes("hidden") && { t("icons.hidden") } }> }; };