From e4ddcc311d71e08e7bb2ed17f98ad917fc1fee5c Mon Sep 17 00:00:00 2001 From: Jake Laderman Date: Thu, 17 Oct 2024 23:01:07 -0400 Subject: [PATCH] add new pricing page (#113) --- pages/pricing.tsx | 372 +-- public/images/pricing/pricing-circles.svg | 22 + src/components/Checklist.tsx | 64 - src/components/layout/GradientBG.tsx | 13 +- .../page-sections/PlansFeaturesTables.tsx | 265 -- .../page-sections/PricingPlanCard.tsx | 82 + src/components/page-sections/PricingTable.tsx | 246 ++ src/data/getPlatformPlans.tsx | 82 - src/data/getPricing.tsx | 387 +-- src/data/getProductPageData.ts | 28 - src/generated/graphqlDirectus.ts | 2347 +++-------------- src/graph/directus/pageData/pricing.graphql | 29 + src/graph/directus/pages.graphql | 15 - 13 files changed, 927 insertions(+), 3025 deletions(-) create mode 100644 public/images/pricing/pricing-circles.svg delete mode 100644 src/components/Checklist.tsx delete mode 100644 src/components/page-sections/PlansFeaturesTables.tsx create mode 100644 src/components/page-sections/PricingPlanCard.tsx create mode 100644 src/components/page-sections/PricingTable.tsx delete mode 100644 src/data/getPlatformPlans.tsx delete mode 100644 src/data/getProductPageData.ts create mode 100644 src/graph/directus/pageData/pricing.graphql diff --git a/pages/pricing.tsx b/pages/pricing.tsx index fac522ba..82dabc40 100644 --- a/pages/pricing.tsx +++ b/pages/pricing.tsx @@ -1,320 +1,122 @@ -import { type ComponentProps } from 'react' - -import { - Button, - CheckRoundedIcon, - Chip, - InvoicesIcon, -} from '@pluralsh/design-system' -import { type GetStaticProps, type InferGetStaticPropsType } from 'next' +import { Button } from '@pluralsh/design-system' +import { type InferGetStaticPropsType } from 'next' import Link from 'next/link' -import styled from 'styled-components' - -import { directusClient } from '@src/apollo-client' import { FooterVariant } from '@src/components/FooterFull' -import { Columns, EqualColumn } from '@src/components/layout/Columns' import { GradientBG } from '@src/components/layout/GradientBG' import { HeaderPad } from '@src/components/layout/HeaderPad' import { StandardPageWidth } from '@src/components/layout/LayoutHelpers' -import { StandardFAQSection } from '@src/components/page-sections/StandardFAQSection' -import { CenteredSectionHead } from '@src/components/SectionHeads' -import { ResponsiveText } from '@src/components/Typography' -import getPricing, { type Plan, type Pricing } from '@src/data/getPricing' +import { PricingPlanCard } from '@src/components/page-sections/PricingPlanCard' import { - type FaqItemFragment, - FaqListDocument, - type FaqListQuery, - type FaqListQueryVariables, -} from '@src/generated/graphqlDirectus' -import { cn as classNames } from '@src/utils/cn' -import { combineErrors } from '@src/utils/combineErrors' + PlanComparisonTableDesktop, + PlanComparisonTablesMobile, +} from '@src/components/page-sections/PricingTable' +import { Body1 } from '@src/components/Typography' +import getPricing from '@src/data/getPricing' import { propsWithGlobalSettings } from '@src/utils/getGlobalProps' -import { normalizeM2mItems } from '@src/utils/normalizeQuotes' - -const PlanCardSC = styled.div(({ theme }) => ({ - '&, .titleArea, .content, .featureList': { - display: 'flex', - flexDirection: 'column', - }, - gap: theme.spacing.xxlarge, - position: 'relative', - background: theme.colors['fill-zero'], - border: theme.borders.default, - padding: `${theme.spacing.xxlarge}px ${theme.spacing.xlarge}px`, - borderRadius: theme.borderRadiuses.large, - '.titleArea': { - gap: theme.spacing.xxsmall, - }, - '.content': { - gap: theme.spacing.large, - }, - '.featureList': { - gap: theme.spacing.xsmall, - li: { - ...theme.partials.marketingText.body2, - color: theme.colors.text, - }, - }, - '.violator': { - position: 'absolute', - top: 0, - transform: 'translateY(-50%)', - }, -})) - -export function PlanCard({ - plan: { cta, violator, label, price, features, isFeatured }, - ...props -}: { - plan: Plan -} & ComponentProps) { - return ( - - {violator?.label && ( - - {violator.label} - - )} -
-
- - {label} - - - {price.split(', ').map((line, i, arr) => ( - <> - {line} - {i !== arr.length - 1 &&
} - - ))} -
-
- {features && ( -
    - {features?.map((feature) => ( -
  • {feature.label}
  • - ))} -
- )} -
- - {cta && ( - - )} -
- ) -} - -export function PlanCardsSection({ plans }: { plans: Plan[] }) { - return ( - - - {plans.map((plan) => ( - - - - ))} - - - ) -} - -const features = [ - 'Plural platform with enterprise security features', - 'Standard 8am – 5pm and 24/7 enterprise support coverage available', - 'Private Slack or Teams channel', - 'Consultative support with fast initial response times', - 'Rich onboarding and regular check-ins', -] export default function Pricing({ - faqs, + enterprisePlan, + proPlan, }: InferGetStaticPropsType) { return ( - <> - -
- - - The Kubernetes lifecycle management platform built for DevOps - teams at scale. - + + } + > + +
+
+

+ Value-based pricing +

+ + Pricing is based on the number of clusters deployed and managed by + Plural. Reach out to our sales team for more information. + - -
- -
-
- - -
    - {features.map((feature) => ( -
  • - - - {feature} - -
  • - ))} -
- {/* get quote */} -
- -
- - Get a quote - - +
+ - Connect with our sales team to discuss plans, pricing, - enterprise agreements, or to schedule a demo. - + Sign up + + } + /> + } + as="a" + href="https://plural.sh/contact-sales" + target="_blank" + rel="noopener noreferer" > Contact sales -
-
- + } + /> +
+
+ + +
- -
- + + ) } -const GetQuoteSC = styled.div(({ theme }) => ({ - overflow: 'hidden', - content: '""', - position: 'absolute', - top: '0', - left: '0', - right: '0', - bottom: '0', - width: '100%', - height: '100%', - backgroundImage: `url(/images/pricing/quote-bg.png)`, - backgroundPosition: 'center center', - backgroundSize: '100%', - backgroundRepeat: 'no-repeat', - backgroundColor: theme.colors['fill-two'], -})) - -export type PricingPageProps = Pricing & { faqs: (FaqItemFragment | null)[] } +export const getStaticProps = async () => { + const { data, error } = await getPricing() + const proPlan = data?.pricing_page?.pro_plan + const enterprisePlan = data?.pricing_page?.enterprise_plan -export const getStaticProps: GetStaticProps = async ( - _context -) => { - const { data: pricing, error: pricingError } = await getPricing() - const { data: faqData, error: faqError } = await directusClient.query< - FaqListQuery, - FaqListQueryVariables - >({ - query: FaqListDocument, - variables: { slug: 'pricing' }, - }) - - if (!pricing) { + if (!proPlan || !enterprisePlan || error) { return { notFound: true } } return propsWithGlobalSettings({ metaTitle: 'Pricing', metaDescription: 'Flexible plans for every stage of your business', - ...pricing, - faqs: normalizeM2mItems(faqData.collapsible_lists?.[0]) || [], + enterprisePlan, + proPlan, footerVariant: FooterVariant.kitchenSink, - errors: combineErrors([pricingError, faqError]), }) } + +const bgGradient = ` + radial-gradient(circle 400px at 50% 10%, rgba(112, 117, 245, 0.06) 0%, transparent 75%), + radial-gradient(circle 600px at 12% 12%, rgba(23, 232, 160, 0.1) 0%, transparent 75%), + radial-gradient(circle 600px at 88% 12%, rgba(153, 218, 255, 0.1) 0%, transparent 75%), + linear-gradient(180deg, #0a0a0d 14.61%, #21242C 43.51%, #0a0a0d 72.4%) + ` +const bgGradientMobile = ` + radial-gradient(circle 400px at 50% 10%, rgba(112, 117, 245, 0.08) 0%, transparent 75%), + linear-gradient(180deg, #0a0a0d 14.61%, #21242C 43.51%, #0a0a0d 72.4%) + ` diff --git a/public/images/pricing/pricing-circles.svg b/public/images/pricing/pricing-circles.svg new file mode 100644 index 00000000..d97d31b2 --- /dev/null +++ b/public/images/pricing/pricing-circles.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/Checklist.tsx b/src/components/Checklist.tsx deleted file mode 100644 index 2271459f..00000000 --- a/src/components/Checklist.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import { CheckRoundedIcon } from '@pluralsh/design-system' - -import styled, { useTheme } from 'styled-components' - -import { PlanFeatureCheck } from './page-sections/PlansFeaturesTables' - -export const Checklist = styled.ul(({ theme }) => ({ - display: 'flex', - flexDirection: 'column', - gap: theme.spacing.medium, -})) - -export const ChecklistItem = styled(({ children, ...props }) => { - const theme = useTheme() - - return ( -
  • - - {children} -
  • - ) -})(({ theme }) => ({ - display: 'flex', - alignItems: 'center', - gap: theme.spacing.small, - ...theme.partials.marketingText.body1Bold, - color: theme.colors.text, - textWrap: 'balance', - '.icon': { flexShrink: 0 }, -})) - -// Larger variant currently styled for light theme only -// Used on Solutions pages -export const Checklist2 = styled.ul(({ theme }) => ({ - display: 'flex', - flexDirection: 'column', - gap: theme.spacing.large, -})) - -const Checklist2ItemSC = styled.li(({ theme }) => ({ - display: 'flex', - alignItems: 'center', - gap: theme.spacing.medium, - ...theme.partials.marketingText.subtitle2, - color: theme.colors.text, - textWrap: 'balance', - '.icon': { - flexShrink: 0, - }, -})) - -export function Checklist2Item({ children, ...props }) { - return ( - - {/* @ts-expect-error */} - - {children} - - ) -} diff --git a/src/components/layout/GradientBG.tsx b/src/components/layout/GradientBG.tsx index cb7ee0d6..16bce7af 100644 --- a/src/components/layout/GradientBG.tsx +++ b/src/components/layout/GradientBG.tsx @@ -6,6 +6,7 @@ import { type Merge } from 'type-fest' const GradientBGSC = styled.div<{ $position?: string $image?: string + $mobileImage?: string $size?: string $imageType?: 'image' | 'custom' }>( @@ -14,6 +15,7 @@ const GradientBGSC = styled.div<{ $position: position = 'top center', $size = '100%', $image: image = '/images/gradients/gradient-bg-1.jpg', + $mobileImage: mobileImage, $imageType: imageType = 'image', }) => ({ position: 'relative', @@ -32,11 +34,17 @@ const GradientBGSC = styled.div<{ bottom: '0', }, '.bg::before': { - backgroundImage: imageType === 'image' ? `url(${image})` : `${image}`, + backgroundImage: imageType === 'image' ? `url(${image})` : image, backgroundPosition: position, backgroundSize: $size, backgroundRepeat: 'no-repeat', backgroundColor: theme.colors['fill-zero'], + ...(mobileImage && { + '@media (max-width: 767px)': { + backgroundImage: + imageType === 'image' ? `url(${mobileImage})` : mobileImage, + }, + }), }, '.content': { position: 'relative', @@ -49,6 +57,7 @@ export function GradientBG({ bgChildren, position, image, + mobileImage, size, imageType, ...props @@ -59,6 +68,7 @@ export function GradientBG({ bgChildren?: ReactNode position?: string image?: string + mobileImage?: string size?: string imageType?: 'image' | 'custom' } @@ -67,6 +77,7 @@ export function GradientBG({ ({ - ...theme.partials.marketingText.body2Bold, - color: theme.colors['text-light'], - - display: 'flex', - alignItems: 'center', - textAlign: 'center', - justifyContent: 'center', - padding: `${theme.spacing.medium}px ${theme.spacing.xsmall}px`, - borderBottom: theme.borders.default, - height: '100%', -})) -const LineItemHead = styled(PlanFeatureSC)((_) => ({ - textAlign: 'left', - justifyContent: 'left', -})) - -export function PlanFeature({ - item, - ...props -}: { item: LineItemT } & ComponentProps) { - const label = item?.label?.split('/').flatMap((value, i, array) => - array.length - 1 !== i // check for the last item - ? [value, ​/] - : value - ) - - return ( - - {item.checked ? ( - - ) : !isEmpty(label) ? ( - label - ) : ( - - )} - - ) -} - -export function PlansFeaturesRow({ - item, - plans, - ...props -}: { - item: PlansFeatures[number] - plans: Plan[] - className?: string -}) { - return ( - - - {item.label} - - {plans.map((plan) => ( - // eslint-disable-next-line jsx-a11y/control-has-associated-label - - - - ))} - - ) -} -const PlanFeatureCheckSC = styled.div<{ $variant: 'check' | 'x' }>( - ({ $variant, theme }) => ({ - width: 26, - height: 26, - borderRadius: '50%', - backgroundColor: - $variant === 'check' ? theme.colors.green[100] : 'transparent', - display: 'flex', - alignItems: 'center', - justifyContent: 'center', - '& > *': { - display: 'block', - width: 12, - height: 12, - }, - }) -) - -export function PlanFeatureCheck(props: Omit$Props) { - return ( - - - - ) -} - -export function PlanFeatureX(props: Omit$Props) { - return ( - - - - ) -} -const PlanHeadingSC = styled(PlanFeatureSC)(({ theme }) => ({ - display: 'flex', - flexDirection: 'column', - gap: theme.spacing.medium, - paddingTop: theme.spacing.xxlarge, - paddingBottom: theme.spacing.xxlarge, - borderBottom: 'none', -})) - -function PlanHeading({ plan }: { plan?: Plan }) { - return ( - - {plan && ( - <> - - {plan.label} - - - - )} - - ) -} -const PlansFeaturesTableSC = styled.table<{ $numPlans: number }>( - ({ $numPlans, theme }) => ({ - color: theme.colors.text, - display: 'grid', - alignItems: 'stretch', - gridTemplateColumns: `auto ${new Array($numPlans).fill('1fr').join(' ')}`, - 'tbody,thead': { - display: 'contents', - }, - 'tr,th,td': { - padding: 0, - margin: 0, - border: 'none', - }, - tr: { - display: 'contents', - }, - '.tableItem, .tableHead': { - borderBottom: theme.borders.default, - }, - th: { - paddingLeft: 0, - textAlign: 'left', - justifyContent: 'start', - }, - 'td, .tableHead': { - textAlgin: 'center', - justifyContent: 'center', - }, - '.columnHeads': { - '& > *': { - position: 'sticky', - top: 'var(--top-nav-height)', - backgroundColor: `${chroma(theme.colors['fill-zero']).alpha(0.6)}`, - backdropFilter: 'blur(6px)', - }, - }, - '.tableContent': { - paddingTop: 500, - '& > *': { - // borderBottom: theme.borders.default, - }, - '& > *:first-child': { - paddingLeft: 'var(--page-x-pad)', - }, - '& > *:last-child': { - paddingRight: 'var(--page-x-pad)', - }, - [mqs.md]: { - '& > *:first-child, & > *:last-child': { - paddingLeft: 0, - paddingRight: 0, - }, - }, - }, - '[colspan="2"]': { - gridColumn: 'span 2', - }, - }) -) - -export function PlansFeaturesTable({ - items, - plans, - ...props -}: { items: PlansFeatures; plans: Plan[] } & Omit$Props< - typeof PlansFeaturesTableSC ->) { - const isOnePlan = plans.length === 1 - - return ( - - - - {!isOnePlan && ( - - Feature - - )} - {plans.map((plan) => ( - - - - ))} - - - - {items.map((item, i) => ( - - ))} - - - ) -} diff --git a/src/components/page-sections/PricingPlanCard.tsx b/src/components/page-sections/PricingPlanCard.tsx new file mode 100644 index 00000000..30c5292b --- /dev/null +++ b/src/components/page-sections/PricingPlanCard.tsx @@ -0,0 +1,82 @@ +import { type ReactNode } from 'react' + +import { Card, type CardProps, Flex, PlusIcon } from '@pluralsh/design-system' + +import styled from 'styled-components' + +import { type PricingPlanFragment } from '@src/generated/graphqlDirectus' +import { cn } from '@src/utils/cn' + +import { CheckIconSC } from './PricingTable' + +export function PricingPlanCard({ + plan, + cta, + ...props +}: { plan: PricingPlanFragment; cta: ReactNode } & CardProps) { + const isEnterprise = plan.name === 'enterprise' + const planDisplayName = { + enterprise: 'Enterprise', + pro: 'Pro Plan', + }[plan.name] + + return ( + + +

    + {planDisplayName} +

    + {plan.subtitle && ( + {plan.subtitle} + )} +
    + + {isEnterprise && ( + + + Pro plan perks + + )} + {plan.features?.map((feature) => ( + + + {feature?.description} + + ))} + +
    {cta}
    +
    + ) +} + +const PlanCardSC = styled(Card)<{ $isEnterprise: boolean }>( + ({ theme, $isEnterprise }) => ({ + display: 'flex', + flexDirection: 'column', + gap: theme.spacing.large, + padding: theme.spacing.xxlarge, + background: $isEnterprise + ? theme.colors['fill-one'] + : theme.colors['fill-zero'], + }) +) diff --git a/src/components/page-sections/PricingTable.tsx b/src/components/page-sections/PricingTable.tsx new file mode 100644 index 00000000..8271e638 --- /dev/null +++ b/src/components/page-sections/PricingTable.tsx @@ -0,0 +1,246 @@ +import { Button, CheckIcon, CloseIcon } from '@pluralsh/design-system' + +import styled from 'styled-components' + +export function PlanComparisonTableDesktop() { + return ( +
    + + + + {plans.map((plan) => ( + + {plan.name} + + ))} + + {rows.map((rowLabel) => ( + + {rowLabel !== 'action' && rowLabel} + {plans.map((plan) => ( + + {plan.values[rowLabel]} + + ))} + + ))} + +
    + ) +} +export function PlanComparisonTablesMobile() { + return ( +
    + {plans.map((plan) => ( + + + + + {plan.name} + + + {rows.map((rowLabel) => ( + + {rowLabel !== 'action' && rowLabel} + + {plan.values[rowLabel]} + + + ))} + + ))} +
    + ) +} + +export const CheckIconSC = styled(CheckIcon).attrs(() => ({ + color: 'icon-success', +}))`` + +const TableGrid = styled.div<{ $numPlans: number }>(({ $numPlans }) => ({ + display: 'grid', + gridTemplateColumns: + $numPlans === 1 ? '1fr 1.05fr' : `auto repeat(${$numPlans - 1}, 1fr) 2fr`, + width: '100%', +})) + +const HeaderRow = styled.div({ + display: 'contents', +}) + +const TableRow = styled.div(({ theme }) => ({ + display: 'contents', + '&:nth-child(even) > *': { + backgroundColor: theme.colors['fill-zero-selected'], + '&.isEnterprise': { + backgroundColor: theme.colors['fill-one-selected'], + }, + }, +})) + +const Cell = styled.div(({ theme }) => ({ + background: theme.colors['fill-zero'], + padding: `${theme.spacing.medium}px ${theme.spacing.large}px`, + display: 'flex', + alignItems: 'center', + whiteSpace: 'pre-wrap', + + // all cells have default left and bottom borders + borderLeft: theme.borders.default, + borderBottom: theme.borders.default, + + // manually add top border to header row cells, right border to last cell in any row + [`${HeaderRow} &`]: { + borderTop: theme.borders.default, + }, + [`${HeaderRow} &:last-child, ${TableRow} &:last-child`]: { + '&:not(.isEnterprise)': { + borderRight: theme.borders.default, + }, + }, + + // highlight the whole enterprise plan column with a purple border and brighter background + '&.isEnterprise': { + backgroundColor: theme.colors['fill-one'], + borderRight: theme.borders.default, + borderLeftColor: theme.colors['border-primary'], + borderRightColor: theme.colors['border-primary'], + [`${HeaderRow} &:last-child`]: { + borderTopColor: theme.colors['border-primary'], + }, + [`${TableRow}:last-child &:last-child`]: { + borderBottomColor: theme.colors['border-primary'], + }, + }, + + // border radii around the corners + [`${HeaderRow} &:first-child`]: { + borderTopLeftRadius: theme.borderRadiuses.large, + }, + [`${HeaderRow} &:last-child`]: { + borderTopRightRadius: theme.borderRadiuses.large, + }, + [`${TableRow}:last-child &:first-child`]: { + borderBottomLeftRadius: theme.borderRadiuses.large, + }, + [`${TableRow}:last-child &:last-child`]: { + borderBottomRightRadius: theme.borderRadiuses.large, + }, +})) + +const HeaderCell = styled(Cell)(({ theme }) => ({ + ...theme.partials.text.subtitle2, + padding: `${theme.spacing.xlarge}px ${theme.spacing.large}px`, +})) + +const ContentCell = styled(Cell)(({ theme }) => ({ + ...theme.partials.text.body2, + color: theme.colors['text-xlight'], +})) + +const rows = [ + 'Clusters', + 'Hosting', + 'SLA', + 'SLA Response', + 'Communication', + 'Success Team', + 'Customized Training', + 'Multi-cluster Deployment', + 'CD Pipelines', + 'IaC Management', + 'PR Automations', + 'Git Integrations', + 'Policy Management', + 'GDPR Compliant', + 'SOC 2 Compliant', + 'action', // not shown but used for bottom button +] + +const plans = [ + { + name: 'Pro Plan', + values: { + Clusters: 'Up to 10', + Hosting: 'Plural shared infrastructure', + SLA: '99.9% uptime', + 'SLA Response': '1 business day response', + Communication: 'Email support', + 'Success Team': , + 'Customized Training': , + 'Multi-cluster Deployment': , + 'CD Pipelines': , + 'IaC Management': , + 'PR Automations': , + 'Git Integrations': , + 'Policy Management': , + 'GDPR Compliant': , + 'SOC 2 Compliant': , + action: ( + + ), + }, + }, + { + name: 'Enterprise', + values: { + Clusters: 'Unlimited', + Hosting: 'Shared, dedicated, or on-prem infrastructure', + SLA: '99.9% uptime', + 'SLA Response': '1 hour guaranteed response', + Communication: 'Dedicated Slack or Teams\nOn-demand Calls', + 'Success Team': , + 'Customized Training': , + 'Multi-cluster Deployment': , + 'CD Pipelines': , + 'IaC Management': , + 'PR Automations': , + 'Git Integrations': , + 'Policy Management': , + 'GDPR Compliant': , + 'SOC 2 Compliant': , + action: ( + + ), + }, + }, +] diff --git a/src/data/getPlatformPlans.tsx b/src/data/getPlatformPlans.tsx deleted file mode 100644 index 81827cbf..00000000 --- a/src/data/getPlatformPlans.tsx +++ /dev/null @@ -1,82 +0,0 @@ -import { isEmpty } from 'lodash-es' - -import client from '@src/apollo-client' -import { - type PlatformPlan, - PlatformPlansDocument, - type PlatformPlansQuery, - type PlatformPlansQueryVariables, -} from '@src/generated/graphqlPlural' - -export function normalizePlans( - platformPlans: PlatformPlansQuery['platformPlans'] -) { - const proPlatformPlan = - platformPlans?.find((plan) => { - const { name, period } = plan || {} - - return name === 'Pro' && period === 'MONTHLY' - }) ?? ({} as PlatformPlan) - // const proYearlyPlatformPlan = - // platformPlans?.find((plan) => { - // const { name, period } = plan || {} - - // return name === 'Pro' && period === 'YEARLY' - // }) ?? ({} as PlatformPlan) - - let clusterMonthlyPricing: number | null = null - let userMonthlyPricing: number | null = null - - if (proPlatformPlan) { - const clusterMPCents = - proPlatformPlan.lineItems?.find( - (x) => x?.dimension === 'CLUSTER' && x?.period === 'MONTHLY' - )?.cost || null - const userMPCents = - proPlatformPlan.lineItems?.find( - (x) => x?.dimension === 'USER' && x?.period === 'MONTHLY' - )?.cost || null - - clusterMonthlyPricing = - typeof clusterMPCents === 'number' ? clusterMPCents / 100 : null - userMonthlyPricing = - typeof userMPCents === 'number' ? userMPCents / 100 : null - } - - const platformPlansContextValue = { - platformPlans, - // proPlatformPlan, - // proYearlyPlatformPlan, - clusterMonthlyPricing, - userMonthlyPricing, - // annualDiscount: 0.1, // Hardcoded for now - } - - if (isEmpty(platformPlansContextValue?.platformPlans)) return null - - return platformPlansContextValue -} - -export type NormalizedPlatformPlans = ReturnType - -let plansCache: NormalizedPlatformPlans = null - -export async function getPlaformPlans(): Promise { - const { data, error } = await client.query< - PlatformPlansQuery, - PlatformPlansQueryVariables - >({ - query: PlatformPlansDocument, - }) - - if (error) { - throw new Error(`${error.name}: ${error.message}`) - } - const plans = data?.platformPlans - ? normalizePlans(data?.platformPlans) - : plansCache || null - - plansCache = plans - - return plans -} diff --git a/src/data/getPricing.tsx b/src/data/getPricing.tsx index effd19bb..c446a86c 100644 --- a/src/data/getPricing.tsx +++ b/src/data/getPricing.tsx @@ -1,382 +1,15 @@ -import { until } from '@open-draft/until' -import { produce } from 'immer' - +import { directusClient } from '@src/apollo-client' import { - type NormalizedPlatformPlans, - getPlaformPlans, -} from './getPlatformPlans' - -const keys = ['free', 'pro', 'enterprise'] as const - -export type PricingKey = (typeof keys)[number] - -export type Plan = { - key: PricingKey - label: string - price: string - features: { - label: string - }[] - cta: { - label: string - url: string - } - violator?: { label: string } - isFeatured?: boolean -} - -const freePlanBase: Plan = { - key: 'free', - label: 'OSS Apps Only', - price: 'Free', - features: [ - { label: 'Free forever' }, - { label: 'Unlimited open-source apps' }, - { label: 'Up to 2 users' }, - { label: '1 cluster' }, - { label: 'OAuth integration' }, - { label: 'Community support' }, - ], - cta: { label: 'Start deploying', url: 'https://app.plural.sh' }, -} - -const proPlanBase: Plan = { - key: 'pro', - label: 'Pro', - price: - '$399 / cluster / month, + $8 / user / month, + $200 / pack of 5 services / month', - features: [ - { label: 'Everything in Free plan' }, - { label: 'Up to 2 clusters' }, - { label: 'Continuous Deployment features' }, - { label: 'Multi-cluster management' }, - { label: 'Dev → Prod promotion flows' }, - { label: 'Advanced user management' }, - { label: 'VPN' }, - ], - cta: { - label: 'Start free trial', - url: 'https://app.plural.sh/account/billing', - }, - isFeatured: true, -} - -const enterprisePlanBase: Plan = { - key: 'enterprise', - label: 'Enterprise', - price: 'Custom', - features: [ - { label: 'Everything in Pro plan' }, - { label: '4 hour SLAs' }, - { label: 'Dedicated Account Team' }, - { label: 'SAML integration' }, - { label: 'Commercial license' }, - { label: 'Cost optimization' }, - ], - cta: { label: 'Contact sales', url: '/contact-sales' }, - isFeatured: true, -} - -export type PlanFeatureValue = { label?: string; checked?: boolean } - -export type PlansFeatures = { - key?: string - label: string - definition?: string - values: Record -}[] - -const plansFeatures: PlansFeatures = [ - { - key: 'clusters', - label: 'Clusters', - values: { - free: { label: '1 cluster free' }, - pro: { label: '$399/cluster/month' }, - enterprise: { label: 'Unlimited' }, - }, - }, - { - key: 'users', - label: 'User accounts', - values: { - free: { label: 'Up to 2 users' }, - pro: { label: '$8/user/month' }, - enterprise: { label: 'Unlimited' }, - }, - }, - { - key: 'services', - label: 'Services', - values: { - free: { checked: false }, - pro: { label: '$200/pack of 5 services/month' }, - enterprise: { label: 'Unlimited' }, - }, - }, - { - label: 'Roles', - values: { - free: { checked: false }, - pro: { checked: true }, - enterprise: { checked: true }, - }, - }, - { - label: 'Groups', - values: { - free: { checked: false }, - pro: { checked: true }, - enterprise: { checked: true }, - }, - }, - { - label: 'Multi-cluster management', - values: { - free: { checked: false }, - pro: { checked: true }, - enterprise: { checked: true }, - }, - }, - { - label: 'Dev → Prod promotion flows', - values: { - free: { checked: false }, - pro: { checked: true }, - enterprise: { checked: true }, - }, - }, - { - label: 'VPN', - definition: 'Virtual private network', - values: { - free: { checked: false }, - pro: { checked: true }, - enterprise: { checked: true }, - }, - }, - { - label: 'Backup/Restore', - definition: 'Point-in-time backup and restore for application databases', - values: { - free: { checked: false }, - pro: { checked: true }, - enterprise: { checked: true }, - }, - }, - { - label: 'Service accounts', - values: { - free: { checked: false }, - pro: { checked: true }, - enterprise: { checked: true }, - }, - }, - { - label: 'Open-Source Apps', - values: { - free: { label: 'Unlimited' }, - pro: { label: 'Unlimited' }, - enterprise: { label: 'Unlimited' }, - }, - }, - { - label: 'Discord Forum', - values: { - free: { checked: true }, - pro: { checked: true }, - enterprise: { checked: true }, - }, - }, - { - label: 'Community support', - values: { - free: { checked: true }, - pro: { checked: true }, - enterprise: { checked: true }, - }, - }, - { - label: 'Private Slack Connect', - values: { - free: { checked: false }, - pro: { checked: false }, - enterprise: { checked: true }, - }, - }, - { - label: 'Dedicated SRE', - values: { - free: { checked: false }, - pro: { checked: false }, - enterprise: { checked: true }, - }, - }, - { - label: 'Onboarding', - values: { - free: { checked: false }, - pro: { checked: false }, - enterprise: { checked: true }, - }, - }, - { - label: 'Emergency Hotfixes', - values: { - free: { checked: false }, - pro: { checked: false }, - enterprise: { checked: true }, - }, - }, - { - label: 'SLAs', - definition: 'Service-level agreements', - values: { - free: { checked: false }, - pro: { checked: false }, - enterprise: { label: '4 hours' }, - }, - }, - { - label: 'Coverage', - values: { - free: { label: 'Best effort' }, - pro: { label: 'Best effort' }, - enterprise: { label: '24/7 available' }, - }, - }, - { - label: 'Authentication', - values: { - free: { label: 'Google OAuth + OIDC' }, - pro: { label: 'Google OAuth + OIDC' }, - enterprise: { label: 'SSO + Google OAuth + OIDC' }, - }, - }, - { - label: 'Audit logs', - values: { - free: { checked: false }, - pro: { checked: true }, - enterprise: { checked: true }, - }, - }, - { - label: 'SOC 2', - definition: 'Service Organization Controls 2 compliant', - values: { - free: { checked: true }, - pro: { checked: true }, - enterprise: { checked: true }, - }, - }, - { - label: 'GDPR', - definition: 'General Data Protection Regulation compliant', - values: { - free: { checked: true }, - pro: { checked: true }, - enterprise: { checked: true }, - }, - }, - { - label: 'Compliance reports', - values: { - free: { checked: false }, - pro: { checked: false }, - enterprise: { checked: true }, - }, - }, - { - label: 'Training', - values: { - free: { checked: false }, - pro: { checked: false }, - enterprise: { label: 'Available' }, - }, - }, - { - label: 'Developer support', - values: { - free: { checked: false }, - pro: { checked: false }, - enterprise: { checked: true }, - }, - }, - { - label: 'Commercial license', - values: { - free: { checked: false }, - pro: { checked: false }, - enterprise: { checked: true }, - }, - }, - { - label: 'Invoices', - values: { - free: { checked: false }, - pro: { checked: false }, - enterprise: { checked: true }, - }, - }, - { - label: 'Cost optimization', - values: { - free: { checked: false }, - pro: { checked: false }, - enterprise: { checked: true }, - }, - }, -] - -async function getPricingInner( - platformPlans: NormalizedPlatformPlans -): Promise<{ - plans: Plan[] - plansFeatures: PlansFeatures -}> { - const { userMonthlyPricing, clusterMonthlyPricing } = platformPlans ?? {} - const features = produce(plansFeatures, (draft) => { - const users = draft.find((feature) => feature.key === 'users') - const clusters = draft.find((feature) => feature.key === 'clusters') - - if (users && typeof userMonthlyPricing === 'number') { - users.values.pro.label = `$${ - Math.round(userMonthlyPricing * 100) / 100 - }/user/month` - } - if (clusters && typeof clusterMonthlyPricing === 'number') { - clusters.values.pro.label = `$${ - Math.round(clusterMonthlyPricing * 100) / 100 - }/cluster/month` - } - - return draft - }) - const proPlan: Plan = { - ...proPlanBase, - // TODO: Add this back once APIs are in place - // ...(clusterMonthlyPricing && userMonthlyPricing - // ? { - // price: `$${ - // Math.round(clusterMonthlyPricing * 100) / 100 - // } / cluster, + $${ - // Math.round(userMonthlyPricing * 100) / 100 - // } / user / month`, - // } - // : {}), - } - - return { - plans: [freePlanBase, proPlan, enterprisePlanBase], - plansFeatures: features, - } -} - -export type Pricing = Awaited> + PricingPageDocument, + type PricingPageQuery, + type PricingPageQueryVariables, +} from '@src/generated/graphqlDirectus' export default async function getPricing() { - const { data: platformPlans, error } = await until(() => getPlaformPlans()) + const { data, error } = await directusClient.query< + PricingPageQuery, + PricingPageQueryVariables + >({ query: PricingPageDocument }) - return { error, data: await getPricingInner(platformPlans) } + return { data, error } } diff --git a/src/data/getProductPageData.ts b/src/data/getProductPageData.ts deleted file mode 100644 index 8d7e6c25..00000000 --- a/src/data/getProductPageData.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { directusClient as client } from '@src/apollo-client' -import { - type CalloutFragment, - PageProductDocument, - type PageProductQuery, - type PageProductQueryVariables, -} from '@src/generated/graphqlDirectus' - -let cache: PageProductQuery['page_product'] | null = null - -export type ProductPage = Awaited>['data'] - -export type Callouts = (CalloutFragment | null)[] | null | undefined - -export async function getProductPageData() { - const { data, error } = await client.query< - PageProductQuery, - PageProductQueryVariables - >({ - query: PageProductDocument, - }) - - if (data?.page_product) { - cache = data?.page_product - } - - return { data: data?.page_product || cache, error } -} diff --git a/src/generated/graphqlDirectus.ts b/src/generated/graphqlDirectus.ts index dc8b63f0..dd9beca1 100644 --- a/src/generated/graphqlDirectus.ts +++ b/src/generated/graphqlDirectus.ts @@ -42,10 +42,6 @@ export type Mutation = { create_collapsibles_items: Array; create_company_logo_lists_item?: Maybe; create_company_logo_lists_items: Array; - create_company_logo_lists_items_1_item?: Maybe; - create_company_logo_lists_items_1_items: Array; - create_company_logo_lists_items_2_item?: Maybe; - create_company_logo_lists_items_2_items: Array; create_company_logo_lists_items_item?: Maybe; create_company_logo_lists_items_items: Array; create_company_logos_item?: Maybe; @@ -64,34 +60,20 @@ export type Mutation = { create_nav_link_items: Array; create_nav_list_item?: Maybe; create_nav_list_items: Array; + create_pricing_plan_features_item?: Maybe; + create_pricing_plan_features_items: Array; + create_pricing_plans_item?: Maybe; + create_pricing_plans_items: Array; create_product_features_item?: Maybe; create_product_features_items: Array; - create_product_page_items_item?: Maybe; - create_product_page_items_items: Array; - create_product_pages_features_1_item?: Maybe; - create_product_pages_features_1_items: Array; - create_product_pages_features_item?: Maybe; - create_product_pages_features_items: Array; create_product_pages_item?: Maybe; create_product_pages_items: Array; - create_product_pages_product_features_1_item?: Maybe; - create_product_pages_product_features_1_items: Array; - create_product_pages_product_features_item?: Maybe; - create_product_pages_product_features_items: Array; create_quote_lists_item?: Maybe; create_quote_lists_items: Array; create_quote_lists_items_item?: Maybe; create_quote_lists_items_items: Array; create_quotes_item?: Maybe; create_quotes_items: Array; - create_site_settings_company_logo_lists_1_item?: Maybe; - create_site_settings_company_logo_lists_1_items: Array; - create_site_settings_company_logo_lists_item?: Maybe; - create_site_settings_company_logo_lists_items: Array; - create_site_settings_company_logos_item?: Maybe; - create_site_settings_company_logos_items: Array; - create_site_settings_main_nav_item?: Maybe; - create_site_settings_main_nav_items: Array; create_site_settings_nav_list_item?: Maybe; create_site_settings_nav_list_items: Array; create_solution_features_item?: Maybe; @@ -122,10 +104,6 @@ export type Mutation = { delete_collapsibles_items?: Maybe; delete_company_logo_lists_item?: Maybe; delete_company_logo_lists_items?: Maybe; - delete_company_logo_lists_items_1_item?: Maybe; - delete_company_logo_lists_items_1_items?: Maybe; - delete_company_logo_lists_items_2_item?: Maybe; - delete_company_logo_lists_items_2_items?: Maybe; delete_company_logo_lists_items_item?: Maybe; delete_company_logo_lists_items_items?: Maybe; delete_company_logos_item?: Maybe; @@ -144,34 +122,20 @@ export type Mutation = { delete_nav_link_items?: Maybe; delete_nav_list_item?: Maybe; delete_nav_list_items?: Maybe; + delete_pricing_plan_features_item?: Maybe; + delete_pricing_plan_features_items?: Maybe; + delete_pricing_plans_item?: Maybe; + delete_pricing_plans_items?: Maybe; delete_product_features_item?: Maybe; delete_product_features_items?: Maybe; - delete_product_page_items_item?: Maybe; - delete_product_page_items_items?: Maybe; - delete_product_pages_features_1_item?: Maybe; - delete_product_pages_features_1_items?: Maybe; - delete_product_pages_features_item?: Maybe; - delete_product_pages_features_items?: Maybe; delete_product_pages_item?: Maybe; delete_product_pages_items?: Maybe; - delete_product_pages_product_features_1_item?: Maybe; - delete_product_pages_product_features_1_items?: Maybe; - delete_product_pages_product_features_item?: Maybe; - delete_product_pages_product_features_items?: Maybe; delete_quote_lists_item?: Maybe; delete_quote_lists_items?: Maybe; delete_quote_lists_items_item?: Maybe; delete_quote_lists_items_items?: Maybe; delete_quotes_item?: Maybe; delete_quotes_items?: Maybe; - delete_site_settings_company_logo_lists_1_item?: Maybe; - delete_site_settings_company_logo_lists_1_items?: Maybe; - delete_site_settings_company_logo_lists_item?: Maybe; - delete_site_settings_company_logo_lists_items?: Maybe; - delete_site_settings_company_logos_item?: Maybe; - delete_site_settings_company_logos_items?: Maybe; - delete_site_settings_main_nav_item?: Maybe; - delete_site_settings_main_nav_items?: Maybe; delete_site_settings_nav_list_item?: Maybe; delete_site_settings_nav_list_items?: Maybe; delete_solution_features_item?: Maybe; @@ -211,12 +175,6 @@ export type Mutation = { update_company_logo_lists_batch: Array; update_company_logo_lists_item?: Maybe; update_company_logo_lists_items: Array; - update_company_logo_lists_items_1_batch: Array; - update_company_logo_lists_items_1_item?: Maybe; - update_company_logo_lists_items_1_items: Array; - update_company_logo_lists_items_2_batch: Array; - update_company_logo_lists_items_2_item?: Maybe; - update_company_logo_lists_items_2_items: Array; update_company_logo_lists_items_batch: Array; update_company_logo_lists_items_item?: Maybe; update_company_logo_lists_items_items: Array; @@ -247,28 +205,19 @@ export type Mutation = { update_page_community?: Maybe; update_page_homepage?: Maybe; update_page_legal?: Maybe; - update_page_product?: Maybe; + update_pricing_page?: Maybe; + update_pricing_plan_features_batch: Array; + update_pricing_plan_features_item?: Maybe; + update_pricing_plan_features_items: Array; + update_pricing_plans_batch: Array; + update_pricing_plans_item?: Maybe; + update_pricing_plans_items: Array; update_product_features_batch: Array; update_product_features_item?: Maybe; update_product_features_items: Array; - update_product_page_items_batch: Array; - update_product_page_items_item?: Maybe; - update_product_page_items_items: Array; update_product_pages_batch: Array; - update_product_pages_features_1_batch: Array; - update_product_pages_features_1_item?: Maybe; - update_product_pages_features_1_items: Array; - update_product_pages_features_batch: Array; - update_product_pages_features_item?: Maybe; - update_product_pages_features_items: Array; update_product_pages_item?: Maybe; update_product_pages_items: Array; - update_product_pages_product_features_1_batch: Array; - update_product_pages_product_features_1_item?: Maybe; - update_product_pages_product_features_1_items: Array; - update_product_pages_product_features_batch: Array; - update_product_pages_product_features_item?: Maybe; - update_product_pages_product_features_items: Array; update_quote_lists_batch: Array; update_quote_lists_item?: Maybe; update_quote_lists_items: Array; @@ -279,18 +228,6 @@ export type Mutation = { update_quotes_item?: Maybe; update_quotes_items: Array; update_site_settings?: Maybe; - update_site_settings_company_logo_lists_1_batch: Array; - update_site_settings_company_logo_lists_1_item?: Maybe; - update_site_settings_company_logo_lists_1_items: Array; - update_site_settings_company_logo_lists_batch: Array; - update_site_settings_company_logo_lists_item?: Maybe; - update_site_settings_company_logo_lists_items: Array; - update_site_settings_company_logos_batch: Array; - update_site_settings_company_logos_item?: Maybe; - update_site_settings_company_logos_items: Array; - update_site_settings_main_nav_batch: Array; - update_site_settings_main_nav_item?: Maybe; - update_site_settings_main_nav_items: Array; update_site_settings_nav_list_batch: Array; update_site_settings_nav_list_item?: Maybe; update_site_settings_nav_list_items: Array; @@ -444,38 +381,6 @@ export type MutationCreate_Company_Logo_Lists_ItemsArgs = { }; -export type MutationCreate_Company_Logo_Lists_Items_1_ItemArgs = { - data: Create_Company_Logo_Lists_Items_1_Input; -}; - - -export type MutationCreate_Company_Logo_Lists_Items_1_ItemsArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationCreate_Company_Logo_Lists_Items_2_ItemArgs = { - data: Create_Company_Logo_Lists_Items_2_Input; -}; - - -export type MutationCreate_Company_Logo_Lists_Items_2_ItemsArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - export type MutationCreate_Company_Logo_Lists_Items_ItemArgs = { data: Create_Company_Logo_Lists_Items_Input; }; @@ -620,30 +525,14 @@ export type MutationCreate_Nav_List_ItemsArgs = { }; -export type MutationCreate_Product_Features_ItemArgs = { - data: Create_Product_Features_Input; -}; - - -export type MutationCreate_Product_Features_ItemsArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationCreate_Product_Page_Items_ItemArgs = { - data: Create_Product_Page_Items_Input; +export type MutationCreate_Pricing_Plan_Features_ItemArgs = { + data: Create_Pricing_Plan_Features_Input; }; -export type MutationCreate_Product_Page_Items_ItemsArgs = { - data?: InputMaybe>; - filter?: InputMaybe; +export type MutationCreate_Pricing_Plan_Features_ItemsArgs = { + data?: InputMaybe>; + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -652,14 +541,14 @@ export type MutationCreate_Product_Page_Items_ItemsArgs = { }; -export type MutationCreate_Product_Pages_Features_1_ItemArgs = { - data: Create_Product_Pages_Features_1_Input; +export type MutationCreate_Pricing_Plans_ItemArgs = { + data: Create_Pricing_Plans_Input; }; -export type MutationCreate_Product_Pages_Features_1_ItemsArgs = { - data?: InputMaybe>; - filter?: InputMaybe; +export type MutationCreate_Pricing_Plans_ItemsArgs = { + data?: InputMaybe>; + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -668,14 +557,14 @@ export type MutationCreate_Product_Pages_Features_1_ItemsArgs = { }; -export type MutationCreate_Product_Pages_Features_ItemArgs = { - data: Create_Product_Pages_Features_Input; +export type MutationCreate_Product_Features_ItemArgs = { + data: Create_Product_Features_Input; }; -export type MutationCreate_Product_Pages_Features_ItemsArgs = { - data?: InputMaybe>; - filter?: InputMaybe; +export type MutationCreate_Product_Features_ItemsArgs = { + data?: InputMaybe>; + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -700,38 +589,6 @@ export type MutationCreate_Product_Pages_ItemsArgs = { }; -export type MutationCreate_Product_Pages_Product_Features_1_ItemArgs = { - data: Create_Product_Pages_Product_Features_1_Input; -}; - - -export type MutationCreate_Product_Pages_Product_Features_1_ItemsArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationCreate_Product_Pages_Product_Features_ItemArgs = { - data: Create_Product_Pages_Product_Features_Input; -}; - - -export type MutationCreate_Product_Pages_Product_Features_ItemsArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - export type MutationCreate_Quote_Lists_ItemArgs = { data: Create_Quote_Lists_Input; }; @@ -780,70 +637,6 @@ export type MutationCreate_Quotes_ItemsArgs = { }; -export type MutationCreate_Site_Settings_Company_Logo_Lists_1_ItemArgs = { - data: Create_Site_Settings_Company_Logo_Lists_1_Input; -}; - - -export type MutationCreate_Site_Settings_Company_Logo_Lists_1_ItemsArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationCreate_Site_Settings_Company_Logo_Lists_ItemArgs = { - data: Create_Site_Settings_Company_Logo_Lists_Input; -}; - - -export type MutationCreate_Site_Settings_Company_Logo_Lists_ItemsArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationCreate_Site_Settings_Company_Logos_ItemArgs = { - data: Create_Site_Settings_Company_Logos_Input; -}; - - -export type MutationCreate_Site_Settings_Company_Logos_ItemsArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationCreate_Site_Settings_Main_Nav_ItemArgs = { - data: Create_Site_Settings_Main_Nav_Input; -}; - - -export type MutationCreate_Site_Settings_Main_Nav_ItemsArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - export type MutationCreate_Site_Settings_Nav_List_ItemArgs = { data: Create_Site_Settings_Nav_List_Input; }; @@ -1036,26 +829,6 @@ export type MutationDelete_Company_Logo_Lists_ItemsArgs = { }; -export type MutationDelete_Company_Logo_Lists_Items_1_ItemArgs = { - id: Scalars['ID']['input']; -}; - - -export type MutationDelete_Company_Logo_Lists_Items_1_ItemsArgs = { - ids: Array>; -}; - - -export type MutationDelete_Company_Logo_Lists_Items_2_ItemArgs = { - id: Scalars['ID']['input']; -}; - - -export type MutationDelete_Company_Logo_Lists_Items_2_ItemsArgs = { - ids: Array>; -}; - - export type MutationDelete_Company_Logo_Lists_Items_ItemArgs = { id: Scalars['ID']['input']; }; @@ -1146,42 +919,32 @@ export type MutationDelete_Nav_List_ItemsArgs = { }; -export type MutationDelete_Product_Features_ItemArgs = { - id: Scalars['ID']['input']; -}; - - -export type MutationDelete_Product_Features_ItemsArgs = { - ids: Array>; -}; - - -export type MutationDelete_Product_Page_Items_ItemArgs = { +export type MutationDelete_Pricing_Plan_Features_ItemArgs = { id: Scalars['ID']['input']; }; -export type MutationDelete_Product_Page_Items_ItemsArgs = { +export type MutationDelete_Pricing_Plan_Features_ItemsArgs = { ids: Array>; }; -export type MutationDelete_Product_Pages_Features_1_ItemArgs = { +export type MutationDelete_Pricing_Plans_ItemArgs = { id: Scalars['ID']['input']; }; -export type MutationDelete_Product_Pages_Features_1_ItemsArgs = { +export type MutationDelete_Pricing_Plans_ItemsArgs = { ids: Array>; }; -export type MutationDelete_Product_Pages_Features_ItemArgs = { +export type MutationDelete_Product_Features_ItemArgs = { id: Scalars['ID']['input']; }; -export type MutationDelete_Product_Pages_Features_ItemsArgs = { +export type MutationDelete_Product_Features_ItemsArgs = { ids: Array>; }; @@ -1196,26 +959,6 @@ export type MutationDelete_Product_Pages_ItemsArgs = { }; -export type MutationDelete_Product_Pages_Product_Features_1_ItemArgs = { - id: Scalars['ID']['input']; -}; - - -export type MutationDelete_Product_Pages_Product_Features_1_ItemsArgs = { - ids: Array>; -}; - - -export type MutationDelete_Product_Pages_Product_Features_ItemArgs = { - id: Scalars['ID']['input']; -}; - - -export type MutationDelete_Product_Pages_Product_Features_ItemsArgs = { - ids: Array>; -}; - - export type MutationDelete_Quote_Lists_ItemArgs = { id: Scalars['ID']['input']; }; @@ -1246,46 +989,6 @@ export type MutationDelete_Quotes_ItemsArgs = { }; -export type MutationDelete_Site_Settings_Company_Logo_Lists_1_ItemArgs = { - id: Scalars['ID']['input']; -}; - - -export type MutationDelete_Site_Settings_Company_Logo_Lists_1_ItemsArgs = { - ids: Array>; -}; - - -export type MutationDelete_Site_Settings_Company_Logo_Lists_ItemArgs = { - id: Scalars['ID']['input']; -}; - - -export type MutationDelete_Site_Settings_Company_Logo_Lists_ItemsArgs = { - ids: Array>; -}; - - -export type MutationDelete_Site_Settings_Company_Logos_ItemArgs = { - id: Scalars['ID']['input']; -}; - - -export type MutationDelete_Site_Settings_Company_Logos_ItemsArgs = { - ids: Array>; -}; - - -export type MutationDelete_Site_Settings_Main_Nav_ItemArgs = { - id: Scalars['ID']['input']; -}; - - -export type MutationDelete_Site_Settings_Main_Nav_ItemsArgs = { - ids: Array>; -}; - - export type MutationDelete_Site_Settings_Nav_List_ItemArgs = { id: Scalars['ID']['input']; }; @@ -1593,64 +1296,6 @@ export type MutationUpdate_Company_Logo_Lists_ItemsArgs = { }; -export type MutationUpdate_Company_Logo_Lists_Items_1_BatchArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationUpdate_Company_Logo_Lists_Items_1_ItemArgs = { - data: Update_Company_Logo_Lists_Items_1_Input; - id: Scalars['ID']['input']; -}; - - -export type MutationUpdate_Company_Logo_Lists_Items_1_ItemsArgs = { - data: Update_Company_Logo_Lists_Items_1_Input; - filter?: InputMaybe; - ids: Array>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationUpdate_Company_Logo_Lists_Items_2_BatchArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationUpdate_Company_Logo_Lists_Items_2_ItemArgs = { - data: Update_Company_Logo_Lists_Items_2_Input; - id: Scalars['ID']['input']; -}; - - -export type MutationUpdate_Company_Logo_Lists_Items_2_ItemsArgs = { - data: Update_Company_Logo_Lists_Items_2_Input; - filter?: InputMaybe; - ids: Array>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - export type MutationUpdate_Company_Logo_Lists_Items_BatchArgs = { data?: InputMaybe>; filter?: InputMaybe; @@ -1927,14 +1572,14 @@ export type MutationUpdate_Page_LegalArgs = { }; -export type MutationUpdate_Page_ProductArgs = { - data: Update_Page_Product_Input; +export type MutationUpdate_Pricing_PageArgs = { + data: Update_Pricing_Page_Input; }; -export type MutationUpdate_Product_Features_BatchArgs = { - data?: InputMaybe>; - filter?: InputMaybe; +export type MutationUpdate_Pricing_Plan_Features_BatchArgs = { + data?: InputMaybe>; + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -1943,15 +1588,15 @@ export type MutationUpdate_Product_Features_BatchArgs = { }; -export type MutationUpdate_Product_Features_ItemArgs = { - data: Update_Product_Features_Input; +export type MutationUpdate_Pricing_Plan_Features_ItemArgs = { + data: Update_Pricing_Plan_Features_Input; id: Scalars['ID']['input']; }; -export type MutationUpdate_Product_Features_ItemsArgs = { - data: Update_Product_Features_Input; - filter?: InputMaybe; +export type MutationUpdate_Pricing_Plan_Features_ItemsArgs = { + data: Update_Pricing_Plan_Features_Input; + filter?: InputMaybe; ids: Array>; limit?: InputMaybe; offset?: InputMaybe; @@ -1961,9 +1606,9 @@ export type MutationUpdate_Product_Features_ItemsArgs = { }; -export type MutationUpdate_Product_Page_Items_BatchArgs = { - data?: InputMaybe>; - filter?: InputMaybe; +export type MutationUpdate_Pricing_Plans_BatchArgs = { + data?: InputMaybe>; + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -1972,15 +1617,15 @@ export type MutationUpdate_Product_Page_Items_BatchArgs = { }; -export type MutationUpdate_Product_Page_Items_ItemArgs = { - data: Update_Product_Page_Items_Input; +export type MutationUpdate_Pricing_Plans_ItemArgs = { + data: Update_Pricing_Plans_Input; id: Scalars['ID']['input']; }; -export type MutationUpdate_Product_Page_Items_ItemsArgs = { - data: Update_Product_Page_Items_Input; - filter?: InputMaybe; +export type MutationUpdate_Pricing_Plans_ItemsArgs = { + data: Update_Pricing_Plans_Input; + filter?: InputMaybe; ids: Array>; limit?: InputMaybe; offset?: InputMaybe; @@ -1990,20 +1635,9 @@ export type MutationUpdate_Product_Page_Items_ItemsArgs = { }; -export type MutationUpdate_Product_Pages_BatchArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationUpdate_Product_Pages_Features_1_BatchArgs = { - data?: InputMaybe>; - filter?: InputMaybe; +export type MutationUpdate_Product_Features_BatchArgs = { + data?: InputMaybe>; + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -2012,15 +1646,15 @@ export type MutationUpdate_Product_Pages_Features_1_BatchArgs = { }; -export type MutationUpdate_Product_Pages_Features_1_ItemArgs = { - data: Update_Product_Pages_Features_1_Input; +export type MutationUpdate_Product_Features_ItemArgs = { + data: Update_Product_Features_Input; id: Scalars['ID']['input']; }; -export type MutationUpdate_Product_Pages_Features_1_ItemsArgs = { - data: Update_Product_Pages_Features_1_Input; - filter?: InputMaybe; +export type MutationUpdate_Product_Features_ItemsArgs = { + data: Update_Product_Features_Input; + filter?: InputMaybe; ids: Array>; limit?: InputMaybe; offset?: InputMaybe; @@ -2030,27 +1664,9 @@ export type MutationUpdate_Product_Pages_Features_1_ItemsArgs = { }; -export type MutationUpdate_Product_Pages_Features_BatchArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationUpdate_Product_Pages_Features_ItemArgs = { - data: Update_Product_Pages_Features_Input; - id: Scalars['ID']['input']; -}; - - -export type MutationUpdate_Product_Pages_Features_ItemsArgs = { - data: Update_Product_Pages_Features_Input; - filter?: InputMaybe; - ids: Array>; +export type MutationUpdate_Product_Pages_BatchArgs = { + data?: InputMaybe>; + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -2077,64 +1693,6 @@ export type MutationUpdate_Product_Pages_ItemsArgs = { }; -export type MutationUpdate_Product_Pages_Product_Features_1_BatchArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationUpdate_Product_Pages_Product_Features_1_ItemArgs = { - data: Update_Product_Pages_Product_Features_1_Input; - id: Scalars['ID']['input']; -}; - - -export type MutationUpdate_Product_Pages_Product_Features_1_ItemsArgs = { - data: Update_Product_Pages_Product_Features_1_Input; - filter?: InputMaybe; - ids: Array>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationUpdate_Product_Pages_Product_Features_BatchArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationUpdate_Product_Pages_Product_Features_ItemArgs = { - data: Update_Product_Pages_Product_Features_Input; - id: Scalars['ID']['input']; -}; - - -export type MutationUpdate_Product_Pages_Product_Features_ItemsArgs = { - data: Update_Product_Pages_Product_Features_Input; - filter?: InputMaybe; - ids: Array>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - export type MutationUpdate_Quote_Lists_BatchArgs = { data?: InputMaybe>; filter?: InputMaybe; @@ -2227,122 +1785,6 @@ export type MutationUpdate_Site_SettingsArgs = { }; -export type MutationUpdate_Site_Settings_Company_Logo_Lists_1_BatchArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationUpdate_Site_Settings_Company_Logo_Lists_1_ItemArgs = { - data: Update_Site_Settings_Company_Logo_Lists_1_Input; - id: Scalars['ID']['input']; -}; - - -export type MutationUpdate_Site_Settings_Company_Logo_Lists_1_ItemsArgs = { - data: Update_Site_Settings_Company_Logo_Lists_1_Input; - filter?: InputMaybe; - ids: Array>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationUpdate_Site_Settings_Company_Logo_Lists_BatchArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationUpdate_Site_Settings_Company_Logo_Lists_ItemArgs = { - data: Update_Site_Settings_Company_Logo_Lists_Input; - id: Scalars['ID']['input']; -}; - - -export type MutationUpdate_Site_Settings_Company_Logo_Lists_ItemsArgs = { - data: Update_Site_Settings_Company_Logo_Lists_Input; - filter?: InputMaybe; - ids: Array>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationUpdate_Site_Settings_Company_Logos_BatchArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationUpdate_Site_Settings_Company_Logos_ItemArgs = { - data: Update_Site_Settings_Company_Logos_Input; - id: Scalars['ID']['input']; -}; - - -export type MutationUpdate_Site_Settings_Company_Logos_ItemsArgs = { - data: Update_Site_Settings_Company_Logos_Input; - filter?: InputMaybe; - ids: Array>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationUpdate_Site_Settings_Main_Nav_BatchArgs = { - data?: InputMaybe>; - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type MutationUpdate_Site_Settings_Main_Nav_ItemArgs = { - data: Update_Site_Settings_Main_Nav_Input; - id: Scalars['ID']['input']; -}; - - -export type MutationUpdate_Site_Settings_Main_Nav_ItemsArgs = { - data: Update_Site_Settings_Main_Nav_Input; - filter?: InputMaybe; - ids: Array>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - export type MutationUpdate_Site_Settings_Nav_List_BatchArgs = { data?: InputMaybe>; filter?: InputMaybe; @@ -2578,12 +2020,6 @@ export type Query = { company_logo_lists_aggregated: Array; company_logo_lists_by_id?: Maybe; company_logo_lists_items: Array; - company_logo_lists_items_1: Array; - company_logo_lists_items_1_aggregated: Array; - company_logo_lists_items_1_by_id?: Maybe; - company_logo_lists_items_2: Array; - company_logo_lists_items_2_aggregated: Array; - company_logo_lists_items_2_by_id?: Maybe; company_logo_lists_items_aggregated: Array; company_logo_lists_items_by_id?: Maybe; company_logos: Array; @@ -2613,28 +2049,19 @@ export type Query = { page_community?: Maybe; page_homepage?: Maybe; page_legal?: Maybe; - page_product?: Maybe; + pricing_page?: Maybe; + pricing_plan_features: Array; + pricing_plan_features_aggregated: Array; + pricing_plan_features_by_id?: Maybe; + pricing_plans: Array; + pricing_plans_aggregated: Array; + pricing_plans_by_id?: Maybe; product_features: Array; product_features_aggregated: Array; product_features_by_id?: Maybe; - product_page_items: Array; - product_page_items_aggregated: Array; - product_page_items_by_id?: Maybe; product_pages: Array; product_pages_aggregated: Array; product_pages_by_id?: Maybe; - product_pages_features: Array; - product_pages_features_1: Array; - product_pages_features_1_aggregated: Array; - product_pages_features_1_by_id?: Maybe; - product_pages_features_aggregated: Array; - product_pages_features_by_id?: Maybe; - product_pages_product_features: Array; - product_pages_product_features_1: Array; - product_pages_product_features_1_aggregated: Array; - product_pages_product_features_1_by_id?: Maybe; - product_pages_product_features_aggregated: Array; - product_pages_product_features_by_id?: Maybe; quote_lists: Array; quote_lists_aggregated: Array; quote_lists_by_id?: Maybe; @@ -2645,18 +2072,6 @@ export type Query = { quotes_aggregated: Array; quotes_by_id?: Maybe; site_settings?: Maybe; - site_settings_company_logo_lists: Array; - site_settings_company_logo_lists_1: Array; - site_settings_company_logo_lists_1_aggregated: Array; - site_settings_company_logo_lists_1_by_id?: Maybe; - site_settings_company_logo_lists_aggregated: Array; - site_settings_company_logo_lists_by_id?: Maybe; - site_settings_company_logos: Array; - site_settings_company_logos_aggregated: Array; - site_settings_company_logos_by_id?: Maybe; - site_settings_main_nav: Array; - site_settings_main_nav_aggregated: Array; - site_settings_main_nav_by_id?: Maybe; site_settings_nav_list: Array; site_settings_nav_list_aggregated: Array; site_settings_nav_list_by_id?: Maybe; @@ -2900,58 +2315,6 @@ export type QueryCompany_Logo_Lists_ItemsArgs = { }; -export type QueryCompany_Logo_Lists_Items_1Args = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QueryCompany_Logo_Lists_Items_1_AggregatedArgs = { - filter?: InputMaybe; - groupBy?: InputMaybe>>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QueryCompany_Logo_Lists_Items_1_By_IdArgs = { - id: Scalars['ID']['input']; -}; - - -export type QueryCompany_Logo_Lists_Items_2Args = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QueryCompany_Logo_Lists_Items_2_AggregatedArgs = { - filter?: InputMaybe; - groupBy?: InputMaybe>>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QueryCompany_Logo_Lists_Items_2_By_IdArgs = { - id: Scalars['ID']['input']; -}; - - export type QueryCompany_Logo_Lists_Items_AggregatedArgs = { filter?: InputMaybe; groupBy?: InputMaybe>>; @@ -3176,8 +2539,8 @@ export type QueryNav_List_By_IdArgs = { }; -export type QueryProduct_FeaturesArgs = { - filter?: InputMaybe; +export type QueryPricing_Plan_FeaturesArgs = { + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -3186,8 +2549,8 @@ export type QueryProduct_FeaturesArgs = { }; -export type QueryProduct_Features_AggregatedArgs = { - filter?: InputMaybe; +export type QueryPricing_Plan_Features_AggregatedArgs = { + filter?: InputMaybe; groupBy?: InputMaybe>>; limit?: InputMaybe; offset?: InputMaybe; @@ -3197,13 +2560,13 @@ export type QueryProduct_Features_AggregatedArgs = { }; -export type QueryProduct_Features_By_IdArgs = { +export type QueryPricing_Plan_Features_By_IdArgs = { id: Scalars['ID']['input']; }; -export type QueryProduct_Page_ItemsArgs = { - filter?: InputMaybe; +export type QueryPricing_PlansArgs = { + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -3212,8 +2575,8 @@ export type QueryProduct_Page_ItemsArgs = { }; -export type QueryProduct_Page_Items_AggregatedArgs = { - filter?: InputMaybe; +export type QueryPricing_Plans_AggregatedArgs = { + filter?: InputMaybe; groupBy?: InputMaybe>>; limit?: InputMaybe; offset?: InputMaybe; @@ -3223,13 +2586,13 @@ export type QueryProduct_Page_Items_AggregatedArgs = { }; -export type QueryProduct_Page_Items_By_IdArgs = { +export type QueryPricing_Plans_By_IdArgs = { id: Scalars['ID']['input']; }; -export type QueryProduct_PagesArgs = { - filter?: InputMaybe; +export type QueryProduct_FeaturesArgs = { + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -3238,8 +2601,8 @@ export type QueryProduct_PagesArgs = { }; -export type QueryProduct_Pages_AggregatedArgs = { - filter?: InputMaybe; +export type QueryProduct_Features_AggregatedArgs = { + filter?: InputMaybe; groupBy?: InputMaybe>>; limit?: InputMaybe; offset?: InputMaybe; @@ -3249,13 +2612,13 @@ export type QueryProduct_Pages_AggregatedArgs = { }; -export type QueryProduct_Pages_By_IdArgs = { +export type QueryProduct_Features_By_IdArgs = { id: Scalars['ID']['input']; }; -export type QueryProduct_Pages_FeaturesArgs = { - filter?: InputMaybe; +export type QueryProduct_PagesArgs = { + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -3264,8 +2627,9 @@ export type QueryProduct_Pages_FeaturesArgs = { }; -export type QueryProduct_Pages_Features_1Args = { - filter?: InputMaybe; +export type QueryProduct_Pages_AggregatedArgs = { + filter?: InputMaybe; + groupBy?: InputMaybe>>; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -3274,9 +2638,13 @@ export type QueryProduct_Pages_Features_1Args = { }; -export type QueryProduct_Pages_Features_1_AggregatedArgs = { - filter?: InputMaybe; - groupBy?: InputMaybe>>; +export type QueryProduct_Pages_By_IdArgs = { + id: Scalars['ID']['input']; +}; + + +export type QueryQuote_ListsArgs = { + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -3285,13 +2653,8 @@ export type QueryProduct_Pages_Features_1_AggregatedArgs = { }; -export type QueryProduct_Pages_Features_1_By_IdArgs = { - id: Scalars['ID']['input']; -}; - - -export type QueryProduct_Pages_Features_AggregatedArgs = { - filter?: InputMaybe; +export type QueryQuote_Lists_AggregatedArgs = { + filter?: InputMaybe; groupBy?: InputMaybe>>; limit?: InputMaybe; offset?: InputMaybe; @@ -3301,13 +2664,13 @@ export type QueryProduct_Pages_Features_AggregatedArgs = { }; -export type QueryProduct_Pages_Features_By_IdArgs = { +export type QueryQuote_Lists_By_IdArgs = { id: Scalars['ID']['input']; }; -export type QueryProduct_Pages_Product_FeaturesArgs = { - filter?: InputMaybe; +export type QueryQuote_Lists_ItemsArgs = { + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -3316,8 +2679,9 @@ export type QueryProduct_Pages_Product_FeaturesArgs = { }; -export type QueryProduct_Pages_Product_Features_1Args = { - filter?: InputMaybe; +export type QueryQuote_Lists_Items_AggregatedArgs = { + filter?: InputMaybe; + groupBy?: InputMaybe>>; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -3326,9 +2690,13 @@ export type QueryProduct_Pages_Product_Features_1Args = { }; -export type QueryProduct_Pages_Product_Features_1_AggregatedArgs = { - filter?: InputMaybe; - groupBy?: InputMaybe>>; +export type QueryQuote_Lists_Items_By_IdArgs = { + id: Scalars['ID']['input']; +}; + + +export type QueryQuotesArgs = { + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -3337,13 +2705,8 @@ export type QueryProduct_Pages_Product_Features_1_AggregatedArgs = { }; -export type QueryProduct_Pages_Product_Features_1_By_IdArgs = { - id: Scalars['ID']['input']; -}; - - -export type QueryProduct_Pages_Product_Features_AggregatedArgs = { - filter?: InputMaybe; +export type QueryQuotes_AggregatedArgs = { + filter?: InputMaybe; groupBy?: InputMaybe>>; limit?: InputMaybe; offset?: InputMaybe; @@ -3353,13 +2716,13 @@ export type QueryProduct_Pages_Product_Features_AggregatedArgs = { }; -export type QueryProduct_Pages_Product_Features_By_IdArgs = { +export type QueryQuotes_By_IdArgs = { id: Scalars['ID']['input']; }; -export type QueryQuote_ListsArgs = { - filter?: InputMaybe; +export type QuerySite_Settings_Nav_ListArgs = { + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -3368,8 +2731,8 @@ export type QueryQuote_ListsArgs = { }; -export type QueryQuote_Lists_AggregatedArgs = { - filter?: InputMaybe; +export type QuerySite_Settings_Nav_List_AggregatedArgs = { + filter?: InputMaybe; groupBy?: InputMaybe>>; limit?: InputMaybe; offset?: InputMaybe; @@ -3379,13 +2742,13 @@ export type QueryQuote_Lists_AggregatedArgs = { }; -export type QueryQuote_Lists_By_IdArgs = { +export type QuerySite_Settings_Nav_List_By_IdArgs = { id: Scalars['ID']['input']; }; -export type QueryQuote_Lists_ItemsArgs = { - filter?: InputMaybe; +export type QuerySolution_FeaturesArgs = { + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -3394,190 +2757,8 @@ export type QueryQuote_Lists_ItemsArgs = { }; -export type QueryQuote_Lists_Items_AggregatedArgs = { - filter?: InputMaybe; - groupBy?: InputMaybe>>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QueryQuote_Lists_Items_By_IdArgs = { - id: Scalars['ID']['input']; -}; - - -export type QueryQuotesArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QueryQuotes_AggregatedArgs = { - filter?: InputMaybe; - groupBy?: InputMaybe>>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QueryQuotes_By_IdArgs = { - id: Scalars['ID']['input']; -}; - - -export type QuerySite_Settings_Company_Logo_ListsArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QuerySite_Settings_Company_Logo_Lists_1Args = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QuerySite_Settings_Company_Logo_Lists_1_AggregatedArgs = { - filter?: InputMaybe; - groupBy?: InputMaybe>>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QuerySite_Settings_Company_Logo_Lists_1_By_IdArgs = { - id: Scalars['ID']['input']; -}; - - -export type QuerySite_Settings_Company_Logo_Lists_AggregatedArgs = { - filter?: InputMaybe; - groupBy?: InputMaybe>>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QuerySite_Settings_Company_Logo_Lists_By_IdArgs = { - id: Scalars['ID']['input']; -}; - - -export type QuerySite_Settings_Company_LogosArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QuerySite_Settings_Company_Logos_AggregatedArgs = { - filter?: InputMaybe; - groupBy?: InputMaybe>>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QuerySite_Settings_Company_Logos_By_IdArgs = { - id: Scalars['ID']['input']; -}; - - -export type QuerySite_Settings_Main_NavArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QuerySite_Settings_Main_Nav_AggregatedArgs = { - filter?: InputMaybe; - groupBy?: InputMaybe>>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QuerySite_Settings_Main_Nav_By_IdArgs = { - id: Scalars['ID']['input']; -}; - - -export type QuerySite_Settings_Nav_ListArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QuerySite_Settings_Nav_List_AggregatedArgs = { - filter?: InputMaybe; - groupBy?: InputMaybe>>; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QuerySite_Settings_Nav_List_By_IdArgs = { - id: Scalars['ID']['input']; -}; - - -export type QuerySolution_FeaturesArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type QuerySolution_Features_AggregatedArgs = { - filter?: InputMaybe; +export type QuerySolution_Features_AggregatedArgs = { + filter?: InputMaybe; groupBy?: InputMaybe>>; limit?: InputMaybe; offset?: InputMaybe; @@ -4484,8 +3665,6 @@ export type Company_Logo_Lists = { date_updated_func?: Maybe; id: Scalars['ID']['output']; ignore?: Maybe; - items?: Maybe>>; - items_func?: Maybe; partner_logos?: Maybe>>; slug?: Maybe; sort?: Maybe; @@ -4495,16 +3674,6 @@ export type Company_Logo_Lists = { }; -export type Company_Logo_ListsItemsArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - export type Company_Logo_ListsPartner_LogosArgs = { filter?: InputMaybe; limit?: InputMaybe; @@ -4554,7 +3723,6 @@ export type Company_Logo_Lists_Aggregated_Count = { date_updated?: Maybe; id?: Maybe; ignore?: Maybe; - items?: Maybe; slug?: Maybe; sort?: Maybe; status?: Maybe; @@ -4577,8 +3745,6 @@ export type Company_Logo_Lists_Filter = { date_updated_func?: InputMaybe; id?: InputMaybe; ignore?: InputMaybe; - items?: InputMaybe; - items_func?: InputMaybe; partner_logos?: InputMaybe; slug?: InputMaybe; sort?: InputMaybe; @@ -4606,120 +3772,6 @@ export type Company_Logo_Lists_ItemsCompany_Logo_Lists_IdArgs = { sort?: InputMaybe>>; }; -export type Company_Logo_Lists_Items_1 = { - __typename?: 'company_logo_lists_items_1'; - collection?: Maybe; - company_logo_lists_id?: Maybe; - id: Scalars['ID']['output']; - item?: Maybe; -}; - - -export type Company_Logo_Lists_Items_1Company_Logo_Lists_IdArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - -export type Company_Logo_Lists_Items_1_Aggregated = { - __typename?: 'company_logo_lists_items_1_aggregated'; - avg?: Maybe; - avgDistinct?: Maybe; - count?: Maybe; - countAll?: Maybe; - countDistinct?: Maybe; - group?: Maybe; - max?: Maybe; - min?: Maybe; - sum?: Maybe; - sumDistinct?: Maybe; -}; - -export type Company_Logo_Lists_Items_1_Aggregated_Count = { - __typename?: 'company_logo_lists_items_1_aggregated_count'; - collection?: Maybe; - company_logo_lists_id?: Maybe; - id?: Maybe; - item?: Maybe; -}; - -export type Company_Logo_Lists_Items_1_Aggregated_Fields = { - __typename?: 'company_logo_lists_items_1_aggregated_fields'; - company_logo_lists_id?: Maybe; - id?: Maybe; -}; - -export type Company_Logo_Lists_Items_1_Filter = { - _and?: InputMaybe>>; - _or?: InputMaybe>>; - collection?: InputMaybe; - company_logo_lists_id?: InputMaybe; - id?: InputMaybe; - item__company_logo_lists_items?: InputMaybe; -}; - -export type Company_Logo_Lists_Items_1_Item_Union = Company_Logo_Lists_Items; - -export type Company_Logo_Lists_Items_2 = { - __typename?: 'company_logo_lists_items_2'; - collection?: Maybe; - company_logo_lists_id?: Maybe; - id: Scalars['ID']['output']; - item?: Maybe; -}; - - -export type Company_Logo_Lists_Items_2Company_Logo_Lists_IdArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - -export type Company_Logo_Lists_Items_2_Aggregated = { - __typename?: 'company_logo_lists_items_2_aggregated'; - avg?: Maybe; - avgDistinct?: Maybe; - count?: Maybe; - countAll?: Maybe; - countDistinct?: Maybe; - group?: Maybe; - max?: Maybe; - min?: Maybe; - sum?: Maybe; - sumDistinct?: Maybe; -}; - -export type Company_Logo_Lists_Items_2_Aggregated_Count = { - __typename?: 'company_logo_lists_items_2_aggregated_count'; - collection?: Maybe; - company_logo_lists_id?: Maybe; - id?: Maybe; - item?: Maybe; -}; - -export type Company_Logo_Lists_Items_2_Aggregated_Fields = { - __typename?: 'company_logo_lists_items_2_aggregated_fields'; - company_logo_lists_id?: Maybe; - id?: Maybe; -}; - -export type Company_Logo_Lists_Items_2_Filter = { - _and?: InputMaybe>>; - _or?: InputMaybe>>; - collection?: InputMaybe; - company_logo_lists_id?: InputMaybe; - id?: InputMaybe; - item__company_logos?: InputMaybe; -}; - -export type Company_Logo_Lists_Items_2_Item_Union = Company_Logos; - export type Company_Logo_Lists_Items_Aggregated = { __typename?: 'company_logo_lists_items_aggregated'; avg?: Maybe; @@ -4955,7 +4007,6 @@ export type Create_Company_Logo_Lists_Input = { date_updated?: InputMaybe; id?: InputMaybe; ignore?: InputMaybe; - items?: InputMaybe>>; partner_logos?: InputMaybe>>; slug?: InputMaybe; sort?: InputMaybe; @@ -4964,20 +4015,6 @@ export type Create_Company_Logo_Lists_Input = { user_updated?: InputMaybe; }; -export type Create_Company_Logo_Lists_Items_1_Input = { - collection?: InputMaybe; - company_logo_lists_id?: InputMaybe; - id?: InputMaybe; - item?: InputMaybe; -}; - -export type Create_Company_Logo_Lists_Items_2_Input = { - collection?: InputMaybe; - company_logo_lists_id?: InputMaybe; - id?: InputMaybe; - item?: InputMaybe; -}; - export type Create_Company_Logo_Lists_Items_Input = { collection?: InputMaybe; company_logo_lists_id?: InputMaybe; @@ -5195,38 +4232,32 @@ export type Create_Page_Legal_Input = { user_updated?: InputMaybe; }; -export type Create_Product_Features_Input = { +export type Create_Pricing_Plan_Features_Input = { description?: InputMaybe; - icon?: InputMaybe; id?: InputMaybe; - image?: InputMaybe; - product_id?: InputMaybe; - title?: InputMaybe; + plan_id?: InputMaybe; }; -export type Create_Product_Page_Items_Input = { +export type Create_Pricing_Plans_Input = { + date_created?: InputMaybe; + date_updated?: InputMaybe; + features?: InputMaybe>>; + id?: InputMaybe; + name: Scalars['String']['input']; + subtitle?: InputMaybe; + user_created?: InputMaybe; + user_updated?: InputMaybe; +}; + +export type Create_Product_Features_Input = { description?: InputMaybe; - icon_name?: InputMaybe; + icon?: InputMaybe; id?: InputMaybe; image?: InputMaybe; product_id?: InputMaybe; title?: InputMaybe; }; -export type Create_Product_Pages_Features_1_Input = { - collection?: InputMaybe; - id?: InputMaybe; - item?: InputMaybe; - product_pages_id?: InputMaybe; -}; - -export type Create_Product_Pages_Features_Input = { - collection?: InputMaybe; - id?: InputMaybe; - item?: InputMaybe; - product_pages_id?: InputMaybe; -}; - export type Create_Product_Pages_Input = { dropdown_description?: InputMaybe; dropdown_icon?: InputMaybe; @@ -5240,18 +4271,6 @@ export type Create_Product_Pages_Input = { type?: InputMaybe; }; -export type Create_Product_Pages_Product_Features_1_Input = { - id?: InputMaybe; - product_features_id?: InputMaybe; - product_pages_id?: InputMaybe; -}; - -export type Create_Product_Pages_Product_Features_Input = { - id?: InputMaybe; - product_features_id?: InputMaybe; - product_pages_id?: InputMaybe; -}; - export type Create_Quote_Lists_Input = { date_created?: InputMaybe; date_updated?: InputMaybe; @@ -5288,34 +4307,14 @@ export type Create_Quotes_Input = { user_updated?: InputMaybe; }; -export type Create_Site_Settings_Company_Logo_Lists_1_Input = { - company_logo_lists_id?: InputMaybe; - id?: InputMaybe; - site_settings_id?: InputMaybe; -}; - -export type Create_Site_Settings_Company_Logo_Lists_Input = { - company_logo_lists_id?: InputMaybe; - id?: InputMaybe; - site_settings_id?: InputMaybe; -}; - -export type Create_Site_Settings_Company_Logos_Input = { - company_logos_id?: InputMaybe; - id?: InputMaybe; - site_settings_id?: InputMaybe; -}; - export type Create_Site_Settings_Input = { date_created?: InputMaybe; date_updated?: InputMaybe; id?: InputMaybe; - main_nav?: InputMaybe>>; og_description?: InputMaybe; og_image?: InputMaybe; og_image_community?: InputMaybe; og_image_marketplace?: InputMaybe; - partner_logos?: InputMaybe>>; promo_banner_content?: InputMaybe; promo_banner_url?: InputMaybe; sort?: InputMaybe; @@ -5324,13 +4323,6 @@ export type Create_Site_Settings_Input = { user_updated?: InputMaybe; }; -export type Create_Site_Settings_Main_Nav_Input = { - collection?: InputMaybe; - id?: InputMaybe; - item?: InputMaybe; - site_settings_id?: InputMaybe; -}; - export type Create_Site_Settings_Nav_List_Input = { id?: InputMaybe; nav_list_id?: InputMaybe; @@ -6598,22 +5590,22 @@ export type Page_Legal_Filter = { user_updated?: InputMaybe; }; -export type Page_Product = { - __typename?: 'page_product'; +export type Pricing_Page = { + __typename?: 'pricing_page'; date_created?: Maybe; date_created_func?: Maybe; date_updated?: Maybe; date_updated_func?: Maybe; - faq?: Maybe; - featured_quote?: Maybe; + enterprise_plan?: Maybe; id: Scalars['ID']['output']; + pro_plan?: Maybe; user_created?: Maybe; user_updated?: Maybe; }; -export type Page_ProductFaqArgs = { - filter?: InputMaybe; +export type Pricing_PageEnterprise_PlanArgs = { + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -6622,8 +5614,8 @@ export type Page_ProductFaqArgs = { }; -export type Page_ProductFeatured_QuoteArgs = { - filter?: InputMaybe; +export type Pricing_PagePro_PlanArgs = { + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -6632,7 +5624,7 @@ export type Page_ProductFeatured_QuoteArgs = { }; -export type Page_ProductUser_CreatedArgs = { +export type Pricing_PageUser_CreatedArgs = { filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; @@ -6642,7 +5634,7 @@ export type Page_ProductUser_CreatedArgs = { }; -export type Page_ProductUser_UpdatedArgs = { +export type Pricing_PageUser_UpdatedArgs = { filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; @@ -6651,19 +5643,16 @@ export type Page_ProductUser_UpdatedArgs = { sort?: InputMaybe>>; }; -export type Product_Features = { - __typename?: 'product_features'; +export type Pricing_Plan_Features = { + __typename?: 'pricing_plan_features'; description?: Maybe; - icon?: Maybe; id: Scalars['ID']['output']; - image?: Maybe; - product_id?: Maybe; - title?: Maybe; + plan_id?: Maybe; }; -export type Product_FeaturesImageArgs = { - filter?: InputMaybe; +export type Pricing_Plan_FeaturesPlan_IdArgs = { + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -6671,9 +5660,59 @@ export type Product_FeaturesImageArgs = { sort?: InputMaybe>>; }; +export type Pricing_Plan_Features_Aggregated = { + __typename?: 'pricing_plan_features_aggregated'; + avg?: Maybe; + avgDistinct?: Maybe; + count?: Maybe; + countAll?: Maybe; + countDistinct?: Maybe; + group?: Maybe; + max?: Maybe; + min?: Maybe; + sum?: Maybe; + sumDistinct?: Maybe; +}; -export type Product_FeaturesProduct_IdArgs = { - filter?: InputMaybe; +export type Pricing_Plan_Features_Aggregated_Count = { + __typename?: 'pricing_plan_features_aggregated_count'; + description?: Maybe; + id?: Maybe; + plan_id?: Maybe; +}; + +export type Pricing_Plan_Features_Aggregated_Fields = { + __typename?: 'pricing_plan_features_aggregated_fields'; + id?: Maybe; + plan_id?: Maybe; +}; + +export type Pricing_Plan_Features_Filter = { + _and?: InputMaybe>>; + _or?: InputMaybe>>; + description?: InputMaybe; + id?: InputMaybe; + plan_id?: InputMaybe; +}; + +export type Pricing_Plans = { + __typename?: 'pricing_plans'; + date_created?: Maybe; + date_created_func?: Maybe; + date_updated?: Maybe; + date_updated_func?: Maybe; + features?: Maybe>>; + features_func?: Maybe; + id: Scalars['ID']['output']; + name: Scalars['String']['output']; + subtitle?: Maybe; + user_created?: Maybe; + user_updated?: Maybe; +}; + + +export type Pricing_PlansFeaturesArgs = { + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -6681,51 +5720,77 @@ export type Product_FeaturesProduct_IdArgs = { sort?: InputMaybe>>; }; -export type Product_Features_Aggregated = { - __typename?: 'product_features_aggregated'; - avg?: Maybe; - avgDistinct?: Maybe; - count?: Maybe; + +export type Pricing_PlansUser_CreatedArgs = { + filter?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + page?: InputMaybe; + search?: InputMaybe; + sort?: InputMaybe>>; +}; + + +export type Pricing_PlansUser_UpdatedArgs = { + filter?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + page?: InputMaybe; + search?: InputMaybe; + sort?: InputMaybe>>; +}; + +export type Pricing_Plans_Aggregated = { + __typename?: 'pricing_plans_aggregated'; + avg?: Maybe; + avgDistinct?: Maybe; + count?: Maybe; countAll?: Maybe; - countDistinct?: Maybe; + countDistinct?: Maybe; group?: Maybe; - max?: Maybe; - min?: Maybe; - sum?: Maybe; - sumDistinct?: Maybe; + max?: Maybe; + min?: Maybe; + sum?: Maybe; + sumDistinct?: Maybe; }; -export type Product_Features_Aggregated_Count = { - __typename?: 'product_features_aggregated_count'; - description?: Maybe; - icon?: Maybe; +export type Pricing_Plans_Aggregated_Count = { + __typename?: 'pricing_plans_aggregated_count'; + date_created?: Maybe; + date_updated?: Maybe; + features?: Maybe; id?: Maybe; - image?: Maybe; - product_id?: Maybe; - title?: Maybe; + name?: Maybe; + subtitle?: Maybe; + user_created?: Maybe; + user_updated?: Maybe; }; -export type Product_Features_Aggregated_Fields = { - __typename?: 'product_features_aggregated_fields'; +export type Pricing_Plans_Aggregated_Fields = { + __typename?: 'pricing_plans_aggregated_fields'; id?: Maybe; - product_id?: Maybe; }; -export type Product_Features_Filter = { - _and?: InputMaybe>>; - _or?: InputMaybe>>; - description?: InputMaybe; - icon?: InputMaybe; +export type Pricing_Plans_Filter = { + _and?: InputMaybe>>; + _or?: InputMaybe>>; + date_created?: InputMaybe; + date_created_func?: InputMaybe; + date_updated?: InputMaybe; + date_updated_func?: InputMaybe; + features?: InputMaybe; + features_func?: InputMaybe; id?: InputMaybe; - image?: InputMaybe; - product_id?: InputMaybe; - title?: InputMaybe; + name?: InputMaybe; + subtitle?: InputMaybe; + user_created?: InputMaybe; + user_updated?: InputMaybe; }; -export type Product_Page_Items = { - __typename?: 'product_page_items'; +export type Product_Features = { + __typename?: 'product_features'; description?: Maybe; - icon_name?: Maybe; + icon?: Maybe; id: Scalars['ID']['output']; image?: Maybe; product_id?: Maybe; @@ -6733,7 +5798,7 @@ export type Product_Page_Items = { }; -export type Product_Page_ItemsImageArgs = { +export type Product_FeaturesImageArgs = { filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; @@ -6743,7 +5808,7 @@ export type Product_Page_ItemsImageArgs = { }; -export type Product_Page_ItemsProduct_IdArgs = { +export type Product_FeaturesProduct_IdArgs = { filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; @@ -6752,41 +5817,41 @@ export type Product_Page_ItemsProduct_IdArgs = { sort?: InputMaybe>>; }; -export type Product_Page_Items_Aggregated = { - __typename?: 'product_page_items_aggregated'; - avg?: Maybe; - avgDistinct?: Maybe; - count?: Maybe; +export type Product_Features_Aggregated = { + __typename?: 'product_features_aggregated'; + avg?: Maybe; + avgDistinct?: Maybe; + count?: Maybe; countAll?: Maybe; - countDistinct?: Maybe; + countDistinct?: Maybe; group?: Maybe; - max?: Maybe; - min?: Maybe; - sum?: Maybe; - sumDistinct?: Maybe; + max?: Maybe; + min?: Maybe; + sum?: Maybe; + sumDistinct?: Maybe; }; -export type Product_Page_Items_Aggregated_Count = { - __typename?: 'product_page_items_aggregated_count'; +export type Product_Features_Aggregated_Count = { + __typename?: 'product_features_aggregated_count'; description?: Maybe; - icon_name?: Maybe; + icon?: Maybe; id?: Maybe; image?: Maybe; product_id?: Maybe; title?: Maybe; }; -export type Product_Page_Items_Aggregated_Fields = { - __typename?: 'product_page_items_aggregated_fields'; +export type Product_Features_Aggregated_Fields = { + __typename?: 'product_features_aggregated_fields'; id?: Maybe; product_id?: Maybe; }; -export type Product_Page_Items_Filter = { - _and?: InputMaybe>>; - _or?: InputMaybe>>; +export type Product_Features_Filter = { + _and?: InputMaybe>>; + _or?: InputMaybe>>; description?: InputMaybe; - icon_name?: InputMaybe; + icon?: InputMaybe; id?: InputMaybe; image?: InputMaybe; product_id?: InputMaybe; @@ -6851,120 +5916,6 @@ export type Product_Pages_Aggregated_Fields = { id?: Maybe; }; -export type Product_Pages_Features = { - __typename?: 'product_pages_features'; - collection?: Maybe; - id: Scalars['ID']['output']; - item?: Maybe; - product_pages_id?: Maybe; -}; - - -export type Product_Pages_FeaturesProduct_Pages_IdArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - -export type Product_Pages_Features_1 = { - __typename?: 'product_pages_features_1'; - collection?: Maybe; - id: Scalars['ID']['output']; - item?: Maybe; - product_pages_id?: Maybe; -}; - - -export type Product_Pages_Features_1Product_Pages_IdArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - -export type Product_Pages_Features_1_Aggregated = { - __typename?: 'product_pages_features_1_aggregated'; - avg?: Maybe; - avgDistinct?: Maybe; - count?: Maybe; - countAll?: Maybe; - countDistinct?: Maybe; - group?: Maybe; - max?: Maybe; - min?: Maybe; - sum?: Maybe; - sumDistinct?: Maybe; -}; - -export type Product_Pages_Features_1_Aggregated_Count = { - __typename?: 'product_pages_features_1_aggregated_count'; - collection?: Maybe; - id?: Maybe; - item?: Maybe; - product_pages_id?: Maybe; -}; - -export type Product_Pages_Features_1_Aggregated_Fields = { - __typename?: 'product_pages_features_1_aggregated_fields'; - id?: Maybe; - product_pages_id?: Maybe; -}; - -export type Product_Pages_Features_1_Filter = { - _and?: InputMaybe>>; - _or?: InputMaybe>>; - collection?: InputMaybe; - id?: InputMaybe; - item__product_features?: InputMaybe; - product_pages_id?: InputMaybe; -}; - -export type Product_Pages_Features_1_Item_Union = Product_Features; - -export type Product_Pages_Features_Aggregated = { - __typename?: 'product_pages_features_aggregated'; - avg?: Maybe; - avgDistinct?: Maybe; - count?: Maybe; - countAll?: Maybe; - countDistinct?: Maybe; - group?: Maybe; - max?: Maybe; - min?: Maybe; - sum?: Maybe; - sumDistinct?: Maybe; -}; - -export type Product_Pages_Features_Aggregated_Count = { - __typename?: 'product_pages_features_aggregated_count'; - collection?: Maybe; - id?: Maybe; - item?: Maybe; - product_pages_id?: Maybe; -}; - -export type Product_Pages_Features_Aggregated_Fields = { - __typename?: 'product_pages_features_aggregated_fields'; - id?: Maybe; - product_pages_id?: Maybe; -}; - -export type Product_Pages_Features_Filter = { - _and?: InputMaybe>>; - _or?: InputMaybe>>; - collection?: InputMaybe; - id?: InputMaybe; - item__product_features?: InputMaybe; - product_pages_id?: InputMaybe; -}; - -export type Product_Pages_Features_Item_Union = Product_Features; - export type Product_Pages_Filter = { _and?: InputMaybe>>; _or?: InputMaybe>>; @@ -6981,112 +5932,6 @@ export type Product_Pages_Filter = { type?: InputMaybe; }; -export type Product_Pages_Product_Features = { - __typename?: 'product_pages_product_features'; - id: Scalars['ID']['output']; - product_features_id?: Maybe; - product_pages_id?: Maybe; -}; - - -export type Product_Pages_Product_FeaturesProduct_Features_IdArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type Product_Pages_Product_FeaturesProduct_Pages_IdArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - -export type Product_Pages_Product_Features_1 = { - __typename?: 'product_pages_product_features_1'; - id: Scalars['ID']['output']; - product_features_id?: Maybe; - product_pages_id?: Maybe; -}; - -export type Product_Pages_Product_Features_1_Aggregated = { - __typename?: 'product_pages_product_features_1_aggregated'; - avg?: Maybe; - avgDistinct?: Maybe; - count?: Maybe; - countAll?: Maybe; - countDistinct?: Maybe; - group?: Maybe; - max?: Maybe; - min?: Maybe; - sum?: Maybe; - sumDistinct?: Maybe; -}; - -export type Product_Pages_Product_Features_1_Aggregated_Count = { - __typename?: 'product_pages_product_features_1_aggregated_count'; - id?: Maybe; - product_features_id?: Maybe; - product_pages_id?: Maybe; -}; - -export type Product_Pages_Product_Features_1_Aggregated_Fields = { - __typename?: 'product_pages_product_features_1_aggregated_fields'; - id?: Maybe; - product_features_id?: Maybe; - product_pages_id?: Maybe; -}; - -export type Product_Pages_Product_Features_1_Filter = { - _and?: InputMaybe>>; - _or?: InputMaybe>>; - id?: InputMaybe; - product_features_id?: InputMaybe; - product_pages_id?: InputMaybe; -}; - -export type Product_Pages_Product_Features_Aggregated = { - __typename?: 'product_pages_product_features_aggregated'; - avg?: Maybe; - avgDistinct?: Maybe; - count?: Maybe; - countAll?: Maybe; - countDistinct?: Maybe; - group?: Maybe; - max?: Maybe; - min?: Maybe; - sum?: Maybe; - sumDistinct?: Maybe; -}; - -export type Product_Pages_Product_Features_Aggregated_Count = { - __typename?: 'product_pages_product_features_aggregated_count'; - id?: Maybe; - product_features_id?: Maybe; - product_pages_id?: Maybe; -}; - -export type Product_Pages_Product_Features_Aggregated_Fields = { - __typename?: 'product_pages_product_features_aggregated_fields'; - id?: Maybe; - product_features_id?: Maybe; - product_pages_id?: Maybe; -}; - -export type Product_Pages_Product_Features_Filter = { - _and?: InputMaybe>>; - _or?: InputMaybe>>; - id?: InputMaybe; - product_features_id?: InputMaybe; - product_pages_id?: InputMaybe; -}; - export type Quote_Lists = { __typename?: 'quote_lists'; date_created?: Maybe; @@ -7350,241 +6195,34 @@ export type Quotes_Filter = { portrait?: InputMaybe; quote?: InputMaybe; quote_id?: InputMaybe; - status?: InputMaybe; - title?: InputMaybe; - user_created?: InputMaybe; - user_updated?: InputMaybe; -}; - -export type Site_Settings = { - __typename?: 'site_settings'; - date_created?: Maybe; - date_created_func?: Maybe; - date_updated?: Maybe; - date_updated_func?: Maybe; - id: Scalars['ID']['output']; - main_nav?: Maybe>>; - main_nav_func?: Maybe; - og_description?: Maybe; - og_image?: Maybe; - og_image_community?: Maybe; - og_image_marketplace?: Maybe; - partner_logos?: Maybe>>; - partner_logos_func?: Maybe; - promo_banner_content?: Maybe; - promo_banner_url?: Maybe; - sort?: Maybe; - status?: Maybe; - user_created?: Maybe; - user_updated?: Maybe; -}; - - -export type Site_SettingsMain_NavArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type Site_SettingsOg_ImageArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type Site_SettingsOg_Image_CommunityArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type Site_SettingsOg_Image_MarketplaceArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type Site_SettingsPartner_LogosArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type Site_SettingsUser_CreatedArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type Site_SettingsUser_UpdatedArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - -export type Site_Settings_Company_Logo_Lists = { - __typename?: 'site_settings_company_logo_lists'; - company_logo_lists_id?: Maybe; - id: Scalars['ID']['output']; - site_settings_id?: Maybe; -}; - - -export type Site_Settings_Company_Logo_ListsCompany_Logo_Lists_IdArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type Site_Settings_Company_Logo_ListsSite_Settings_IdArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - -export type Site_Settings_Company_Logo_Lists_1 = { - __typename?: 'site_settings_company_logo_lists_1'; - company_logo_lists_id?: Maybe; - id: Scalars['ID']['output']; - site_settings_id?: Maybe; -}; - - -export type Site_Settings_Company_Logo_Lists_1Company_Logo_Lists_IdArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - - -export type Site_Settings_Company_Logo_Lists_1Site_Settings_IdArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - -export type Site_Settings_Company_Logo_Lists_1_Aggregated = { - __typename?: 'site_settings_company_logo_lists_1_aggregated'; - avg?: Maybe; - avgDistinct?: Maybe; - count?: Maybe; - countAll?: Maybe; - countDistinct?: Maybe; - group?: Maybe; - max?: Maybe; - min?: Maybe; - sum?: Maybe; - sumDistinct?: Maybe; -}; - -export type Site_Settings_Company_Logo_Lists_1_Aggregated_Count = { - __typename?: 'site_settings_company_logo_lists_1_aggregated_count'; - company_logo_lists_id?: Maybe; - id?: Maybe; - site_settings_id?: Maybe; -}; - -export type Site_Settings_Company_Logo_Lists_1_Aggregated_Fields = { - __typename?: 'site_settings_company_logo_lists_1_aggregated_fields'; - company_logo_lists_id?: Maybe; - id?: Maybe; - site_settings_id?: Maybe; -}; - -export type Site_Settings_Company_Logo_Lists_1_Filter = { - _and?: InputMaybe>>; - _or?: InputMaybe>>; - company_logo_lists_id?: InputMaybe; - id?: InputMaybe; - site_settings_id?: InputMaybe; -}; - -export type Site_Settings_Company_Logo_Lists_Aggregated = { - __typename?: 'site_settings_company_logo_lists_aggregated'; - avg?: Maybe; - avgDistinct?: Maybe; - count?: Maybe; - countAll?: Maybe; - countDistinct?: Maybe; - group?: Maybe; - max?: Maybe; - min?: Maybe; - sum?: Maybe; - sumDistinct?: Maybe; -}; - -export type Site_Settings_Company_Logo_Lists_Aggregated_Count = { - __typename?: 'site_settings_company_logo_lists_aggregated_count'; - company_logo_lists_id?: Maybe; - id?: Maybe; - site_settings_id?: Maybe; -}; - -export type Site_Settings_Company_Logo_Lists_Aggregated_Fields = { - __typename?: 'site_settings_company_logo_lists_aggregated_fields'; - company_logo_lists_id?: Maybe; - id?: Maybe; - site_settings_id?: Maybe; -}; - -export type Site_Settings_Company_Logo_Lists_Filter = { - _and?: InputMaybe>>; - _or?: InputMaybe>>; - company_logo_lists_id?: InputMaybe; - id?: InputMaybe; - site_settings_id?: InputMaybe; + status?: InputMaybe; + title?: InputMaybe; + user_created?: InputMaybe; + user_updated?: InputMaybe; }; -export type Site_Settings_Company_Logos = { - __typename?: 'site_settings_company_logos'; - company_logos_id?: Maybe; +export type Site_Settings = { + __typename?: 'site_settings'; + date_created?: Maybe; + date_created_func?: Maybe; + date_updated?: Maybe; + date_updated_func?: Maybe; id: Scalars['ID']['output']; - site_settings_id?: Maybe; + og_description?: Maybe; + og_image?: Maybe; + og_image_community?: Maybe; + og_image_marketplace?: Maybe; + promo_banner_content?: Maybe; + promo_banner_url?: Maybe; + sort?: Maybe; + status?: Maybe; + user_created?: Maybe; + user_updated?: Maybe; }; -export type Site_Settings_Company_LogosCompany_Logos_IdArgs = { - filter?: InputMaybe; +export type Site_SettingsOg_ImageArgs = { + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -7593,8 +6231,8 @@ export type Site_Settings_Company_LogosCompany_Logos_IdArgs = { }; -export type Site_Settings_Company_LogosSite_Settings_IdArgs = { - filter?: InputMaybe; +export type Site_SettingsOg_Image_CommunityArgs = { + filter?: InputMaybe; limit?: InputMaybe; offset?: InputMaybe; page?: InputMaybe; @@ -7602,40 +6240,34 @@ export type Site_Settings_Company_LogosSite_Settings_IdArgs = { sort?: InputMaybe>>; }; -export type Site_Settings_Company_Logos_Aggregated = { - __typename?: 'site_settings_company_logos_aggregated'; - avg?: Maybe; - avgDistinct?: Maybe; - count?: Maybe; - countAll?: Maybe; - countDistinct?: Maybe; - group?: Maybe; - max?: Maybe; - min?: Maybe; - sum?: Maybe; - sumDistinct?: Maybe; -}; -export type Site_Settings_Company_Logos_Aggregated_Count = { - __typename?: 'site_settings_company_logos_aggregated_count'; - company_logos_id?: Maybe; - id?: Maybe; - site_settings_id?: Maybe; +export type Site_SettingsOg_Image_MarketplaceArgs = { + filter?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + page?: InputMaybe; + search?: InputMaybe; + sort?: InputMaybe>>; }; -export type Site_Settings_Company_Logos_Aggregated_Fields = { - __typename?: 'site_settings_company_logos_aggregated_fields'; - company_logos_id?: Maybe; - id?: Maybe; - site_settings_id?: Maybe; + +export type Site_SettingsUser_CreatedArgs = { + filter?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + page?: InputMaybe; + search?: InputMaybe; + sort?: InputMaybe>>; }; -export type Site_Settings_Company_Logos_Filter = { - _and?: InputMaybe>>; - _or?: InputMaybe>>; - company_logos_id?: InputMaybe; - id?: InputMaybe; - site_settings_id?: InputMaybe; + +export type Site_SettingsUser_UpdatedArgs = { + filter?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + page?: InputMaybe; + search?: InputMaybe; + sort?: InputMaybe>>; }; export type Site_Settings_Filter = { @@ -7646,14 +6278,10 @@ export type Site_Settings_Filter = { date_updated?: InputMaybe; date_updated_func?: InputMaybe; id?: InputMaybe; - main_nav?: InputMaybe; - main_nav_func?: InputMaybe; og_description?: InputMaybe; og_image?: InputMaybe; og_image_community?: InputMaybe; og_image_marketplace?: InputMaybe; - partner_logos?: InputMaybe; - partner_logos_func?: InputMaybe; promo_banner_content?: InputMaybe; promo_banner_url?: InputMaybe; sort?: InputMaybe; @@ -7662,63 +6290,6 @@ export type Site_Settings_Filter = { user_updated?: InputMaybe; }; -export type Site_Settings_Main_Nav = { - __typename?: 'site_settings_main_nav'; - collection?: Maybe; - id: Scalars['ID']['output']; - item?: Maybe; - site_settings_id?: Maybe; -}; - - -export type Site_Settings_Main_NavSite_Settings_IdArgs = { - filter?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - page?: InputMaybe; - search?: InputMaybe; - sort?: InputMaybe>>; -}; - -export type Site_Settings_Main_Nav_Aggregated = { - __typename?: 'site_settings_main_nav_aggregated'; - avg?: Maybe; - avgDistinct?: Maybe; - count?: Maybe; - countAll?: Maybe; - countDistinct?: Maybe; - group?: Maybe; - max?: Maybe; - min?: Maybe; - sum?: Maybe; - sumDistinct?: Maybe; -}; - -export type Site_Settings_Main_Nav_Aggregated_Count = { - __typename?: 'site_settings_main_nav_aggregated_count'; - collection?: Maybe; - id?: Maybe; - item?: Maybe; - site_settings_id?: Maybe; -}; - -export type Site_Settings_Main_Nav_Aggregated_Fields = { - __typename?: 'site_settings_main_nav_aggregated_fields'; - id?: Maybe; - site_settings_id?: Maybe; -}; - -export type Site_Settings_Main_Nav_Filter = { - _and?: InputMaybe>>; - _or?: InputMaybe>>; - collection?: InputMaybe; - id?: InputMaybe; - item__nav_list?: InputMaybe; - site_settings_id?: InputMaybe; -}; - -export type Site_Settings_Main_Nav_Item_Union = Nav_List; - export type Site_Settings_Nav_List = { __typename?: 'site_settings_nav_list'; id: Scalars['ID']['output']; @@ -8572,7 +7143,6 @@ export type Update_Company_Logo_Lists_Input = { date_updated?: InputMaybe; id?: InputMaybe; ignore?: InputMaybe; - items?: InputMaybe>>; partner_logos?: InputMaybe>>; slug?: InputMaybe; sort?: InputMaybe; @@ -8581,20 +7151,6 @@ export type Update_Company_Logo_Lists_Input = { user_updated?: InputMaybe; }; -export type Update_Company_Logo_Lists_Items_1_Input = { - collection?: InputMaybe; - company_logo_lists_id?: InputMaybe; - id?: InputMaybe; - item?: InputMaybe; -}; - -export type Update_Company_Logo_Lists_Items_2_Input = { - collection?: InputMaybe; - company_logo_lists_id?: InputMaybe; - id?: InputMaybe; - item?: InputMaybe; -}; - export type Update_Company_Logo_Lists_Items_Input = { collection?: InputMaybe; company_logo_lists_id?: InputMaybe; @@ -8812,48 +7368,42 @@ export type Update_Page_Legal_Input = { user_updated?: InputMaybe; }; -export type Update_Page_Product_Input = { +export type Update_Pricing_Page_Input = { date_created?: InputMaybe; date_updated?: InputMaybe; - faq?: InputMaybe; - featured_quote?: InputMaybe; + enterprise_plan?: InputMaybe; id?: InputMaybe; + pro_plan?: InputMaybe; user_created?: InputMaybe; user_updated?: InputMaybe; }; -export type Update_Product_Features_Input = { +export type Update_Pricing_Plan_Features_Input = { description?: InputMaybe; - icon?: InputMaybe; id?: InputMaybe; - image?: InputMaybe; - product_id?: InputMaybe; - title?: InputMaybe; + plan_id?: InputMaybe; +}; + +export type Update_Pricing_Plans_Input = { + date_created?: InputMaybe; + date_updated?: InputMaybe; + features?: InputMaybe>>; + id?: InputMaybe; + name?: InputMaybe; + subtitle?: InputMaybe; + user_created?: InputMaybe; + user_updated?: InputMaybe; }; -export type Update_Product_Page_Items_Input = { +export type Update_Product_Features_Input = { description?: InputMaybe; - icon_name?: InputMaybe; + icon?: InputMaybe; id?: InputMaybe; image?: InputMaybe; product_id?: InputMaybe; title?: InputMaybe; }; -export type Update_Product_Pages_Features_1_Input = { - collection?: InputMaybe; - id?: InputMaybe; - item?: InputMaybe; - product_pages_id?: InputMaybe; -}; - -export type Update_Product_Pages_Features_Input = { - collection?: InputMaybe; - id?: InputMaybe; - item?: InputMaybe; - product_pages_id?: InputMaybe; -}; - export type Update_Product_Pages_Input = { dropdown_description?: InputMaybe; dropdown_icon?: InputMaybe; @@ -8867,18 +7417,6 @@ export type Update_Product_Pages_Input = { type?: InputMaybe; }; -export type Update_Product_Pages_Product_Features_1_Input = { - id?: InputMaybe; - product_features_id?: InputMaybe; - product_pages_id?: InputMaybe; -}; - -export type Update_Product_Pages_Product_Features_Input = { - id?: InputMaybe; - product_features_id?: InputMaybe; - product_pages_id?: InputMaybe; -}; - export type Update_Quote_Lists_Input = { date_created?: InputMaybe; date_updated?: InputMaybe; @@ -8915,34 +7453,14 @@ export type Update_Quotes_Input = { user_updated?: InputMaybe; }; -export type Update_Site_Settings_Company_Logo_Lists_1_Input = { - company_logo_lists_id?: InputMaybe; - id?: InputMaybe; - site_settings_id?: InputMaybe; -}; - -export type Update_Site_Settings_Company_Logo_Lists_Input = { - company_logo_lists_id?: InputMaybe; - id?: InputMaybe; - site_settings_id?: InputMaybe; -}; - -export type Update_Site_Settings_Company_Logos_Input = { - company_logos_id?: InputMaybe; - id?: InputMaybe; - site_settings_id?: InputMaybe; -}; - export type Update_Site_Settings_Input = { date_created?: InputMaybe; date_updated?: InputMaybe; id?: InputMaybe; - main_nav?: InputMaybe>>; og_description?: InputMaybe; og_image?: InputMaybe; og_image_community?: InputMaybe; og_image_marketplace?: InputMaybe; - partner_logos?: InputMaybe>>; promo_banner_content?: InputMaybe; promo_banner_url?: InputMaybe; sort?: InputMaybe; @@ -8951,13 +7469,6 @@ export type Update_Site_Settings_Input = { user_updated?: InputMaybe; }; -export type Update_Site_Settings_Main_Nav_Input = { - collection?: InputMaybe; - id?: InputMaybe; - item?: InputMaybe; - site_settings_id?: InputMaybe; -}; - export type Update_Site_Settings_Nav_List_Input = { id?: InputMaybe; nav_list_id?: InputMaybe; @@ -9163,6 +7674,17 @@ export type JobListingSlugsQueryVariables = Exact<{ [key: string]: never; }>; export type JobListingSlugsQuery = { __typename?: 'Query', job_listings: Array<{ __typename?: 'job_listings', slug: string }> }; +export type PricingPageFragment = { __typename?: 'pricing_page', id: string, pro_plan?: { __typename?: 'pricing_plans', id: string, name: string, subtitle?: string | null, features?: Array<{ __typename?: 'pricing_plan_features', id: string, description?: string | null } | null> | null } | null, enterprise_plan?: { __typename?: 'pricing_plans', id: string, name: string, subtitle?: string | null, features?: Array<{ __typename?: 'pricing_plan_features', id: string, description?: string | null } | null> | null } | null }; + +export type PricingPlanFragment = { __typename?: 'pricing_plans', id: string, name: string, subtitle?: string | null, features?: Array<{ __typename?: 'pricing_plan_features', id: string, description?: string | null } | null> | null }; + +export type PricingPlanFeatureFragment = { __typename?: 'pricing_plan_features', id: string, description?: string | null }; + +export type PricingPageQueryVariables = Exact<{ [key: string]: never; }>; + + +export type PricingPageQuery = { __typename?: 'Query', pricing_page?: { __typename?: 'pricing_page', id: string, pro_plan?: { __typename?: 'pricing_plans', id: string, name: string, subtitle?: string | null, features?: Array<{ __typename?: 'pricing_plan_features', id: string, description?: string | null } | null> | null } | null, enterprise_plan?: { __typename?: 'pricing_plans', id: string, name: string, subtitle?: string | null, features?: Array<{ __typename?: 'pricing_plan_features', id: string, description?: string | null } | null> | null } | null } | null }; + export type ProductPageFragment = { __typename?: 'product_pages', id: string, slug: string, type?: string | null, dropdown_icon?: string | null, dropdown_title?: string | null, dropdown_description?: string | null, page_title?: string | null, page_subtitle?: string | null, features?: Array<{ __typename?: 'product_features', id: string, icon?: string | null, title?: string | null, description?: string | null, image?: { __typename?: 'directus_files', id: string, title?: string | null, description?: string | null, tags?: any | null, filename_disk?: string | null, filename_download: string, metadata?: any | null, type?: string | null, filesize?: any | null } | null } | null> | null }; export type ProductPageTinyFragment = { __typename?: 'product_pages', id: string, slug: string, type?: string | null, dropdown_icon?: string | null, dropdown_title?: string | null, dropdown_description?: string | null }; @@ -9190,13 +7712,6 @@ export type PageCommunityQueryVariables = Exact<{ [key: string]: never; }>; export type PageCommunityQuery = { __typename?: 'Query', page_community?: { __typename?: 'page_community', callouts?: Array<{ __typename?: 'callouts', id: string, sort?: number | null, category?: string | null, title?: string | null, content?: string | null, ctas?: any | null } | null> | null } | null }; -export type PageProductFragment = { __typename?: 'page_product', featured_quote?: { __typename?: 'quotes', id: string, quote?: string | null, author_text?: string | null } | null, faq?: { __typename?: 'collapsible_lists', items?: Array<{ __typename?: 'collapsible_lists_items', item?: { __typename?: 'collapsibles', id: string, label?: string | null, content?: string | null } | null } | null> | null } | null }; - -export type PageProductQueryVariables = Exact<{ [key: string]: never; }>; - - -export type PageProductQuery = { __typename?: 'Query', page_product?: { __typename?: 'page_product', featured_quote?: { __typename?: 'quotes', id: string, quote?: string | null, author_text?: string | null } | null, faq?: { __typename?: 'collapsible_lists', items?: Array<{ __typename?: 'collapsible_lists_items', item?: { __typename?: 'collapsibles', id: string, label?: string | null, content?: string | null } | null } | null> | null } | null } | null }; - export type MarkdownPageFragment = { __typename?: 'markdown_pages', id: string, slug?: string | null, title?: string | null, subtitle?: string | null, content?: string | null }; export type PageLegalFragment = { __typename?: 'page_legal', pages?: Array<{ __typename?: 'markdown_pages', id: string, slug?: string | null, title?: string | null, subtitle?: string | null, content?: string | null } | null> | null }; @@ -9391,6 +7906,22 @@ export const FeaturedContributorFragmentDoc = gql` ctas } ${ImageFileFragmentDoc}`; +export const FaqItemFragmentDoc = gql` + fragment FaqItem on collapsibles { + id + label + content +} + `; +export const FaqListFragmentDoc = gql` + fragment FaqList on collapsible_lists { + items { + item { + ...FaqItem + } + } +} + ${FaqItemFragmentDoc}`; export const SolutionFeatureFragmentDoc = gql` fragment SolutionFeature on solution_features { id @@ -9453,6 +7984,33 @@ export const FullJobListingFragmentDoc = gql` content } ${MinJobListingFragmentDoc}`; +export const PricingPlanFeatureFragmentDoc = gql` + fragment PricingPlanFeature on pricing_plan_features { + id + description +} + `; +export const PricingPlanFragmentDoc = gql` + fragment PricingPlan on pricing_plans { + id + name + subtitle + features { + ...PricingPlanFeature + } +} + ${PricingPlanFeatureFragmentDoc}`; +export const PricingPageFragmentDoc = gql` + fragment PricingPage on pricing_page { + id + pro_plan { + ...PricingPlan + } + enterprise_plan { + ...PricingPlan + } +} + ${PricingPlanFragmentDoc}`; export const ProductFeatureFragmentDoc = gql` fragment ProductFeature on product_features { id @@ -9506,33 +8064,6 @@ export const PageCommunityFragmentDoc = gql` } } ${CalloutFragmentDoc}`; -export const FaqItemFragmentDoc = gql` - fragment FaqItem on collapsibles { - id - label - content -} - `; -export const FaqListFragmentDoc = gql` - fragment FaqList on collapsible_lists { - items { - item { - ...FaqItem - } - } -} - ${FaqItemFragmentDoc}`; -export const PageProductFragmentDoc = gql` - fragment PageProduct on page_product { - featured_quote { - ...Quote - } - faq { - ...FaqList - } -} - ${QuoteFragmentDoc} -${FaqListFragmentDoc}`; export const MarkdownPageFragmentDoc = gql` fragment MarkdownPage on markdown_pages { id @@ -9968,6 +8499,40 @@ export function useJobListingSlugsLazyQuery(baseOptions?: Apollo.LazyQueryHookOp export type JobListingSlugsQueryHookResult = ReturnType; export type JobListingSlugsLazyQueryHookResult = ReturnType; export type JobListingSlugsQueryResult = Apollo.QueryResult; +export const PricingPageDocument = gql` + query PricingPage { + pricing_page { + ...PricingPage + } +} + ${PricingPageFragmentDoc}`; + +/** + * __usePricingPageQuery__ + * + * To run a query within a React component, call `usePricingPageQuery` and pass it any options that fit your needs. + * When your component renders, `usePricingPageQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = usePricingPageQuery({ + * variables: { + * }, + * }); + */ +export function usePricingPageQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(PricingPageDocument, options); + } +export function usePricingPageLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(PricingPageDocument, options); + } +export type PricingPageQueryHookResult = ReturnType; +export type PricingPageLazyQueryHookResult = ReturnType; +export type PricingPageQueryResult = Apollo.QueryResult; export const ProductPageSlugsDocument = gql` query ProductPageSlugs { product_pages(filter: {status: {_neq: "archived"}}) { @@ -10071,40 +8636,6 @@ export function usePageCommunityLazyQuery(baseOptions?: Apollo.LazyQueryHookOpti export type PageCommunityQueryHookResult = ReturnType; export type PageCommunityLazyQueryHookResult = ReturnType; export type PageCommunityQueryResult = Apollo.QueryResult; -export const PageProductDocument = gql` - query PageProduct { - page_product { - ...PageProduct - } -} - ${PageProductFragmentDoc}`; - -/** - * __usePageProductQuery__ - * - * To run a query within a React component, call `usePageProductQuery` and pass it any options that fit your needs. - * When your component renders, `usePageProductQuery` returns an object from Apollo Client that contains loading, error, and data properties - * you can use to render your UI. - * - * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; - * - * @example - * const { data, loading, error } = usePageProductQuery({ - * variables: { - * }, - * }); - */ -export function usePageProductQuery(baseOptions?: Apollo.QueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useQuery(PageProductDocument, options); - } -export function usePageProductLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { - const options = {...defaultOptions, ...baseOptions} - return Apollo.useLazyQuery(PageProductDocument, options); - } -export type PageProductQueryHookResult = ReturnType; -export type PageProductLazyQueryHookResult = ReturnType; -export type PageProductQueryResult = Apollo.QueryResult; export const PageLegalDocument = gql` query PageLegal { page_legal { diff --git a/src/graph/directus/pageData/pricing.graphql b/src/graph/directus/pageData/pricing.graphql new file mode 100644 index 00000000..6ab42d8d --- /dev/null +++ b/src/graph/directus/pageData/pricing.graphql @@ -0,0 +1,29 @@ +fragment PricingPage on pricing_page { + id + pro_plan { + ...PricingPlan + } + enterprise_plan { + ...PricingPlan + } +} + +fragment PricingPlan on pricing_plans { + id + name + subtitle + features { + ...PricingPlanFeature + } +} + +fragment PricingPlanFeature on pricing_plan_features { + id + description +} + +query PricingPage { + pricing_page { + ...PricingPage + } +} diff --git a/src/graph/directus/pages.graphql b/src/graph/directus/pages.graphql index 10839a5f..58831e69 100644 --- a/src/graph/directus/pages.graphql +++ b/src/graph/directus/pages.graphql @@ -19,21 +19,6 @@ query PageCommunity { } } -fragment PageProduct on page_product { - featured_quote { - ...Quote - } - faq { - ...FaqList - } -} - -query PageProduct { - page_product { - ...PageProduct - } -} - fragment MarkdownPage on markdown_pages { id slug