import React, { useCallback, useEffect, useState } from 'react';
import { Link } from 'react-router-dom';
import { ArrowLeft, Info, Sparkles } from 'lucide-react';
import { api } from '@/api';
import { Button } from '@/components/ui/button';
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
import AdminDashboard from '@/components/AdminDashboard';
export default function AboutPage({ admin = false }) {
const [about, setAbout] = useState(null);
const [loading, setLoading] = useState(true);
const load = useCallback(async () => {
setLoading(true);
try {
setAbout(admin ? await api.aboutAdmin() : await api.about());
} finally {
setLoading(false);
}
}, [admin]);
useEffect(() => { load(); }, [load]);
const stack = about?.stack || {};
return (
Back
{/* Admin Dashboard (visible to admin only) */}
{admin && about?.future && about?.developmentLog && (
)}
{/* Standard About Page (visible to all users) */}
{about?.name || 'BillTracker'}
{about?.description || ''}
Version
v{about?.version || '...'}
Backend
{about?.stack?.backend || 'Node.js / Express'}
Storage
{about?.stack?.database || 'SQLite'}
Produced with AI assistance
BillTracker is self-hosted software for personal bill planning and history. This product was produced with the assistance of AI.
Release Notes
Sign In
);
}