Add games library with IGDB, file explorer and static files script

This commit is contained in:
SirBlob committed 2026-11-03 00:27:20 -05:00
1 parent a16444451a
commit ec57bd73b3
65 files changed
+2230 -352

No files matched your search

+14 -6
View File
@@ -7,6 +7,7 @@ from textual.widgets import DataTable, Footer, Header, TabbedContent, TabPane
import portfolio
from tui.books_pane import BooksPane
from tui.games_pane import GamesPane
from tui.media_pane import MediaPane
from tui.music_pane import MusicPane
from tui.profile_pane import ProfilePane
@@ -20,6 +21,7 @@ TABS = [
("shows", "Shows"),
("movies", "Movies"),
("books", "Books"),
("games", "Games"),
("profile", "Profile"),
("experience", "Experience"),
("leadership", "Leadership"),
@@ -28,6 +30,10 @@ TABS = [
]
def tab_key(number: int) -> str:
return str(number % 10)
class ContentApp(App):
TITLE = "sirblob@engineering"
SUB_TITLE = "~/content"
@@ -35,7 +41,7 @@ class ContentApp(App):
BINDINGS = [
Binding("q", "quit", "Quit"),
Binding("t", "next_theme", "Theme"),
*[Binding(str(number), f"show_tab('{tab_id}')", label, show=False) for number, (tab_id, label) in enumerate(TABS, start=1)],
*[Binding(tab_key(number), f"show_tab('{tab_id}')", label, show=False) for number, (tab_id, label) in enumerate(TABS, start=1)],
]
def __init__(self):
@@ -74,15 +80,17 @@ class ContentApp(App):
yield MediaPane("movie")
with TabPane("4 Books", id="books"):
yield BooksPane()
with TabPane("5 Profile", id="profile"):
with TabPane("5 Games", id="games"):
yield GamesPane()
with TabPane("6 Profile", id="profile"):
yield ProfilePane()
with TabPane("6 Experience", id="experience"):
with TabPane("7 Experience", id="experience"):
yield RecordListPane(portfolio.EXPERIENCE)
with TabPane("7 Leadership", id="leadership"):
with TabPane("8 Leadership", id="leadership"):
yield RecordListPane(portfolio.LEADERSHIP)
with TabPane("8 Projects", id="projects"):
with TabPane("9 Projects", id="projects"):
yield ProjectsPane()
with TabPane("9 Themes", id="themes"):
with TabPane("0 Themes", id="themes"):
yield ThemesPane()
yield Footer()