Skip to content

Commit 8bbd292

Browse files
committed
fix: ChatModeSelector.tsx 47 Error creating backend folder: TypeError
1 parent da931c0 commit 8bbd292

File tree

9 files changed

+20
-18
lines changed

9 files changed

+20
-18
lines changed

src/components/ChatModeSelector.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export function ChatModeSelector({ appId }: { appId?: number }) {
3737

3838
// If no backend files exist, create the backend folder
3939
if (backendFiles.length === 0) {
40-
await IpcClient.getInstance().invoke("create-missing-folder", {
40+
await IpcClient.getInstance().createMissingFolder({
4141
appId,
4242
folderType: "backend",
4343
backendFramework: settings?.selectedBackendFramework,

src/components/backend-chat/BackendChatInput.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ export function BackendChatInput({ chatId }: { chatId?: number }) {
349349
</div>
350350
<div className="pl-2 pr-1 flex items-center justify-between pb-2">
351351
<div className="flex items-center">
352-
<ChatInputControls showContextFilesPicker={true} appId={appId} />
352+
<ChatInputControls showContextFilesPicker={true} appId={appId ?? undefined} />
353353
{/* File attachment dropdown */}
354354
<FileAttachmentDropdown
355355
onFileSelect={handleFileSelect}

src/components/backend-chat/BackendChatPanel.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export function BackendChatPanel({
2525
const [error, setError] = useState<string | null>(null);
2626
const streamCount = useAtomValue(chatStreamCountAtom);
2727

28-
const messagesEndRef = useRef<HTMLDivElement | null>(null);
28+
const messagesEndRef = useRef<HTMLDivElement>(null);
2929
const messagesContainerRef = useRef<HTMLDivElement | null>(null);
3030

3131
// Scroll-related properties

src/components/backend-chat/BackendMessagesList.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { BackendChatMessage } from "./BackendChatMessage";
44

55
interface BackendMessagesListProps {
66
messages: Message[];
7-
messagesEndRef: React.RefObject<HTMLDivElement>;
7+
messagesEndRef: React.RefObject<HTMLDivElement | null>;
88
}
99

1010
export const BackendMessagesList = forwardRef<

src/components/backend-chat/BackendVersionPane.tsx

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,17 +58,12 @@ export function BackendVersionPane({ isVisible, onClose }: BackendVersionPanePro
5858
<p className="text-sm text-gray-900 dark:text-gray-100 mb-2">
5959
{version.message || "Backend changes"}
6060
</p>
61-
{version.author && (
62-
<div className="flex items-center gap-1 text-xs text-muted-foreground">
63-
<GitBranch size={12} />
64-
<span>{version.author.name}</span>
65-
<span></span>
66-
<Clock size={12} />
67-
<span>
68-
{formatDistanceToNow(new Date(version.date), { addSuffix: true })}
69-
</span>
70-
</div>
71-
)}
61+
<div className="flex items-center gap-1 text-xs text-muted-foreground">
62+
<Clock size={12} />
63+
<span>
64+
{formatDistanceToNow(new Date(version.timestamp * 1000), { addSuffix: true })}
65+
</span>
66+
</div>
7267
</div>
7368
</div>
7469
</div>

src/components/chat/ChatInput.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ export function ChatInput({ chatId }: { chatId?: number }) {
317317
</div>
318318
<div className="pl-2 pr-1 flex items-center justify-between pb-2">
319319
<div className="flex items-center">
320-
<ChatInputControls showContextFilesPicker={true} appId={appId} />
320+
<ChatInputControls showContextFilesPicker={true} appId={appId ?? undefined} />
321321
{/* File attachment dropdown */}
322322
<FileAttachmentDropdown
323323
onFileSelect={handleFileSelect}

src/hooks/useStreamChat.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,14 @@ export function useStreamChat({
6262
async ({
6363
prompt,
6464
chatId,
65+
chatMode,
6566
redo,
6667
attachments,
6768
selectedComponent,
6869
}: {
6970
prompt: string;
7071
chatId: number;
72+
chatMode?: "build" | "ask" | "backend";
7173
redo?: boolean;
7274
attachments?: FileAttachment[];
7375
selectedComponent?: ComponentSelection | null;
@@ -87,6 +89,7 @@ export function useStreamChat({
8789
IpcClient.getInstance().streamMessage(prompt, {
8890
selectedComponent: selectedComponent ?? null,
8991
chatId,
92+
chatMode,
9093
redo,
9194
attachments,
9295
onUpdate: (updatedMessages: Message[]) => {

src/ipc/handlers/app_handlers.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -612,7 +612,6 @@ export function registerAppHandlers() {
612612
dir: fullAppPath,
613613
ref: 'main',
614614
force: true,
615-
create: true,
616615
});
617616
} catch (createError) {
618617
logger.warn(`Failed to create main branch:`, createError);
@@ -769,7 +768,7 @@ export function registerAppHandlers() {
769768
// Only create backend folder
770769
const backendPath = path.join(fullAppPath, "backend");
771770
if (!fs.existsSync(backendPath)) {
772-
await fs.ensureDir(backendPath);
771+
await fsPromises.mkdir(backendPath, { recursive: true });
773772
await setupBackendFramework(backendPath, backendFramework);
774773

775774
// Install dependencies for the backend framework

src/ipc/ipc_client.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1213,4 +1213,9 @@ export class IpcClient {
12131213
public async startBackendServer(appId: number): Promise<void> {
12141214
return this.ipcRenderer.invoke("start-backend-server", appId);
12151215
}
1216+
1217+
// Create missing folder (frontend or backend)
1218+
public async createMissingFolder(params: { appId: number; folderType: "frontend" | "backend"; templateId?: string; backendFramework?: string }): Promise<void> {
1219+
return this.ipcRenderer.invoke("create-missing-folder", params);
1220+
}
12161221
}

0 commit comments

Comments
 (0)