Fix #91: Added fallback to local facts when Gemini API key is missing. #148
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bug Fix: "Discover Fact" Button Fails Without Gemini API Key (#91)
Summary
This PR implements a graceful fallback for the "Discover Fact" button on the Giveaways page(https://techxninjas-client.vercel.app/giveaways), addressing the issue where the Gemini API key might be missing or misconfigured in some environments.
Previously, users would see a red error message if the API key wasn’t set, degrading the experience. This fix ensures a seamless fallback to local tech facts from a predefined JSON file if the Gemini API call fails.
Problem
As reported in Issue #91:
This affects user experience, especially in environments where the Gemini key is intentionally not exposed (e.g., in demo or preview deployments).
Fix Summary
localTechFacts.json
.process.env.API_KEY
is missing:"Unable to fetch from Gemini API, showing a local tech fact instead"
)."Discover Fact"
→"Discover another Fact"
when clicked again).Before vs After
Before:

After:
->When Key is not available or misconfigured.

Note: Console still logs the warning.
->When gemini call fails.

Note: Console still logs the error for debugging.
Related Code Changes
TechFactGenerator.tsx
: Main logic for fallback and UI state.localTechFacts.json
: Local fallback fact pool. More facts can be added later.Why This Matters