fix the conflict
This commit is contained in:
commit
ada61914ec
11 changed files with 6645 additions and 42 deletions
|
@ -11,6 +11,8 @@
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--background: oklch(1 0 0);
|
--background: oklch(1 0 0);
|
||||||
|
--background-main: rgba(255, 255, 255, 0.59);
|
||||||
|
--background-main-secondary: rgba(244, 244, 244, 1);
|
||||||
--foreground: oklch(0.145 0 0);
|
--foreground: oklch(0.145 0 0);
|
||||||
--card: oklch(1 0 0);
|
--card: oklch(1 0 0);
|
||||||
--card-foreground: oklch(0.145 0 0);
|
--card-foreground: oklch(0.145 0 0);
|
||||||
|
@ -47,6 +49,8 @@
|
||||||
|
|
||||||
.dark {
|
.dark {
|
||||||
--background: oklch(0.145 0 0);
|
--background: oklch(0.145 0 0);
|
||||||
|
--background-main: rgba(72, 72, 72, 0.9);
|
||||||
|
--background-main-secondary: rgba(23, 23, 23, 0.96);
|
||||||
--foreground: oklch(0.985 0 0);
|
--foreground: oklch(0.985 0 0);
|
||||||
--card: oklch(0.145 0 0);
|
--card: oklch(0.145 0 0);
|
||||||
--card-foreground: oklch(0.985 0 0);
|
--card-foreground: oklch(0.985 0 0);
|
||||||
|
@ -139,7 +143,10 @@
|
||||||
body {
|
body {
|
||||||
font-feature-settings: "ss01";
|
font-feature-settings: "ss01";
|
||||||
background: url("../public/pattern.svg"),
|
background: url("../public/pattern.svg"),
|
||||||
linear-gradient(rgba(58, 58, 58, 1) 0%, rgba(10, 10, 10, 1) 15%);
|
linear-gradient(
|
||||||
|
var(--background-main) 0%,
|
||||||
|
var(--background-main-secondary) 15%
|
||||||
|
);
|
||||||
background-blend-mode: color-burn;
|
background-blend-mode: color-burn;
|
||||||
background-size: 22%;
|
background-size: 22%;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ export default function RootLayout({
|
||||||
children: React.ReactNode;
|
children: React.ReactNode;
|
||||||
}>) {
|
}>) {
|
||||||
return (
|
return (
|
||||||
<html lang="fa" dir="rtl" className="dark">
|
<html lang="fa" dir="rtl" className="dark" suppressHydrationWarning>
|
||||||
<body
|
<body
|
||||||
className={`${Vazir.className} antialiased`}
|
className={`${Vazir.className} antialiased`}
|
||||||
suppressHydrationWarning
|
suppressHydrationWarning
|
||||||
|
|
|
@ -16,10 +16,10 @@ import Link from "next/link";
|
||||||
export default function Podcast() {
|
export default function Podcast() {
|
||||||
return (
|
return (
|
||||||
<main>
|
<main>
|
||||||
<section className="relative pt-24 pb-16 md:pt-36 md:pb-24">
|
<section className="relative pt-20 sm:pt-24 pb-16 md:pt-36 md:pb-24">
|
||||||
<div className="container">
|
<div className="lg:container lg:px-8 px-6">
|
||||||
<div className="grid gap-6 grid-cols-3 lg:gap-12 mb-16">
|
<div className="grid gap-4 md:gap-6 grid-cols-3 lg:gap-12 md:mb-16 mb-8">
|
||||||
<div className="aspect-square overflow-hidden rounded-xl bg-muted">
|
<div className="aspect-square overflow-hidden rounded-xl bg-muted col-span-3 sm:col-span-1">
|
||||||
<Image
|
<Image
|
||||||
src="https://picsum.photos/450/450"
|
src="https://picsum.photos/450/450"
|
||||||
alt="Podcast Cover Art"
|
alt="Podcast Cover Art"
|
||||||
|
@ -28,26 +28,30 @@ export default function Podcast() {
|
||||||
className="h-full w-full object-cover"
|
className="h-full w-full object-cover"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col justify-center space-y-4 col-span-2">
|
<div className="flex flex-col justify-center space-y-4 sm:col-span-2 col-span-3">
|
||||||
<div className="space-y-3">
|
<div className="space-y-3">
|
||||||
<Breadcrumb>
|
<Breadcrumb>
|
||||||
<BreadcrumbList>
|
<BreadcrumbList>
|
||||||
<BreadcrumbItem>
|
<BreadcrumbItem>
|
||||||
<BreadcrumbLink>پارچ کست</BreadcrumbLink>
|
<BreadcrumbLink className="md:tex-sm text-xs">
|
||||||
|
پارچ کست
|
||||||
|
</BreadcrumbLink>
|
||||||
</BreadcrumbItem>
|
</BreadcrumbItem>
|
||||||
<BreadcrumbSeparator />
|
<BreadcrumbSeparator />
|
||||||
<BreadcrumbItem>
|
<BreadcrumbItem>
|
||||||
<BreadcrumbPage>قسمت اول</BreadcrumbPage>
|
<BreadcrumbPage className="md:tex-sm text-xs">
|
||||||
|
قسمت اول
|
||||||
|
</BreadcrumbPage>
|
||||||
</BreadcrumbItem>
|
</BreadcrumbItem>
|
||||||
</BreadcrumbList>
|
</BreadcrumbList>
|
||||||
</Breadcrumb>
|
</Breadcrumb>
|
||||||
<div className="flex flex-col gap-4">
|
<div className="flex flex-col gap-4">
|
||||||
<h1 className="text-3xl font-bold sm:text-3xl leading-normal pe-2">
|
<h1 className="md:text-3xl sm:text-xl font-bold leading-normal pe-2">
|
||||||
قسمت اول: داستان پارچ
|
قسمت اول: داستان پارچ
|
||||||
</h1>{" "}
|
</h1>{" "}
|
||||||
<div className="flex gap-5">
|
<div className="flex flex-col sm:flex-row gap-5">
|
||||||
<div className="rounded-xl p-5 bg-muted/100">
|
<div className="rounded-xl md:p-5 p-4 bg-muted/100">
|
||||||
<p className="text-muted-foreground md:text-lg text-justify">
|
<p className="text-muted-foreground md:text-lg text-sm text-justify">
|
||||||
پادکست “پارچ کست” یک برنامه صوتی جذاب و متنوع است که به
|
پادکست “پارچ کست” یک برنامه صوتی جذاب و متنوع است که به
|
||||||
بررسی موضوعات مختلف فرهنگی، اجتماعی و علمی میپردازد.
|
بررسی موضوعات مختلف فرهنگی، اجتماعی و علمی میپردازد.
|
||||||
این پادکست با میزبانی متخصصان و مهمانان مختلف، تلاش
|
این پادکست با میزبانی متخصصان و مهمانان مختلف، تلاش
|
||||||
|
@ -59,17 +63,23 @@ export default function Podcast() {
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col w-full gap-3">
|
<div className="flex flex-col w-full gap-3">
|
||||||
<div className="flex items-center gap-1 text-sm text-slate-300">
|
<div className="flex items-center gap-1 text-slate-300">
|
||||||
<Calendar size={18} className="text-gray-400" /> تاریخ
|
<Calendar size={18} className="text-gray-400" />
|
||||||
انتشار: 11 اسفند 1403
|
<span className="lg:text-sm text-xs text-nowrap">
|
||||||
|
تاریخ انتشار: 11 اسفند 1403
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex items-center gap-1 text-sm text-slate-300">
|
<div className="flex items-center gap-1 text-slate-300">
|
||||||
<Clock size={18} className="text-gray-400" /> مدت زمان:
|
<Clock size={18} className="text-gray-400" />
|
||||||
64 دقیقه
|
<span className="lg:text-sm text-xs text-nowrap">
|
||||||
|
مدت زمان: 64 دقیقه
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex items-center gap-1 text-sm text-slate-300">
|
<div className="flex items-center gap-1 text-slate-300">
|
||||||
<User size={18} className="text-gray-400" /> گویندگان:
|
<User size={18} className="text-gray-400" />
|
||||||
Erfoux
|
<span className="lg:text-sm text-xs text-nowrap">
|
||||||
|
گویندگان: Erfoux
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -110,12 +120,14 @@ export default function Podcast() {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="grid gap-6 grid-cols-12">
|
<div className="grid gap-6 grid-cols-12">
|
||||||
<div className="col-span-9">
|
<div className="md:col-span-9 col-span-12">
|
||||||
<div className="flex flex-col gap-10">
|
<div className="flex flex-col gap-10">
|
||||||
<div className="flex gap-4 flex-col">
|
<div className="flex gap-4 flex-col">
|
||||||
<h2 className="text-2xl font-bold">متن کامل اپیزود</h2>
|
<h2 className="md:text-3xl sm:text-xl font-bold leading-normal">
|
||||||
<div className="rounded-xl p-5 bg-muted/100">
|
متن کامل اپیزود
|
||||||
<p className="text-muted-foreground md:text-lg text-justify">
|
</h2>
|
||||||
|
<div className="rounded-xl md:p-5 p-4 bg-muted/100">
|
||||||
|
<p className="text-muted-foreground md:text-lg text-sm text-justify">
|
||||||
پادکست “پارچ کست” یک برنامه صوتی جذاب و متنوع است که به
|
پادکست “پارچ کست” یک برنامه صوتی جذاب و متنوع است که به
|
||||||
بررسی موضوعات مختلف فرهنگی، اجتماعی و علمی میپردازد. این
|
بررسی موضوعات مختلف فرهنگی، اجتماعی و علمی میپردازد. این
|
||||||
پادکست با میزبانی متخصصان و مهمانان مختلف، تلاش میکند تا
|
پادکست با میزبانی متخصصان و مهمانان مختلف، تلاش میکند تا
|
||||||
|
@ -130,13 +142,13 @@ export default function Podcast() {
|
||||||
<EpisodeCards section={"podcast"} />
|
<EpisodeCards section={"podcast"} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-span-3">
|
<div className="md:col-span-3 col-span-12">
|
||||||
<div className="flex flex-col gap-3">
|
<div className="flex flex-col gap-3">
|
||||||
<div className="flex flex-col gap-3">
|
<div className="flex flex-col gap-3">
|
||||||
<h4 className="text-lg font-bold mt-1">
|
<h4 className="sm:text-lg font-bold mt-1">
|
||||||
پرطرفدارترین اپیزودها
|
پرطرفدارترین اپیزودها
|
||||||
</h4>
|
</h4>
|
||||||
<ul className="flex flex-col gap-1">
|
<ul className="flex flex-col md:gap-1 gap-2">
|
||||||
<li>
|
<li>
|
||||||
<Link
|
<Link
|
||||||
href={"#"}
|
href={"#"}
|
||||||
|
|
BIN
bun.lockb
BIN
bun.lockb
Binary file not shown.
|
@ -53,12 +53,12 @@ export function EpisodeCards({ section }: { section: "podcast" | "main" }) {
|
||||||
className={`${
|
className={`${
|
||||||
section === "main"
|
section === "main"
|
||||||
? "lg:text-4xl md:text-3xl text-2xl font-bold tracking-tight text-parch leading-normal"
|
? "lg:text-4xl md:text-3xl text-2xl font-bold tracking-tight text-parch leading-normal"
|
||||||
: "text-2xl font-bold"
|
: "md:text-3xl sm:text-xl font-bold leading-normal "
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
آخرین قسمت ها
|
آخرین قسمت ها
|
||||||
</h2>
|
</h2>
|
||||||
<p className="text-muted-foreground text-sm md:text-base">
|
<p className="text-muted-foreground text-xs sm:text-base">
|
||||||
از جدیدترین مکالمات ما مطلع شوید
|
از جدیدترین مکالمات ما مطلع شوید
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,13 +1,18 @@
|
||||||
|
"use client";
|
||||||
|
|
||||||
import { Github, Instagram, Twitter, Youtube } from "lucide-react";
|
import { Github, Instagram, Twitter, Youtube } from "lucide-react";
|
||||||
import Image from "next/image";
|
import Image from "next/image";
|
||||||
import { Footer, FooterBottom, FooterColumn, FooterContent } from "./ui/footer";
|
import { Footer, FooterBottom, FooterColumn, FooterContent } from "./ui/footer";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
|
import { usePathname } from "next/navigation";
|
||||||
|
|
||||||
export default function FooterSection() {
|
export default function FooterSection() {
|
||||||
|
const pathname = usePathname();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<footer className="w-full bg-background">
|
<footer className="w-full bg-background">
|
||||||
<div className="mx-auto">
|
<div className="mx-auto">
|
||||||
<Footer>
|
<Footer className={`${pathname.includes("/podcast/") ? "pb-12" : ""}`}>
|
||||||
<FooterContent className="container">
|
<FooterContent className="container">
|
||||||
<FooterColumn className="col-span-2 sm:col-span-3 md:col-span-1">
|
<FooterColumn className="col-span-2 sm:col-span-3 md:col-span-1">
|
||||||
<div className="flex items-center">
|
<div className="flex items-center">
|
||||||
|
|
|
@ -65,7 +65,7 @@ export default function Header() {
|
||||||
</Link>
|
</Link>
|
||||||
{/* Right Section */}
|
{/* Right Section */}
|
||||||
<div className="flex gap-2">
|
<div className="flex gap-2">
|
||||||
<Button variant="outline" className="bg-parch cursor-pointer">
|
<Button className="bg-parch cursor-pointer">
|
||||||
<span className="md:block hidden">ورود | ثبت نام</span>
|
<span className="md:block hidden">ورود | ثبت نام</span>
|
||||||
<LogIn className="md:hidden block" />
|
<LogIn className="md:hidden block" />
|
||||||
</Button>
|
</Button>
|
||||||
|
|
|
@ -17,20 +17,29 @@ export function ModeToggle() {
|
||||||
return (
|
return (
|
||||||
<DropdownMenu>
|
<DropdownMenu>
|
||||||
<DropdownMenuTrigger asChild>
|
<DropdownMenuTrigger asChild>
|
||||||
<Button variant="outline" size="icon">
|
<Button variant="outline" size="icon" className="cursor-pointer">
|
||||||
<Sun className="h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
|
<Sun className="h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
|
||||||
<Moon className="absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" />
|
<Moon className="absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" />
|
||||||
<span className="sr-only">Toggle theme</span>
|
<span className="sr-only">Toggle theme</span>
|
||||||
</Button>
|
</Button>
|
||||||
</DropdownMenuTrigger>
|
</DropdownMenuTrigger>
|
||||||
<DropdownMenuContent align="end">
|
<DropdownMenuContent align="end">
|
||||||
<DropdownMenuItem onClick={() => setTheme("light")}>
|
<DropdownMenuItem
|
||||||
|
className="cursor-pointer"
|
||||||
|
onClick={() => setTheme("light")}
|
||||||
|
>
|
||||||
Light
|
Light
|
||||||
</DropdownMenuItem>
|
</DropdownMenuItem>
|
||||||
<DropdownMenuItem onClick={() => setTheme("dark")}>
|
<DropdownMenuItem
|
||||||
|
className="cursor-pointer"
|
||||||
|
onClick={() => setTheme("dark")}
|
||||||
|
>
|
||||||
Dark
|
Dark
|
||||||
</DropdownMenuItem>
|
</DropdownMenuItem>
|
||||||
<DropdownMenuItem onClick={() => setTheme("system")}>
|
<DropdownMenuItem
|
||||||
|
className="cursor-pointer"
|
||||||
|
onClick={() => setTheme("system")}
|
||||||
|
>
|
||||||
System
|
System
|
||||||
</DropdownMenuItem>
|
</DropdownMenuItem>
|
||||||
</DropdownMenuContent>
|
</DropdownMenuContent>
|
||||||
|
|
|
@ -23,9 +23,9 @@ export function SubscribeSection() {
|
||||||
<Input
|
<Input
|
||||||
placeholder="ایمیل خود را وارد کنید"
|
placeholder="ایمیل خود را وارد کنید"
|
||||||
type="email"
|
type="email"
|
||||||
className="sm:min-w-[300px]"
|
className="sm:min-w-[300px] bg-background border-2 h-10 py-4"
|
||||||
/>
|
/>
|
||||||
<Button className="bg-parch">
|
<Button className="bg-parch border" size={"lg"}>
|
||||||
مشترک شوید
|
مشترک شوید
|
||||||
<Mail className="md:mr-2 h-4 w-4" />
|
<Mail className="md:mr-2 h-4 w-4" />
|
||||||
</Button>
|
</Button>
|
||||||
|
|
6570
package-lock.json
generated
Normal file
6570
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -17,8 +17,8 @@
|
||||||
"@radix-ui/react-slot": "^1.1.2",
|
"@radix-ui/react-slot": "^1.1.2",
|
||||||
"class-variance-authority": "^0.7.1",
|
"class-variance-authority": "^0.7.1",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"lucide-react": "^0.483.0",
|
"lucide-react": "^0.484.0",
|
||||||
"next": "15.2.3",
|
"next": "15.2.4",
|
||||||
"next-themes": "^0.4.6",
|
"next-themes": "^0.4.6",
|
||||||
"react": "^19.0.0",
|
"react": "^19.0.0",
|
||||||
"react-dom": "^19.0.0",
|
"react-dom": "^19.0.0",
|
||||||
|
@ -33,7 +33,7 @@
|
||||||
"@tailwindcss/postcss": "^4",
|
"@tailwindcss/postcss": "^4",
|
||||||
"tailwindcss": "^4",
|
"tailwindcss": "^4",
|
||||||
"eslint": "^9",
|
"eslint": "^9",
|
||||||
"eslint-config-next": "15.2.3",
|
"eslint-config-next": "15.2.4",
|
||||||
"@eslint/eslintrc": "^3"
|
"@eslint/eslintrc": "^3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue