diff --git a/portprotonqt/context_menu_manager.py b/portprotonqt/context_menu_manager.py
index ec7db57..6d9eca2 100644
--- a/portprotonqt/context_menu_manager.py
+++ b/portprotonqt/context_menu_manager.py
@@ -40,7 +40,7 @@ class ContextMenuManager:
         """
 
         menu = QMenu(self.parent)
-        if game_card.steam_game != "true":
+        if game_card.game_source not in ("steam", "epic"):
             desktop_dir = subprocess.check_output(['xdg-user-dir', 'DESKTOP']).decode('utf-8').strip()
             desktop_path = os.path.join(desktop_dir, f"{game_card.name}.desktop")
             if os.path.exists(desktop_path):
diff --git a/portprotonqt/game_card.py b/portprotonqt/game_card.py
index fe8c3b8..1fa8ab8 100644
--- a/portprotonqt/game_card.py
+++ b/portprotonqt/game_card.py
@@ -27,7 +27,7 @@ class GameCard(QFrame):
     openGameFolderRequested = Signal(str, str)    # name, exec_line
 
     def __init__(self, name, description, cover_path, appid, controller_support, exec_line,
-                last_launch, formatted_playtime, protondb_tier, anticheat_status, last_launch_ts, playtime_seconds, steam_game,
+                last_launch, formatted_playtime, protondb_tier, anticheat_status, last_launch_ts, playtime_seconds, game_source,
                 select_callback, theme=None, card_width=250, parent=None, context_menu_manager=None):
         super().__init__(parent)
         self.name = name
@@ -40,7 +40,7 @@ class GameCard(QFrame):
         self.formatted_playtime = formatted_playtime
         self.protondb_tier = protondb_tier
         self.anticheat_status = anticheat_status
-        self.steam_game = steam_game
+        self.game_source = game_source
         self.last_launch_ts = last_launch_ts
         self.playtime_seconds = playtime_seconds
 
@@ -152,7 +152,7 @@ class GameCard(QFrame):
         )
         self.steamLabel.setStyleSheet(self.theme.STEAM_BADGE_STYLE)
         self.steamLabel.setFixedWidth(int(card_width * 2/3))
-        steam_visible = (str(steam_game).lower() == "true")
+        steam_visible = (str(game_source).lower() == "steam")
         self.steamLabel.setVisible(steam_visible)
 
         # Epic Games Store бейдж
@@ -167,7 +167,7 @@ class GameCard(QFrame):
         )
         self.egsLabel.setStyleSheet(self.theme.STEAM_BADGE_STYLE)
         self.egsLabel.setFixedWidth(int(card_width * 2/3))
-        egs_visible = (str(steam_game).lower() == "epic")
+        egs_visible = (str(game_source).lower() == "epic")
         self.egsLabel.setVisible(egs_visible)
 
         # PortProton badge
@@ -182,7 +182,7 @@ class GameCard(QFrame):
         )
         self.portprotonLabel.setStyleSheet(self.theme.STEAM_BADGE_STYLE)
         self.portprotonLabel.setFixedWidth(int(card_width * 2/3))
-        portproton_visible = (str(steam_game).lower() == "false")
+        portproton_visible = (str(game_source).lower() == "portproton")
         self.portprotonLabel.setVisible(portproton_visible)
 
         # WeAntiCheatYet бейдж
@@ -496,7 +496,7 @@ class GameCard(QFrame):
                 self.last_launch,
                 self.formatted_playtime,
                 self.protondb_tier,
-                self.steam_game,
+                self.game_source,
                 self.anticheat_status
             )
         super().mousePressEvent(event)
@@ -513,7 +513,7 @@ class GameCard(QFrame):
                 self.last_launch,
                 self.formatted_playtime,
                 self.protondb_tier,
-                self.steam_game,
+                self.game_source,
                 self.anticheat_status
             )
         else:
diff --git a/portprotonqt/main_window.py b/portprotonqt/main_window.py
index c7e8085..554edb5 100644
--- a/portprotonqt/main_window.py
+++ b/portprotonqt/main_window.py
@@ -314,7 +314,7 @@ class MainWindow(QMainWindow):
                     'controller_support': '',
                     'protondb_tier': '',
                     'name': name,
-                    'steam_game': 'true'
+                    'game_source': 'steam'
                 }
             last_launch = format_last_launch(datetime.fromtimestamp(last_played)) if last_played else _("Never")
             steam_games.append((
@@ -330,7 +330,7 @@ class MainWindow(QMainWindow):
                 info.get("anticheat_status", ""),
                 last_played,
                 playtime_seconds,
-                "true"
+                "steam"
             ))
             processed_count += 1
             self.pending_games.append(None)
@@ -462,7 +462,6 @@ class MainWindow(QMainWindow):
             final_cover = (user_cover if user_cover else
                         builtin_cover if builtin_cover else
                         steam_info.get("cover", "") or entry.get("Icon", ""))
-            steam_game = "false"
             callback((
                 final_name,
                 final_desc,
@@ -476,7 +475,7 @@ class MainWindow(QMainWindow):
                 steam_info.get("anticheat_status", ""),
                 get_last_launch_timestamp(exe_name) if exe_name else 0,
                 playtime_seconds,
-                steam_game
+                "portproton"
             ))
 
         get_steam_game_info_async(desktop_name, exec_line, on_steam_info)
@@ -1320,7 +1319,7 @@ class MainWindow(QMainWindow):
     def darkenColor(self, color, factor=200):
         return color.darker(factor)
 
-    def openGameDetailPage(self, name, description, cover_path=None, appid="", exec_line="", controller_support="", last_launch="", formatted_playtime="", protondb_tier="", steam_game="", anticheat_status=""):
+    def openGameDetailPage(self, name, description, cover_path=None, appid="", exec_line="", controller_support="", last_launch="", formatted_playtime="", protondb_tier="", game_source="", anticheat_status=""):
         detailPage = QWidget()
         self._animations = {}
         imageLabel = QLabel()
@@ -1388,7 +1387,7 @@ class MainWindow(QMainWindow):
         favoriteLabelCover.move(8, 8)
         favoriteLabelCover.raise_()
 
-        # Добавляем бейджи (ProtonDB, Steam, WeAntiCheatYet)
+        # Добавляем бейджи (ProtonDB, Steam, PortProton, WeAntiCheatYet)
         right_margin = 8
         badge_spacing = 5
         top_y = 10
@@ -1428,7 +1427,7 @@ class MainWindow(QMainWindow):
         )
         steamLabel.setStyleSheet(self.theme.STEAM_BADGE_STYLE)
         steamLabel.setFixedWidth(badge_width)
-        steam_visible = (str(steam_game).lower() == "true")
+        steam_visible = (str(game_source).lower() == "steam")
         steamLabel.setVisible(steam_visible)
         steamLabel.clicked.connect(lambda: QDesktopServices.openUrl(QUrl(f"https://steamcommunity.com/app/{appid}")))
 
@@ -1444,7 +1443,7 @@ class MainWindow(QMainWindow):
         )
         egsLabel.setStyleSheet(self.theme.STEAM_BADGE_STYLE)
         egsLabel.setFixedWidth(badge_width)
-        egs_visible = (str(steam_game).lower() == "epic")
+        egs_visible = (str(game_source).lower() == "epic")
         egsLabel.setVisible(egs_visible)
 
         # PortProton badge
@@ -1459,7 +1458,7 @@ class MainWindow(QMainWindow):
         )
         portprotonLabel.setStyleSheet(self.theme.STEAM_BADGE_STYLE)
         portprotonLabel.setFixedWidth(badge_width)
-        portproton_visible = (str(steam_game).lower() == "false")
+        portproton_visible = (str(game_source).lower() == "portproton")
         portprotonLabel.setVisible(portproton_visible)
 
         # WeAntiCheatYet бейдж
@@ -1665,7 +1664,7 @@ class MainWindow(QMainWindow):
                         focused_widget.last_launch,
                         focused_widget.formatted_playtime,
                         focused_widget.protondb_tier,
-                        focused_widget.steam_game
+                        focused_widget.game_source
                     )
 
     def goBackDetailPage(self, page: QWidget | None) -> None: