- {product.title} - <> > - {product.price - ? ( - <>{priceFormatter.format(product.price)} - {product.perMonth && (<> per month>)} - > - ) - : 'Free!' - } -
+
+
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"
- }
- }
-]
+ ]
+}
+
+
- ))}
+
+
+ For companies
-
-
+ {products && products.company.map(product => (
+ - {product.description} - {product.isLimited && (<> Limited places available!>)} -
-+ {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!>)} +
+