From 2dfc96321bf1e91abf8e78fcbfd0027d277cf86c Mon Sep 17 00:00:00 2001 From: Michael Freno Date: Wed, 11 Feb 2026 11:16:18 -0500 Subject: [PATCH] colors --- src/App.tsx | 31 ++++++ src/pages/Feed/FeedItem.tsx | 36 +++--- src/pages/MyShows/MyShowsPage.tsx | 177 +++++++++++++++++------------- 3 files changed, 149 insertions(+), 95 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 8b862bd..8042780 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -15,6 +15,8 @@ import type { Episode } from "@/types/episode"; import { DIRECTION, LayerGraph, TABS } from "./utils/navigation"; import { useTheme } from "./context/ThemeContext"; +const DEBUG = import.meta.env.DEBUG; + export interface PageProps { depth: Accessor; } @@ -81,6 +83,35 @@ export function App() { )} > + {DEBUG && ( + + + + + + + + + + + + + + + + + + + + + + + + + + + )} + - - {props.isSelected ? ">" : " "} - - {visibilityIcon()} - - {props.feed.customName || props.feed.podcast.title} - - {props.showEpisodeCount && ({episodeCount()})} + backgroundColor={props.isSelected ? theme.backgroundElement : undefined} + paddingLeft={1} + paddingRight={1} + > + + {props.isSelected ? ">" : " "} + + {visibilityIcon()} + + {props.feed.customName || props.feed.podcast.title} + + {props.showEpisodeCount && ( + ({episodeCount()}) + )} ); } @@ -69,7 +71,7 @@ export function FeedItem(props: FeedItemProps) { gap={0} border={props.isSelected} borderColor={props.isSelected ? theme.primary : undefined} - backgroundColor={props.isSelected ? theme.backgroundElement : undefined} + backgroundColor={props.isSelected ? theme.primary : undefined} padding={1} > {/* Title row */} @@ -80,9 +82,7 @@ export function FeedItem(props: FeedItemProps) { {visibilityIcon()} {pinnedIndicator()} - - {props.feed.customName || props.feed.podcast.title} - + {props.feed.customName || props.feed.podcast.title} @@ -93,7 +93,9 @@ export function FeedItem(props: FeedItemProps) { )} {props.showLastUpdated && ( - Updated: {formatDate(props.feed.lastUpdated)} + + Updated: {formatDate(props.feed.lastUpdated)} + )} diff --git a/src/pages/MyShows/MyShowsPage.tsx b/src/pages/MyShows/MyShowsPage.tsx index 4a83f5c..78e6a74 100644 --- a/src/pages/MyShows/MyShowsPage.tsx +++ b/src/pages/MyShows/MyShowsPage.tsx @@ -5,13 +5,10 @@ */ import { createSignal, For, Show, createMemo, createEffect } from "solid-js"; -import { useKeyboard } from "@opentui/solid"; import { useFeedStore } from "@/stores/feed"; import { useDownloadStore } from "@/stores/download"; import { DownloadStatus } from "@/types/episode"; import { format } from "date-fns"; -import type { Episode } from "@/types/episode"; -import type { Feed } from "@/types/feed"; import { PageProps } from "@/App"; import { useTheme } from "@/context/ThemeContext"; @@ -157,19 +154,27 @@ export function MyShowsPage(props: PageProps) { gap={1} paddingLeft={1} paddingRight={1} - backgroundColor={index() === showIndex() ? theme.primary : undefined} + backgroundColor={ + index() === showIndex() ? theme.primary : undefined + } onMouseDown={() => { setShowIndex(index()); setEpisodeIndex(0); }} > - + {index() === showIndex() ? ">" : " "} - + {feed.customName || feed.podcast.title} - ({feed.episodes.length}) + + ({feed.episodes.length}) + )} @@ -177,82 +182,98 @@ export function MyShowsPage(props: PageProps) { - - Select a show - - } + + Select a show + + } + > + 0} + fallback={ + + No episodes. Press [r] to refresh. + + } + > + - 0} - fallback={ - - No episodes. Press [r] to refresh. + + {(episode, index) => ( + setEpisodeIndex(index())} + > + + + {index() === episodeIndex() ? ">" : " "} + + + {episode.episodeNumber + ? `#${episode.episodeNumber} ` + : ""} + {episode.title} + + + + + {formatDate(episode.pubDate)} + + + {formatDuration(episode.duration)} + + + + {downloadLabel(episode.id)} + + + + )} + + + + Loading more episodes... + + + - - - {(episode, index) => ( - setEpisodeIndex(index())} - > - - - {index() === episodeIndex() ? ">" : " "} - - - {episode.episodeNumber - ? `#${episode.episodeNumber} ` - : ""} - {episode.title} - - - - {formatDate(episode.pubDate)} - {formatDuration(episode.duration)} - - - {downloadLabel(episode.id)} - - - - - )} - - - - Loading more episodes... - - - - - Scroll down for more episodes - - - + + Scroll down for more episodes + - + + + );