diff --git a/config/skyview.sql b/config/skyview.sql index 0944c24..8c8bdae 100644 --- a/config/skyview.sql +++ b/config/skyview.sql @@ -82,6 +82,23 @@ CREATE TABLE IF NOT EXISTS `app_user_locations` ( -- Daten-Export vom Benutzer nicht ausgewählt +-- Exportiere Struktur von Tabelle d0467f49.app_user_comets +CREATE TABLE IF NOT EXISTS `app_user_comets` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `user_id` bigint(20) unsigned NOT NULL, + `comet_id` bigint(20) unsigned NOT NULL, + `is_favorite` tinyint(1) NOT NULL DEFAULT 0, + `created_at` datetime NOT NULL DEFAULT current_timestamp(), + PRIMARY KEY (`id`), + UNIQUE KEY `uq_app_user_comets_user_comet` (`user_id`,`comet_id`), + KEY `idx_app_user_comets_user_id` (`user_id`), + KEY `idx_app_user_comets_comet_id` (`comet_id`), + CONSTRAINT `fk_app_user_comets_comet_id` FOREIGN KEY (`comet_id`) REFERENCES `comets_mpc` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fk_app_user_comets_user_id` FOREIGN KEY (`user_id`) REFERENCES `app_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- Daten-Export vom Benutzer nicht ausgewählt + -- Exportiere Struktur von Tabelle d0467f49.app_user_minorplanets CREATE TABLE IF NOT EXISTS `app_user_minorplanets` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, diff --git a/public/css/style.css b/public/css/style.css index faa3dfc..864fc8f 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -927,6 +927,17 @@ footer a:hover { color: var(--gold); } border-color: var(--cyan); } +.btn-secondary.favorite-active { + border-color: var(--gold-dim); + color: var(--gold); +} + +.btn-secondary.favorite-active:hover { + background: rgba(201, 168, 76, 0.12); + border-color: var(--gold); + color: var(--gold-pale); +} + .btn-danger { border-color: rgba(200, 60, 60, 0.35); color: #f08080; @@ -1368,6 +1379,11 @@ footer a:hover { color: var(--gold); } margin: 0; } +.favorite-text { + color: var(--gold); + font-weight: 600; +} + @media (max-width: 720px) { .favorites-search-summary { flex-direction: column; diff --git a/public/my_favorites.php b/public/my_favorites.php index 33b3c53..e66f49a 100644 --- a/public/my_favorites.php +++ b/public/my_favorites.php @@ -34,8 +34,10 @@ $errors = []; $successMessage = ''; $satelliteSearchResults = []; $minorplanetSearchResults = []; +$cometSearchResults = []; $satelliteSearchQuery = trim($_GET['sat_q'] ?? ''); $minorplanetSearchQuery = trim($_GET['mp_q'] ?? ''); +$cometSearchQuery = trim($_GET['com_q'] ?? ''); $pageTitle = 'Favoriten - AstroTools'; $headerIntroPre = 'Merkliste'; $headerIntroTitle = 'Favoriten'; @@ -98,12 +100,12 @@ function renderLocationsSection(array $locations, bool $oob = false): string
Noch keine Suche gestartet.
+Suche nach MPC-Bezeichnung oder Kometenname, um passende Kometen direkt hier einzublenden.
++ = count($cometSearchResults) ?> Treffer fuer = h($cometSearchQuery) ?> +
+Keine passenden Kometen gefunden.
+Probiere eine Bezeichnung wie 67P oder einen Namen wie Halley.
+| Bezeichnung | ++ |
|---|---|
| = h($comet['designation_and_name']) ?> | +
+
+ |
+
Du hast noch keine Kometen ausgewaehlt.
+ +| Bezeichnung | +Typ | +Favorit | ++ |
|---|---|---|---|
| = h($comet['designation_and_name']) ?> | += h((string) $comet['orbit_type']) ?> | += (int) $comet['is_favorite'] === 1 ? '*' : '-' ?> | +
+ |
+
Die Treffer werden direkt in der Karte aktualisiert, ohne die ganze Seite neu zu laden.
Kometen werden gesucht. Das kann etwas dauern...
+