diff --git a/components/CreateInterestModal.vue b/components/CreateInterestModal.vue
index a6df5c6..35d5abf 100644
--- a/components/CreateInterestModal.vue
+++ b/components/CreateInterestModal.vue
@@ -76,13 +76,15 @@
>
-
+ country="US"
+ :preferred-countries="['US', 'FR', 'ES', 'PT', 'GB']"
+ :enable-searching-country="true"
+ />
-
+ country="US"
+ :preferred-countries="['US', 'FR', 'ES', 'PT', 'GB']"
+ :enable-searching-country="true"
+ />
=18"
+ }
+ },
"node_modules/b4a": {
"version": "1.6.7",
"resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz",
@@ -5200,6 +5215,12 @@
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
"license": "MIT"
},
+ "node_modules/countries-list": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/countries-list/-/countries-list-3.1.1.tgz",
+ "integrity": "sha512-nPklKJ5qtmY5MdBKw1NiBAoyx5Sa7p2yPpljZyQ7gyCN1m+eMFs9I6CT37Mxt8zvR5L3VzD3DJBE4WQzX3WF4A==",
+ "license": "MIT"
+ },
"node_modules/crc-32": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
@@ -6325,6 +6346,13 @@
"node": ">=8"
}
},
+ "node_modules/flag-icons": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/flag-icons/-/flag-icons-7.5.0.tgz",
+ "integrity": "sha512-kd+MNXviFIg5hijH766tt+3x76ele1AXlo4zDdCxIvqWZhKt4T83bOtxUOOMlTx/EcFdUMH5yvQgYlFh1EqqFg==",
+ "license": "MIT",
+ "optional": true
+ },
"node_modules/flatted": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz",
@@ -12801,6 +12829,27 @@
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
"license": "MIT"
},
+ "node_modules/v-phone-input": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/v-phone-input/-/v-phone-input-4.4.2.tgz",
+ "integrity": "sha512-OJXRv2kl0DEMYToTDvFGo0nTNC4ZkIycgrltxoc8o/0E7mLAVf0nuszOaX+NZHRRq5SmlwQ8D9bhUWBKRBMmJg==",
+ "license": "MIT",
+ "dependencies": {
+ "awesome-phonenumber": "^6.4.0",
+ "countries-list": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "flag-icons": "^7.1.0",
+ "world-flags-sprite": "^0.0.2"
+ },
+ "peerDependencies": {
+ "vue": "^3.0.0",
+ "vuetify": "^3.0.0"
+ }
+ },
"node_modules/vite": {
"version": "6.0.11",
"resolved": "https://registry.npmjs.org/vite/-/vite-6.0.11.tgz",
@@ -13834,6 +13883,13 @@
"workbox-core": "7.3.0"
}
},
+ "node_modules/world-flags-sprite": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/world-flags-sprite/-/world-flags-sprite-0.0.2.tgz",
+ "integrity": "sha512-v4Qjd8+5hBNVyn9AKFcVTaKZWaz0fZliHZ7FK0ugPMbAv+oI5BZrT72rBxmGiD6D86yshA08FTo/CcAaZW7buw==",
+ "license": "ISC",
+ "optional": true
+ },
"node_modules/wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
diff --git a/package.json b/package.json
index e8da38c..b2d9b52 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
"@vite-pwa/nuxt": "^0.10.6",
"nuxt": "^3.15.4",
"nuxt-directus": "^5.7.0",
+ "v-phone-input": "^4.4.2",
"vue": "latest",
"vue-router": "latest",
"vuetify-nuxt-module": "^0.18.3"
diff --git a/plugins/v-phone-input.client.ts b/plugins/v-phone-input.client.ts
new file mode 100644
index 0000000..98e2e3b
--- /dev/null
+++ b/plugins/v-phone-input.client.ts
@@ -0,0 +1,13 @@
+import { defineNuxtPlugin } from '#app'
+import { createVPhoneInput } from 'v-phone-input'
+import 'v-phone-input/dist/v-phone-input.css'
+
+export default defineNuxtPlugin((nuxtApp) => {
+ const vPhoneInput = createVPhoneInput({
+ defaultCountry: 'US',
+ preferredCountries: ['US', 'FR', 'ES', 'PT', 'GB'],
+ enableSearchingCountry: true,
+ })
+
+ nuxtApp.vueApp.use(vPhoneInput)
+})