import React, { useState, useEffect } from 'react';
import Navbar from './components/Navbar';
import Dashboard from './pages/Dashboard';
import GalacticMap from './pages/GalacticMap';
import SpeciesArchive from './pages/SpeciesArchive';
import CommsCenter from './pages/CommsCenter';
import { getDb } from './lib/db';
const App = () => {
const [activeTab, setActiveTab] = useState('dashboard');
const [isDbReady, setIsDbReady] = useState(false);
// Initialize DB Tables for 'lived-in' feel
useEffect(() => {
const initDb = async () => {
try {
const db = await getDb();
await db.query(`
CREATE TABLE IF NOT EXISTS transmissions (
id SERIAL PRIMARY KEY,
sender TEXT,
message TEXT,
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
`);
// Seed initial data if empty
const count = await db.query('SELECT COUNT(*) FROM transmissions');
if (parseInt(count.rows[0].count) === 0) {
await db.query("INSERT INTO transmissions (sender, message) VALUES ('Zog from Nebula 9', 'The soup at Sector 7 is too spicy.')");
await db.query("INSERT INTO transmissions (sender, message) VALUES ('Xylar the Watcher', 'Humanity has discovered flavored water. Fascinating.')");
await db.query("INSERT INTO transmissions (sender, message) VALUES ('Gleep Glop', 'Selling slightly used warp core. No refunds.')");
}
setIsDbReady(true);
} catch (err) {
console.error("DB Init Error:", err);
}
};
initDb();
}, []);
const renderContent = () => {
switch (activeTab) {
case 'dashboard': return