fix: loading active project was weird
This commit is contained in:
@@ -37,6 +37,7 @@ const App: React.FC = () => {
|
|||||||
togglePanel,
|
togglePanel,
|
||||||
setActiveView,
|
setActiveView,
|
||||||
setSelectedPost,
|
setSelectedPost,
|
||||||
|
setActiveProject,
|
||||||
openTab,
|
openTab,
|
||||||
restoreTabState,
|
restoreTabState,
|
||||||
} = useAppStore();
|
} = useAppStore();
|
||||||
@@ -48,6 +49,9 @@ const App: React.FC = () => {
|
|||||||
try {
|
try {
|
||||||
// First, get active project to set the correct context in backend engines
|
// First, get active project to set the correct context in backend engines
|
||||||
const activeProject = await window.electronAPI?.projects.getActive();
|
const activeProject = await window.electronAPI?.projects.getActive();
|
||||||
|
if (activeProject) {
|
||||||
|
setActiveProject(activeProject as import('./store').ProjectData);
|
||||||
|
}
|
||||||
|
|
||||||
// Load posts (now with correct project context, limited to 500)
|
// Load posts (now with correct project context, limited to 500)
|
||||||
const postsResult = await window.electronAPI?.posts.getAll({ limit: 500, offset: 0 });
|
const postsResult = await window.electronAPI?.posts.getAll({ limit: 500, offset: 0 });
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ export const ProjectSelector: React.FC = () => {
|
|||||||
const [newProjectDataPath, setNewProjectDataPath] = useState<string | null>(null);
|
const [newProjectDataPath, setNewProjectDataPath] = useState<string | null>(null);
|
||||||
const dropdownRef = useRef<HTMLDivElement>(null);
|
const dropdownRef = useRef<HTMLDivElement>(null);
|
||||||
|
|
||||||
// Load projects on mount
|
// Load projects on mount (active project is loaded by App.tsx)
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const loadProjects = async () => {
|
const loadProjects = async () => {
|
||||||
try {
|
try {
|
||||||
@@ -46,16 +46,12 @@ export const ProjectSelector: React.FC = () => {
|
|||||||
if (allProjects) {
|
if (allProjects) {
|
||||||
setProjects(allProjects as ProjectData[]);
|
setProjects(allProjects as ProjectData[]);
|
||||||
}
|
}
|
||||||
const active = await window.electronAPI?.projects.getActive();
|
|
||||||
if (active) {
|
|
||||||
setActiveProject(active as ProjectData);
|
|
||||||
}
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Failed to load projects:', error);
|
console.error('Failed to load projects:', error);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
loadProjects();
|
loadProjects();
|
||||||
}, [setProjects, setActiveProject]);
|
}, [setProjects]);
|
||||||
|
|
||||||
// Close dropdown when clicking outside
|
// Close dropdown when clicking outside
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user