Update carousels, card hover, and IranBay branding.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
"use client";
|
||||
|
||||
import { BusinessMeshkeeGate } from "@/components/business/BusinessPageChrome";
|
||||
import AddBlogForm from "@/components/catalog/AddBlogForm";
|
||||
import { en } from "@/lib/i18n/en";
|
||||
|
||||
export default function BusinessAddBlogPage() {
|
||||
return (
|
||||
<BusinessMeshkeeGate>
|
||||
{(meshkeeId) => (
|
||||
<AddBlogForm
|
||||
meshkeeId={meshkeeId}
|
||||
listHref="/blog"
|
||||
title={en.blog.addTitle}
|
||||
lead={en.blog.addLead}
|
||||
/>
|
||||
)}
|
||||
</BusinessMeshkeeGate>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
"use client";
|
||||
|
||||
import Link from "next/link";
|
||||
import {
|
||||
BusinessListHeader,
|
||||
BusinessMeshkeeGate,
|
||||
} from "@/components/business/BusinessPageChrome";
|
||||
import BlogPanel from "@/components/catalog/BlogPanel";
|
||||
import { en } from "@/lib/i18n/en";
|
||||
import styles from "@/components/BusinessDetailsPage.module.css";
|
||||
|
||||
export default function BusinessBlogPage() {
|
||||
return (
|
||||
<BusinessMeshkeeGate>
|
||||
{(meshkeeId) => (
|
||||
<>
|
||||
<BusinessListHeader
|
||||
title={en.blog.title}
|
||||
lead={en.blog.lead}
|
||||
action={
|
||||
<Link href="/blog/new" className={`outline-btn ${styles.actionBtn}`}>
|
||||
{en.blog.add}
|
||||
</Link>
|
||||
}
|
||||
/>
|
||||
<BlogPanel
|
||||
meshkeeId={meshkeeId}
|
||||
emptyLabel={en.blog.empty}
|
||||
addHref="/blog/new"
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
</BusinessMeshkeeGate>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
"use client";
|
||||
|
||||
import {
|
||||
BusinessListHeader,
|
||||
BusinessMeshkeeGate,
|
||||
} from "@/components/business/BusinessPageChrome";
|
||||
import GalleryPanel from "@/components/catalog/GalleryPanel";
|
||||
import { en } from "@/lib/i18n/en";
|
||||
|
||||
export default function BusinessGalleryPage() {
|
||||
return (
|
||||
<BusinessMeshkeeGate>
|
||||
{(meshkeeId) => (
|
||||
<>
|
||||
<BusinessListHeader
|
||||
title={en.gallery.title}
|
||||
lead={en.gallery.lead}
|
||||
/>
|
||||
<GalleryPanel
|
||||
meshkeeId={meshkeeId}
|
||||
emptyLabel={en.gallery.empty}
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
</BusinessMeshkeeGate>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import { ProtectedRoute } from "@/components/AuthGuards";
|
||||
import BusinessShell from "@/components/BusinessShell";
|
||||
|
||||
export default function BusinessLayout({
|
||||
children,
|
||||
}: {
|
||||
children: React.ReactNode;
|
||||
}) {
|
||||
return (
|
||||
<ProtectedRoute requiredApp="business">
|
||||
<BusinessShell>{children}</BusinessShell>
|
||||
</ProtectedRoute>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
import { redirect } from "next/navigation";
|
||||
|
||||
export default function BusinessIndexPage() {
|
||||
redirect("/profile");
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
"use client";
|
||||
|
||||
import { BusinessMeshkeeGate } from "@/components/business/BusinessPageChrome";
|
||||
import AddPortfolioForm from "@/components/catalog/AddPortfolioForm";
|
||||
import { en } from "@/lib/i18n/en";
|
||||
|
||||
export default function BusinessAddPortfolioPage() {
|
||||
return (
|
||||
<BusinessMeshkeeGate>
|
||||
{(meshkeeId) => (
|
||||
<AddPortfolioForm
|
||||
meshkeeId={meshkeeId}
|
||||
listHref="/portfolios"
|
||||
title={en.portfolios.addTitle}
|
||||
lead={en.portfolios.addLead}
|
||||
/>
|
||||
)}
|
||||
</BusinessMeshkeeGate>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
"use client";
|
||||
|
||||
import Link from "next/link";
|
||||
import {
|
||||
BusinessListHeader,
|
||||
BusinessMeshkeeGate,
|
||||
} from "@/components/business/BusinessPageChrome";
|
||||
import PortfoliosPanel from "@/components/catalog/PortfoliosPanel";
|
||||
import { en } from "@/lib/i18n/en";
|
||||
import styles from "@/components/BusinessDetailsPage.module.css";
|
||||
|
||||
export default function BusinessPortfoliosPage() {
|
||||
return (
|
||||
<BusinessMeshkeeGate>
|
||||
{(meshkeeId) => (
|
||||
<>
|
||||
<BusinessListHeader
|
||||
title={en.portfolios.title}
|
||||
lead={en.portfolios.lead}
|
||||
action={
|
||||
<Link
|
||||
href="/portfolios/new"
|
||||
className={`outline-btn ${styles.actionBtn}`}
|
||||
>
|
||||
{en.portfolios.add}
|
||||
</Link>
|
||||
}
|
||||
/>
|
||||
<PortfoliosPanel
|
||||
meshkeeId={meshkeeId}
|
||||
emptyLabel={en.portfolios.empty}
|
||||
addHref="/portfolios/new"
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
</BusinessMeshkeeGate>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
"use client";
|
||||
|
||||
import {
|
||||
BusinessMeshkeeGate,
|
||||
} from "@/components/business/BusinessPageChrome";
|
||||
import ManageCategoriesPage from "@/components/catalog/ManageCategoriesPage";
|
||||
import { en } from "@/lib/i18n/en";
|
||||
|
||||
export default function BusinessProductCategoriesPage() {
|
||||
return (
|
||||
<BusinessMeshkeeGate>
|
||||
{(meshkeeId) => (
|
||||
<ManageCategoriesPage
|
||||
meshkeeId={meshkeeId}
|
||||
entityType="product"
|
||||
title={en.products.categoriesTitle}
|
||||
lead={en.products.categoriesLead}
|
||||
listHref="/products"
|
||||
listLabel={en.products.title}
|
||||
/>
|
||||
)}
|
||||
</BusinessMeshkeeGate>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
"use client";
|
||||
|
||||
import {
|
||||
BusinessMeshkeeGate,
|
||||
} from "@/components/business/BusinessPageChrome";
|
||||
import AddProductForm from "@/components/catalog/AddProductForm";
|
||||
import { en } from "@/lib/i18n/en";
|
||||
|
||||
export default function BusinessAddProductPage() {
|
||||
return (
|
||||
<BusinessMeshkeeGate>
|
||||
{(meshkeeId) => (
|
||||
<AddProductForm
|
||||
meshkeeId={meshkeeId}
|
||||
listHref="/products"
|
||||
title={en.products.addTitle}
|
||||
lead={en.products.addLead}
|
||||
/>
|
||||
)}
|
||||
</BusinessMeshkeeGate>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
"use client";
|
||||
|
||||
import Link from "next/link";
|
||||
import {
|
||||
BusinessListHeader,
|
||||
BusinessMeshkeeGate,
|
||||
} from "@/components/business/BusinessPageChrome";
|
||||
import ProductsPanel from "@/components/catalog/ProductsPanel";
|
||||
import { en } from "@/lib/i18n/en";
|
||||
import styles from "@/components/BusinessDetailsPage.module.css";
|
||||
|
||||
export default function BusinessProductsPage() {
|
||||
return (
|
||||
<BusinessMeshkeeGate>
|
||||
{(meshkeeId) => (
|
||||
<>
|
||||
<BusinessListHeader
|
||||
title={en.products.title}
|
||||
lead={en.products.lead}
|
||||
action={
|
||||
<>
|
||||
<Link
|
||||
href="/products/categories"
|
||||
className={`outline-btn ${styles.actionBtn}`}
|
||||
>
|
||||
{en.products.manageCategories}
|
||||
</Link>
|
||||
<Link
|
||||
href="/products/new"
|
||||
className={`outline-btn ${styles.actionBtn}`}
|
||||
>
|
||||
{en.products.add}
|
||||
</Link>
|
||||
</>
|
||||
}
|
||||
/>
|
||||
<ProductsPanel
|
||||
meshkeeId={meshkeeId}
|
||||
emptyLabel={en.products.empty}
|
||||
addHref="/products/new"
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
</BusinessMeshkeeGate>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
"use client";
|
||||
|
||||
import { BusinessMeshkeeGate } from "@/components/business/BusinessPageChrome";
|
||||
import EditBusinessPage from "@/components/EditBusinessPage";
|
||||
|
||||
export default function BusinessProfilePage() {
|
||||
return (
|
||||
<BusinessMeshkeeGate>
|
||||
{(meshkeeId) => (
|
||||
<EditBusinessPage meshkeeBusinessId={meshkeeId} variant="business" />
|
||||
)}
|
||||
</BusinessMeshkeeGate>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user