Jobangebote: Gemerkte nicht mehr unter Offen anzeigen
Favorisierte Angebote erscheinen ausschließlich im Gemerkt-Tab und werden aus der Offen-Liste, dem Offen-Zähler (Header-Badge) und dem Tab-Zähler ausgeblendet. Auf der Offen-Seite wird die Zeile beim Merken live entfernt. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -40,9 +40,10 @@
|
||||
.then(function (r) {
|
||||
if (r.ok && r.json && r.json.success) {
|
||||
setzeBtn(btn, !!r.json.favorit);
|
||||
// Auf der Startseite: beim Entfernen die Zeile ausblenden
|
||||
// und die ganze Sektion einräumen, wenn sie leer wird.
|
||||
if (!r.json.favorit) entferneFavoritZeile(btn);
|
||||
// Zeile ausblenden, sobald sie nicht mehr in die aktuelle
|
||||
// Ansicht gehört: auf der Offen-Seite beim Merken (favorit=1),
|
||||
// auf der Gemerkt-Seite / Startseite beim Entfernen (favorit=0).
|
||||
entferneFavoritZeile(btn, !!r.json.favorit);
|
||||
} else {
|
||||
setzeBtn(btn, aktiv); // Server hat abgelehnt -> zurückrollen
|
||||
if (r.json && r.json.error) console.warn('Favorit:', r.json.error);
|
||||
@@ -62,11 +63,20 @@
|
||||
if (lbl) lbl.textContent = aktiv ? 'Gemerkt' : 'Merken';
|
||||
}
|
||||
|
||||
function entferneFavoritZeile(btn) {
|
||||
function entferneFavoritZeile(btn, istFavorit) {
|
||||
var item = btn.closest('[data-fav-item]');
|
||||
if (!item) return; // nicht auf der Startseite -> nur optisch umschalten
|
||||
if (!item) return; // keine ausblendbare Zeile -> nur optisch umschalten
|
||||
var card = btn.closest('[data-fav-card]') || document.getElementById('favoritenCard');
|
||||
// Offen-Seite: Zeile verschwindet beim Merken (favorit=1).
|
||||
// Gemerkt-Seite / Startseite: Zeile verschwindet beim Entfernen (favorit=0).
|
||||
var view = card && card.getAttribute('data-fav-view');
|
||||
var entfernenBeiFavorit = (view === 'offen');
|
||||
if (istFavorit !== entfernenBeiFavorit) return;
|
||||
item.remove();
|
||||
// Auf der Offen-Seite bleibt die Sektion samt Überschrift stehen —
|
||||
// dort wird nur die einzelne Zeile entfernt. Auf der Gemerkt-Seite
|
||||
// und Startseite räumen wir die leere Sektion ganz ein.
|
||||
if (view === 'offen') return;
|
||||
if (card && !card.querySelectorAll('[data-fav-item]').length) {
|
||||
card.style.transition = 'opacity 0.2s ease';
|
||||
card.style.opacity = '0';
|
||||
|
||||
Reference in New Issue
Block a user