Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8105e90

Browse files
committed
chore(site): hide chat behind ExperimentAgenticChat
1 parent9dafd1e commit8105e90

File tree

2 files changed

+48
-14
lines changed

2 files changed

+48
-14
lines changed

‎site/src/contexts/useAgenticChat.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import{experiments}from"api/queries/experiments";
2+
3+
import{useEmbeddedMetadata}from"hooks/useEmbeddedMetadata";
4+
import{useEffect,useState}from"react";
5+
import{useQuery}from"react-query";
6+
7+
interfaceAgenticChat{
8+
readonlyenabled:boolean;
9+
}
10+
11+
exportconstuseAgenticChat=():AgenticChat=>{
12+
const{ metadata}=useEmbeddedMetadata();
13+
constenabledExperimentsQuery=useQuery(experiments(metadata.experiments));
14+
15+
const[enabled,setEnabled]=useState<boolean>(false);
16+
useEffect(()=>{
17+
if(enabledExperimentsQuery.data?.includes("agentic-chat")){
18+
setEnabled(true);
19+
}
20+
});
21+
22+
return{ enabled};
23+
};

‎site/src/modules/dashboard/Navbar/NavbarView.tsx

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { Button } from "components/Button/Button";
44
import{ExternalImage}from"components/ExternalImage/ExternalImage";
55
import{CoderIcon}from"components/Icons/CoderIcon";
66
importtype{ProxyContextValue}from"contexts/ProxyContext";
7+
import{useAgenticChat}from"contexts/useAgenticChat";
78
import{useWebpushNotifications}from"contexts/useWebpushNotifications";
89
import{NotificationsInbox}from"modules/notifications/NotificationsInbox/NotificationsInbox";
910
importtype{FC}from"react";
@@ -45,8 +46,7 @@ export const NavbarView: FC<NavbarViewProps> = ({
4546
canViewAuditLog,
4647
proxyContextValue,
4748
})=>{
48-
const{ subscribed, enabled, loading, subscribe, unsubscribe}=
49-
useWebpushNotifications();
49+
constwebPush=useWebpushNotifications();
5050

5151
return(
5252
<divclassName="border-0 border-b border-solid h-[72px] flex items-center leading-none px-6">
@@ -76,13 +76,21 @@ export const NavbarView: FC<NavbarViewProps> = ({
7676
/>
7777
</div>
7878

79-
{enabled ?(
80-
subscribed ?(
81-
<Buttonvariant="outline"disabled={loading}onClick={unsubscribe}>
79+
{webPush.enabled ?(
80+
webPush.subscribed ?(
81+
<Button
82+
variant="outline"
83+
disabled={webPush.loading}
84+
onClick={webPush.unsubscribe}
85+
>
8286
Disable WebPush
8387
</Button>
8488
) :(
85-
<Buttonvariant="outline"disabled={loading}onClick={subscribe}>
89+
<Button
90+
variant="outline"
91+
disabled={webPush.loading}
92+
onClick={webPush.subscribe}
93+
>
8694
Enable WebPush
8795
</Button>
8896
)
@@ -132,6 +140,7 @@ interface NavItemsProps {
132140

133141
constNavItems:FC<NavItemsProps>=({ className})=>{
134142
constlocation=useLocation();
143+
constagenticChat=useAgenticChat();
135144

136145
return(
137146
<navclassName={cn("flex items-center gap-4 h-full",className)}>
@@ -154,14 +163,16 @@ const NavItems: FC<NavItemsProps> = ({ className }) => {
154163
>
155164
Templates
156165
</NavLink>
157-
<NavLink
158-
className={({ isActive})=>{
159-
returncn(linkStyles.default,isActive ?linkStyles.active :"");
160-
}}
161-
to="/chat"
162-
>
163-
Chat
164-
</NavLink>
166+
{agenticChat.enabled ?(
167+
<NavLink
168+
className={({ isActive})=>{
169+
returncn(linkStyles.default,isActive ?linkStyles.active :"");
170+
}}
171+
to="/chat"
172+
>
173+
Chat
174+
</NavLink>
175+
) :null}
165176
</nav>
166177
);
167178
};

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp