(props: Props)
| 8 | interface Props {} |
| 9 | |
| 10 | const SettingAvatarIcon = (props: Props) => { |
| 11 | const { t } = useTranslation(); |
| 12 | const { data: session } = useSession(); |
| 13 | |
| 14 | return ( |
| 15 | <Tooltip title={t("common.setting")} side="right"> |
| 16 | <div> |
| 17 | {(!hasFeature("account") || !session) && ( |
| 18 | <Link |
| 19 | className=" w-10 h-10 p-1 rounded-full flex flex-row justify-center items-center hover:bg-gray-100 dark:hover:bg-zinc-700" |
| 20 | data-tip={t("common.setting")} |
| 21 | href="/setting" |
| 22 | > |
| 23 | <Icon.IoMdSettings className="text-gray-600 dark:text-gray-300 w-6 h-auto" /> |
| 24 | </Link> |
| 25 | )} |
| 26 | {hasFeature("account") && session?.user && ( |
| 27 | <Link href="/setting"> |
| 28 | {session.user.image ? ( |
| 29 | <img |
| 30 | className="inline-block h-8 w-8 rounded-full hover:bg-gray-100 dark:hover:bg-zinc-700 cursor-pointer" |
| 31 | src={session.user.image} |
| 32 | alt="" |
| 33 | /> |
| 34 | ) : ( |
| 35 | <div className="bg-indigo-100 px-3 py-1 rounded-full text-indigo-600 hover:bg-indigo-200 uppercase cursor-pointer"> |
| 36 | {session.user.name ? session.user.name.charAt(0) : session.user.email?.charAt(0)} |
| 37 | </div> |
| 38 | )} |
| 39 | </Link> |
| 40 | )} |
| 41 | </div> |
| 42 | </Tooltip> |
| 43 | ); |
| 44 | }; |
| 45 | |
| 46 | export default SettingAvatarIcon; |
nothing calls this directly
no test coverage detected