diff --git a/frontend/src/components/EpisodePlayer.tsx b/frontend/src/components/EpisodePlayer.tsx index 8e0f07f..460b6ef 100644 --- a/frontend/src/components/EpisodePlayer.tsx +++ b/frontend/src/components/EpisodePlayer.tsx @@ -14,7 +14,6 @@ export default function EpisodePlayer() { const [audioUrl, setAudioUrl] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); - const [isPlaying, setIsPlaying] = useState(false); useEffect(() => { fetchEpisodes(); diff --git a/services/podcast.ts b/services/podcast.ts index 7b7c89b..47336b2 100644 --- a/services/podcast.ts +++ b/services/podcast.ts @@ -1,24 +1,29 @@ import { promises as fs } from "fs"; import { join, dirname } from "path"; import { Episode, fetchAllEpisodes } from "./database"; +import path from "node:path"; +import fsSync from "node:fs"; export async function updatePodcastRSS() { const episodes: Episode[] = await fetchAllEpisodes(); - const channelTitle = process.env.PODCAST_TITLE ?? "自動生成ポッドキャスト"; - const channelLink = process.env.PODCAST_LINK ?? "https://your-domain.com/podcast"; + const channelTitle = process.env["PODCAST_TITLE"] ?? "自動生成ポッドキャスト"; + const channelLink = + process.env["PODCAST_LINK"] ?? "https://your-domain.com/podcast"; const channelDescription = - process.env.PODCAST_DESCRIPTION ?? "RSSフィードから自動生成された音声ポッドキャスト"; - const channelLanguage = process.env.PODCAST_LANGUAGE ?? "ja"; - const channelAuthor = process.env.PODCAST_AUTHOR ?? "管理者"; - const channelCategories = process.env.PODCAST_CATEGORIES ?? "Technology"; - const channelTTL = process.env.PODCAST_TTL ?? "60"; + process.env["PODCAST_DESCRIPTION"] ?? + "RSSフィードから自動生成された音声ポッドキャスト"; + const channelLanguage = process.env["PODCAST_LANGUAGE"] ?? "ja"; + const channelAuthor = process.env["PODCAST_AUTHOR"] ?? "管理者"; + const channelCategories = process.env["PODCAST_CATEGORIES"] ?? "Technology"; + const channelTTL = process.env["PODCAST_TTL"] ?? "60"; const lastBuildDate = new Date().toUTCString(); let itemsXml = ""; for (const ep of episodes) { const fileUrl = `https://your-domain.com/podcast_audio/${path.basename(ep.audioPath)}`; const pubDate = new Date(ep.pubDate).toUTCString(); + const fileSize = fsSync.statSync(ep.audioPath).size; itemsXml += ` <![CDATA[${ep.title}]]> @@ -27,7 +32,7 @@ export async function updatePodcastRSS() { ${channelCategories} ${channelLanguage} ${channelTTL} - + ${fileUrl} ${pubDate}