From 8a2a804c5863d5cc6f844bfc21b30d211c436e40 Mon Sep 17 00:00:00 2001 From: Ruslan Bakiev <572431+veikab@users.noreply.github.com> Date: Thu, 29 Jan 2026 21:00:18 +0700 Subject: [PATCH] Add AddressDetailBottomSheet with same UX as orders - Panel slides left when address is selected - Bottom sheet slides up with address details - Shows location, map preview, edit/delete actions --- .../catalog/AddressDetailBottomSheet.vue | 178 ++++++++++++++++++ app/pages/clientarea/addresses/index.vue | 148 ++++++++------- i18n/locales/en/profileAddresses.json | 5 + i18n/locales/ru/profileAddresses.json | 5 + 4 files changed, 266 insertions(+), 70 deletions(-) create mode 100644 app/components/catalog/AddressDetailBottomSheet.vue diff --git a/app/components/catalog/AddressDetailBottomSheet.vue b/app/components/catalog/AddressDetailBottomSheet.vue new file mode 100644 index 0000000..71f296f --- /dev/null +++ b/app/components/catalog/AddressDetailBottomSheet.vue @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + {{ isoToEmoji(address.countryCode) }} + + + {{ address.name }} + {{ address.address }} + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ t('profileAddresses.detail.location') }} + + + + + {{ address.address }} + + + + {{ address.latitude.toFixed(6) }}, {{ address.longitude.toFixed(6) }} + + + + + + + + + {{ t('profileAddresses.detail.map') }} + + + + + + + + + + + + + + + + {{ t('profileAddresses.actions.edit') }} + + + + + + + + + + + + + + + + + + + + + diff --git a/app/pages/clientarea/addresses/index.vue b/app/pages/clientarea/addresses/index.vue index 3f0891c..1273f38 100644 --- a/app/pages/clientarea/addresses/index.vue +++ b/app/pages/clientarea/addresses/index.vue @@ -1,55 +1,54 @@ - - - - - - {{ t('cabinetNav.addresses') }} + + + + + + + {{ t('cabinetNav.addresses') }} + + + + + + + + + + + + + {{ t('profileAddresses.actions.add') }} + + - - - - - - - - - - - {{ t('profileAddresses.actions.add') }} - - - - - - - - + + + @@ -61,29 +60,37 @@ - - - - - 📍 - {{ t('profileAddresses.empty.title') }} - {{ t('profileAddresses.empty.description') }} - - - - {{ t('profileAddresses.empty.cta') }} - - - - - + + + + 📍 + {{ t('profileAddresses.empty.title') }} + {{ t('profileAddresses.empty.description') }} + + + + {{ t('profileAddresses.empty.cta') }} + + + + + - - - {{ displayItems.length }} {{ t('catalog.of') }} {{ items.length }} - - - + + + {{ displayItems.length }} {{ t('catalog.of') }} {{ items.length }} + + + + + + +