From f9b02c51b67e2c7d0628db2f3b81f61cb1049978 Mon Sep 17 00:00:00 2001 From: Peter Goodhall Date: Sat, 9 Aug 2025 22:38:11 +0100 Subject: [PATCH] Redesign station management page UI Revamped the station profile management page with improved Bootstrap-based layout, enhanced alert and card components, and a more user-friendly table for station locations. Added new CSS styles for the station management page, including custom card, badge, button, and DataTable styling for a modern, consistent look. --- application/views/station_profile/index.php | 301 ++++++++++++++------ assets/css/general.css | 66 +++++ 2 files changed, 281 insertions(+), 86 deletions(-) diff --git a/application/views/station_profile/index.php b/application/views/station_profile/index.php index 83899cb7..fc327753 100644 --- a/application/views/station_profile/index.php +++ b/application/views/station_profile/index.php @@ -1,99 +1,228 @@ -
+

session->flashdata('message')) { ?> -
-

session->flashdata('message'); ?>

+ -
-

- + +
+
+
+
+

+

Manage your station locations and profiles

+
+ + + +
+
-
-
-

-

-

- - num_rows() > 0) { ?> - - - - - - = 1) && ($is_admin)) { ?> - - - -
- - - - - - - - - - - - - - - - result() as $row) { ?> - - - - - - - - - - - - - - -
- station_profile_name;?>
-
station_callsign;?>station_country == '' ? '- NONE -' : $row->station_country; if ($row->dxcc_end != NULL) { echo ' '.lang('gen_hamradio_deleted_dxcc').''; } ?>station_gridsquare;?> - station_active != 1) { ?> - station_id; ?>" class="btn btn-outline-secondary btn-sm" onclick="return confirm(' station_profile_name; ?>');"> - - - - -
- ID: station_id;?> - qso_total;?> -
- user_id == "") { ?> - station_id; ?>" class="btn btn-outline-primary btn-sm"> - - station_id; ?>" title="" class="btn btn-outline-primary btn-sm"> - - station_id; ?>" title="" class="btn btn-outline-primary btn-sm"> - station_id; ?>" class="btn btn-danger btn-sm" title="" onclick="return confirm('');"> - - station_active != 1) { ?> - station_id; ?>" class="btn btn-danger btn-sm" title="" onclick="return confirm(' station_profile_name; ?> ');"> - -
-
- -
+ +
+
+
+
+
About Station Locations
+
+
+
+
+
+ +
+
Location Management
+

+
+
+
+
+
+ +
+
Multiple Profiles
+

+
+
+
+
+
+ +
+
Active Profile
+

+
+
+
+
+
+
+
+ += 1) && ($is_admin))) { ?> +
+
+ + + + + = 1) && ($is_admin)) { ?> + + +
+
+ + + +num_rows() > 0) { ?> +
+
+
+
+
+
Station Locations (num_rows(); ?>)
+ Click on a station name to set it as active +
+
+
+
+ + + + + + + + + + + + + result() as $row) { ?> + station_active == 1) { echo 'class="table-success"'; } ?>> + + + + + + + + + +
StatusActions
+
+
+ station_profile_name;?> + station_active == 1) { ?> + + + + +
+ + ID: station_id;?> • + qso_total;?> + +
+
+
+ station_callsign;?> + + station_country == '' ? '- NONE -' : $row->station_country; ?> + dxcc_end != NULL) { echo '
'.lang('gen_hamradio_deleted_dxcc').''; } ?> +
+ station_gridsquare == '' ? '-' : $row->station_gridsquare;?> + + station_active != 1) { ?> + station_id; ?>" + class="btn btn-outline-success btn-sm" + onclick="return confirm(' station_profile_name; ?>');", + title=""> + + + + + + + + + +
+
+
+
+
+
+ + +
+
+
+
+ +
No Station Locations
+

You haven't created any station locations yet. Create your first station location to get started.

+ + + +
+
+
+
+
diff --git a/assets/css/general.css b/assets/css/general.css index a17830b4..8f15342e 100644 --- a/assets/css/general.css +++ b/assets/css/general.css @@ -159,6 +159,72 @@ thead>tr>td { box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); } +/* Station Management Page Styling */ +.station-management { + padding-top: 15px; +} + +.station-management .table-success { + background-color: rgba(25, 135, 84, 0.1); +} + +.station-management .card { + border: none; + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); +} + +.station-management .card-header { + background-color: #f8f9fa; + border-bottom: 1px solid #dee2e6; + padding: 1rem 1.25rem; +} + +.station-management .badge { + font-size: 0.7rem; + padding: 0.25rem 0.5rem; +} + +.station-management .btn-sm { + padding: 0.375rem 0.75rem; + font-size: 0.875rem; + border-radius: 0.375rem; +} + +/* DataTable styling within cards */ +.station-management .dataTables_wrapper { + padding: 0; +} + +.station-management .dataTables_length, +.station-management .dataTables_filter { + margin-bottom: 1rem; +} + +.station-management .dataTables_info, +.station-management .dataTables_paginate { + margin-top: 1rem; +} + +.station-management .dataTables_length label, +.station-management .dataTables_filter label { + font-weight: 500; + margin-bottom: 0; +} + +.station-management .dataTables_filter input { + margin-left: 0.5rem; + border-radius: 0.375rem; + border: 1px solid #ced4da; + padding: 0.375rem 0.75rem; +} + +.station-management .dataTables_length select { + margin: 0 0.5rem; + border-radius: 0.375rem; + border: 1px solid #ced4da; + padding: 0.375rem 0.75rem; +} + .api .alert p { margin-bottom: 0rem; }