Skip to content

Commit d7dea68

Browse files
committed
Remove duplicate clearThreadDraft in favor of clearDraftThread
clearThreadDraft was functionally identical to clearDraftThread after recent changes. Remove the duplicate and update the single production caller in Sidebar.tsx to use clearDraftThread instead. Applied via @cursor push command
1 parent 657de3c commit d7dea68

File tree

2 files changed

+1
-37
lines changed

2 files changed

+1
-37
lines changed

apps/web/src/components/Sidebar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ export default function Sidebar() {
258258
const markThreadUnread = useStore((store) => store.markThreadUnread);
259259
const toggleProject = useStore((store) => store.toggleProject);
260260
const reorderProjects = useStore((store) => store.reorderProjects);
261-
const clearComposerDraftForThread = useComposerDraftStore((store) => store.clearThreadDraft);
261+
const clearComposerDraftForThread = useComposerDraftStore((store) => store.clearDraftThread);
262262
const getDraftThreadByProjectId = useComposerDraftStore(
263263
(store) => store.getDraftThreadByProjectId,
264264
);

apps/web/src/composerDraftStore.ts

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,6 @@ interface ComposerDraftStoreState {
219219
attachments: PersistedComposerImageAttachment[],
220220
) => void;
221221
clearComposerContent: (threadId: ThreadId) => void;
222-
clearThreadDraft: (threadId: ThreadId) => void;
223222
}
224223

225224
const EMPTY_PROVIDER_MODEL_OPTIONS = Object.freeze<ProviderModelOptions>({});
@@ -1748,41 +1747,6 @@ export const useComposerDraftStore = create<ComposerDraftStoreState>()(
17481747
return { draftsByThreadId: nextDraftsByThreadId };
17491748
});
17501749
},
1751-
clearThreadDraft: (threadId) => {
1752-
if (threadId.length === 0) {
1753-
return;
1754-
}
1755-
const existing = get().draftsByThreadId[threadId];
1756-
if (existing) {
1757-
for (const image of existing.images) {
1758-
revokeObjectPreviewUrl(image.previewUrl);
1759-
}
1760-
}
1761-
set((state) => {
1762-
const hasComposerDraft = state.draftsByThreadId[threadId] !== undefined;
1763-
const hasDraftThread = state.draftThreadsByThreadId[threadId] !== undefined;
1764-
const hasProjectMapping = Object.values(state.projectDraftThreadIdByProjectId).includes(
1765-
threadId,
1766-
);
1767-
if (!hasComposerDraft && !hasDraftThread && !hasProjectMapping) {
1768-
return state;
1769-
}
1770-
const { [threadId]: _removedComposerDraft, ...restComposerDraftsByThreadId } =
1771-
state.draftsByThreadId;
1772-
const { [threadId]: _removedDraftThread, ...restDraftThreadsByThreadId } =
1773-
state.draftThreadsByThreadId;
1774-
const nextProjectDraftThreadIdByProjectId = Object.fromEntries(
1775-
Object.entries(state.projectDraftThreadIdByProjectId).filter(
1776-
([, draftThreadId]) => draftThreadId !== threadId,
1777-
),
1778-
) as Record<ProjectId, ThreadId>;
1779-
return {
1780-
draftsByThreadId: restComposerDraftsByThreadId,
1781-
draftThreadsByThreadId: restDraftThreadsByThreadId,
1782-
projectDraftThreadIdByProjectId: nextProjectDraftThreadIdByProjectId,
1783-
};
1784-
});
1785-
},
17861750
}),
17871751
{
17881752
name: COMPOSER_DRAFT_STORAGE_KEY,

0 commit comments

Comments
 (0)