ㄱㄱ
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { HeroBanner } from "@/app/components/HeroBanner";
|
||||
import Link from "next/link";
|
||||
import HorizontalCardScroller from "@/app/components/HorizontalCardScroller";
|
||||
import { PostList } from "@/app/components/PostList";
|
||||
import ProfileLabelIcon from "@/app/svgs/profilelableicon";
|
||||
@@ -31,8 +32,8 @@ export default async function Home({ searchParams }: { searchParams: Promise<{ s
|
||||
const renderBoardPanel = (board: { id: string; name: string }) => (
|
||||
<div key={board.id} className="rounded-xl overflow-hidden h-full min-h-0 flex flex-col bg-white">
|
||||
<div className="px-3 py-2 border-b border-neutral-200 flex items-center justify-between">
|
||||
<a href={`/boards/${board.id}`} className="text-lg md:text-xl font-bold text-neutral-800 truncate">{board.name}</a>
|
||||
<a href={`/boards/${board.id}`} className="text-xs px-3 py-1 rounded-full border border-neutral-300 text-neutral-700 hover:bg-neutral-100">더보기</a>
|
||||
<Link href={`/boards/${board.id}`} className="text-lg md:text-xl font-bold text-neutral-800 truncate">{board.name}</Link>
|
||||
<Link href={`/boards/${board.id}`} className="text-xs px-3 py-1 rounded-full border border-neutral-300 text-neutral-700 hover:bg-neutral-100">더보기</Link>
|
||||
</div>
|
||||
<div className="flex-1 min-h-0 overflow-hidden p-0">
|
||||
<PostList boardId={board.id} sort={sort} />
|
||||
@@ -49,21 +50,29 @@ export default async function Home({ searchParams }: { searchParams: Promise<{ s
|
||||
</section>
|
||||
)}
|
||||
|
||||
{/* 제휴 샾 가로 스크롤 (설정 온오프) */}
|
||||
{showPartnerShops && (() => {
|
||||
const items = [
|
||||
{ id: 1, region: "경기도", name: "라온마사지샾", address: "수원시 팔달구 매산로 45", image: "/sample.jpg" },
|
||||
{ id: 2, region: "강원도", name: "휴앤힐링마사지샾", address: "춘천시 중앙로 112", image: "/sample.jpg" },
|
||||
{ id: 3, region: "충청북도", name: "소담마사지샾", address: "청주시 상당구 상당로 88", image: "/sample.jpg" },
|
||||
{ id: 4, region: "충청남도", name: "아늑마사지샾", address: "천안시 동남구 시민로 21", image: "/sample.jpg" },
|
||||
{ id: 5, region: "전라북도", name: "편안한마사지샾", address: "전주시 완산구 풍남문로 77", image: "/sample.jpg" },
|
||||
{ id: 6, region: "전라남도", name: "바른마사지샾", address: "여수시 중앙로 9", image: "/sample.jpg" },
|
||||
{ id: 7, region: "경상북도", name: "늘봄마사지샾", address: "대구시 중구 동성로3길 12", image: "/sample.jpg" },
|
||||
{ id: 8, region: "경상남도", name: "편히쉬다마사지샾", address: "창원시 성산구 중앙대로 150", image: "/sample.jpg" },
|
||||
{ id: 9, region: "제주특별자치도", name: "제주소풍마사지샾", address: "제주시 중앙로 230", image: "/sample.jpg" },
|
||||
{ id: 10, region: "서울특별시", name: "도심휴식마사지샾", address: "강남구 테헤란로 427", image: "/sample.jpg" },
|
||||
];
|
||||
return <HorizontalCardScroller items={items} />;
|
||||
{/* 제휴 샾 가로 스크롤 (설정 온오프, DB에서 불러오기)
|
||||
- 우선 partners 테이블(관리자 페이지 관리 대상) 사용
|
||||
- 없으면 partner_shops로 대체 */}
|
||||
{showPartnerShops && (async () => {
|
||||
// 우선순위: partners(관리자 관리) → partner_shops(폴백)
|
||||
let partners: any[] = [];
|
||||
try {
|
||||
partners = await (prisma as any).partner.findMany({ orderBy: [{ sortOrder: "asc" }, { createdAt: "desc" }], take: 10 });
|
||||
} catch (_) {
|
||||
partners = await prisma.partner.findMany({ orderBy: { createdAt: "desc" }, take: 10 });
|
||||
}
|
||||
const items = partners.map((p: any) => ({
|
||||
id: p.id,
|
||||
region: p.address ? String(p.address).split(" ")[0] : p.category,
|
||||
name: p.name,
|
||||
address: p.address || "",
|
||||
image: p.imageUrl || "/sample.jpg",
|
||||
}));
|
||||
if (items.length > 0) return <HorizontalCardScroller items={items} />;
|
||||
|
||||
const shops = await (prisma as any).partnerShop.findMany({ where: { active: true }, orderBy: [{ sortOrder: "asc" }, { createdAt: "desc" }] });
|
||||
const shopItems = shops.map((s: any) => ({ id: s.id, region: s.region, name: s.name, address: s.address, image: s.imageUrl }));
|
||||
return <HorizontalCardScroller items={shopItems} />;
|
||||
})()}
|
||||
|
||||
{/* 1행: 프로필 + 선택된 보드 2개 (최대 2개) */}
|
||||
|
||||
Reference in New Issue
Block a user