diff --git a/src/app/projects/[projectId]/components/ProjectPage.tsx b/src/app/projects/[projectId]/components/ProjectPage.tsx
index 3cfa5ac..49619b5 100644
--- a/src/app/projects/[projectId]/components/ProjectPage.tsx
+++ b/src/app/projects/[projectId]/components/ProjectPage.tsx
@@ -45,12 +45,6 @@ export const ProjectPageContent = ({ projectId }: { projectId: string }) => {
});
}, [config.hideNoUserMessageSession, config.unifySameTitleSession]);
- const handleConfigChange = () => {
- void queryClient.invalidateQueries({
- queryKey: projectQueryConfig(projectId).queryKey,
- });
- };
-
return (
@@ -118,7 +112,7 @@ export const ProjectPageContent = ({ projectId }: { projectId: string }) => {
-
+
diff --git a/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/MobileSidebar.tsx b/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/MobileSidebar.tsx
index 1576e76..803b0e8 100644
--- a/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/MobileSidebar.tsx
+++ b/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/MobileSidebar.tsx
@@ -79,7 +79,7 @@ export const MobileSidebar: FC = ({
case "mcp":
return ;
case "settings":
- return ;
+ return ;
default:
return null;
}
diff --git a/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/SessionSidebar.tsx b/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/SessionSidebar.tsx
index 47f191f..8a4dc76 100644
--- a/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/SessionSidebar.tsx
+++ b/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/SessionSidebar.tsx
@@ -54,7 +54,7 @@ export const SessionSidebar: FC<{
case "mcp":
return ;
case "settings":
- return ;
+ return ;
default:
return null;
}
diff --git a/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/SettingsTab.tsx b/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/SettingsTab.tsx
index c4164c0..c18af76 100644
--- a/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/SettingsTab.tsx
+++ b/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/SettingsTab.tsx
@@ -3,7 +3,9 @@
import type { FC } from "react";
import { SettingsControls } from "@/components/SettingsControls";
-export const SettingsTab: FC = () => {
+export const SettingsTab: FC<{
+ openingProjectId: string;
+}> = ({ openingProjectId }) => {
return (
@@ -20,7 +22,7 @@ export const SettingsTab: FC = () => {
Session Display
-
+
diff --git a/src/components/SettingsControls.tsx b/src/components/SettingsControls.tsx
index 5d98756..4277e3d 100644
--- a/src/components/SettingsControls.tsx
+++ b/src/components/SettingsControls.tsx
@@ -1,40 +1,47 @@
"use client";
import { useQueryClient } from "@tanstack/react-query";
-import { type FC, useId } from "react";
+import { type FC, useCallback, useId } from "react";
import { configQueryConfig, useConfig } from "@/app/hooks/useConfig";
import { Checkbox } from "@/components/ui/checkbox";
+import { projectQueryConfig } from "../app/projects/[projectId]/hooks/useProject";
interface SettingsControlsProps {
+ openingProjectId: string;
showLabels?: boolean;
showDescriptions?: boolean;
className?: string;
- onConfigChange?: () => void;
}
export const SettingsControls: FC = ({
+ openingProjectId,
showLabels = true,
showDescriptions = true,
className = "",
- onConfigChange,
}: SettingsControlsProps) => {
const checkboxId = useId();
const { config, updateConfig } = useConfig();
const queryClient = useQueryClient();
+ const onConfigChanged = useCallback(async () => {
+ await queryClient.invalidateQueries({
+ queryKey: configQueryConfig.queryKey,
+ });
+ await queryClient.invalidateQueries({
+ queryKey: ["projects"],
+ });
+ void queryClient.invalidateQueries({
+ queryKey: projectQueryConfig(openingProjectId).queryKey,
+ });
+ }, [queryClient, openingProjectId]);
+
const handleHideNoUserMessageChange = async () => {
const newConfig = {
...config,
hideNoUserMessageSession: !config?.hideNoUserMessageSession,
};
updateConfig(newConfig);
- await queryClient.invalidateQueries({
- queryKey: configQueryConfig.queryKey,
- });
- await queryClient.invalidateQueries({
- queryKey: ["projects"],
- });
- onConfigChange?.();
+ await onConfigChanged();
};
const handleUnifySameTitleChange = async () => {
@@ -43,13 +50,7 @@ export const SettingsControls: FC = ({
unifySameTitleSession: !config?.unifySameTitleSession,
};
updateConfig(newConfig);
- await queryClient.invalidateQueries({
- queryKey: configQueryConfig.queryKey,
- });
- await queryClient.invalidateQueries({
- queryKey: ["projects"],
- });
- onConfigChange?.();
+ await onConfigChanged();
};
return (