// ============================================================ // Mobile — Profile, Edit Profile, Notifications, Settings // Loads after extras-v2.jsx + auth-v2.jsx // ============================================================ // ---- stat tile in profile header ---- function ProfileStat({ value, label }) { return (
{value}
{label}
); } function AccountRow({ icon: Ic, label, detail, badge, onClick, last, destructive }) { return ( ); } // ============================ PROFILE SCREEN ============================ function ProfileScreen({ posts, unread, onOpenNotifications, onOpenNotifSettings, onEditProfile, onLogout }) { const drafts = posts.filter((p) => p.status === "DRAFT").length; const published = posts.filter((p) => p.status === "APPROVED").length; return (
{/* blue header */}
Arjun Vasudevan
Coimbatore, TN · Citizen reporter
{/* tags */}
Tags you post under
{["Civic Infrastructure", "Rural Locations", "Cultural Wealth", "Water"].map((t) => ( {t} ))}
{/* account menu */}
Account
); } // ============================ EDIT PROFILE ============================ function EditProfileScreen({ onBack, onSave, showToast }) { const [name, setName] = React.useState("Arjun Vasudevan"); const [bio, setBio] = React.useState("Citizen reporter covering civic infrastructure, water and rural stories across Tamil Nadu."); const [loc, setLoc] = React.useState("Coimbatore, TN"); const [phone, setPhone] = React.useState("+91 98765 43210"); const [email, setEmail] = React.useState("arjun.v@email.com"); const handleSave = () => { onSave && onSave({ name, bio, loc, phone, email }); showToast && showToast("Profile updated"); onBack && onBack(); }; const fieldStyle = { display: "block", marginBottom: 16 }; const labelStyle = { fontFamily: "var(--ff-ui)", fontWeight: 600, fontSize: 13.5, color: "var(--text)", display: "block", marginBottom: 7 }; return (
{/* header */}
Edit profile
{/* avatar */}
{/* fields */}