Skip to content

Commit 7fcc2c9

Browse files
committed
Clean up more admin stuff
1 parent 46e8f92 commit 7fcc2c9

File tree

11 files changed

+89
-97
lines changed

11 files changed

+89
-97
lines changed

web/src/app/admin/add-connector/page.tsx

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
"use client";
2+
23
import { AdminPageTitle } from "@/components/admin/Title";
34
import { ConnectorIcon } from "@/components/icons/icons";
45
import { SourceCategory, SourceMetadata } from "@/lib/search/interfaces";
@@ -34,17 +35,23 @@ import { Credential } from "@/lib/connectors/credentials";
3435
import { SettingsContext } from "@/components/settings/SettingsProvider";
3536
import SourceTile from "@/components/SourceTile";
3637

38+
interface CategorizedSources {
39+
[key: string]: SourceMetadata[];
40+
}
41+
42+
interface SourceTileTooltipWrapperProps {
43+
sourceMetadata: SourceMetadata;
44+
preSelect?: boolean;
45+
federatedConnectors?: FederatedConnectorDetail[];
46+
slackCredentials?: Credential<any>[];
47+
}
48+
3749
function SourceTileTooltipWrapper({
3850
sourceMetadata,
3951
preSelect,
4052
federatedConnectors,
4153
slackCredentials,
42-
}: {
43-
sourceMetadata: SourceMetadata;
44-
preSelect?: boolean;
45-
federatedConnectors?: FederatedConnectorDetail[];
46-
slackCredentials?: Credential<any>[];
47-
}) {
54+
}: SourceTileTooltipWrapperProps) {
4855
// Check if there's already a federated connector for this source
4956
const existingFederatedConnector = useMemo(() => {
5057
if (!sourceMetadata.federated || !federatedConnectors) {
@@ -189,7 +196,7 @@ export default function Page() {
189196
);
190197
}, [sources, filterSources, searchTerm]);
191198

192-
const categorizedSources = useMemo(() => {
199+
const categorizedSources = useMemo((): CategorizedSources => {
193200
const filtered = filterSources(sources);
194201
const categories = Object.values(SourceCategory).reduce(
195202
(acc, category) => {
@@ -286,7 +293,7 @@ export default function Page() {
286293
value={rawSearchTerm} // keep the input bound to immediate state
287294
onChange={(e) => setSearchTerm(e.target.value)}
288295
onKeyDown={handleKeyPress}
289-
className="ml-1 w-96 h-9 flex-none rounded-md border border-border bg-background-50 px-3 py-1 text-sm shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"
296+
className="ml-1 w-96 h-9 flex-none rounded-md border border-01 bg-background-tint-03 px-3 py-1 text-sm shadow-01 transition-colors placeholder:text-text-03 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-theme-primary-04"
290297
/>
291298

292299
{dedupedPopular.length > 0 && (

web/src/app/chat/layout.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { redirect } from "next/navigation";
22
import { unstable_noStore as noStore } from "next/cache";
33
import { fetchChatData } from "@/lib/chat/fetchChatData";
44
import { ChatProvider } from "@/components/context/ChatContext";
5-
import AppSidebar from "@/sections/AppSidebar";
5+
import AppSidebar from "@/sections/sidebar/AppSidebar";
66
import { fetchAppSidebarMetadata } from "@/lib/appSidebarSS";
77
import { getCurrentUserSS } from "@/lib/userSS";
88
import { AppSidebarProvider } from "@/components-2/context/AppSidebarContext";
File renamed without changes.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
"use client";
2+
3+
import React from "react";
4+
import Link from "next/link";
5+
import Text from "@/components-2/Text";
6+
import { SvgProps } from "@/icons";
7+
8+
export interface MenuButtonProps {
9+
children?: string;
10+
onClick?: () => void;
11+
href?: string;
12+
icon?: React.FunctionComponent<SvgProps>;
13+
danger?: boolean;
14+
}
15+
16+
export function MenuButton({
17+
children,
18+
onClick,
19+
href,
20+
icon: Icon,
21+
danger,
22+
}: MenuButtonProps) {
23+
const content = (
24+
<button
25+
className="flex p-padding-button gap-spacing-interline rounded-08 hover:bg-background-tint-02 w-full"
26+
onClick={(event) => {
27+
event.stopPropagation();
28+
onClick?.();
29+
}}
30+
>
31+
{Icon && (
32+
<Icon
33+
className={`h-[1.2rem] min-w-[1.2rem] stroke-text-04 ${danger && "!stroke-action-danger-05"}`}
34+
/>
35+
)}
36+
<Text text04 className={danger ? "!text-action-danger-05" : undefined}>
37+
{children}
38+
</Text>
39+
</button>
40+
);
41+
42+
if (!href) return content;
43+
44+
return <Link href={href}>{content}</Link>;
45+
}

web/src/components/SourceTile.tsx

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { AlertIcon } from "@/components/icons/icons";
33
import Link from "next/link";
44
import { SourceMetadata } from "@/lib/search/interfaces";
55
import React from "react";
6+
import Text from "@/components-2/Text";
67

78
interface SourceTileProps {
89
sourceMetadata: SourceMetadata;
@@ -23,28 +24,28 @@ export default function SourceTile({
2324
flex-col
2425
items-center
2526
justify-center
26-
p-4
27+
p-spacing-paragraph
2728
rounded-lg
2829
w-40
2930
cursor-pointer
3031
shadow-md
31-
hover:bg-accent-background-hovered
3232
relative
33-
${
34-
preSelect
35-
? "bg-accent-background-hovered subtle-pulse"
36-
: "bg-accent-background"
37-
}
33+
${preSelect ? "bg-background-tint-03 subtle-pulse" : "bg-background-tint-02"}
34+
hover:bg-background-tint-03
35+
gap-padding-button
3836
`}
3937
href={navigationUrl}
4038
>
4139
{sourceMetadata.federated && !hasExistingSlackCredentials && (
42-
<div className="absolute -top-2 -left-2 z-10 bg-white rounded-full p-1 shadow-md border border-orange-200">
43-
<AlertIcon size={18} className="text-orange-500 font-bold stroke-2" />
40+
<div className="absolute -top-2 -left-2 z-10 bg-background-neutral-inverted-00 rounded-full p-1 shadow-md border border-status-warning-02">
41+
<AlertIcon
42+
size={18}
43+
className="text-status-warning-05 font-bold stroke-2"
44+
/>
4445
</div>
4546
)}
4647
<SourceIcon sourceType={sourceMetadata.internalName} iconSize={24} />
47-
<p className="font-medium text-sm mt-2">{sourceMetadata.displayName}</p>
48+
<Text>{sourceMetadata.displayName}</Text>
4849
</Link>
4950
);
5051
}

web/src/components/admin/ClientLayout.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use client";
22

3-
import { AdminSidebar } from "@/components/admin/connectors/AdminSidebar";
3+
import { AdminSidebar } from "@/sections/sidebar/AdminSidebar";
44
import {
55
ClipboardIcon,
66
NotebookIconSkeleton,

web/src/sections/AgentsModal/AgentCard.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import React, { useState } from "react";
22
import { useRouter } from "next/navigation";
3-
import { FiMoreHorizontal, FiTrash, FiEdit, FiBarChart } from "react-icons/fi";
43
import { SEARCH_PARAM_NAMES } from "@/app/chat/services/searchParams";
5-
64
import {
75
Popover,
86
PopoverTrigger,
@@ -27,13 +25,13 @@ import Truncated from "@/components-2/Truncated";
2725
import SvgBubbleText from "@/icons/bubble-text";
2826
import SvgPin from "@/icons/pin";
2927
import { SvgProps } from "@/icons";
30-
import { MenuButton } from "../AppSidebar/components";
28+
import { MenuButton } from "@/components-2/buttons/MenuButton";
3129
import SvgEditBig from "@/icons/edit-big";
3230
import SvgTrash from "@/icons/trash";
3331
import SvgMoreHorizontal from "@/icons/more-horizontal";
3432
import SvgBarChart from "@/icons/bar-chart";
3533
import ConfirmationModal from "@/components-2/modals/ConfirmationModal";
36-
import Button from "@/components-2/Button";
34+
import Button from "@/components-2/buttons/Button";
3735

3836
interface AgentActionButtonProps {
3937
title: string;

web/src/components/admin/connectors/AdminSidebar.tsx renamed to web/src/sections/sidebar/AdminSidebar.tsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,8 @@ import { SettingsContext } from "@/components/settings/SettingsProvider";
66
import { CgArrowsExpandUpLeft } from "react-icons/cg";
77
import { LogoComponent } from "@/components/logo/FixedLogo";
88
import Text from "@/components-2/Text";
9-
import {
10-
SidebarButton,
11-
SidebarSection,
12-
} from "@/sections/AppSidebar/components";
13-
import Settings from "@/sections/AppSidebar/Settings";
9+
import { SidebarButton, SidebarSection } from "@/sections/sidebar/components";
10+
import Settings from "@/sections/sidebar/Settings";
1411

1512
interface Item {
1613
name: string;

web/src/sections/AppSidebar/index.tsx renamed to web/src/sections/sidebar/AppSidebar.tsx

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,9 @@ import SvgSidebar from "@/icons/sidebar";
3535
import SvgEditBig from "@/icons/edit-big";
3636
import SvgMoreHorizontal from "@/icons/more-horizontal";
3737
import SvgLightbulbSimple from "@/icons/lightbulb-simple";
38-
import Settings from "@/sections/AppSidebar/Settings";
39-
import {
40-
AgentsMenu,
41-
MenuButton,
42-
SidebarButton,
43-
SidebarSection,
44-
} from "@/sections/AppSidebar/components";
38+
import Settings from "@/sections/sidebar/Settings";
39+
import { SidebarButton, SidebarSection } from "@/sections/sidebar/components";
40+
import { MenuButton } from "@/components-2/buttons/MenuButton";
4541
import AgentsModal from "@/sections/AgentsModal";
4642
import { useChatContext } from "@/components/context/ChatContext";
4743
import SvgBubbleText from "@/icons/bubble-text";
@@ -60,7 +56,7 @@ import SvgTrash from "@/icons/trash";
6056
import SvgShare from "@/icons/share";
6157
import SvgEdit from "@/icons/edit";
6258
import Truncated from "@/components-2/Truncated";
63-
import Button from "@/components-2/Button";
59+
import Button from "@/components-2/buttons/Button";
6460

6561
// Visible-agents = pinned-agents + current-agent (if current-agent not in pinned-agents)
6662
// OR Visible-agents = pinned-agents (if current-agent in pinned-agents)
@@ -256,10 +252,11 @@ function AgentsButtonInner({
256252
<SidebarButton
257253
icon={SvgLightbulbSimple}
258254
kebabMenu={
259-
<AgentsMenu
260-
pinned={pinned}
261-
onTogglePin={() => onTogglePin(visibleAgent, !pinned)}
262-
/>
255+
<div className="flex flex-col gap-spacing-inline">
256+
<MenuButton onClick={() => onTogglePin(visibleAgent, !pinned)}>
257+
{pinned ? "Unpin chat" : "Pin chat"}
258+
</MenuButton>
259+
</div>
263260
}
264261
kebabMenuOpen={kebabMenuOpen}
265262
setKebabMenuOpen={setKebabMenuOpen}

web/src/sections/AppSidebar/Settings.tsx renamed to web/src/sections/sidebar/Settings.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import { useUser } from "@/components/user/UserProvider";
1111
import { Avatar } from "@/components/ui/avatar";
1212
import Text from "@/components-2/Text";
1313
import Truncated from "@/components-2/Truncated";
14-
import { MenuButton, SidebarButton } from "@/sections/AppSidebar/components";
14+
import { SidebarButton } from "@/sections/sidebar/components";
15+
import { MenuButton } from "@/components-2/buttons/MenuButton";
1516
import {
1617
Popover,
1718
PopoverContent,

0 commit comments

Comments
 (0)