Skip to content

Commit 4308e04

Browse files
committed
More side menu improvements
1 parent 8de5e2d commit 4308e04

8 files changed

Lines changed: 122 additions & 29 deletions

File tree

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
export function ChartArrowIcon({ className }: { className?: string }) {
2+
return (
3+
<svg
4+
className={className}
5+
width="24"
6+
height="24"
7+
viewBox="0 0 24 24"
8+
fill="none"
9+
xmlns="http://www.w3.org/2000/svg"
10+
>
11+
<path
12+
d="M9 12C9 10.8954 9.89543 10 11 10H13C14.1046 10 15 10.8954 15 12V21H9V12Z"
13+
stroke="currentColor"
14+
strokeWidth="2"
15+
/>
16+
<path
17+
d="M15 7C15 5.89543 15.8954 5 17 5H19C20.1046 5 21 5.89543 21 7V20C21 20.5523 20.5523 21 20 21H15V7Z"
18+
stroke="currentColor"
19+
strokeWidth="2"
20+
/>
21+
<path
22+
d="M3 17C3 15.8954 3.89543 15 5 15H7C8.10457 15 9 15.8954 9 17V21H4C3.44772 21 3 20.5523 3 20V17Z"
23+
stroke="currentColor"
24+
strokeWidth="2"
25+
/>
26+
<path
27+
d="M3 5.5L8 5.5"
28+
stroke="currentColor"
29+
strokeWidth="2"
30+
strokeLinecap="round"
31+
strokeLinejoin="round"
32+
/>
33+
<path
34+
d="M7.4 8L9.9 5.50005L7.39995 3"
35+
stroke="currentColor"
36+
strokeWidth="2"
37+
strokeLinecap="round"
38+
strokeLinejoin="round"
39+
/>
40+
</svg>
41+
);
42+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
export function SlackIcon({ className }: { className?: string }) {
2+
return (
3+
<svg
4+
className={className}
5+
width="24"
6+
height="24"
7+
viewBox="0 0 24 24"
8+
fill="currentColor"
9+
xmlns="http://www.w3.org/2000/svg"
10+
>
11+
<path d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z" />
12+
</svg>
13+
);
14+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
export function UserGroupIcon({ className }: { className?: string }) {
2+
return (
3+
<svg
4+
className={className}
5+
width="24"
6+
height="24"
7+
viewBox="0 0 24 24"
8+
fill="none"
9+
xmlns="http://www.w3.org/2000/svg"
10+
>
11+
<circle cx="12" cy="7.5" r="2.5" stroke="currentColor" strokeWidth="2" />
12+
<circle cx="19" cy="9.5" r="2" stroke="currentColor" strokeWidth="2" />
13+
<circle cx="5" cy="9.5" r="2" stroke="currentColor" strokeWidth="2" />
14+
<path
15+
d="M12 13C9.28772 13 8.29961 15.0954 8.06142 17.0026C7.99297 17.5507 8.44772 18 9 18H15C15.5523 18 16.007 17.5507 15.9386 17.0026C15.7004 15.0954 14.7123 13 12 13Z"
16+
stroke="currentColor"
17+
strokeWidth="2"
18+
/>
19+
<path
20+
d="M19 18H20C20.5523 18 21.0112 17.5481 20.904 17.0063C20.6537 15.7422 19.867 14.4289 18 14.0859"
21+
stroke="currentColor"
22+
strokeWidth="2"
23+
strokeLinecap="round"
24+
/>
25+
<path
26+
d="M5 17.9141H4C3.44772 17.9141 2.9888 17.4621 3.09604 16.9203C3.34626 15.6562 4.13299 14.3429 6 14"
27+
stroke="currentColor"
28+
strokeWidth="2"
29+
strokeLinecap="round"
30+
/>
31+
</svg>
32+
);
33+
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export function AccountSideMenu({ user }: { user: User }) {
3434
<span className="text-text-bright">Back to app</span>
3535
</LinkButton>
3636
</div>
37-
<div className="mb-6 flex grow flex-col gap-1 overflow-y-auto px-1 pt-2 scrollbar-thin scrollbar-track-transparent scrollbar-thumb-charcoal-600">
37+
<div className="mb-6 flex grow flex-col overflow-y-auto px-1 pt-2 scrollbar-thin scrollbar-track-transparent scrollbar-thumb-charcoal-600">
3838
<SideMenuHeader title="Account" />
3939
<SideMenuItem
4040
name="Profile"

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { IconChartHistogram } from "@tabler/icons-react";
22
import { GripVerticalIcon } from "lucide-react";
33
import ReactGridLayout from "react-grid-layout";
44
import { AIMetricsIcon } from "~/assets/icons/AIMetricsIcon";
5-
import { RunsIcon } from "~/assets/icons/RunsIcon";
5+
import { ChartArrowIcon } from "~/assets/icons/ChartArrowIcon";
66
import { type MatchedOrganization, useCustomDashboards } from "~/hooks/useOrganizations";
77
import { type UserWithDashboardPreferences } from "~/models/user.server";
88
import { type RenderIcon } from "~/components/primitives/Icon";
@@ -58,7 +58,7 @@ export function DashboardList({
5858
kind: "builtin",
5959
label: "Run metrics",
6060
path: v3BuiltInDashboardPath(organization, project, environment, "overview"),
61-
collapsedIcon: RunsIcon,
61+
collapsedIcon: ChartArrowIcon,
6262
activeColor: "text-runs",
6363
},
6464
{

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

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import {
22
BellAlertIcon,
33
ChartBarIcon,
4-
Cog8ToothIcon,
54
CreditCardIcon,
65
LockClosedIcon,
76
ShieldCheckIcon,
8-
UserGroupIcon,
97
} from "@heroicons/react/20/solid";
108
import { ArrowLeftIcon } from "@heroicons/react/24/solid";
11-
import { SlackIcon } from "@trigger.dev/companyicons";
9+
import { SlackIcon } from "~/assets/icons/SlackIcon";
10+
import { SlidersIcon } from "~/assets/icons/SlidersIcon";
11+
import { UserGroupIcon } from "~/assets/icons/UserGroupIcon";
1212
import { VercelLogo } from "~/components/integrations/VercelLogo";
1313
import { useFeatureFlags } from "~/hooks/useFeatureFlags";
1414
import { useFeatures } from "~/hooks/useFeatures";
@@ -86,16 +86,16 @@ export function OrganizationSettingsSideMenu({
8686
<SideMenuItem
8787
name="Usage"
8888
icon={ChartBarIcon}
89-
activeIconColor="text-indigo-500"
90-
inactiveIconColor="text-indigo-500"
89+
activeIconColor="text-text-bright"
90+
inactiveIconColor="text-text-dimmed"
9191
to={v3UsagePath(organization)}
9292
data-action="usage"
9393
/>
9494
<SideMenuItem
9595
name="Billing"
9696
icon={CreditCardIcon}
97-
activeIconColor="text-emerald-500"
98-
inactiveIconColor="text-emerald-500"
97+
activeIconColor="text-text-bright"
98+
inactiveIconColor="text-text-dimmed"
9999
to={v3BillingPath(organization)}
100100
data-action="billing"
101101
badge={
@@ -107,8 +107,8 @@ export function OrganizationSettingsSideMenu({
107107
<SideMenuItem
108108
name="Billing alerts"
109109
icon={BellAlertIcon}
110-
activeIconColor="text-rose-500"
111-
inactiveIconColor="text-rose-500"
110+
activeIconColor="text-text-bright"
111+
inactiveIconColor="text-text-dimmed"
112112
to={v3BillingAlertsPath(organization)}
113113
data-action="billing-alerts"
114114
/>
@@ -118,35 +118,35 @@ export function OrganizationSettingsSideMenu({
118118
<SideMenuItem
119119
name="Private Connections"
120120
icon={LockClosedIcon}
121-
activeIconColor="text-purple-500"
122-
inactiveIconColor="text-purple-500"
121+
activeIconColor="text-text-bright"
122+
inactiveIconColor="text-text-dimmed"
123123
to={v3PrivateConnectionsPath(organization)}
124124
data-action="private-connections"
125125
/>
126126
)}
127127
<SideMenuItem
128128
name="Team"
129129
icon={UserGroupIcon}
130-
activeIconColor="text-amber-500"
131-
inactiveIconColor="text-amber-500"
130+
activeIconColor="text-text-bright"
131+
inactiveIconColor="text-text-dimmed"
132132
to={organizationTeamPath(organization)}
133133
data-action="team"
134134
/>
135135
{isUsingPlugin && (
136136
<SideMenuItem
137137
name="Roles"
138138
icon={ShieldCheckIcon}
139-
activeIconColor="text-sky-500"
140-
inactiveIconColor="text-sky-500"
139+
activeIconColor="text-text-bright"
140+
inactiveIconColor="text-text-dimmed"
141141
to={organizationRolesPath(organization)}
142142
data-action="roles"
143143
/>
144144
)}
145145
<SideMenuItem
146146
name="Settings"
147-
icon={Cog8ToothIcon}
148-
activeIconColor="text-orgSettings"
149-
inactiveIconColor="text-orgSettings"
147+
icon={SlidersIcon}
148+
activeIconColor="text-text-bright"
149+
inactiveIconColor="text-text-dimmed"
150150
to={organizationSettingsPath(organization)}
151151
data-action="settings"
152152
/>
@@ -158,17 +158,18 @@ export function OrganizationSettingsSideMenu({
158158
<SideMenuItem
159159
name="Vercel"
160160
icon={VercelLogo}
161-
activeIconColor="text-white"
162-
inactiveIconColor="text-white"
163-
iconClassName="size-4 ml-0.5"
161+
activeIconColor="text-text-bright"
162+
inactiveIconColor="text-text-dimmed"
163+
iconClassName="size-4 ml-[0.15rem]"
164164
to={organizationVercelIntegrationPath(organization)}
165165
data-action="integrations"
166166
/>
167167
<SideMenuItem
168168
name="Slack"
169169
icon={SlackIcon}
170-
activeIconColor="text-white"
171-
inactiveIconColor="text-white"
170+
activeIconColor="text-text-bright"
171+
inactiveIconColor="text-text-dimmed"
172+
iconClassName="size-4 ml-0.5"
172173
to={organizationSlackIntegrationPath(organization)}
173174
data-action="integrations"
174175
/>

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,11 @@ export function SideMenuItem({
5656
target={target}
5757
data-action={dataAction}
5858
className={cn(
59-
"group/menulink flex h-8 items-center gap-2 overflow-hidden rounded pl-[0.4375rem] pr-2 group-hover/menuitem:bg-charcoal-750 group-hover/menuitem:text-text-bright hover:bg-charcoal-750 hover:text-text-bright",
59+
"group/menulink flex h-8 items-center gap-2 overflow-hidden rounded pl-[0.4375rem] pr-2",
6060
isIndented ? "min-w-0 flex-1" : "w-full",
61-
isActive ? "bg-tertiary text-text-bright" : "text-text-dimmed"
61+
isActive
62+
? "bg-tertiary text-text-bright"
63+
: "text-text-dimmed group-hover/menuitem:bg-charcoal-750 group-hover/menuitem:text-text-bright hover:bg-charcoal-750 hover:text-text-bright"
6264
)}
6365
>
6466
<Icon

apps/webapp/app/routes/confirm-basic-details.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { conform, useForm } from "@conform-to/react";
22
import { parse } from "@conform-to/zod";
3-
import { ArrowRightIcon, EnvelopeIcon, UserGroupIcon, UserIcon } from "@heroicons/react/20/solid";
3+
import { ArrowRightIcon, EnvelopeIcon, UserIcon } from "@heroicons/react/20/solid";
4+
import { UserGroupIcon } from "~/assets/icons/UserGroupIcon";
45
import { HandRaisedIcon } from "@heroicons/react/24/solid";
56
import { RadioGroup } from "@radix-ui/react-radio-group";
67
import { json, type ActionFunction } from "@remix-run/node";

0 commit comments

Comments
 (0)