Quickly fixing a couple of eslint stuff.

This commit is contained in:
Justin Walrath 2025-05-11 08:53:46 -04:00
parent 91fcddabb5
commit 5ee1d252fe
8 changed files with 15 additions and 13 deletions

View File

@ -1,6 +1,6 @@
import { useRouter } from 'next/navigation';
export default function AddPodcastCard({ stream }: { stream: string }) {
export default function AddPodcastCard({ stream }: { stream?: string | string[] }) {
const router = useRouter();
const handleClick = () => {

View File

@ -1,5 +1,5 @@
import Image from 'next/image';
import { PodcastDto } from '../common/dtos/podcastDto';
import { PodcastDto } from '../../../common/dtos/podcastDto';
export default function PodcastCard({
imageUrl = "https://placehold.co/400",
@ -12,7 +12,7 @@ export default function PodcastCard({
return (
<div className="w-full h-[150px] shadow-md rounded-sm overflow-hidden flex m-4 mb-1">
<div className="w-[150px] h-full bg-purple-100 flex-shrink-0 relative">
<Image unoptimized src={imageUrl} alt={title} layout="fill" objectFit="cover" />
<Image unoptimized src={imageUrl} alt={title ?? ''} layout="fill" objectFit="cover" />
</div>
<div className="p-4 flex-grow flex flex-col bg-purple-200">

View File

@ -6,7 +6,7 @@ import { PodcastDto } from '../../../common/dtos/podcastDto';
import AddPodcastCard from './addPodcastCard';
type PodcastListProps = {
stream: string;
stream?: string | string[];
}
export default function PodcastList({ stream }: PodcastListProps) {
@ -30,6 +30,7 @@ export default function PodcastList({ stream }: PodcastListProps) {
uploadDate={podcast.uploadDate}
url={podcast.url}
author={podcast.author}
imageUrl={podcast.imageUrl}
/>
</div>
))

View File

@ -1,15 +1,15 @@
"use client";
import Image from 'next/image';
import { StreamDto } from '../common/dtos/steamDto';
import { StreamDto } from '../../../common/dtos/streamDto';
import { useEffect, useState } from 'react';
type PodcastSummaryType = {
stream: string;
stream?: string | string[];
};
export default function PodcastSummary({ stream }: PodcastSummaryType) {
const [summaryData, setSummaryData] = useState<StreamDto>(null);
const [summaryData, setSummaryData] = useState<StreamDto>();
useEffect(() => {
fetch(`${process.env.NEXT_PUBLIC_API_BASE_URL}/api/${stream}`)
@ -25,7 +25,7 @@ export default function PodcastSummary({ stream }: PodcastSummaryType) {
<div className="w-full h-auto shadow-md overflow-hidden flex flex-col bg-purple-200">
<div className="flex flex-col md:flex-row md:items-start">
<div className="relative w-full h-[150px] md:w-1/3 md:h-[376] bg-purple-100 flex-shrink-0">
<Image unoptimized src={summaryData.imageUrl} alt={summaryData.title} fill className="rounded-md object-cover" />
<Image unoptimized src={summaryData.imageUrl ?? ''} alt={summaryData.title ?? ''} fill className="rounded-md object-cover" />
</div>
<div className="p-4 flex-grow flex flex-col md:ml-4">

View File

@ -11,7 +11,7 @@ type PodcastDto = {
author: string;
};
export default function StreamPublishForm({ stream }: { stream?: string }) {
export default function StreamPublishForm({ stream }: { stream?: string | string[] }) {
const { register, handleSubmit, formState: { errors } } = useForm<PodcastDto>();
const onSubmit: SubmitHandler<PodcastDto> = (data) => {

View File

@ -1,6 +1,6 @@
export type PodcastDto = {
podcastId: string;
streamId: string;
podcastId?: string;
streamId?: string;
imageUrl?: string;
title?: string;
description?: string;

View File

@ -28,7 +28,7 @@ export const preparePodcastItem = (podcast: PodcastDto) => {
imageUrl: convertUrlToPublic(podcast.imageUrl),
url: fileUrl,
enclosure: {
url: fileUrl,
url: fileUrl ?? '',
type: getFileMimeType(podcast.url ?? ''),
size: fileSize
}

View File

@ -5,10 +5,11 @@ import { v4 as uuidv4 } from 'uuid';
import multiparty from 'multiparty';
import { getPodcasts, publishPodcast } from '../../../common/data/db';
import { PodcastDto } from '../../../common/dtos/podcastDto';
import { preparePodcastItem } from '../../../common/helpers/data';
const get = async (req: NextApiRequest, res: NextApiResponse<PodcastDto[]>) => {
const stream = req.query.stream as string,
podcasts = await getPodcasts(stream);
podcasts = (await getPodcasts(stream as string)).map(preparePodcastItem);
res.status(200).json(podcasts);
};