akhaliq HF Staff commited on
Commit
0726f23
·
1 Parent(s): b3e4b27

update upload image

Browse files
frontend/src/app/page.tsx CHANGED
@@ -301,6 +301,9 @@ export default function Home() {
301
  }
302
 
303
  // Add user message (show original message to user, but send enhanced to API)
 
 
 
304
  const userMessage: Message = {
305
  role: 'user',
306
  content: message,
@@ -323,6 +326,9 @@ export default function Home() {
323
  console.log('[SendMessage] effectiveRepoId (will use):', effectiveRepoId);
324
  console.log('[SendMessage] ==========================================');
325
 
 
 
 
326
  const request: CodeGenerationRequest = {
327
  query: enhancedMessage,
328
  language: language,
@@ -814,7 +820,10 @@ export default function Home() {
814
  };
815
 
816
  // Handle landing page prompt submission
817
- const handleLandingPageStart = async (prompt: string, language: Language, modelId: string, repoId?: string, shouldCreatePR?: boolean) => {
 
 
 
818
  // Hide landing page immediately for smooth transition
819
  setShowLandingPage(false);
820
 
@@ -826,9 +835,9 @@ export default function Home() {
826
  pendingPRRef.current = prInfo; // Set ref immediately for synchronous access
827
  }
828
 
829
- // Send the message with the selected language and model
830
  // Don't pass repoId to handleSendMessage when creating PR (we want to generate code first, then create PR)
831
- await handleSendMessage(prompt, undefined, language, modelId, shouldCreatePR ? undefined : repoId, shouldCreatePR);
832
  };
833
 
834
  // Resize handlers for chat sidebar (desktop only)
 
301
  }
302
 
303
  // Add user message (show original message to user, but send enhanced to API)
304
+ console.log('[handleSendMessage] Received imageUrl:', imageUrl ? 'Yes' : 'No');
305
+ console.log('[handleSendMessage] Image URL length:', imageUrl?.length || 0);
306
+
307
  const userMessage: Message = {
308
  role: 'user',
309
  content: message,
 
326
  console.log('[SendMessage] effectiveRepoId (will use):', effectiveRepoId);
327
  console.log('[SendMessage] ==========================================');
328
 
329
+ console.log('[Request] Building request with imageUrl:', imageUrl ? 'Yes' : 'No');
330
+ console.log('[Request] Image URL:', imageUrl?.substring(0, 50) + '...');
331
+
332
  const request: CodeGenerationRequest = {
333
  query: enhancedMessage,
334
  language: language,
 
820
  };
821
 
822
  // Handle landing page prompt submission
823
+ const handleLandingPageStart = async (prompt: string, language: Language, modelId: string, imageUrl?: string, repoId?: string, shouldCreatePR?: boolean) => {
824
+ console.log('[LandingPageStart] Received imageUrl:', imageUrl ? 'Yes' : 'No');
825
+ console.log('[LandingPageStart] Image URL length:', imageUrl?.length || 0);
826
+
827
  // Hide landing page immediately for smooth transition
828
  setShowLandingPage(false);
829
 
 
835
  pendingPRRef.current = prInfo; // Set ref immediately for synchronous access
836
  }
837
 
838
+ // Send the message with the selected language, model, and image
839
  // Don't pass repoId to handleSendMessage when creating PR (we want to generate code first, then create PR)
840
+ await handleSendMessage(prompt, imageUrl, language, modelId, shouldCreatePR ? undefined : repoId, shouldCreatePR);
841
  };
842
 
843
  // Resize handlers for chat sidebar (desktop only)
frontend/src/components/LandingPage.tsx CHANGED
@@ -16,7 +16,7 @@ import type { Model, Language } from '@/types';
16
  import type { OAuthUserInfo } from '@/lib/auth';
17
 
18
  interface LandingPageProps {
19
- onStart: (prompt: string, language: Language, modelId: string, repoId?: string, shouldCreatePR?: boolean) => void;
20
  onImport?: (code: string, language: Language, importUrl?: string) => void;
21
  isAuthenticated: boolean;
22
  initialLanguage?: Language;
@@ -243,8 +243,11 @@ export default function LandingPage({
243
  const handleSubmit = (e: React.FormEvent) => {
244
  e.preventDefault();
245
  if (prompt.trim() && isAuthenticated) {
246
- onStart(prompt.trim(), selectedLanguage, selectedModel);
247
- // Clear image after sending
 
 
 
248
  setUploadedImageUrl(null);
249
  } else if (!isAuthenticated) {
250
  alert('Please sign in with HuggingFace first!');
@@ -414,7 +417,7 @@ export default function LandingPage({
414
  onImport(result.code, result.language || 'html', importUrl);
415
  } else {
416
  const importMessage = `Imported from ${importUrl}`;
417
- onStart(importMessage, result.language || 'html', selectedModel);
418
  }
419
 
420
  setShowImportDialog(false);
@@ -511,7 +514,7 @@ ${isGradio ? '\n\nIMPORTANT: Only output app.py with the redesigned UI (themes,
511
  // Pass duplicated space ID so auto-deploy updates it
512
  console.log('[Redesign] Calling onStart with duplicated repo ID:', duplicatedRepoId);
513
  console.log('[Redesign] Using Claude-Sonnet-4.5 for redesign');
514
- onStart(redesignPrompt, result.language || 'html', 'claude-sonnet-4.5', duplicatedRepoId);
515
  }
516
  }, 100);
517
 
@@ -556,7 +559,7 @@ Note: After generating the redesign, I will create a Pull Request on the origina
556
  if (onStart) {
557
  console.log('[Redesign] Will create PR - not passing repo ID');
558
  console.log('[Redesign] Using Claude-Sonnet-4.5 for redesign');
559
- onStart(redesignPrompt, result.language || 'html', 'claude-sonnet-4.5', repoId, true); // Pass true for shouldCreatePR
560
  }
561
 
562
  console.log('[Redesign] Will create PR after code generation completes');
 
16
  import type { OAuthUserInfo } from '@/lib/auth';
17
 
18
  interface LandingPageProps {
19
+ onStart: (prompt: string, language: Language, modelId: string, imageUrl?: string, repoId?: string, shouldCreatePR?: boolean) => void;
20
  onImport?: (code: string, language: Language, importUrl?: string) => void;
21
  isAuthenticated: boolean;
22
  initialLanguage?: Language;
 
243
  const handleSubmit = (e: React.FormEvent) => {
244
  e.preventDefault();
245
  if (prompt.trim() && isAuthenticated) {
246
+ console.log('[LandingPage Submit] Sending with image:', uploadedImageUrl ? 'Yes' : 'No');
247
+ console.log('[LandingPage Submit] Image URL length:', uploadedImageUrl?.length || 0);
248
+ onStart(prompt.trim(), selectedLanguage, selectedModel, uploadedImageUrl || undefined);
249
+ // Clear prompt and image after sending
250
+ setPrompt('');
251
  setUploadedImageUrl(null);
252
  } else if (!isAuthenticated) {
253
  alert('Please sign in with HuggingFace first!');
 
417
  onImport(result.code, result.language || 'html', importUrl);
418
  } else {
419
  const importMessage = `Imported from ${importUrl}`;
420
+ onStart(importMessage, result.language || 'html', selectedModel, undefined);
421
  }
422
 
423
  setShowImportDialog(false);
 
514
  // Pass duplicated space ID so auto-deploy updates it
515
  console.log('[Redesign] Calling onStart with duplicated repo ID:', duplicatedRepoId);
516
  console.log('[Redesign] Using Claude-Sonnet-4.5 for redesign');
517
+ onStart(redesignPrompt, result.language || 'html', 'claude-sonnet-4.5', undefined, duplicatedRepoId);
518
  }
519
  }, 100);
520
 
 
559
  if (onStart) {
560
  console.log('[Redesign] Will create PR - not passing repo ID');
561
  console.log('[Redesign] Using Claude-Sonnet-4.5 for redesign');
562
+ onStart(redesignPrompt, result.language || 'html', 'claude-sonnet-4.5', undefined, repoId, true); // Pass true for shouldCreatePR
563
  }
564
 
565
  console.log('[Redesign] Will create PR after code generation completes');