mirror of
https://github.com/Buriburizaem0n/admin-frontend-domain.git
synced 2026-09-19 09:40:13 +00:00
fix: hide admin settings tabs for members
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba>
This commit is contained in:
committed by
GitHub
co-authored by
naiba/CloudCode
parent
3912315f56
commit
142fc19469
+29
-24
@@ -55,6 +55,7 @@ export default function Header() {
|
|||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const { logout } = useAuth()
|
const { logout } = useAuth()
|
||||||
const profile = useMainStore((store) => store.profile)
|
const profile = useMainStore((store) => store.profile)
|
||||||
|
const isAdmin = profile?.role === 0
|
||||||
|
|
||||||
const location = useLocation()
|
const location = useLocation()
|
||||||
const isDesktop = useMediaQuery("(min-width: 890px)")
|
const isDesktop = useMediaQuery("(min-width: 890px)")
|
||||||
@@ -142,18 +143,20 @@ export default function Header() {
|
|||||||
{t("Profile")}
|
{t("Profile")}
|
||||||
</div>
|
</div>
|
||||||
</DropdownMenuItem>
|
</DropdownMenuItem>
|
||||||
<DropdownMenuItem
|
{isAdmin && (
|
||||||
onClick={() => {
|
<DropdownMenuItem
|
||||||
setDropdownOpen(false)
|
onClick={() => {
|
||||||
navigate("/dashboard/settings")
|
setDropdownOpen(false)
|
||||||
}}
|
navigate("/dashboard/settings")
|
||||||
className="cursor-pointer"
|
}}
|
||||||
>
|
className="cursor-pointer"
|
||||||
<div className="flex items-center gap-2 w-full">
|
>
|
||||||
<Settings />
|
<div className="flex items-center gap-2 w-full">
|
||||||
{t("Settings")}
|
<Settings />
|
||||||
</div>
|
{t("Settings")}
|
||||||
</DropdownMenuItem>
|
</div>
|
||||||
|
</DropdownMenuItem>
|
||||||
|
)}
|
||||||
</DropdownMenuGroup>
|
</DropdownMenuGroup>
|
||||||
<DropdownMenuSeparator />
|
<DropdownMenuSeparator />
|
||||||
<DropdownMenuItem
|
<DropdownMenuItem
|
||||||
@@ -334,18 +337,20 @@ export default function Header() {
|
|||||||
{t("Profile")}
|
{t("Profile")}
|
||||||
</div>
|
</div>
|
||||||
</DropdownMenuItem>
|
</DropdownMenuItem>
|
||||||
<DropdownMenuItem
|
{isAdmin && (
|
||||||
onClick={() => {
|
<DropdownMenuItem
|
||||||
setDropdownOpen(false)
|
onClick={() => {
|
||||||
navigate("/dashboard/settings")
|
setDropdownOpen(false)
|
||||||
}}
|
navigate("/dashboard/settings")
|
||||||
className="cursor-pointer"
|
}}
|
||||||
>
|
className="cursor-pointer"
|
||||||
<div className="flex items-center gap-2 w-full">
|
>
|
||||||
<Settings />
|
<div className="flex items-center gap-2 w-full">
|
||||||
{t("Settings")}
|
<Settings />
|
||||||
</div>
|
{t("Settings")}
|
||||||
</DropdownMenuItem>
|
</div>
|
||||||
|
</DropdownMenuItem>
|
||||||
|
)}
|
||||||
</DropdownMenuGroup>
|
</DropdownMenuGroup>
|
||||||
<DropdownMenuSeparator />
|
<DropdownMenuSeparator />
|
||||||
<DropdownMenuItem onClick={logout} className="cursor-pointer">
|
<DropdownMenuItem onClick={logout} className="cursor-pointer">
|
||||||
|
|||||||
@@ -20,14 +20,14 @@ export const SettingsTab = ({ className }: { className?: string }) => {
|
|||||||
<TabsTrigger value="/dashboard/settings/user" asChild>
|
<TabsTrigger value="/dashboard/settings/user" asChild>
|
||||||
<Link to="/dashboard/settings/user">{t("User")}</Link>
|
<Link to="/dashboard/settings/user">{t("User")}</Link>
|
||||||
</TabsTrigger>
|
</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>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
<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>
|
</TabsList>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import { SettingsTab } from "@/components/settings-tab"
|
|||||||
import { Button } from "@/components/ui/button"
|
import { Button } from "@/components/ui/button"
|
||||||
import { Card, CardContent } from "@/components/ui/card"
|
import { Card, CardContent } from "@/components/ui/card"
|
||||||
import { Checkbox } from "@/components/ui/checkbox"
|
import { Checkbox } from "@/components/ui/checkbox"
|
||||||
|
import { Combobox } from "@/components/ui/combobox"
|
||||||
import {
|
import {
|
||||||
Form,
|
Form,
|
||||||
FormControl,
|
FormControl,
|
||||||
@@ -21,9 +22,8 @@ import {
|
|||||||
SelectValue,
|
SelectValue,
|
||||||
} from "@/components/ui/select"
|
} from "@/components/ui/select"
|
||||||
import { Textarea } from "@/components/ui/textarea"
|
import { Textarea } from "@/components/ui/textarea"
|
||||||
import { Combobox } from "@/components/ui/combobox"
|
|
||||||
import { useNotification } from "@/hooks/useNotfication"
|
|
||||||
import { useAuth } from "@/hooks/useAuth"
|
import { useAuth } from "@/hooks/useAuth"
|
||||||
|
import { useNotification } from "@/hooks/useNotfication"
|
||||||
import useSetting from "@/hooks/useSetting"
|
import useSetting from "@/hooks/useSetting"
|
||||||
import { asOptionalField } from "@/lib/utils"
|
import { asOptionalField } from "@/lib/utils"
|
||||||
import { nezhaLang, settingCoverageTypes } from "@/types"
|
import { nezhaLang, settingCoverageTypes } from "@/types"
|
||||||
|
|||||||
Reference in New Issue
Block a user