diff --git a/apps/web/src/components/solutions/RolloutIllustration.astro b/apps/web/src/components/solutions/RolloutIllustration.astro index 7785abeb5..0fe8f29c4 100644 --- a/apps/web/src/components/solutions/RolloutIllustration.astro +++ b/apps/web/src/components/solutions/RolloutIllustration.astro @@ -1,42 +1,326 @@ --- -const { class: className, ...props } = Astro.props +interface Props { + class?: string + animated?: boolean +} + +const { class: className, animated = false, ...props } = Astro.props + +const viewBox = animated ? '0 0 600 440' : '0 0 600 400' +const cardHeight = animated ? 360 : 320 +const connectorEndY = animated ? 300 : 290 +const qaY = 80 +const betaY = animated ? 165 : 170 +const productionY = animated ? 250 : 260 --- - - - - - - - - - - - - Internal QA - - - 100% - - - - - - - Beta Users - - - 100% - - - - - - - Production - - - 25% - - - +
+ { + animated && ( +

+ Progressive rollout illustration ready. +

+ ) + } + + +
+ + + + diff --git a/apps/web/src/components/solutions/SolutionAppExample.astro b/apps/web/src/components/solutions/SolutionAppExample.astro index bd85a953b..3fd2c1108 100644 --- a/apps/web/src/components/solutions/SolutionAppExample.astro +++ b/apps/web/src/components/solutions/SolutionAppExample.astro @@ -6,13 +6,15 @@ import { renameCat, shortNumber } from '@/services/misc' import { getRelativeLocaleUrl } from '@/services/links' import TeamAvatars from '@/components/TeamAvatars.astro' import HumanSupport from '@/components/HumanSupport.astro' +import RolloutIllustration from '@/components/solutions/RolloutIllustration.astro' interface Props { solution: SolutionAppExampleKey randomize?: boolean + animateRollout?: boolean } -const { solution, randomize = false } = Astro.props +const { solution, randomize = false, animateRollout = false } = Astro.props const locale = Astro.locals.locale const example = solutionAppExamples[solution] const copy = (key: MessageKey, values?: MessageValues) => m[key](values, { locale }) @@ -26,6 +28,7 @@ const categories = [...new Set(appExamples.map(({ app }) => renameCat(app.catego const registerUrl = getRelativeLocaleUrl(locale, 'register') const talkToTeamUrl = 'https://book.capgo.app/enterprise-inquiry/' const showExampleCtas = solution === 'enterprise' +const showRolloutIllustration = animateRollout || solution === 'production-updates' --- { @@ -146,9 +149,18 @@ const showExampleCtas = solution === 'enterprise'

{copy('solution_app_examples_cta_title')}

{copy('solution_app_examples_cta_text')}

+ {showRolloutIllustration && ( +
+ +
+ )} +
- {plays.map((play) => ( -
+ {plays.map((play, index) => ( +
- {play} + {play}
))}
@@ -197,3 +209,22 @@ const showExampleCtas = solution === 'enterprise' list.removeAttribute('aria-busy') } + + diff --git a/apps/web/src/pages/index.astro b/apps/web/src/pages/index.astro index adf621ebf..ef8902348 100644 --- a/apps/web/src/pages/index.astro +++ b/apps/web/src/pages/index.astro @@ -95,7 +95,7 @@ const content = { - +