Spaces:
Running
Running
Updated server again
Browse files- src/pages/Index.tsx +1 -18
- src/services/gemini.ts +1 -1
src/pages/Index.tsx
CHANGED
|
@@ -42,29 +42,12 @@ const Index = () => {
|
|
| 42 |
const [pendingModification, setPendingModification] = useState<{ changes: ChangeProposal[]; newMessages: ChatMessage[] } | null>(null);
|
| 43 |
const [isDiffModalOpen, setIsDiffModalOpen] = useState(false);
|
| 44 |
const [diffToReview, setDiffToReview] = useState<DiffResult | null>(null);
|
| 45 |
-
const [isAIReady, setIsAIReady] = useState(
|
| 46 |
const [selectedElement, setSelectedElement] = useState<{ tagName: string; description: string } | null>(null);
|
| 47 |
|
| 48 |
const [isSelectingElement, setIsSelectingElement] = useState(false);
|
| 49 |
const iframeRef = useRef<HTMLIFrameElement>(null);
|
| 50 |
|
| 51 |
-
useEffect(() => {
|
| 52 |
-
// Explicitly check for the environment variable
|
| 53 |
-
const apiKey = import.meta.env.VITE_GEMINI_API_KEY;
|
| 54 |
-
|
| 55 |
-
if (apiKey && apiKey !== "undefined") {
|
| 56 |
-
setIsAIReady(true);
|
| 57 |
-
} else {
|
| 58 |
-
setIsAIReady(false);
|
| 59 |
-
toast({
|
| 60 |
-
title: "AI Not Ready",
|
| 61 |
-
description: "Gemini API key is not configured. Please set VITE_GEMINI_API_KEY in your Hugging Face Space secrets.",
|
| 62 |
-
variant: "destructive",
|
| 63 |
-
duration: 10000 // Show for longer to ensure visibility
|
| 64 |
-
});
|
| 65 |
-
}
|
| 66 |
-
}, [toast]);
|
| 67 |
-
|
| 68 |
useEffect(() => {
|
| 69 |
const handleMessage = (event: MessageEvent) => {
|
| 70 |
if (event.data.type === 'navigate' && event.data.payload) {
|
|
|
|
| 42 |
const [pendingModification, setPendingModification] = useState<{ changes: ChangeProposal[]; newMessages: ChatMessage[] } | null>(null);
|
| 43 |
const [isDiffModalOpen, setIsDiffModalOpen] = useState(false);
|
| 44 |
const [diffToReview, setDiffToReview] = useState<DiffResult | null>(null);
|
| 45 |
+
const [isAIReady, setIsAIReady] = useState(true); // Always ready since API is server-side
|
| 46 |
const [selectedElement, setSelectedElement] = useState<{ tagName: string; description: string } | null>(null);
|
| 47 |
|
| 48 |
const [isSelectingElement, setIsSelectingElement] = useState(false);
|
| 49 |
const iframeRef = useRef<HTMLIFrameElement>(null);
|
| 50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
useEffect(() => {
|
| 52 |
const handleMessage = (event: MessageEvent) => {
|
| 53 |
if (event.data.type === 'navigate' && event.data.payload) {
|
src/services/gemini.ts
CHANGED
|
@@ -71,7 +71,7 @@ const handleError = async (res: Response) => {
|
|
| 71 |
|
| 72 |
// Preserve prior UX message for missing key to avoid UI changes
|
| 73 |
if (message.toLowerCase().includes('gemini api key is not configured')) {
|
| 74 |
-
throw new Error('Gemini API key is not configured. Please set
|
| 75 |
}
|
| 76 |
|
| 77 |
throw new Error(message);
|
|
|
|
| 71 |
|
| 72 |
// Preserve prior UX message for missing key to avoid UI changes
|
| 73 |
if (message.toLowerCase().includes('gemini api key is not configured')) {
|
| 74 |
+
throw new Error('Gemini API key is not configured. Please set GEMINI_API_KEY in your Hugging Face Space secrets.');
|
| 75 |
}
|
| 76 |
|
| 77 |
throw new Error(message);
|