import { BASE, PHONE, WORDMARK } from './constants';

/**
 * Default JSON-LD graph nodes (Organization, Person, WebSite, WebPage,
 * ProfessionalService, OfferCatalog).
 *
 * Used for the home page; other pages can add or override via meta.jsonLd.
 */

export const baseJsonLdGraph: Record<string, unknown>[] = [
    {
        '@type': 'Organization',
        '@id': `${BASE}/#organization`,
        name: 'mifi Ventures',
        legalName: 'mifi Ventures LLC',
        url: `${BASE}/`,
        logo: {
            '@type': 'ImageObject',
            url: WORDMARK,
        },
        image: {
            '@type': 'ImageObject',
            url: WORDMARK,
        },
        telephone: PHONE,
        description:
            'Hands-on product architecture for early-stage SaaS teams: SaaS product architecture, MVP architecture and launch support, fractional CTO guidance, and stage-aligned infrastructure strategy.',
        founder: { '@id': `${BASE}/#principal` },
        address: {
            '@type': 'PostalAddress',
            addressLocality: 'Boston',
            addressRegion: 'MA',
            addressCountry: 'US',
        },
        areaServed: { '@type': 'Country', name: 'United States' },
        hasOfferCatalog: { '@id': `${BASE}/#services` },
        sameAs: [
            'https://www.linkedin.com/company/mifi-ventures',
            'https://github.com/mifi-ventures',
        ],
        contactPoint: [
            {
                '@type': 'ContactPoint',
                contactType: 'sales',
                telephone: PHONE,
                areaServed: 'US',
                availableLanguage: ['en'],
            },
        ],
    },
    {
        '@type': 'Person',
        '@id': `${BASE}/#principal`,
        name: 'Mike Fitzpatrick',
        jobTitle: 'Product Architect and Senior Software Engineer',
        description:
            'Hands-on technical partner for early-stage SaaS teams; works inside codebases to build strong product foundations that ship fast without structural debt.',
        url: `${BASE}/`,
        worksFor: { '@id': `${BASE}/#organization` },
        knowsAbout: [
            'Product Architecture',
            'Frontend Architecture',
            'UI Architecture',
            'React Development',
            'JavaScript',
            'TypeScript',
            'Component Libraries',
            'Design Systems',
            'Design Tokens',
            'CSS Architecture',
            'Web Accessibility (WCAG)',
            'Technical SEO',
            'Core Web Vitals',
            'MVP Architecture',
            'Greenfield Product Development',
            'Fractional CTO',
            'Startup Infrastructure Strategy',
            'Code Refactoring',
        ],
        sameAs: [
            'https://www.linkedin.com/in/the-mifi',
            'https://github.com/the-mifi',
            'https://mifi.dev',
        ],
    },
    {
        '@type': 'WebSite',
        '@id': `${BASE}/#website`,
        url: `${BASE}/`,
        name: 'mifi Ventures',
        description: 'Hands-on product architecture for early-stage SaaS teams.',
        publisher: { '@id': `${BASE}/#organization` },
        image: {
            '@type': 'ImageObject',
            url: WORDMARK,
        },
        potentialAction: {
            '@type': 'ReserveAction',
            target: {
                '@type': 'EntryPoint',
                urlTemplate: 'https://cal.mifi.ventures/the-mifi',
            },
            name: 'Schedule a 30-minute intro call',
        },
    },
];

export const catalogJsonLdGraph: Record<string, unknown>[] = [
    {
        '@type': 'ProfessionalService',
        '@id': `${BASE}/#professional-service`,
        name: 'mifi Ventures',
        url: `${BASE}/`,
        image: {
            '@type': 'ImageObject',
            url: WORDMARK,
        },
        logo: {
            '@type': 'ImageObject',
            url: WORDMARK,
        },
        telephone: PHONE,
        description:
            'Hands-on product architecture and senior software engineering for early-stage SaaS teams: SaaS product architecture, MVP architecture and launch, fractional CTO guidance, and stage-aligned infrastructure.',
        serviceType: [
            'SaaS Product Architecture',
            'MVP Architecture and Launch Consulting',
            'Fractional CTO Services',
            'Startup Infrastructure Strategy',
        ],
        provider: { '@id': `${BASE}/#organization` },
        address: {
            '@type': 'PostalAddress',
            addressLocality: 'Boston',
            addressRegion: 'MA',
            addressCountry: 'US',
        },
        areaServed: { '@type': 'Country', name: 'United States' },
    },
    {
        '@type': 'OfferCatalog',
        '@id': `${BASE}/#services`,
        name: 'SaaS Architecture Services',
        description:
            'Consulting services offered by mifi Ventures for early-stage SaaS teams.',
        numberOfItems: 4,
        itemListElement: [
            {
                '@type': 'Offer',
                url: `${BASE}/hands-on-saas-architecture-consultant`,
                itemOffered: {
                    '@type': 'Service',
                    name: 'Hands-On SaaS Architecture',
                    description:
                        'Hands-on product architecture for early-stage SaaS teams, focused on frontend systems, reusable components, design tokens, accessibility, and scalable foundations for fast iteration.',
                },
            },
            {
                '@type': 'Offer',
                url: `${BASE}/mvp-architecture-and-launch`,
                itemOffered: {
                    '@type': 'Service',
                    name: 'MVP Architecture & Launch',
                    description:
                        'Architecture and implementation support for early-stage SaaS MVPs that need to ship quickly without creating structural debt, fragile CSS, or difficult-to-extend product foundations.',
                },
            },
            {
                '@type': 'Offer',
                url: `${BASE}/fractional-cto-for-early-stage-saas`,
                itemOffered: {
                    '@type': 'Service',
                    name: 'Fractional CTO / Technical Partner',
                    description:
                        'Part-time technical leadership for early-stage SaaS teams that need architectural guidance, tradeoff evaluation, and hands-on technical oversight without hiring a full-time CTO.',
                },
            },
            {
                '@type': 'Offer',
                url: `${BASE}/stage-aligned-infrastructure`,
                itemOffered: {
                    '@type': 'Service',
                    name: 'Stage-Aligned Infrastructure',
                    description:
                        'Infrastructure strategy for early-stage SaaS teams that aligns cloud, SaaS, and deployment decisions with company stage, reducing unnecessary complexity and preserving runway.',
                },
            },
        ],
    },
];
