Skip to content

Commit ec64b4c

Browse files
committed
Simpler UI for displaying admin access
1 parent 5e2a96e commit ec64b4c

File tree

2 files changed

+9
-12
lines changed

2 files changed

+9
-12
lines changed

apps/webapp/app/components/ImpersonationBanner.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export function ImpersonationBanner() {
1616
LeadingIcon={UserMinusIcon}
1717
fullWidth
1818
textAlignLeft
19-
className="bg-amber-400 text-background-bright group-hover/button:bg-amber-300"
19+
className="text-amber-400"
2020
/>
2121
</TooltipTrigger>
2222
<TooltipContent side="bottom" className={"text-xs"}>

apps/webapp/app/components/navigation/SideMenu.tsx

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
RectangleStackIcon,
1717
ServerStackIcon,
1818
Squares2X2Icon,
19+
UsersIcon,
1920
} from "@heroicons/react/20/solid";
2021
import { useNavigation } from "@remix-run/react";
2122
import { useEffect, useRef, useState, type ReactNode } from "react";
@@ -27,6 +28,7 @@ import { Avatar } from "~/components/primitives/Avatar";
2728
import { type MatchedEnvironment } from "~/hooks/useEnvironment";
2829
import { type MatchedOrganization } from "~/hooks/useOrganizations";
2930
import { type MatchedProject } from "~/hooks/useProject";
31+
import { useHasAdminAccess } from "~/hooks/useUser";
3032
import { type User } from "~/models/user.server";
3133
import { useCurrentPlan } from "~/routes/_app.orgs.$organizationSlug/route";
3234
import { type FeedbackType } from "~/routes/resources.feedback";
@@ -77,7 +79,6 @@ import { HelpAndFeedback } from "./HelpAndFeedbackPopover";
7779
import { SideMenuHeader } from "./SideMenuHeader";
7880
import { SideMenuItem } from "./SideMenuItem";
7981
import { SideMenuSection } from "./SideMenuSection";
80-
import { useHasAdminAccess } from "~/hooks/useUser";
8182

8283
type SideMenuUser = Pick<User, "email" | "admin"> & { isImpersonating: boolean };
8384
export type SideMenuProject = Pick<
@@ -133,8 +134,7 @@ export function SideMenu({
133134
<div
134135
className={cn(
135136
"flex items-center justify-between overflow-hidden border-b px-1 py-1 transition duration-300",
136-
showHeaderDivider ? "border-grid-bright" : "border-transparent",
137-
user.isImpersonating && "rounded-md border border-dashed border-amber-400"
137+
showHeaderDivider ? "border-grid-bright" : "border-transparent"
138138
)}
139139
>
140140
<ProjectSelector
@@ -143,23 +143,20 @@ export function SideMenu({
143143
project={project}
144144
user={user}
145145
/>
146-
{isAdmin && (
146+
{isAdmin && !user.isImpersonating ? (
147147
<TooltipProvider disableHoverableContent={true}>
148148
<Tooltip>
149149
<TooltipTrigger>
150-
<LinkButton
151-
variant="minimal/medium"
152-
to={adminPath()}
153-
TrailingIcon={Cog8ToothIcon}
154-
/>
150+
<LinkButton variant="minimal/medium" to={adminPath()} TrailingIcon={UsersIcon} />
155151
</TooltipTrigger>
156152
<TooltipContent side="bottom" className={"text-xs"}>
157153
Admin dashboard
158154
</TooltipContent>
159155
</Tooltip>
160156
</TooltipProvider>
161-
)}
162-
{user.isImpersonating && <ImpersonationBanner />}
157+
) : isAdmin && user.isImpersonating ? (
158+
<ImpersonationBanner />
159+
) : null}
163160
</div>
164161
<div
165162
className="overflow-hidden overflow-y-auto pt-2 scrollbar-thin scrollbar-track-transparent scrollbar-thumb-charcoal-600"

0 commit comments

Comments
 (0)