fix: Mobile accordion + deduplicate shipping methods
Fixes: ✅ Issue #2: Mobile drawer now uses accordion (no nested modals) ✅ Issue #3: Duplicate "Local pickup" - now shows as: - Local pickup - Local pickup (local_pickup_plus) Changes: - Mobile drawer matches desktop accordion pattern - Smaller text/spacing for mobile - Deduplication logic in backend API - Adds method ID suffix for duplicate titles Result: ✅ No modal-over-modal on any device ✅ Consistent UX desktop/mobile ✅ Clear distinction between similar methods
This commit is contained in:
@@ -398,10 +398,21 @@ class ShippingController extends WP_REST_Controller {
|
||||
$methods = $shipping->get_shipping_methods();
|
||||
|
||||
$available = array();
|
||||
$seen_titles = array();
|
||||
|
||||
foreach ( $methods as $method ) {
|
||||
$title = $method->get_method_title();
|
||||
$id = $method->id;
|
||||
|
||||
// Deduplicate by adding ID suffix if title already exists
|
||||
if ( isset( $seen_titles[ $title ] ) ) {
|
||||
$title .= ' (' . $id . ')';
|
||||
}
|
||||
$seen_titles[ $title ] = true;
|
||||
|
||||
$available[] = array(
|
||||
'id' => $method->id,
|
||||
'title' => $method->get_method_title(),
|
||||
'id' => $id,
|
||||
'title' => $title,
|
||||
'description' => $method->get_method_description(),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user