diff --git a/src/components/contact-form.svelte b/src/components/contact-form.svelte index 254d9d1d..e751914a 100644 --- a/src/components/contact-form.svelte +++ b/src/components/contact-form.svelte @@ -9,6 +9,7 @@ import { browser } from '$app/environment'; import { applyAction, enhance } from '$app/forms'; import { page } from '$app/stores'; + import { drawerLinks } from '$lib/actions/drawer-links'; import { t } from '$lib/i18n'; import { TrackingEvent, track } from '$lib/track'; import { @@ -74,7 +75,39 @@ input: string; }>(); - const budgetOptions = ['10k - 25k', '25k - 50k', '50k - 100k', '100k+']; + const budgetOptions = [ + { + budget: '15.000€ to 50.000€', + description: + 'For small or pilot projects, like marketing sites, PoCs, or branding, like Kota. Ranging from 1 to 3 months.' + }, + { + budget: '50.000€ to 100.000€', + description: + 'For mid-size projects, like corporate websites or MVPs, like PN2000. Ranging from 3 to 6 months.' + }, + { + budget: '100.000€ to 200.000€', + description: + 'For projects like tailor-made e-commerces and mid-sized products, like Dia. Ranging from 6 to 9 months.' + }, + { + budget: '200.000€ to 300.000€', + description: + 'For full-fledged, single-platform products of a higher complexity, like Bion. Ranging from 6 to 12 months.' + }, + { + budget: '300.000€ to 400.000€', + description: + 'For full-fledged, multi-platform, larger products like allO. Around a 1 year project.' + }, + { + budget: '400.000€ and above', + description: + 'For full-fledged, multi-platform, largely-complex products, like Oopsie. Around a 1 year project.' + } + ]; + const careers = [ DEFAULT_POSITION, ...($page.data.careers || []).map((j: ISbStoryData) => j.name) @@ -217,20 +250,39 @@ on:input={() => dispatch('input', 'message')} /> {#if type === 'quote'} - dispatch('focus', 'budget')} - on:blur={() => dispatch('blur', 'budget')} - on:change={() => dispatch('input', 'budget')} - > - - {#each budgetOptions as option} - - {/each} - +
+

{t('contact.range')}

+
+ {#each budgetOptions as option} + + {/each} +
+
{/if} {#if type !== 'contact'} -
-
-

- {page.title} -

- {page.subtitle} +
+
+
+

+ {page.title} +

+ {page.subtitle} +
+ {#if visible || dirty} + + + {/if}
-
+
(error = true)} on:input={onInput} /> - {#if visible || dirty} - - - {/if}
diff --git a/src/lib/i18n/data.json b/src/lib/i18n/data.json index 43f2c886..68221a4e 100644 --- a/src/lib/i18n/data.json +++ b/src/lib/i18n/data.json @@ -131,5 +131,6 @@ "proposals.clients.description": "Some clients we work with", "proposals.awards": "Awards", "proposals.awards.description": "Celebrating great work achievements.", - "proposals.projects": "Projects" + "proposals.projects": "Projects", + "contact.range": "Choose a range" } diff --git a/src/lib/i18n/types.ts b/src/lib/i18n/types.ts index 44beb7bd..71d28313 100644 --- a/src/lib/i18n/types.ts +++ b/src/lib/i18n/types.ts @@ -131,7 +131,8 @@ export const TranslationKeys = [ 'proposals.clients.description', 'proposals.awards', 'proposals.awards.description', - 'proposals.projects' + 'proposals.projects', + 'contact.range' ] as const; export type TranslationKey = (typeof TranslationKeys)[number];