diff --git a/app/Http/Controllers/Auth/AddressController.php b/app/Http/Controllers/Auth/AddressController.php index 89d37ca..c6dc8d1 100644 --- a/app/Http/Controllers/Auth/AddressController.php +++ b/app/Http/Controllers/Auth/AddressController.php @@ -13,7 +13,32 @@ class AddressController extends Controller { public function index(Request $request) { - $addresses = auth()->user()->addresses; + $addresses = auth()->user()->addresses()->orderBy('is_primary', 'desc')->get(); + + // If AJAX request, return JSON + if ($request->ajax() || $request->wantsJson()) { + $addressesData = $addresses->map(function ($address) { + return [ + 'id' => $address->id, + 'label' => $address->label, + 'location' => $address->location, + 'address' => $address->address, + 'is_primary' => $address->is_primary, + 'province_id' => $address->province_id, + 'city_id' => $address->city_id, + 'district_id' => $address->district_id, + 'subdistrict_id' => $address->subdistrict_id, + 'postal_code' => $address->postal_code, + ]; + }); + + return response()->json([ + 'success' => true, + 'addresses' => $addressesData + ]); + } + + // For regular page load, return view return view('account.addresses', compact('addresses')); } diff --git a/lang/en/addresses.php b/lang/en/addresses.php index b1ddc1d..55e2c6e 100644 --- a/lang/en/addresses.php +++ b/lang/en/addresses.php @@ -37,6 +37,8 @@ return [ 'cannot_delete_only_address' => 'Cannot delete the only address', 'delete' => 'Delete', 'cancel' => 'Cancel', + 'loading' => 'Loading...', + 'notification' => 'Notification', 'confirm_delete_address' => 'Are you sure you want to delete this address?', 'this_action_cannot_be_undone' => 'This action cannot be undone.', 'regions' => [ diff --git a/lang/id/addresses.php b/lang/id/addresses.php index b9a2207..b8ff307 100644 --- a/lang/id/addresses.php +++ b/lang/id/addresses.php @@ -37,8 +37,10 @@ return [ 'cannot_delete_only_address' => 'Tidak dapat menghapus satu-satunya alamat', 'delete' => 'Hapus', 'cancel' => 'Batal', + 'loading' => 'Memuat...', 'confirm_delete_address' => 'Apakah Anda yakin ingin menghapus alamat ini?', 'this_action_cannot_be_undone' => 'Tindakan ini tidak dapat dibatalkan.', + 'notification' => 'Notifikasi', 'regions' => [ 'africa' => 'Afrika', 'asia' => 'Asia', diff --git a/resources/views/account/addresses.blade.php b/resources/views/account/addresses.blade.php index 6fcf8ad..56831ff 100644 --- a/resources/views/account/addresses.blade.php +++ b/resources/views/account/addresses.blade.php @@ -1,6 +1,53 @@ @extends('layouts.account', ['title' => __('addresses.page_title')]) @section('content') +
@@ -8,137 +55,31 @@

{{ __('addresses.page_title') }}

- @foreach ($addresses as $address) -
- + + +