X-Problem gelöst

Dieser Commit ist enthalten in:
Claude Project Manager
2025-09-14 02:47:52 +02:00
Ursprung ba0ba3fcec
Commit f0320a9298
14 geänderte Dateien mit 674 neuen und 116 gelöschten Zeilen

Datei anzeigen

@ -11,6 +11,7 @@ from PyQt5.QtCore import Qt, pyqtSignal
from PyQt5.QtGui import QFont
from views.widgets.account_card import AccountCard
from application.services.platform_service import PlatformService
logger = logging.getLogger("accounts_overview")
@ -19,9 +20,11 @@ class SidebarFilter(QWidget):
"""Sidebar mit Plattform-Filter nach Styleguide"""
filter_changed = pyqtSignal(str)
def __init__(self, language_manager=None):
def __init__(self, language_manager=None, db_manager=None):
super().__init__()
self.language_manager = language_manager
self.db_manager = db_manager
self.platform_service = PlatformService(db_manager)
self.filter_buttons = []
self.account_counts = {}
self.init_ui()
@ -41,18 +44,15 @@ class SidebarFilter(QWidget):
# Title removed - no longer needed
# Filter Buttons
self.filters = [
("Alle", "all"),
("Instagram", "instagram"),
("TikTok", "tiktok"),
("Facebook", "facebook"),
("X (Twitter)", "x"),
("VK", "vk"),
("OK.ru", "ok"),
("Gmail", "gmail")
]
# Build filter list dynamically
self.filters = [("Alle", "all")]
# Get platforms that should be shown in filters
filter_platforms = self.platform_service.get_filter_platforms()
for platform in filter_platforms:
self.filters.append((platform.display_name, platform.id))
# Create filter buttons
for name, key in self.filters:
btn = self._create_filter_button(name, key)
self.filter_buttons.append((btn, key))
@ -136,7 +136,7 @@ class AccountsOverviewView(QWidget):
main_layout.setSpacing(0)
# Sidebar
self.sidebar = SidebarFilter(self.language_manager)
self.sidebar = SidebarFilter(self.language_manager, self.db_manager)
self.sidebar.filter_changed.connect(self._on_filter_changed)
main_layout.addWidget(self.sidebar)
@ -212,9 +212,13 @@ class AccountsOverviewView(QWidget):
if self.current_filter == "all":
filtered_accounts = self.accounts
else:
# Use PlatformName for consistent filtering
from domain.value_objects.platform_name import PlatformName
filter_platform = PlatformName(self.current_filter)
filtered_accounts = [
acc for acc in self.accounts
if acc.get("platform", "").lower() == self.current_filter
if PlatformName.is_valid(acc.get("platform", "")) and
PlatformName(acc.get("platform", "")) == filter_platform
]
# Gruppiere nach Plattform wenn "Alle" ausgewählt
@ -317,13 +321,19 @@ class AccountsOverviewView(QWidget):
"""Behandelt Filter-Änderungen"""
self.current_filter = filter_key
# Update title
# Update title using PlatformName for consistency
if filter_key == "all":
self.title.setText("Alle Accounts")
else:
platform_name = filter_key.capitalize()
if filter_key == "x":
platform_name = "X (Twitter)"
try:
from domain.value_objects.platform_name import PlatformName
platform_obj = PlatformName(filter_key)
platform_name = platform_obj.display
except:
# Fallback
platform_name = filter_key.capitalize()
if filter_key == "x":
platform_name = "X"
self.title.setText(f"{platform_name} Accounts")
self._update_display()