mirror of
https://github.com/jjbrunton/Sauci.git
synced 2026-11-02 02:19:43 +00:00
refactor(swipe): split swipe screen modules
Move swipe screen logic into hooks/services and extract state-specific UI components to keep files small while preserving existing behavior. Reference: US-002
This commit is contained in:
1 parent
209dc652d2
commit
8d4d9d8750
55 files changed
+11127
-1681
No files matched your search
@@ -0,0 +1,35 @@
|
||||
import { colors } from "../../../theme";
|
||||
import { SwipeInfoStateLayout } from "./SwipeInfoStateLayout";
|
||||
|
||||
interface SwipeNoPartnerStateProps {
|
||||
hasCouple: boolean;
|
||||
onPairPress: () => void;
|
||||
}
|
||||
|
||||
export const SwipeNoPartnerState = ({ hasCouple, onPairPress }: SwipeNoPartnerStateProps) => {
|
||||
const accent = colors.premium.rose;
|
||||
|
||||
return (
|
||||
<SwipeInfoStateLayout
|
||||
accentColor={accent}
|
||||
icon="heart"
|
||||
label={hasCouple ? "ALMOST THERE" : "CONNECT"}
|
||||
title={hasCouple ? "Waiting" : "Pair Up"}
|
||||
badgeText={hasCouple ? "INVITE SENT" : "MADE FOR TWO"}
|
||||
description={hasCouple
|
||||
? "Share your invite code so they can join you. Once paired, you'll both answer questions and discover what you agree on!"
|
||||
: "Sauci is made for two! Connect with your partner to start answering questions together and discover what you have in common."
|
||||
}
|
||||
features={[
|
||||
{ icon: "lock-closed-outline", text: "Private and secure", color: accent },
|
||||
{ icon: "sparkles", text: "Discover hidden desires", color: accent },
|
||||
{ icon: "chatbubble-ellipses-outline", text: "Chat about your matches", color: accent },
|
||||
]}
|
||||
teaser={hasCouple ? "Your partner is just a code away" : "Begin your intimate journey together"}
|
||||
action={{
|
||||
label: hasCouple ? "View Invite Code" : "Pair Now",
|
||||
onPress: onPairPress,
|
||||
}}
|
||||
/>
|
||||
);
|
||||
};
|
||||
Reference in new issue
Block a user