import React, { useState, useEffect } from 'react'; import { Mic, Play, Check, Shield, Activity, Smartphone, Trash2, LogOut, Star } from 'lucide-react'; import { initializeApp } from 'firebase/app'; import { getAuth, signInAnonymously, onAuthStateChanged, signInWithCustomToken } from 'firebase/auth'; import { getFirestore, collection, onSnapshot, query, doc, setDoc } from 'firebase/firestore'; // --- FIREBASE INITIALIZATION --- const firebaseConfig = JSON.parse(__firebase_config); const app = initializeApp(firebaseConfig); const auth = getAuth(app); const db = getFirestore(app); const appId = typeof __app_id !== 'undefined' ? __app_id : 'voice-review-pro'; export default function App() { const [view, setView] = useState('landing'); const [user, setUser] = useState(null); const [reviews, setReviews] = useState([ { id: '1', title: "Authentic Audio Proof", duration: "1:05", date: "Just now", sentiment: "Positive" }, { id: '2', title: "Customer Beta Feedback", duration: "0:45", date: "2h ago", sentiment: "Neutral" } ]); // Auth Logic (Rule 3) useEffect(() => { const initAuth = async () => { try { if (typeof __initial_auth_token !== 'undefined' && __initial_auth_token) { await signInWithCustomToken(auth, __initial_auth_token); } else { await signInAnonymously(auth); } } catch (e) { console.error(e); } }; initAuth(); return onAuthStateChanged(auth, setUser); }, []); // Firestore Logic (Rule 1 & 2) useEffect(() => { if (!user) return; const q = collection(db, 'artifacts', appId, 'public', 'data', 'reviews'); const unsubscribe = onSnapshot(q, (snapshot) => { if (!snapshot.empty) { setReviews(snapshot.docs.map(doc => ({ id: doc.id, ...doc.data() }))); } }, (err) => console.error("Firestore Error:", err)); return () => unsubscribe(); }, [user]); if (view === 'dashboard') { return (

Voices Can't Be Faked.

Deploy audible trust to your storefront instantly.

{reviews.map(r => (

{r.title}

{r.date} • {r.duration}

Verified
))}
); } return (

TRUST
AUDIBLY.

The internet is full of fake text.
Human voices are the only truth left in commerce.

{[ { n: "Standard", p: "9.99", t: "/mo" }, { n: "Growth", p: "29.99", t: "/6mo", h: true }, { n: "Pro", p: "49.99", t: "/yr" }, { n: "Legacy", p: "89.00", t: "once" } ].map(tier => (

{tier.n}

${tier.p} {tier.t}
  • HD Voice Engine
  • Fraud Detection
))}
); }