diff --git a/app/globals.css b/app/globals.css index a32ea1e..c8661f4 100644 --- a/app/globals.css +++ b/app/globals.css @@ -141,7 +141,7 @@ body { background: url("../public/pattern.svg"), linear-gradient(rgba(58, 58, 58, 1) 0%, rgba(10, 10, 10, 1) 15%); background-blend-mode: color-burn; - background-size: 15%; + background-size: 20%; } .bg-parch { @@ -158,6 +158,12 @@ body { color: #0d40bf; } +.border-parch-active { + background: linear-gradient(var(--background), var(--background)) padding-box, + linear-gradient(to right, #21c796, #0385ce, #0d40bf) border-box; + border: 1px solid transparent; +} + .border-parch:hover { background: linear-gradient(var(--background), var(--background)) padding-box, linear-gradient(to right, #21c796, #0385ce, #0d40bf) border-box; diff --git a/app/podcast/[id]/page.tsx b/app/podcast/[id]/page.tsx index 47bf36a..de072b2 100644 --- a/app/podcast/[id]/page.tsx +++ b/app/podcast/[id]/page.tsx @@ -1,3 +1,4 @@ +import { PodcastPlayer } from "@/components/podcast-player"; import { Breadcrumb, BreadcrumbItem, @@ -6,16 +7,17 @@ import { BreadcrumbPage, BreadcrumbSeparator, } from "@/components/ui/breadcrumb"; +import { Separator } from "@/components/ui/separator"; import { Calendar, Clock, User } from "lucide-react"; import Image from "next/image"; export default function Podcast() { return ( -
+
-
-
+
+
Podcast Cover Art
-

+

قسمت اول: داستان پارچ

{" "}
-

+

پادکست “پارچ کست” یک برنامه صوتی جذاب و متنوع است که به بررسی موضوعات مختلف فرهنگی، اجتماعی و علمی می‌پردازد. این پادکست با میزبانی متخصصان و مهمانان مختلف، تلاش @@ -71,10 +73,63 @@ export default function Podcast() {

+ +
+
اشتراک گذاری:
+
+
+ + + +
+
+ + + +
+
+
+
+
+
+

متن کامل اپیزود

+
+

+ پادکست “پارچ کست” یک برنامه صوتی جذاب و متنوع است که به + بررسی موضوعات مختلف فرهنگی، اجتماعی و علمی می‌پردازد. این + پادکست با میزبانی متخصصان و مهمانان مختلف، تلاش می‌کند تا با + ارائه بحث‌ها و نظرات عمیق، شنوندگان را به تفکر وادارد و + آگاهی آن‌ها را در زمینه‌های مختلف افزایش دهد. هر قسمت از + “پارچ کست” با رویکردی خلاقانه و engaging تولید می‌شود و هدف + آن ایجاد فضایی است که در آن گوش دادن به اطلاعات جدید همزمان + با لذت و سرگرمی همراه باشد. +

+
+
+
+
sss
+
+
); } diff --git a/bun.lockb b/bun.lockb index d516039..ef2d617 100644 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/components/about-podcast.tsx b/components/about-podcast.tsx index 3390dec..d668c49 100644 --- a/components/about-podcast.tsx +++ b/components/about-podcast.tsx @@ -2,9 +2,9 @@ import Image from "next/image"; export function AboutPodcast() { return ( -
+
-
+
+
diff --git a/components/header.tsx b/components/header.tsx index 51cee29..d288027 100644 --- a/components/header.tsx +++ b/components/header.tsx @@ -6,8 +6,8 @@ import Image from "next/image"; export default function Header() { return ( -
-
+
+
-
+
Podcast Cover Art +
+
+ Episode Cover +
+

قسمت اول: داستان پارچ

+

Efoux

+
+
+
+
+ + + + + +
+
+
+ 62:00 +
+ +
+ 12:34 +
+
+
+
+ + +
+
+
+ ); +} diff --git a/components/subscribe-section.tsx b/components/subscribe-section.tsx index e5657d5..e312e0f 100644 --- a/components/subscribe-section.tsx +++ b/components/subscribe-section.tsx @@ -4,7 +4,7 @@ import { Headphones, Mail } from "lucide-react"; export function SubscribeSection() { return ( -
+
diff --git a/components/ui/separator.tsx b/components/ui/separator.tsx new file mode 100644 index 0000000..67c73e5 --- /dev/null +++ b/components/ui/separator.tsx @@ -0,0 +1,28 @@ +"use client" + +import * as React from "react" +import * as SeparatorPrimitive from "@radix-ui/react-separator" + +import { cn } from "@/lib/utils" + +function Separator({ + className, + orientation = "horizontal", + decorative = true, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { Separator } diff --git a/components/ui/slider.tsx b/components/ui/slider.tsx new file mode 100644 index 0000000..09391e8 --- /dev/null +++ b/components/ui/slider.tsx @@ -0,0 +1,63 @@ +"use client" + +import * as React from "react" +import * as SliderPrimitive from "@radix-ui/react-slider" + +import { cn } from "@/lib/utils" + +function Slider({ + className, + defaultValue, + value, + min = 0, + max = 100, + ...props +}: React.ComponentProps) { + const _values = React.useMemo( + () => + Array.isArray(value) + ? value + : Array.isArray(defaultValue) + ? defaultValue + : [min, max], + [value, defaultValue, min, max] + ) + + return ( + + + + + {Array.from({ length: _values.length }, (_, index) => ( + + ))} + + ) +} + +export { Slider } diff --git a/package.json b/package.json index c8e8786..ca3a482 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,8 @@ "@radix-ui/react-avatar": "^1.1.3", "@radix-ui/react-dropdown-menu": "^2.1.6", "@radix-ui/react-icons": "^1.3.2", + "@radix-ui/react-separator": "^1.1.2", + "@radix-ui/react-slider": "^1.2.3", "@radix-ui/react-slot": "^1.1.2", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1",