Merge version_1 into main #2
@@ -48,22 +48,22 @@ export default function LandingPage() {
|
||||
tag="별나무CAFE"
|
||||
tagIcon={Coffee}
|
||||
tagAnimation="slide-up"
|
||||
background={{ variant: "circleGradient" }}
|
||||
background={{ variant: "sparkles-gradient" }}
|
||||
mediaItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/closeup-male-barista-hands-pouring-alternative-coffee-from-chemex_176420-7897.jpg?_wi=1", imageAlt: "별나무CAFE 카페 내부"
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/closeup-male-barista-hands-pouring-alternative-coffee-from-chemex_176420-7897.jpg", imageAlt: "별나무CAFE 카페 내부"
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/arrangement-picnic-goodies-blanket_23-2148921048.jpg?_wi=1", imageAlt: "신선한 크루아상"
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/arrangement-picnic-goodies-blanket_23-2148921048.jpg", imageAlt: "신선한 크루아상"
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-cups-with-marshmallows_23-2148784998.jpg?_wi=1", imageAlt: "스페셜 음료"
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-cups-with-marshmallows_23-2148784998.jpg", imageAlt: "스페셜 음료"
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/event-hall-furniture-brown-white-colors_114579-2230.jpg?_wi=1", imageAlt: "카페 좌석 공간"
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/event-hall-furniture-brown-white-colors_114579-2230.jpg", imageAlt: "카페 좌석 공간"
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/small-business-manager-her-workshop_23-2149094636.jpg?_wi=1", imageAlt: "카페 입구"
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/small-business-manager-her-workshop_23-2149094636.jpg", imageAlt: "카페 입구"
|
||||
}
|
||||
]}
|
||||
buttons={[
|
||||
@@ -87,16 +87,16 @@ export default function LandingPage() {
|
||||
tagAnimation="slide-up"
|
||||
features={[
|
||||
{
|
||||
id: "01", title: "4.9⭐ 최고 평점", description: "120개 이상의 만족한 고객 리뷰와 평가", imageSrc: "http://img.b2bpic.net/free-photo/closeup-male-barista-hands-pouring-alternative-coffee-from-chemex_176420-7897.jpg?_wi=2", imageAlt: "최고 평점 카페"
|
||||
id: "01", title: "4.9⭐ 최고 평점", description: "120개 이상의 만족한 고객 리뷰와 평가", imageSrc: "http://img.b2bpic.net/free-photo/closeup-male-barista-hands-pouring-alternative-coffee-from-chemex_176420-7897.jpg", imageAlt: "최고 평점 카페"
|
||||
},
|
||||
{
|
||||
id: "02", title: "명물 크루아상", description: "정성스럽게 구운 최고의 버터 크루아상", imageSrc: "http://img.b2bpic.net/free-photo/arrangement-picnic-goodies-blanket_23-2148921048.jpg?_wi=2", imageAlt: "신선한 크루아상"
|
||||
id: "02", title: "명물 크루아상", description: "정성스럽게 구운 최고의 버터 크루아상", imageSrc: "http://img.b2bpic.net/free-photo/arrangement-picnic-goodies-blanket_23-2148921048.jpg", imageAlt: "신선한 크루아상"
|
||||
},
|
||||
{
|
||||
id: "03", title: "스페셜 음료", description: "별나무에이드와 뱅쇼 등 시그니처 음료", imageSrc: "http://img.b2bpic.net/free-photo/front-view-cups-with-marshmallows_23-2148784998.jpg?_wi=2", imageAlt: "스페셜 음료"
|
||||
id: "03", title: "스페셜 음료", description: "별나무에이드와 뱅쇼 등 시그니처 음료", imageSrc: "http://img.b2bpic.net/free-photo/front-view-cups-with-marshmallows_23-2148784998.jpg", imageAlt: "스페셜 음료"
|
||||
},
|
||||
{
|
||||
id: "04", title: "편안한 분위기", description: "2층 좌석과 자연스러운 인테리어로 완벽한 휴식 공간", imageSrc: "http://img.b2bpic.net/free-photo/event-hall-furniture-brown-white-colors_114579-2230.jpg?_wi=2", imageAlt: "카페 분위기"
|
||||
id: "04", title: "편안한 분위기", description: "2층 좌석과 자연스러운 인테리어로 완벽한 휴식 공간", imageSrc: "http://img.b2bpic.net/free-photo/event-hall-furniture-brown-white-colors_114579-2230.jpg", imageAlt: "카페 분위기"
|
||||
}
|
||||
]}
|
||||
textboxLayout="default"
|
||||
@@ -120,13 +120,13 @@ export default function LandingPage() {
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
products={[
|
||||
{
|
||||
id: "1", name: "별나무에이드", price: "₩6,500", imageSrc: "http://img.b2bpic.net/free-photo/front-view-cups-with-marshmallows_23-2148784998.jpg?_wi=3", imageAlt: "별나무에이드"
|
||||
id: "1", name: "별나무에이드", price: "₩6,500", imageSrc: "http://img.b2bpic.net/free-photo/front-view-cups-with-marshmallows_23-2148784998.jpg", imageAlt: "별나무에이드"
|
||||
},
|
||||
{
|
||||
id: "2", name: "뱅쇼 (핫)", price: "₩7,000", imageSrc: "http://img.b2bpic.net/free-photo/front-view-cups-with-marshmallows_23-2148784998.jpg?_wi=4", imageAlt: "뱅쇼"
|
||||
id: "2", name: "뱅쇼 (핫)", price: "₩7,000", imageSrc: "http://img.b2bpic.net/free-photo/front-view-cups-with-marshmallows_23-2148784998.jpg", imageAlt: "뱅쇼"
|
||||
},
|
||||
{
|
||||
id: "3", name: "명물 크루아상", price: "₩5,500", imageSrc: "http://img.b2bpic.net/free-photo/arrangement-picnic-goodies-blanket_23-2148921048.jpg?_wi=3", imageAlt: "명물 크루아상"
|
||||
id: "3", name: "명물 크루아상", price: "₩5,500", imageSrc: "http://img.b2bpic.net/free-photo/arrangement-picnic-goodies-blanket_23-2148921048.jpg", imageAlt: "명물 크루아상"
|
||||
}
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
@@ -145,10 +145,10 @@ export default function LandingPage() {
|
||||
animationType="slide-up"
|
||||
metrics={[
|
||||
{
|
||||
id: "1", value: "2층", title: "독립적인 좌석", description: "1층과 2층으로 나뉜 다양한 좌석 배치", imageSrc: "http://img.b2bpic.net/free-photo/event-hall-furniture-brown-white-colors_114579-2230.jpg?_wi=3", imageAlt: "카페 좌석 공간"
|
||||
id: "1", value: "2층", title: "독립적인 좌석", description: "1층과 2층으로 나뉜 다양한 좌석 배치", imageSrc: "http://img.b2bpic.net/free-photo/event-hall-furniture-brown-white-colors_114579-2230.jpg", imageAlt: "카페 좌석 공간"
|
||||
},
|
||||
{
|
||||
id: "2", value: "자연", title: "미니멀 인테리어", description: "편안한 음악과 자연스러운 공간 디자인", imageSrc: "http://img.b2bpic.net/free-photo/small-business-manager-her-workshop_23-2149094636.jpg?_wi=2", imageAlt: "카페 인테리어"
|
||||
id: "2", value: "자연", title: "미니멀 인테리어", description: "편안한 음악과 자연스러운 공간 디자인", imageSrc: "http://img.b2bpic.net/free-photo/small-business-manager-her-workshop_23-2149094636.jpg", imageAlt: "카페 인테리어"
|
||||
}
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
@@ -167,10 +167,10 @@ export default function LandingPage() {
|
||||
animationType="slide-up"
|
||||
testimonials={[
|
||||
{
|
||||
id: "1", name: "김서연", handle: "수원 카페 애호가", testimonial: "아늑한 분위기와 스페셜 음료가 정말 맛있습니다. 자주 방문하는 단골 카페입니다.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-girl-with-tablet-smoothie-table_1157-2117.jpg?_wi=1", imageAlt: "김서연"
|
||||
id: "1", name: "김서연", handle: "수원 카페 애호가", testimonial: "아늑한 분위기와 스페셜 음료가 정말 맛있습니다. 자주 방문하는 단골 카페입니다.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-girl-with-tablet-smoothie-table_1157-2117.jpg", imageAlt: "김서연"
|
||||
},
|
||||
{
|
||||
id: "2", name: "이준호", handle: "리모트 워커", testimonial: "크루아상이 진짜 맛있어요. 일하기 좋은 분위기와 함께 최고의 카페 경험을 합니다.", imageSrc: "http://img.b2bpic.net/free-photo/young-woman-using-looking-smartphone-with-feeling-happy_1150-4006.jpg?_wi=1", imageAlt: "이준호"
|
||||
id: "2", name: "이준호", handle: "리모트 워커", testimonial: "크루아상이 진짜 맛있어요. 일하기 좋은 분위기와 함께 최고의 카페 경험을 합니다.", imageSrc: "http://img.b2bpic.net/free-photo/young-woman-using-looking-smartphone-with-feeling-happy_1150-4006.jpg", imageAlt: "이준호"
|
||||
},
|
||||
{
|
||||
id: "3", name: "박민주", handle: "카페 매니아", testimonial: "뱅쇼의 따뜻함이 정말 좋아요. 겨울에 꼭 들러야 할 메뉴입니다.", imageSrc: "http://img.b2bpic.net/free-photo/low-angle-friends-taking-photos_23-2148395442.jpg", imageAlt: "박민주"
|
||||
@@ -179,10 +179,10 @@ export default function LandingPage() {
|
||||
id: "4", name: "정다은", handle: "학생", testimonial: "공부하기 좋은 카페예요. 조용하고 편안한 분위기가 최고입니다.", imageSrc: "http://img.b2bpic.net/free-photo/man-drinking-coffee-using-tablet-cafe_1170-637.jpg", imageAlt: "정다은"
|
||||
},
|
||||
{
|
||||
id: "5", name: "최영준", handle: "데이트 스팟 찾기", testimonial: "연인과 함께 가기 좋은 카페입니다. 분위기가 정말 로맨틱하네요.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-girl-with-tablet-smoothie-table_1157-2117.jpg?_wi=2", imageAlt: "최영준"
|
||||
id: "5", name: "최영준", handle: "데이트 스팟 찾기", testimonial: "연인과 함께 가기 좋은 카페입니다. 분위기가 정말 로맨틱하네요.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-girl-with-tablet-smoothie-table_1157-2117.jpg", imageAlt: "최영준"
|
||||
},
|
||||
{
|
||||
id: "6", name: "홍지현", handle: "수원 주민", testimonial: "우리 동네 자랑 카페입니다. 친구들에게 자주 추천합니다.", imageSrc: "http://img.b2bpic.net/free-photo/young-woman-using-looking-smartphone-with-feeling-happy_1150-4006.jpg?_wi=2", imageAlt: "홍지현"
|
||||
id: "6", name: "홍지현", handle: "수원 주민", testimonial: "우리 동네 자랑 카페입니다. 친구들에게 자주 추천합니다.", imageSrc: "http://img.b2bpic.net/free-photo/young-woman-using-looking-smartphone-with-feeling-happy_1150-4006.jpg", imageAlt: "홍지현"
|
||||
}
|
||||
]}
|
||||
speed={40}
|
||||
@@ -207,7 +207,7 @@ export default function LandingPage() {
|
||||
name: "message", placeholder: "문의사항을 입력해주세요 (단체 예약, 특별 요청 등)", rows: 4
|
||||
}}
|
||||
useInvertedBackground={false}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/event-hall-furniture-brown-white-colors_114579-2230.jpg?_wi=4"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/event-hall-furniture-brown-white-colors_114579-2230.jpg"
|
||||
imageAlt="별나무CAFE 내부"
|
||||
mediaAnimation="slide-up"
|
||||
mediaPosition="right"
|
||||
|
||||
@@ -1,51 +1,43 @@
|
||||
"use client";
|
||||
|
||||
import { memo } from "react";
|
||||
import useSvgTextLogo from "./useSvgTextLogo";
|
||||
import { cls } from "@/lib/utils";
|
||||
import React from 'react';
|
||||
|
||||
interface SvgTextLogoProps {
|
||||
logoText: string;
|
||||
adjustHeightFactor?: number;
|
||||
verticalAlign?: "top" | "center";
|
||||
text: string;
|
||||
className?: string;
|
||||
fontSize?: number;
|
||||
fontFamily?: string;
|
||||
fill?: string;
|
||||
textAnchor?: 'start' | 'middle' | 'end';
|
||||
dominantBaseline?: 'auto' | 'middle' | 'hanging';
|
||||
}
|
||||
|
||||
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
|
||||
logoText,
|
||||
adjustHeightFactor,
|
||||
verticalAlign = "top",
|
||||
className = "",
|
||||
}) {
|
||||
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
|
||||
|
||||
const SvgTextLogo: React.FC<SvgTextLogoProps> = ({
|
||||
text,
|
||||
className = '',
|
||||
fontSize = 32,
|
||||
fontFamily = 'Arial, sans-serif',
|
||||
fill = 'currentColor',
|
||||
textAnchor = 'middle',
|
||||
dominantBaseline = 'middle',
|
||||
}) => {
|
||||
return (
|
||||
<svg
|
||||
ref={svgRef}
|
||||
viewBox={viewBox}
|
||||
className={cls("w-full", className)}
|
||||
style={{ aspectRatio: aspectRatio }}
|
||||
preserveAspectRatio="none"
|
||||
role="img"
|
||||
aria-label={`${logoText} logo`}
|
||||
viewBox="0 0 300 100"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
className={className}
|
||||
>
|
||||
<text
|
||||
ref={textRef}
|
||||
x="0"
|
||||
y={verticalAlign === "center" ? "50%" : "0"}
|
||||
className="font-bold fill-current"
|
||||
style={{
|
||||
fontSize: "20px",
|
||||
letterSpacing: "-0.02em",
|
||||
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
|
||||
}}
|
||||
x="150"
|
||||
y="50"
|
||||
fontSize={fontSize}
|
||||
fontFamily={fontFamily}
|
||||
fill={fill}
|
||||
textAnchor={textAnchor}
|
||||
dominantBaseline={dominantBaseline}
|
||||
>
|
||||
{logoText}
|
||||
{text}
|
||||
</text>
|
||||
</svg>
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
SvgTextLogo.displayName = "SvgTextLogo";
|
||||
|
||||
export default SvgTextLogo;
|
||||
export default SvgTextLogo;
|
||||
Reference in New Issue
Block a user