chore(marketplace): 🔧 Add feature flag support for verification system

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Lilith 2026-02-05 03:33:29 -08:00
parent 9697661fb6
commit 63bad607be
3 changed files with 12 additions and 10 deletions

View file

@ -1,3 +0,0 @@
dist
node_modules
tsup.config.ts

View file

@ -62,6 +62,7 @@ export default tseslint.config(
'node_modules/',
'*.d.ts',
'*.js',
'tsup.config.ts',
],
}
);

View file

@ -2,11 +2,15 @@
* VerificationAnnouncementModal Styled Components
*/
import styled, { keyframes, css, type DefaultTheme } from '@lilith/ui-styled-components';
import styled, { keyframes, css, type DefaultTheme, type IStyledComponent } from '@lilith/ui-styled-components';
import { m } from '@lilith/ui-motion';
import { Shield } from 'lucide-react';
import { Button } from '@lilith/ui-primitives';
// Type helper for motion-styled components to avoid framer-motion type portability issues
type MotionStyledDiv<P = object> = IStyledComponent<'web', 'div', { theme: DefaultTheme } & P>;
type MotionStyledH2<P = object> = IStyledComponent<'web', 'h2', { theme: DefaultTheme } & P>;
// ============================================
// Animation Keyframes
// ============================================
@ -62,7 +66,7 @@ export const progressPulse = keyframes`
// Styled Components
// ============================================
export const ModalContent = styled.div.attrs({ as: m.div })<{ $isLandscape: boolean }>`
export const ModalContent: MotionStyledDiv<{ $isLandscape: boolean }> = styled.div.attrs({ as: m.div })<{ $isLandscape: boolean }>`
display: flex;
flex-direction: ${props => (props.$isLandscape ? 'row' : 'column')};
align-items: ${props => (props.$isLandscape ? 'stretch' : 'center')};
@ -145,7 +149,7 @@ export const ContentSection = styled.div<{ $isLandscape: boolean }>`
}
`;
export const IconContainer = styled.div.attrs({ as: m.div })`
export const IconContainer: MotionStyledDiv = styled.div.attrs({ as: m.div })`
position: relative;
display: flex;
align-items: center;
@ -213,7 +217,7 @@ export const ShieldIcon = styled(Shield)`
}
`;
export const CheckBadge = styled.div.attrs({ as: m.div })`
export const CheckBadge: MotionStyledDiv = styled.div.attrs({ as: m.div })`
position: absolute;
bottom: 6px;
right: 6px;
@ -264,7 +268,7 @@ export const TitleSection = styled.div`
text-align: center;
`;
export const Title = styled.h2.attrs({ as: m.h2 })`
export const Title: MotionStyledH2 = styled.h2.attrs({ as: m.h2 })`
margin: 0;
font-size: 18px;
font-weight: 800;
@ -315,7 +319,7 @@ export const Subtitle = styled.p`
}
`;
export const SlideContainer = styled.div.attrs({ as: m.div })`
export const SlideContainer: MotionStyledDiv = styled.div.attrs({ as: m.div })`
width: 100%;
display: flex;
flex-direction: column;
@ -345,7 +349,7 @@ export const SlideContent = styled.div`
}
`;
export const BenefitItem = styled.div.attrs({ as: m.div })`
export const BenefitItem: MotionStyledDiv = styled.div.attrs({ as: m.div })`
display: flex;
align-items: flex-start;
gap: 10px;