···11+/**
22+ * EmptyProfileState Component
33+ *
44+ * Displays enhanced empty state for user profiles with no reviews.
55+ * Distinguishes between existing Drydown users (who haven't posted reviews yet)
66+ * and non-users (who can be invited to try the app).
77+ */
88+99+interface EmptyProfileStateProps {
1010+ profileHandle: string
1111+ profileDid: string
1212+ isLikelyNonUser: boolean
1313+ onInviteClick: () => void
1414+}
1515+1616+export function EmptyProfileState({
1717+ profileHandle,
1818+ isLikelyNonUser,
1919+ onInviteClick,
2020+}: EmptyProfileStateProps) {
2121+ // Simple empty state for existing users with no reviews yet
2222+ if (!isLikelyNonUser) {
2323+ return (
2424+ <div className="reviews-empty">
2525+ <p>No reviews yet.</p>
2626+ </div>
2727+ )
2828+ }
2929+3030+ // Enhanced empty state for non-users with invite CTA
3131+ return (
3232+ <div className="empty-profile-state">
3333+ <h2 className="empty-profile-state-title">
3434+ This user hasn't tried Drydown yet
3535+ </h2>
3636+ <p className="empty-profile-state-description">
3737+ Drydown is an app for creating detailed fragrance reviews that capture
3838+ how scents evolve over time. Reviews are stored in your personal data
3939+ server and can be shared across the AT Protocol network.
4040+ </p>
4141+ <div className="empty-profile-state-cta">
4242+ <button onClick={onInviteClick}>Invite @{profileHandle}</button>
4343+ </div>
4444+ </div>
4545+ )
4646+}