mirror of
https://github.com/zoriya/Kyoo.git
synced 2026-04-24 18:10:06 -04:00
Properly hide admin button when user is not admin (#1465)
This commit is contained in:
parent
6018808e46
commit
4d1ff67cd7
@ -2,6 +2,7 @@ import { Slot } from "expo-router";
|
||||
import { NativeTabs } from "expo-router/unstable-native-tabs";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { Platform } from "react-native";
|
||||
import { useAccount } from "~/providers/account-context";
|
||||
|
||||
export const unstable_settings = {
|
||||
initialRouteName: "index",
|
||||
@ -9,6 +10,7 @@ export const unstable_settings = {
|
||||
|
||||
export default function TabsLayout() {
|
||||
const { t } = useTranslation();
|
||||
const account = useAccount();
|
||||
|
||||
if (Platform.OS === "web") return <Slot />;
|
||||
|
||||
@ -39,7 +41,7 @@ export default function TabsLayout() {
|
||||
{t("navbar.profile")}
|
||||
</NativeTabs.Trigger.Label>
|
||||
</NativeTabs.Trigger>
|
||||
<NativeTabs.Trigger name="admin">
|
||||
<NativeTabs.Trigger name="admin" hidden={!account?.isAdmin}>
|
||||
<NativeTabs.Trigger.Icon
|
||||
sf={{ default: "person.3", selected: "person.3.fill" }}
|
||||
md="admin_panel_settings"
|
||||
|
||||
@ -58,9 +58,6 @@ export default function AdminTabsLayout() {
|
||||
tabBarStyle: {
|
||||
backgroundColor: accent as string,
|
||||
borderBottomColor: borderColor as string,
|
||||
borderBottomWidth: 1,
|
||||
elevation: 0,
|
||||
shadowOpacity: 0,
|
||||
},
|
||||
tabBarIndicatorStyle: {
|
||||
backgroundColor: activeColor as string,
|
||||
|
||||
@ -51,6 +51,7 @@ import { cn, useQueryState } from "~/utils";
|
||||
|
||||
export const NavbarLeft = () => {
|
||||
const { t } = useTranslation();
|
||||
const account = useAccount();
|
||||
|
||||
if (Platform.OS !== "web") return <NavbarTitle />;
|
||||
|
||||
@ -63,14 +64,16 @@ export const NavbarLeft = () => {
|
||||
label={t("navbar.profile")}
|
||||
icon={Person}
|
||||
/>
|
||||
<Menu Trigger={NavbarLink} label={t("navbar.admin")} icon={Admin}>
|
||||
<Menu.Item
|
||||
label={t("admin.unmatched.label")}
|
||||
icon={Search}
|
||||
href="/admin/unmatched"
|
||||
/>
|
||||
<Menu.Item label="Users" icon={Admin} href="/admin/users" />
|
||||
</Menu>
|
||||
{account?.isAdmin && (
|
||||
<Menu Trigger={NavbarLink} label={t("navbar.admin")} icon={Admin}>
|
||||
<Menu.Item
|
||||
label={t("admin.unmatched.label")}
|
||||
icon={Search}
|
||||
href="/admin/unmatched"
|
||||
/>
|
||||
<Menu.Item label="Users" icon={Admin} href="/admin/users" />
|
||||
</Menu>
|
||||
)}
|
||||
</View>
|
||||
);
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user