feat(webDev): add inquiry modal for pricing plans

This commit introduces a 'Contact Sales' modal on the web development page, allowing users to inquire about specific service plans.

- The pricing plan buttons now trigger this modal, pre-filled with the selected plan's details.
- Users can add custom remarks to their inquiry.
- On submission, a pre-formatted message is generated and opened in WhatsApp using a new `useWhatsAppMsgSender` composable.
- Adds `NUXT_PUBLIC_WHATSAPP_NUMBER` to the runtime configuration.
- Refactors content validation by introducing Zod schemas for `PricingPlan` and `Button` props to improve type safety.
- Adds new i18n keys for the modal interface and message templates.
This commit is contained in:
xiaomai
2025-11-07 11:04:14 +08:00
parent 40b3ee147f
commit ccfd268682
14 changed files with 393 additions and 40 deletions

View File

@@ -4,5 +4,15 @@
"featuredProjects": {
"viewDemo": "Visit Site"
}
},
"webDev": {
"know_more_description": "I need to know more about the pricing and service about {plan} plan.",
"know_more_title": "Know more {plan} plan",
"contact_intro": "Hi — I'd like to learn more about {service} {plan} plan.",
"which_provides": "Which provides:",
"extra_remarks_title": "Besides that, I'd like to add:",
"remarks_placeholder": "Enter your remarks or requirements, one per line",
"loading_plan": "Loading plan...",
"whatsapp_message": "Hello! Im interested in the **{plan}** plan under your **{service}** service.\n\nHere are the plan details:\n💰 Price: {price}\n✨ Key Features:\n{featureList}\nAdditionally, I would like to request:\n{remarkList}\nPlease provide more detailed information. Thank you!"
}
}