poprawki po crashu
This commit is contained in:
38
App.tsx
38
App.tsx
@@ -9,27 +9,17 @@ import StepDetails from './components/StepDetails';
|
||||
import StepResult from './components/StepResult';
|
||||
import { ChevronLeft, ExternalLink, Sparkles, User, Lock, ArrowRight, AlertCircle, Bug } from 'lucide-react';
|
||||
import { generateStoryContent } from './services/geminiService';
|
||||
import { getEnvVar } from './utils/envUtils';
|
||||
|
||||
const STORAGE_KEY = 'gpx-storyteller-state-v6'; // Incremented version for structure change
|
||||
const AUTH_KEY = 'promptstory-auth-token';
|
||||
|
||||
// --- PASSWORD CONFIGURATION ---
|
||||
|
||||
// 1. Try fetching from Vite standard (import.meta.env)
|
||||
// @ts-ignore
|
||||
const VITE_ENV_PASS = import.meta.env && import.meta.env.VITE_APP_PASSWORD ? import.meta.env.VITE_APP_PASSWORD : '';
|
||||
|
||||
// 2. Try fetching from Process env (sometimes used in other build tools)
|
||||
// @ts-ignore
|
||||
const PROCESS_ENV_PASS = (typeof process !== 'undefined' && process.env && process.env.VITE_APP_PASSWORD) ? process.env.VITE_APP_PASSWORD : '';
|
||||
|
||||
// 3. Fallback (Hardcoded safety net)
|
||||
// W tym środowisku (AI Studio/Web Preview) restart serwera jest trudny.
|
||||
// Ustawiamy hasło "na sztywno" jako zapas, żeby działało od razu.
|
||||
const FALLBACK_PASS = 'Prometeusz';
|
||||
const ENV_PASSWORD = getEnvVar('VITE_APP_PASSWORD');
|
||||
// Fallback Hardcoded Password (Safety net)
|
||||
const FALLBACK_PASS = 'Preorder$Disinfect6$Childlike$Unnamed';
|
||||
|
||||
// Decision Logic
|
||||
const ENV_PASSWORD = VITE_ENV_PASS || PROCESS_ENV_PASS;
|
||||
const APP_PASSWORD = ENV_PASSWORD || FALLBACK_PASS;
|
||||
const IS_USING_FALLBACK = !ENV_PASSWORD;
|
||||
|
||||
@@ -68,10 +58,9 @@ const LoginScreen: React.FC<{ onLogin: (success: boolean) => void }> = ({ onLogi
|
||||
// DEBUGGING: Log to console on mount
|
||||
useEffect(() => {
|
||||
console.group("--- DEBUG PASSWORD SYSTEM ---");
|
||||
console.log("1. Detected VITE_ENV:", VITE_ENV_PASS ? "****" : "(empty)");
|
||||
console.log("2. Detected PROCESS_ENV:", PROCESS_ENV_PASS ? "****" : "(empty)");
|
||||
console.log("3. Final Password Source:", IS_USING_FALLBACK ? "FALLBACK (Hardcoded)" : ".ENV FILE");
|
||||
console.log("4. Active Password Length:", APP_PASSWORD.length);
|
||||
console.log("1. Detected ENV Variable:", ENV_PASSWORD ? "****" : "(empty)");
|
||||
console.log("2. Final Password Source:", IS_USING_FALLBACK ? "FALLBACK (Code)" : ".ENV FILE");
|
||||
console.log("3. Active Password Length:", APP_PASSWORD.length);
|
||||
console.groupEnd();
|
||||
}, []);
|
||||
|
||||
@@ -163,8 +152,7 @@ const LoginScreen: React.FC<{ onLogin: (success: boolean) => void }> = ({ onLogi
|
||||
|
||||
{IS_USING_FALLBACK && (
|
||||
<div className="mt-3 text-yellow-500 border-t border-gray-600 pt-2">
|
||||
<p>System używa hasła awaryjnego zdefiniowanego w kodzie, ponieważ nie może odświeżyć pliku .env bez restartu.</p>
|
||||
<p className="mt-1 font-bold text-white">Twoje hasło powinno teraz działać.</p>
|
||||
<p>System używa hasła awaryjnego zdefiniowanego w kodzie.</p>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
@@ -279,9 +267,11 @@ const App: React.FC = () => {
|
||||
setIsGenerating(true);
|
||||
setErrorMessage(null);
|
||||
try {
|
||||
// SAFE ENV ACCESS
|
||||
const apiKey = getEnvVar('API_KEY');
|
||||
const content = await generateStoryContent(
|
||||
data,
|
||||
process.env.API_KEY || ''
|
||||
apiKey || ''
|
||||
);
|
||||
|
||||
setGeneratedContent(content);
|
||||
@@ -298,9 +288,11 @@ const App: React.FC = () => {
|
||||
setIsGenerating(true);
|
||||
setErrorMessage(null);
|
||||
try {
|
||||
// SAFE ENV ACCESS
|
||||
const apiKey = getEnvVar('API_KEY');
|
||||
const content = await generateStoryContent(
|
||||
data,
|
||||
process.env.API_KEY || '',
|
||||
apiKey || '',
|
||||
{ slideCount, feedback }
|
||||
);
|
||||
|
||||
@@ -495,4 +487,4 @@ const App: React.FC = () => {
|
||||
);
|
||||
};
|
||||
|
||||
export default App;
|
||||
export default App;
|
||||
|
||||
Reference in New Issue
Block a user