Skip to content

Commit b91c595

Browse files
committed
For real this time
1 parent efd90b5 commit b91c595

1 file changed

Lines changed: 24 additions & 4 deletions

File tree

‎frontend/src/modules/project/hooks/useProjectEditor.ts‎

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,16 +111,36 @@ export const useProjectEditor = (
111111
});
112112
}
113113

114-
const refreshed = await projectClient.getProject(projectData.id);
115-
setProjectData(refreshed);
114+
let refreshed: Project | null = null;
115+
try {
116+
refreshed = await projectClient.getProject(projectData.id);
117+
} catch {
118+
}
119+
120+
setProjectData(prev => {
121+
if (refreshed && prev) return { ...prev, ...refreshed };
122+
if (refreshed) return refreshed;
123+
if (!prev) return prev;
124+
return {
125+
...prev,
126+
title: metaData.title,
127+
slug: metaData.slug,
128+
description: metaData.summary,
129+
about: metaData.description,
130+
tags: metaData.tags,
131+
links: metaData.links,
132+
repositoryUrl: metaData.repositoryUrl,
133+
license: metaData.license
134+
};
135+
});
116136
setIsDirty(false);
117137
setMetaData(prev => ({
118138
...prev,
119139
iconFile: null,
120-
iconPreview: refreshed.imageUrl || null
140+
iconPreview: refreshed?.imageUrl || prev.iconPreview
121141
}));
122142
setBannerFile(null);
123-
setBannerPreview(refreshed.bannerUrl || null);
143+
setBannerPreview(prev => refreshed?.bannerUrl ?? prev);
124144

125145
onShowStatus('success', 'Saved', 'Project details saved successfully.');
126146
} catch (e: any) {

0 commit comments

Comments
 (0)