diff --git a/.claude/settings.local.json b/.claude/settings.local.json
index 5931fef..3262f6d 100644
--- a/.claude/settings.local.json
+++ b/.claude/settings.local.json
@@ -5,8 +5,14 @@
"Bash(nslookup:*)",
"WebFetch(domain:multilogin.com)",
"WebFetch(domain:dicloak.com)",
- "WebFetch(domain:support.google.com)"
+ "WebFetch(domain:support.google.com)",
+ "Bash(python3 -m pip list:*)",
+ "Bash(python3:*)",
+ "Bash(grep:*)"
],
- "deny": []
+ "deny": [],
+ "additionalDirectories": [
+ "/mnt/a/GiTea/Styleguide"
+ ]
}
}
\ No newline at end of file
diff --git a/controllers/main_controller.py b/controllers/main_controller.py
index 9e9cbd1..0cd491f 100644
--- a/controllers/main_controller.py
+++ b/controllers/main_controller.py
@@ -127,6 +127,9 @@ class MainController:
# Signals verbinden
self.connect_signals()
+ # Remove unused theme_toggled connection
+ # The theme toggle is now handled directly in MainWindow
+
# Platform Selector Signal-Verbindungen
if hasattr(self.view.platform_selector, 'export_requested'):
self.view.platform_selector.export_requested.connect(
@@ -195,9 +198,6 @@ class MainController:
# Zurück-Button verbinden
self.view.back_to_selector_requested.connect(self.show_platform_selector)
- # Theme-Toggle verbinden
- self.view.theme_toggled.connect(self.on_theme_toggled)
-
def on_platform_selected(self, platform: str):
"""Wird aufgerufen, wenn eine Plattform ausgewählt wird."""
logger.info(f"Plattform ausgewählt: {platform}")
diff --git a/resources/icons/intelsight-dark.svg b/resources/icons/intelsight-dark.svg
new file mode 100644
index 0000000..c61d83e
--- /dev/null
+++ b/resources/icons/intelsight-dark.svg
@@ -0,0 +1,53 @@
+
+
\ No newline at end of file
diff --git a/resources/icons/intelsight-logo.svg b/resources/icons/intelsight-logo.svg
index 7e5c2dd..b729e91 100644
--- a/resources/icons/intelsight-logo.svg
+++ b/resources/icons/intelsight-logo.svg
@@ -17,7 +17,7 @@
L 25 40
L 35 30 Z"
fill="none"
- stroke="currentColor"
+ stroke="#232D53"
stroke-width="3.5"
stroke-linejoin="miter"/>
@@ -26,28 +26,28 @@
-
+
-
+
-
+
-
+
IntelSight
\ No newline at end of file
diff --git a/resources/themes/dark.qss b/resources/themes/dark.qss
index cff011d..aa701f2 100644
--- a/resources/themes/dark.qss
+++ b/resources/themes/dark.qss
@@ -1 +1,691 @@
-/* Auto-generated empty stylesheet */
+/*
+ * AccountForger Dark Mode Theme
+ * Based on IntelSight Corporate Design System
+ * Color Palette from CORPORATE_DESIGN_DARK_MODE.md
+ */
+
+/* ==================== COLOR VARIABLES (Reference) ==================== */
+/*
+ * Primary: #232D53 (Dark Blue)
+ * Accent: #00D4FF (Cyan)
+ * Accent Hover: #00B8E6 (Darker Cyan)
+ * Background: #000000 (Black)
+ * Secondary BG: #1A1F3A (Dark Blue for cards)
+ * Sidebar: #0A0A0A (Almost Black)
+ * Text Primary: #FFFFFF (White)
+ * Text Secondary: rgba(255, 255, 255, 0.7) (70% White)
+ * Text Tertiary: rgba(255, 255, 255, 0.6) (60% White)
+ * Error: #FF4444 (Red)
+ * Success: #4CAF50 (Green)
+ * Warning: #FFC107 (Yellow)
+ * Info: #2196F3 (Blue)
+ */
+
+/* ==================== MAIN WINDOW ==================== */
+QMainWindow {
+ background-color: #000000;
+ color: #FFFFFF;
+}
+
+/* ==================== WIDGETS & CONTAINERS ==================== */
+QWidget {
+ background-color: #000000;
+ color: #FFFFFF;
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
+ font-size: 14px;
+}
+
+/* Platform selector main container */
+QWidget#main_container {
+ background-color: #000000;
+ padding: 40px;
+}
+
+/* Tab content areas */
+QStackedWidget {
+ background-color: #000000;
+}
+
+/* ==================== HEADERS & LABELS ==================== */
+QLabel {
+ color: #FFFFFF;
+ background-color: transparent;
+ padding: 2px;
+}
+
+/* Title Labels */
+QLabel#platform_title {
+ font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
+ font-size: 32px;
+ font-weight: 700;
+ color: #FFFFFF;
+ padding: 16px;
+ letter-spacing: 1px;
+}
+
+/* Secondary text */
+QLabel#secondary_text {
+ color: rgba(255, 255, 255, 0.7);
+}
+
+/* ==================== PLATFORM BUTTONS (Clean styling) ==================== */
+/* Platform button container */
+PlatformButton {
+ background-color: transparent;
+}
+
+/* Platform icon buttons */
+QPushButton#platform_icon_button {
+ background-color: #1A1F3A;
+ border: 1px solid transparent;
+ border-radius: 16px;
+ padding: 32px;
+}
+
+QPushButton#platform_icon_button:hover {
+ background-color: #232D53;
+ border: 1px solid #00D4FF;
+}
+
+QPushButton#platform_icon_button:pressed {
+ background-color: #2A3560;
+ border: 1px solid #00D4FF;
+}
+
+QPushButton#platform_icon_button:disabled {
+ background-color: rgba(26, 31, 58, 0.5);
+ opacity: 0.5;
+}
+
+/* Platform name labels */
+QLabel#platform_name_label {
+ color: #FFFFFF;
+ font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
+ font-weight: 600;
+ letter-spacing: 0.5px;
+}
+
+/* ==================== PRIMARY BUTTONS ==================== */
+QPushButton {
+ background-color: #00D4FF;
+ color: #000000;
+ border: none;
+ border-radius: 24px;
+ padding: 0 32px;
+ font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
+ font-size: 15px;
+ font-weight: 600;
+ min-height: 48px;
+ text-transform: uppercase;
+ letter-spacing: 0.5px;
+}
+
+QPushButton:hover {
+ background-color: #00B8E6;
+ color: #FFFFFF;
+}
+
+QPushButton:pressed {
+ background-color: #0099CC;
+ color: #FFFFFF;
+}
+
+QPushButton:disabled {
+ background-color: rgba(0, 212, 255, 0.3);
+ color: rgba(255, 255, 255, 0.5);
+ opacity: 0.5;
+}
+
+/* Secondary Button */
+QPushButton#secondary_button {
+ background-color: transparent;
+ color: #FFFFFF;
+ border: 1px solid #232D53;
+}
+
+QPushButton#secondary_button:hover {
+ background-color: #232D53;
+ color: #FFFFFF;
+}
+
+/* Icon Buttons */
+QPushButton#icon_button {
+ background-color: transparent;
+ border: none;
+ border-radius: 8px;
+ padding: 8px;
+}
+
+QPushButton#icon_button:hover {
+ background-color: rgba(35, 45, 83, 0.5);
+}
+
+/* ==================== INPUT FIELDS ==================== */
+QLineEdit, QSpinBox, QTextEdit, QPlainTextEdit {
+ background-color: #232D53;
+ color: #FFFFFF;
+ border: none;
+ border-radius: 8px;
+ padding: 12px 16px;
+ font-size: 14px;
+}
+
+QLineEdit:focus, QSpinBox:focus, QTextEdit:focus, QPlainTextEdit:focus {
+ background-color: #2A3560;
+ outline: 2px solid #00D4FF;
+ outline-offset: -2px;
+}
+
+QLineEdit:disabled, QSpinBox:disabled, QTextEdit:disabled {
+ background-color: rgba(35, 45, 83, 0.5);
+ color: rgba(255, 255, 255, 0.5);
+}
+
+/* Placeholder text */
+QLineEdit {
+ selection-background-color: #00D4FF;
+ selection-color: #000000;
+}
+
+/* ==================== DROPDOWNS / COMBOBOX ==================== */
+QComboBox {
+ background-color: #232D53;
+ color: #FFFFFF;
+ border: none;
+ border-radius: 8px;
+ padding: 8px 16px;
+ min-height: 32px;
+}
+
+QComboBox:hover {
+ background-color: #2A3560;
+}
+
+QComboBox:focus {
+ outline: 2px solid #00D4FF;
+ outline-offset: -2px;
+}
+
+QComboBox::drop-down {
+ border: none;
+ width: 20px;
+ background-color: transparent;
+}
+
+QComboBox::down-arrow {
+ image: none;
+ border-left: 5px solid transparent;
+ border-right: 5px solid transparent;
+ border-top: 5px solid #00D4FF;
+ width: 0;
+ height: 0;
+ margin-right: 5px;
+}
+
+QComboBox QAbstractItemView {
+ background-color: rgba(26, 31, 58, 0.95);
+ border: 1px solid #00D4FF;
+ border-radius: 8px;
+ selection-background-color: #232D53;
+ selection-color: #00D4FF;
+ color: #FFFFFF;
+}
+
+/* ==================== CHECKBOXES & RADIO BUTTONS ==================== */
+QCheckBox, QRadioButton {
+ spacing: 8px;
+ color: #FFFFFF;
+}
+
+QCheckBox::indicator, QRadioButton::indicator {
+ width: 20px;
+ height: 20px;
+ border: 2px solid #232D53;
+ background-color: transparent;
+}
+
+QCheckBox::indicator {
+ border-radius: 4px;
+}
+
+QRadioButton::indicator {
+ border-radius: 10px;
+}
+
+QCheckBox::indicator:checked, QRadioButton::indicator:checked {
+ background-color: #00D4FF;
+ border-color: #00D4FF;
+}
+
+QCheckBox::indicator:checked {
+ image: url(:/icons/check.svg);
+}
+
+QRadioButton::indicator:checked {
+ background-color: #00D4FF;
+}
+
+/* ==================== GROUP BOXES ==================== */
+QGroupBox {
+ background-color: #1A1F3A;
+ border: 1px solid transparent;
+ border-radius: 16px;
+ padding: 32px;
+ margin-top: 16px;
+ font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
+ font-weight: 600;
+ color: #FFFFFF;
+}
+
+QGroupBox::title {
+ color: #00D4FF;
+ font-size: 16px;
+ subcontrol-origin: margin;
+ left: 16px;
+ padding: 0 8px;
+ background-color: #1A1F3A;
+}
+
+/* ==================== TABS ==================== */
+QTabWidget::pane {
+ background-color: #000000;
+ border: none;
+}
+
+QTabBar::tab {
+ background-color: transparent;
+ color: rgba(255, 255, 255, 0.6);
+ padding: 12px 24px;
+ font-size: 14px;
+ font-weight: 500;
+ border: none;
+}
+
+QTabBar::tab:hover {
+ background-color: rgba(35, 45, 83, 0.3);
+ color: #FFFFFF;
+}
+
+QTabBar::tab:selected {
+ color: #FFFFFF;
+ background-color: transparent;
+ border-bottom: 2px solid #00D4FF;
+ font-weight: 600;
+}
+
+/* Tab Navigation Component */
+TabNavigation {
+ background-color: #0A0A0A;
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
+}
+
+TabNavigation QPushButton {
+ background-color: transparent;
+ color: rgba(255, 255, 255, 0.6);
+ border: none;
+ border-radius: 0;
+ padding: 16px 24px;
+ font-weight: 500;
+ min-height: 48px;
+}
+
+TabNavigation QPushButton:hover {
+ background-color: rgba(35, 45, 83, 0.3);
+ color: #FFFFFF;
+}
+
+TabNavigation QPushButton:checked {
+ color: #00D4FF;
+ background-color: transparent;
+ border-bottom: 2px solid #00D4FF;
+}
+
+/* Badge in tabs */
+TabNavigation QLabel#badge {
+ background-color: #00D4FF;
+ color: #000000;
+ padding: 2px 6px;
+ border-radius: 10px;
+ font-size: 11px;
+ font-weight: 600;
+}
+
+/* ==================== TABLES ==================== */
+QTableWidget {
+ background-color: #000000;
+ alternate-background-color: rgba(26, 31, 58, 0.3);
+ gridline-color: rgba(255, 255, 255, 0.1);
+ border: none;
+ color: #FFFFFF;
+}
+
+QTableWidget::item {
+ padding: 12px 16px;
+ color: #FFFFFF;
+}
+
+QTableWidget::item:selected {
+ background-color: #232D53;
+ color: #00D4FF;
+}
+
+QHeaderView::section {
+ background-color: #232D53;
+ color: #FFFFFF;
+ padding: 12px 16px;
+ border: none;
+ font-weight: 600;
+ text-transform: uppercase;
+ font-size: 13px;
+ letter-spacing: 0.5px;
+}
+
+/* ==================== SCROLLBARS ==================== */
+QScrollBar:vertical {
+ background-color: #1A1F3A;
+ width: 8px;
+ border-radius: 4px;
+}
+
+QScrollBar::handle:vertical {
+ background-color: #00D4FF;
+ min-height: 20px;
+ border-radius: 4px;
+}
+
+QScrollBar::handle:vertical:hover {
+ background-color: #00B8E6;
+}
+
+QScrollBar:horizontal {
+ background-color: #1A1F3A;
+ height: 8px;
+ border-radius: 4px;
+}
+
+QScrollBar::handle:horizontal {
+ background-color: #00D4FF;
+ min-width: 20px;
+ border-radius: 4px;
+}
+
+QScrollBar::handle:horizontal:hover {
+ background-color: #00B8E6;
+}
+
+QScrollBar::add-line, QScrollBar::sub-line {
+ border: none;
+ background: none;
+}
+
+/* ==================== PROGRESS BAR ==================== */
+QProgressBar {
+ background-color: #232D53;
+ border: none;
+ border-radius: 4px;
+ height: 8px;
+ text-align: center;
+}
+
+QProgressBar::chunk {
+ background-color: #00D4FF;
+ border-radius: 4px;
+}
+
+/* ==================== STATUS BAR ==================== */
+QStatusBar {
+ background-color: #0A0A0A;
+ color: rgba(255, 255, 255, 0.7);
+ font-size: 13px;
+ padding: 8px;
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
+}
+
+/* ==================== MENU BAR ==================== */
+QMenuBar {
+ background-color: #0A0A0A;
+ color: #FFFFFF;
+ padding: 4px;
+}
+
+QMenuBar::item {
+ padding: 8px 16px;
+ background-color: transparent;
+ color: #FFFFFF;
+}
+
+QMenuBar::item:selected {
+ background-color: #232D53;
+ color: #00D4FF;
+}
+
+QMenu {
+ background-color: rgba(26, 31, 58, 0.95);
+ border: 1px solid rgba(0, 212, 255, 0.2);
+ border-radius: 8px;
+ padding: 8px 0;
+}
+
+QMenu::item {
+ padding: 8px 32px;
+ color: #FFFFFF;
+}
+
+QMenu::item:selected {
+ background-color: #232D53;
+ color: #00D4FF;
+}
+
+/* ==================== TOOLTIPS ==================== */
+QToolTip {
+ background-color: #232D53;
+ color: #FFFFFF;
+ border: 1px solid rgba(0, 212, 255, 0.2);
+ border-radius: 8px;
+ padding: 8px 12px;
+ font-size: 13px;
+}
+
+/* ==================== DIALOGS ==================== */
+QDialog {
+ background-color: #000000;
+ color: #FFFFFF;
+}
+
+/* Dialog Title Bar */
+QDialog QWidget#title_bar {
+ background-color: #232D53;
+ min-height: 40px;
+ border-radius: 8px 8px 0 0;
+}
+
+/* ==================== MESSAGE BOXES ==================== */
+QMessageBox {
+ background-color: #000000;
+}
+
+QMessageBox QLabel {
+ color: #FFFFFF;
+}
+
+QMessageBox QPushButton {
+ background-color: #232D53;
+ color: #FFFFFF;
+ border: 1px solid transparent;
+ border-radius: 4px;
+ padding: 6px 20px;
+ min-width: 80px;
+ min-height: 26px;
+ font-weight: 500;
+}
+
+QMessageBox QPushButton:hover {
+ background-color: #2A3560;
+ border-color: #00D4FF;
+}
+
+QMessageBox QPushButton:pressed {
+ background-color: #1A1F3A;
+}
+
+/* Delete Button - Red accent */
+QMessageBox QPushButton[text="Löschen"], QMessageBox QPushButton[text="Delete"] {
+ background-color: #FF4444;
+ color: #FFFFFF;
+ border: none;
+}
+
+QMessageBox QPushButton[text="Löschen"]:hover, QMessageBox QPushButton[text="Delete"]:hover {
+ background-color: #FF6666;
+}
+
+/* ==================== ACCOUNT CARDS ==================== */
+/* Account card widget */
+QWidget#account_card {
+ background-color: #1A1F3A;
+ border: 1px solid transparent;
+ border-radius: 16px;
+ padding: 32px;
+}
+
+QWidget#account_card:hover {
+ background-color: #232D53;
+ border: 1px solid #00D4FF;
+}
+
+/* ==================== LOG OUTPUT ==================== */
+QTextEdit#log_output {
+ background-color: #1A1F3A;
+ color: #FFFFFF;
+ font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', monospace;
+ font-size: 13px;
+ border: none;
+ border-radius: 8px;
+ padding: 16px;
+}
+
+/* ==================== BADGES & TAGS ==================== */
+QLabel#badge {
+ background-color: rgba(255, 255, 255, 0.1);
+ color: #FFFFFF;
+ padding: 4px 12px;
+ border-radius: 12px;
+ font-size: 12px;
+ font-weight: 600;
+ text-transform: uppercase;
+ letter-spacing: 0.5px;
+}
+
+QLabel#badge_primary {
+ background-color: #00D4FF;
+ color: #000000;
+}
+
+QLabel#badge_success {
+ background-color: #4CAF50;
+ color: #FFFFFF;
+}
+
+QLabel#badge_warning {
+ background-color: #FFC107;
+ color: #000000;
+}
+
+QLabel#badge_error {
+ background-color: #FF4444;
+ color: #FFFFFF;
+}
+
+/* ==================== SPECIAL EFFECTS ==================== */
+/* Glow effect for important elements */
+.glow {
+ box-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
+}
+
+/* Success text */
+.success {
+ color: #4CAF50;
+}
+
+/* Error text */
+.error {
+ color: #FF4444;
+}
+
+/* Warning text */
+.warning {
+ color: #FFC107;
+}
+
+/* Info text */
+.info {
+ color: #2196F3;
+}
+
+/* ==================== LANGUAGE DROPDOWN ==================== */
+LanguageDropdown {
+ background-color: transparent;
+}
+
+LanguageDropdown QComboBox {
+ background-color: #232D53;
+ min-width: 150px;
+}
+
+/* ==================== FORGE ANIMATION ==================== */
+ForgeAnimationWidget {
+ background-color: #000000;
+}
+
+/* ==================== MODERN MESSAGE BOX ==================== */
+ModernMessageBox {
+ background-color: #000000;
+ border: 1px solid #232D53;
+ border-radius: 16px;
+}
+
+ModernMessageBox QLabel#title {
+ color: #00D4FF;
+ font-size: 18px;
+ font-weight: 600;
+}
+
+ModernMessageBox QLabel#message {
+ color: rgba(255, 255, 255, 0.9);
+}
+
+/* ==================== SIDEBAR (if present) ==================== */
+QWidget#sidebar {
+ background-color: #0A0A0A;
+ border-right: 1px solid rgba(255, 255, 255, 0.1);
+}
+
+/* ==================== PLATFORM GRID VIEW ==================== */
+PlatformGridView {
+ background-color: #000000;
+}
+
+/* ==================== ACCOUNTS OVERVIEW ==================== */
+AccountsOverviewView {
+ background-color: #000000;
+}
+
+/* Account cards in overview */
+AccountCard {
+ background-color: #1A1F3A;
+ border-radius: 12px;
+ padding: 16px;
+}
+
+AccountCard:hover {
+ background-color: #232D53;
+ border: 1px solid #00D4FF;
+}
+
+/* ==================== TRANSITIONS ==================== */
+/* Note: Qt doesn't support CSS transitions directly,
+ but these are documented for custom implementation */
+* {
+ /* Standard transition: all 0.3s ease */
+ /* Fast transition: all 0.2s ease (for smaller elements) */
+}
\ No newline at end of file
diff --git a/resources/themes/light.qss b/resources/themes/light.qss
index fc5d3ba..5b7cc5a 100644
--- a/resources/themes/light.qss
+++ b/resources/themes/light.qss
@@ -433,6 +433,38 @@ QMessageBox QPushButton[text="Löschen"]:pressed {
background-color: #B71C1C;
}
+/* ==================== PLATFORM BUTTONS (Clean styling) ==================== */
+/* Platform icon buttons */
+QPushButton#platform_icon_button {
+ background-color: #F5F7FF;
+ border: 1px solid transparent;
+ border-radius: 16px;
+ padding: 32px;
+}
+
+QPushButton#platform_icon_button:hover {
+ background-color: #E8EBFF;
+ border: 1px solid #0099CC;
+}
+
+QPushButton#platform_icon_button:pressed {
+ background-color: #DCE2FF;
+ border: 1px solid #0099CC;
+}
+
+QPushButton#platform_icon_button:disabled {
+ background-color: #F0F0F0;
+ opacity: 0.5;
+}
+
+/* Platform name labels */
+QLabel#platform_name_label {
+ color: #232D53;
+ font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
+ font-weight: 600;
+ letter-spacing: 0.5px;
+}
+
/* ==================== SPECIAL COLORS ==================== */
/* Success */
.success {
diff --git a/test_logo_display.py b/test_logo_display.py
new file mode 100644
index 0000000..14f89b0
--- /dev/null
+++ b/test_logo_display.py
@@ -0,0 +1,65 @@
+#!/usr/bin/env python3
+"""
+Debug script to check what's happening with logo switching
+"""
+
+import os
+import sys
+
+# Add project root to path
+sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
+
+from themes.theme_config import ThemeConfig
+
+def check_logo_files():
+ """Check the actual logo files and their paths."""
+ print("=" * 60)
+ print("LOGO FILE ANALYSIS")
+ print("=" * 60)
+
+ base_dir = os.path.dirname(os.path.abspath(__file__))
+
+ # Check what's in the config
+ light_theme = ThemeConfig.get_theme('light')
+ dark_theme = ThemeConfig.get_theme('dark')
+
+ print(f"\nTheme Config:")
+ print(f" Light theme logo_path: {light_theme.get('logo_path', 'NOT SET')}")
+ print(f" Dark theme logo_path: {dark_theme.get('logo_path', 'NOT SET')}")
+
+ # Check actual files
+ icons_dir = os.path.join(base_dir, "resources", "icons")
+ print(f"\nIcon files in {icons_dir}:")
+
+ for file in os.listdir(icons_dir):
+ if "intelsight" in file.lower():
+ file_path = os.path.join(icons_dir, file)
+ file_size = os.path.getsize(file_path)
+ print(f" - {file} ({file_size} bytes)")
+
+ # Test the path resolution
+ print("\n" + "=" * 60)
+ print("PATH RESOLUTION TEST")
+ print("=" * 60)
+
+ # Simulate what happens in get_icon_path
+ for theme_name in ['light', 'dark']:
+ theme = ThemeConfig.get_theme(theme_name)
+ logo_name = theme.get('logo_path', 'intelsight-logo.svg').replace('.svg', '')
+ full_path = os.path.join(base_dir, "resources", "icons", f"{logo_name}.svg")
+
+ print(f"\n{theme_name.upper()} theme:")
+ print(f" logo_name from config: {logo_name}")
+ print(f" full_path: {full_path}")
+ print(f" file exists: {os.path.exists(full_path)}")
+
+ if os.path.exists(full_path):
+ # Check if it's actually an SVG
+ with open(full_path, 'r') as f:
+ first_line = f.readline().strip()
+ is_svg = '