import React, { useMemo } from 'react'; import { SegmentedControls } from 'components/shared/SegmentedControls'; import { useState } from 'react'; import { GithubIcon, LockIcon, TemplateIcon, TemplateIconType, } from 'components/shared/CustomIcon'; import { relativeTimeISO } from 'utils/time'; import { useMediaQuery } from 'usehooks-ts'; export const MockConnectGitCard = () => { const [segmentedControlsValue, setSegmentedControlsValue] = useState('import'); const isDesktopView = useMediaQuery('(min-width: 960px)'); // lg: const segmentedControlsProps = isDesktopView ? {} : { size: 'sm' as const }; const fiveMinutesAgo = new Date(Date.now() - 1000 * 300).toISOString(); const SEGMENTED_CONTROLS_OPTIONS = [ { label: 'Import a repository', value: 'import', }, { label: 'Start with a template', value: 'template', }, ]; const IMPORT_CONTENT = [ { full_name: 'snowball/igloo', updated_at: fiveMinutesAgo, }, { full_name: 'snowball/android-sdk', updated_at: fiveMinutesAgo, visibility: 'private', }, { full_name: 'snowball/landing-page', updated_at: fiveMinutesAgo, }, ]; const TEMPLATE_CONTENT = [ { name: 'Web app', icon: 'web', }, { name: 'Progressive Web App (PWA)', icon: 'pwa', }, { name: 'React Native', icon: 'react-native', }, { name: 'Kotlin', icon: 'kotlin', }, { name: 'Swift', icon: 'swift', }, ]; const renderContent = useMemo(() => { if (segmentedControlsValue === 'import') { return (
{IMPORT_CONTENT.map((repo, index) => ( {index !== IMPORT_CONTENT.length - 1 && (
)} ))}
); } return (
{TEMPLATE_CONTENT.map((template, index) => ( ))}
); }, [segmentedControlsValue]); return (
{/* Content */} {renderContent} {/* Shade */}
); }; const MockProjectCard = ({ full_name, updated_at, visibility, }: { full_name: string; updated_at?: string; visibility?: string; }) => { return (
{/* Icon container */}
{/* Content */}

{full_name}

{updated_at && relativeTimeISO(updated_at)}

{visibility === 'private' && (
Private
)}
); }; const MockTemplateCard = ({ icon, name }: { icon: string; name: string }) => { return (
{/* Icon */}
{/* Name */}

{name}

); };