summaryrefslogtreecommitdiff
path: root/Biz
diff options
context:
space:
mode:
authorBen Sima <ben@bensima.com>2025-12-17 11:00:29 -0500
committerBen Sima <ben@bensima.com>2025-12-17 11:00:29 -0500
commit32c2bb198007ab85095c14be544cfca9d083a7cd (patch)
treef1c2498d4bc07488512dc9a3256f750ce1c8f7a9 /Biz
parent0044726a62179d25edd19e57b9bcd81c567ef6ee (diff)
Improve PodcastItLater homepage and dark mode support
Homepage changes: - New marketing-focused landing page for logged-out users - Hero: 'Your Reading List, as a Podcast' with clear value prop - How It Works: 3-step process cards (paste URL, convert, listen) - Social proof: 'Join others' section with public feed - Login form moved below social proof for better conversion flow Dark mode fixes: - Remove bg-light from Current Plan card on /account page - Remove bg-white from metrics card headers on /admin/metrics Layout improvements: - Stack metrics tables vertically (full-width) instead of horizontal - Add spacing between metric cards for better readability
Diffstat (limited to 'Biz')
-rw-r--r--Biz/PodcastItLater/Admin/Views.py18
-rw-r--r--Biz/PodcastItLater/UI.py1
-rw-r--r--Biz/PodcastItLater/Web.py25
3 files changed, 24 insertions, 20 deletions
diff --git a/Biz/PodcastItLater/Admin/Views.py b/Biz/PodcastItLater/Admin/Views.py
index 7834340..057c5e0 100644
--- a/Biz/PodcastItLater/Admin/Views.py
+++ b/Biz/PodcastItLater/Admin/Views.py
@@ -263,16 +263,16 @@ class MetricsDashboard(Component[AnyChildren, MetricsAttrs]):
"Most Played",
classes=["card-title", "mb-0"],
),
- classes=["card-header", "bg-white"],
+ classes=["card-header"],
),
TopEpisodesTable(
episodes=metrics["most_played"],
metric_name="Plays",
count_key="play_count",
),
- classes=["card", "shadow-sm"],
+ classes=["card", "shadow-sm", "mb-3"],
),
- classes=["col-lg-4"],
+ classes=["col-12"],
),
html.div(
html.div(
@@ -288,16 +288,16 @@ class MetricsDashboard(Component[AnyChildren, MetricsAttrs]):
"Most Downloaded",
classes=["card-title", "mb-0"],
),
- classes=["card-header", "bg-white"],
+ classes=["card-header"],
),
TopEpisodesTable(
episodes=metrics["most_downloaded"],
metric_name="Downloads",
count_key="download_count",
),
- classes=["card", "shadow-sm"],
+ classes=["card", "shadow-sm", "mb-3"],
),
- classes=["col-lg-4"],
+ classes=["col-12"],
),
html.div(
html.div(
@@ -313,16 +313,16 @@ class MetricsDashboard(Component[AnyChildren, MetricsAttrs]):
"Most Added to Feeds",
classes=["card-title", "mb-0"],
),
- classes=["card-header", "bg-white"],
+ classes=["card-header"],
),
TopEpisodesTable(
episodes=metrics["most_added"],
metric_name="Adds",
count_key="add_count",
),
- classes=["card", "shadow-sm"],
+ classes=["card", "shadow-sm", "mb-3"],
),
- classes=["col-lg-4"],
+ classes=["col-12"],
),
classes=["row", "g-3"],
),
diff --git a/Biz/PodcastItLater/UI.py b/Biz/PodcastItLater/UI.py
index 5c65ca4..d4b60a9 100644
--- a/Biz/PodcastItLater/UI.py
+++ b/Biz/PodcastItLater/UI.py
@@ -539,7 +539,6 @@ class AccountPage(Component[AnyChildren, AccountPageAttrs]):
classes=[
"card",
"card-body",
- "bg-light",
],
),
classes=["mb-5"],
diff --git a/Biz/PodcastItLater/Web.py b/Biz/PodcastItLater/Web.py
index bc12000..c472819 100644
--- a/Biz/PodcastItLater/Web.py
+++ b/Biz/PodcastItLater/Web.py
@@ -911,12 +911,13 @@ class HomePage(Component[AnyChildren, HomePageAttrs]):
# Hero section
html.div(
html.h1(
- "Your Reading List, Now a Podcast",
+ "Your Reading List, as a Podcast",
classes=["display-5", "fw-bold", "mb-3"],
),
html.p(
- "Convert web articles to audio. "
- "Listen during your commute, workout, or chores.",
+ "Natural-sounding audio for your articles. "
+ "Delivered to your podcast app. "
+ "Listen while commuting, cooking, or working out.",
classes=["lead", "text-muted", "mb-4"],
),
html.a(
@@ -972,7 +973,7 @@ class HomePage(Component[AnyChildren, HomePageAttrs]):
),
html.h5("We convert it to audio"),
html.p(
- "Our AI reads the article and creates a podcast episode.",
+ "Our AI reads the article in a natural, human-sounding voice and creates a podcast episode.",
classes=["text-muted", "small"],
),
classes=["card-body", "text-center"],
@@ -1015,18 +1016,22 @@ class HomePage(Component[AnyChildren, HomePageAttrs]):
"Join others who've converted their reading backlog",
classes=["text-center", "mb-4"],
),
+ classes=["mb-4"],
+ ),
+ # Login form
+ html.div(
+ LoginForm(error=error),
+ id="login",
+ classes=["mb-5"],
+ ),
+ # Recent episodes
+ html.div(
EpisodeList(
episodes=episodes,
rss_url=None,
user=None,
viewing_own_feed=False,
),
- classes=["mb-5"],
- ),
- # Login form
- html.div(
- LoginForm(error=error),
- id="login",
),
user=None,
current_page="home",