From e242b54a5db1289a1e258c3f9483c73ece0ac74b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 14 Sep 2023 14:32:05 +0100 Subject: [PATCH] feat(pricing): separate companies and individuals --- src/pages/pricing.mdx | 85 ++++++++++++++------- src/products.json | 170 +++++++++++++++++++++--------------------- 2 files changed, 147 insertions(+), 108 deletions(-) diff --git a/src/pages/pricing.mdx b/src/pages/pricing.mdx index 9a56c402..463270d6 100644 --- a/src/pages/pricing.mdx +++ b/src/pages/pricing.mdx @@ -13,31 +13,66 @@ export const priceFormatter = new Intl.NumberFormat('en-GB', { style: 'currency', }); -
- {products && products.map(product => ( -
-

- {product.title} - <> - {product.price - ? ( - <>{priceFormatter.format(product.price)} - {product.perMonth && (<> per month)} - - ) - : 'Free!' - } -

+
+
+

For companies

-
-

- {product.description} - {product.isLimited && (<> Limited places available!)} -

-
+ {products && products.company.map(product => ( +
+

+ {product.title} - <> + {product.price + ? ( + <>{priceFormatter.format(product.price)} + {product.perMonth && (<> per month)} + + ) + : 'Free!' + } +

- -
- ))} +
+

+ {product.description} + {product.isLimited && (<> Limited places available!)} +

+
+ + +
+ ))} +
+ +
+

For individuals

+ + {products && products.individuals.map(product => ( +
+

+ {product.title} - <> + {product.price + ? ( + <>{priceFormatter.format(product.price)} + {product.perMonth && (<> per month)} + + ) + : 'Free!' + } +

+ +
+

+ {product.description} + {product.isLimited && (<> Limited places available!)} +

+
+ + +
+ ))} +
diff --git a/src/products.json b/src/products.json index 385fd315..a8492f4d 100644 --- a/src/products.json +++ b/src/products.json @@ -1,85 +1,89 @@ -[ - { - "title": "Diagnosis", - "description": "An in-depth investigation into a single issue where I'll provide a report with my findings and advice on the next steps. Once you've purchased, you can book a Zoom call with me to discuss what you want me to investigate.", - "price": 2500, - "link": { - "text": "Book now", - "href": "https://buy.stripe.com/00gbJs84G2jg8Vy9AJ" +{ + "company": [ + { + "title": "Diagnosis", + "description": "An in-depth investigation into a single issue where I'll provide a report with my findings and advice on the next steps. Once you've purchased, you can book a Zoom call with me to discuss what you want me to investigate.", + "price": 2500, + "link": { + "text": "Book now", + "href": "https://buy.stripe.com/00gbJs84G2jg8Vy9AJ" + } + }, + { + "title": "Drupal upgrade roadmap", + "description": "Are you stuck on an already or soon-to-be unsupported version of Drupal? Get a personalised roadmap of your Drupal website, including details and actionable steps to upgrade it.", + "price": 5000, + "link": { + "text": "Book your roadmap now", + "href": "/drupal-upgrade" + } + }, + { + "title": "Development team coaching", + "description": "Do you want to upskill your in-house team or have someone provide oversight and guidance as they deliver a project? Get unlimited 1-on-1 private Slack access to me and regular check-in calls to ensure things are on track.", + "perMonth": true, + "isLimited": true, + "price": 5000, + "link": { + "text": "Apply now", + "href": "https://forms.gle/HGEC3uqkUSqPsoK79" + } + }, + { + "title": "Private talk or workshop", + "description": "If you found one of my public speaking presentations or workshops useful, I'm available for private speaking engagements on a variety of topics to help your team succeed.", + "price": 2000, + "link": { + "text": "Schedule a talk", + "href": "https://buy.stripe.com/eVa4h0bgSaPM6NqcMU" + } } - }, - { - "title": "Drupal upgrade roadmap", - "description": "Are you stuck on an already or soon-to-be unsupported version of Drupal? Get a personalised roadmap of your Drupal website, including details and actionable steps to upgrade it.", - "price": 5000, - "link": { - "text": "Book your roadmap now", - "href": "/drupal-upgrade" + ], + "individuals": [ + { + "title": "1-on-1 development coaching", + "description": "The same as development team coaching, but for individual Developers and soloists.", + "perMonth": true, + "isLimited": true, + "price": 1000, + "link": { + "text": "Apply now", + "href": "https://forms.gle/SX5fGtXXKVDcftpTA" + } + }, + { + "title": "1-on-1 consulting call", + "description": "Book a 1-on-1 video call, and I can help you by answering questions about software development, architecture and automation, helping you write your first automated test, or reviewing some of your code and giving advice and suggestions.", + "price": 350, + "link": { + "text": "Book your call now", + "href": "/call" + } + }, + { + "title": "Pair program with me", + "description": "Would you like another pair of eyes on your code, providing real-time suggestions and feedback rather than waiting for a code review? Book a 2-hour pair programming call and we can work on your code together.", + "price": 499, + "link": { + "text": "Book your session now", + "href": "/pair" + } + }, + { + "title": "Introduction to automated testing in Drupal - 7-day email course", + "description": "Register for my free upcoming email course on automated testing in Drupal.", + "link": { + "text": "Register now", + "href": "https://forms.gle/9fGwMgaWcWjNDjdAA" + } + }, + { + "title": "Drupal module template", + "description": "If you're creating a new Drupal module, try starting with my free module template for Drupal 9 and 10.", + "link": { + "text": "Download", + "href": "https://github.com/opdavies/drupal-module-template" + } } - }, - { - "title": "Development team coaching", - "description": "Do you want to upskill your in-house team or have someone provide oversight and guidance as they deliver a project? Get unlimited 1-on-1 private Slack access to me and regular check-in calls to ensure things are on track.", - "perMonth": true, - "isLimited": true, - "price": 5000, - "link": { - "text": "Apply now", - "href": "https://forms.gle/HGEC3uqkUSqPsoK79" - } - }, - { - "title": "Private talk or workshop", - "description": "If you found one of my public speaking presentations or workshops useful, I'm available for private speaking engagements on a variety of topics to help your team succeed.", - "price": 2000, - "link": { - "text": "Schedule a talk", - "href": "https://buy.stripe.com/eVa4h0bgSaPM6NqcMU" - } - }, - { - "title": "1-on-1 development coaching", - "description": "The same as development team coaching, but for individual Developers and soloists.", - "perMonth": true, - "isLimited": true, - "price": 1000, - "link": { - "text": "Apply now", - "href": "https://forms.gle/SX5fGtXXKVDcftpTA" - } - }, - { - "title": "1-on-1 consulting call", - "description": "Book a 1-on-1 video call, and I can help you by answering questions about software development, architecture and automation, helping you write your first automated test, or reviewing some of your code and giving advice and suggestions.", - "price": 350, - "link": { - "text": "Book your call now", - "href": "/call" - } - }, - { - "title": "Pair program with me", - "description": "Would you like another pair of eyes on your code, providing real-time suggestions and feedback rather than waiting for a code review? Book a 2-hour pair programming call and we can work on your code together.", - "price": 499, - "link": { - "text": "Book your session now", - "href": "/pair" - } - }, - { - "title": "Introduction to automated testing in Drupal - 7-day email course", - "description": "Register for my free upcoming email course on automated testing in Drupal.", - "link": { - "text": "Register now", - "href": "https://forms.gle/9fGwMgaWcWjNDjdAA" - } - }, - { - "title": "Drupal module template", - "description": "If you're creating a new Drupal module, try starting with my free module template for Drupal 9 and 10.", - "link": { - "text": "Download", - "href": "https://github.com/opdavies/drupal-module-template" - } - } -] + ] +}