Files
admin-frontend-domain/src/components/settings-tab.tsx
T
仓鼠andhamster1963 7fdac38291 User Role (#69)
* fix: window.DisableAnimatedMan as boolean

* chore: auto-fix linting and formatting issues

* feat: user role

* feat: use user agent_secret

* feat: hide setting when user role is not admin

* feat: new waf api

* chore: auto-fix linting and formatting issues

* fix: admin settings page

* feat: online-user setting

* fix: pagination

---------

Co-authored-by: hamster1963 <hamster1963@users.noreply.github.com>
2024-12-22 23:17:20 +08:00

35 lines
1.4 KiB
TypeScript

import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs"
import { useAuth } from "@/hooks/useAuth"
import { useTranslation } from "react-i18next"
import { Link } from "react-router-dom"
export const SettingsTab = ({ className }: { className?: string }) => {
const { t } = useTranslation()
const { profile } = useAuth()
const isAdmin = profile?.role === 0
return (
<Tabs defaultValue={window.location.pathname} className={className}>
<TabsList className="grid w-full grid-cols-4">
{isAdmin && (
<>
<TabsTrigger value="/dashboard/settings" asChild>
<Link to="/dashboard/settings">{t("Settings")}</Link>
</TabsTrigger>
<TabsTrigger value="/dashboard/settings/user" asChild>
<Link to="/dashboard/settings/user">{t("User")}</Link>
</TabsTrigger>
<TabsTrigger value="/dashboard/settings/online-user" asChild>
<Link to="/dashboard/settings/online-user">{t("OnlineUser")}</Link>
</TabsTrigger>
</>
)}
<TabsTrigger value="/dashboard/settings/waf" asChild>
<Link to="/dashboard/settings/waf">{t("WAF")}</Link>
</TabsTrigger>
</TabsList>
</Tabs>
)
}