smallengine/content.json
Michael Mainguy 3b6c296385 Initial commit: lead capture app for small engine repair shops
Vue 3 + TypeScript + Vite + Tailwind CSS v4 multi-step lead capture form
with config-driven white-labeling, externalized content (content.json),
and "starting at" pricing estimates. Mobile-first with camera photo upload.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 11:14:57 -05:00

109 lines
3.5 KiB
JSON

{
"app": {
"titleSuffix": "Service Request"
},
"steps": {
"equipment": "Equipment",
"photos": "Photos",
"schedule": "Schedule",
"contact": "Contact",
"review": "Review"
},
"navigation": {
"back": "Back",
"continue": "Continue",
"submit": "Submit Request"
},
"equipment": {
"title": "Equipment Details",
"subtitle": "Tell us about the equipment that needs service.",
"equipmentTypeLabel": "Equipment Type",
"equipmentTypePlaceholder": "Select equipment type...",
"makeLabel": "Make / Brand",
"makePlaceholder": "e.g., Honda, Toro, Husqvarna",
"modelLabel": "Model",
"modelPlaceholder": "e.g., HRX217, Recycler 22",
"serviceLabel": "Service Needed",
"servicePlaceholder": "Select a service...",
"problemLabel": "Describe the Problem",
"problemOptional": "(optional)",
"problemPlaceholder": "What's going on with your equipment? Any symptoms, noises, or issues?"
},
"photos": {
"title": "Photos",
"subtitle": "Add photos of your equipment to help us assess the job.",
"optional": "(optional)",
"uploadPrompt": "Tap to take a photo or upload",
"uploadHint": "JPG, PNG up to 10MB each",
"photoAlt": "Photo"
},
"schedule": {
"title": "Schedule Preference",
"subtitle": "When would you like to bring in or have your equipment picked up?",
"pickupLabel": "Pickup or Drop-off?",
"optionDropoff": "I'll drop it off",
"optionPickup": "Please pick it up",
"optionEither": "Either works",
"earliestDateLabel": "Earliest Date",
"latestDateLabel": "Latest Date",
"notesLabel": "Schedule Notes",
"notesOptional": "(optional)",
"notesPlaceholder": "e.g., Mornings work best, gate code is 1234, etc."
},
"contact": {
"title": "Contact Information",
"subtitle": "How can we reach you about your service request?",
"firstNameLabel": "First Name",
"firstNamePlaceholder": "John",
"lastNameLabel": "Last Name",
"lastNamePlaceholder": "Smith",
"phoneLabel": "Phone",
"phonePlaceholder": "(555) 123-4567",
"emailLabel": "Email",
"emailPlaceholder": "john@example.com",
"addressLabel": "Street Address",
"addressPlaceholder": "123 Main St",
"cityLabel": "City",
"cityPlaceholder": "Anytown",
"stateLabel": "State",
"statePlaceholder": "OH",
"zipLabel": "ZIP",
"zipPlaceholder": "12345"
},
"pricing": {
"startingAt": "Starting at",
"quoteUponInspection": "Quote upon inspection"
},
"review": {
"title": "Review Your Request",
"subtitle": "Please confirm the details below are correct.",
"equipmentSection": "Equipment",
"typeLabel": "Type",
"makeLabel": "Make",
"modelLabel": "Model",
"serviceLabel": "Service",
"estimatedPriceLabel": "Estimated Price",
"photosSection": "Photos",
"scheduleSection": "Schedule",
"preferenceLabel": "Preference",
"dateRangeLabel": "Date Range",
"contactSection": "Contact",
"nameLabel": "Name",
"phoneLabel": "Phone",
"emailLabel": "Email",
"addressLabel": "Address",
"pickupLabels": {
"pickup": "Pickup requested",
"dropoff": "Drop-off",
"either": "Pickup or drop-off"
},
"emptyValue": "—"
},
"success": {
"title": "Request Submitted!",
"message": "Thank you! We've received your service request and will be in touch soon to confirm your appointment.",
"callPrompt": "Questions? Call us at",
"submitAnother": "Submit Another Request"
}
}