diff --git a/components/PhoneInputWrapper.vue b/components/PhoneInputWrapper.vue
index ff4becc..9c2b1d2 100644
--- a/components/PhoneInputWrapper.vue
+++ b/components/PhoneInputWrapper.vue
@@ -34,6 +34,8 @@
'country-selector--open': dropdownOpen,
'country-selector--mobile': isMobile
}"
+ @click="toggleDropdown"
+ @touchstart="handleTouchStart"
>
{
};
const handleTouchStart = (event: TouchEvent) => {
- // Prevent default to avoid unwanted behaviors on mobile
- if (isMobile.value) {
- event.preventDefault();
+ // Allow natural touch behavior, just ensure dropdown works
+ if (!dropdownOpen.value && !props.disabled) {
+ dropdownOpen.value = true;
+ searchQuery.value = '';
}
};
@@ -324,10 +327,8 @@ const handleOverlayTouch = (event: TouchEvent) => {
};
const handleCountryTouch = (event: TouchEvent) => {
- // Prevent default touch behaviors for better mobile experience
- if (isMobile.value) {
- event.preventDefault();
- }
+ // Allow touch to work naturally for country selection
+ // Don't prevent default as it interferes with click events
};
// Initialize from modelValue
diff --git a/pages/signup.vue b/pages/signup.vue
index 6105861..761d748 100644
--- a/pages/signup.vue
+++ b/pages/signup.vue
@@ -36,7 +36,7 @@
variant="outlined"
:disabled="loading"
required
- @input="updateField('first_name', $event.target.value)"
+ @update:model-value="updateField('first_name', $event)"
/>
@@ -49,7 +49,7 @@
variant="outlined"
:disabled="loading"
required
- @input="updateField('last_name', $event.target.value)"
+ @update:model-value="updateField('last_name', $event)"
/>
@@ -65,7 +65,7 @@
variant="outlined"
:disabled="loading"
required
- @input="updateField('email', $event.target.value)"
+ @update:model-value="updateField('email', $event)"
/>
{
display: flex;
align-items: center;
justify-content: center;
+ /* Prevent overscroll bounce on mobile Safari */
+ overscroll-behavior: none;
+ -webkit-overflow-scrolling: touch;
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ overflow-y: auto;
+}
+
+/* Fix for mobile Safari overscroll */
+html, body {
+ overscroll-behavior: none;
+ -webkit-overflow-scrolling: touch;
+ height: 100%;
+ overflow: hidden;
+}
+
+/* Safari-specific fixes */
+@supports (-webkit-touch-callout: none) {
+ .signup-container {
+ background-attachment: scroll;
+ position: fixed;
+ overflow-y: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+
+ /* Ensure background extends beyond viewport */
+ .signup-container::before {
+ content: '';
+ position: absolute;
+ top: -100px;
+ left: 0;
+ right: 0;
+ bottom: -100px;
+ background: linear-gradient(rgba(163, 21, 21, 0.7), rgba(0, 0, 0, 0.5)),
+ url('/monaco_high_res.jpg');
+ background-size: cover;
+ background-position: center;
+ z-index: -1;
+ }
}
.signup-card {