@ctonti/ask-golf-veneto 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{app-DWg095Qd.mjs → app-a0BueseU.mjs} +43 -14
- package/dist/app-a0BueseU.mjs.map +1 -0
- package/dist/browser.js +694 -480
- package/dist/browser.js.map +1 -1
- package/dist/exports/client.mjs +1 -1
- package/dist/exports/registry.mjs +1 -1
- package/dist/globals.css +1 -0
- package/dist/index.mjs +1 -1
- package/dist/registry-YcWNxjzA.mjs +1385 -0
- package/dist/registry-YcWNxjzA.mjs.map +1 -0
- package/dist/styles.css +800 -240
- package/package.json +2 -2
- package/dist/app-DWg095Qd.mjs.map +0 -1
- package/dist/registry-Bq-3Pbqd.mjs +0 -1211
- package/dist/registry-Bq-3Pbqd.mjs.map +0 -1
package/dist/browser.js
CHANGED
|
@@ -29996,6 +29996,10 @@ const Music2 = createLucideIcon("music-2", [["circle", {
|
|
|
29996
29996
|
d: "M12 18V2l7 4",
|
|
29997
29997
|
key: "g04rme"
|
|
29998
29998
|
}]]);
|
|
29999
|
+
const Navigation = createLucideIcon("navigation", [["polygon", {
|
|
30000
|
+
points: "3 11 22 2 13 21 11 13 3 11",
|
|
30001
|
+
key: "1ltx0t"
|
|
30002
|
+
}]]);
|
|
29999
30003
|
const OctagonX = createLucideIcon("octagon-x", [
|
|
30000
30004
|
["path", {
|
|
30001
30005
|
d: "m15 9-6 6",
|
|
@@ -30074,6 +30078,13 @@ const Plus = createLucideIcon("plus", [["path", {
|
|
|
30074
30078
|
d: "M12 5v14",
|
|
30075
30079
|
key: "s699le"
|
|
30076
30080
|
}]]);
|
|
30081
|
+
const Quote = createLucideIcon("quote", [["path", {
|
|
30082
|
+
d: "M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",
|
|
30083
|
+
key: "rib7q0"
|
|
30084
|
+
}], ["path", {
|
|
30085
|
+
d: "M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",
|
|
30086
|
+
key: "1ymkrd"
|
|
30087
|
+
}]]);
|
|
30077
30088
|
const Ruler = createLucideIcon("ruler", [
|
|
30078
30089
|
["path", {
|
|
30079
30090
|
d: "M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z",
|
|
@@ -69125,20 +69136,49 @@ function Chat$1({ appKey, apiKey, ...props }) {
|
|
|
69125
69136
|
//#region src/components/intro.tsx
|
|
69126
69137
|
function Intro() {
|
|
69127
69138
|
const { PromptIntro } = (0, import_react.useContext)(ComponentsContext);
|
|
69128
|
-
const { contents } = (0, import_react.useContext)(ChatContext);
|
|
69139
|
+
const { contents, append } = (0, import_react.useContext)(ChatContext);
|
|
69129
69140
|
const title = contents.intro?.title || "Progetta la tua <em>vacanza golf</em> in Veneto";
|
|
69130
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.
|
|
69131
|
-
className: "relative flex min-h-[calc(100vh-115px)] flex-col items-center justify-center gap-8
|
|
69132
|
-
children:
|
|
69133
|
-
className: "
|
|
69134
|
-
|
|
69135
|
-
|
|
69136
|
-
|
|
69137
|
-
|
|
69138
|
-
|
|
69139
|
-
|
|
69141
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", {
|
|
69142
|
+
className: "relative flex min-h-[calc(100vh-115px)] flex-col items-center justify-center gap-8 text-foreground overflow-hidden",
|
|
69143
|
+
children: [
|
|
69144
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 z-0 bg-gradient-to-b from-[#213f31] to-[#1a3227]" }),
|
|
69145
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 z-0 bg-[url('https://www.transparenttextures.com/patterns/cubes.png')] opacity-10 mix-blend-overlay" }),
|
|
69146
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69147
|
+
className: "relative z-10 w-full max-w-215 p-6 md:p-2 flex flex-col items-center gap-12",
|
|
69148
|
+
children: [
|
|
69149
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69150
|
+
className: "text-center space-y-4",
|
|
69151
|
+
children: [title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", {
|
|
69152
|
+
className: "text-center text-5xl md:text-7xl font-thin leading-[1.1] tracking-[-0.02em] font-heading italic text-white drop-shadow-md",
|
|
69153
|
+
dangerouslySetInnerHTML: { __html: title }
|
|
69154
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69155
|
+
className: "text-[#e8d9c0] font-sans text-lg md:text-xl font-light uppercase tracking-widest mt-4",
|
|
69156
|
+
children: "Il tuo concierge di viaggio personalizzato"
|
|
69157
|
+
})]
|
|
69158
|
+
}),
|
|
69159
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69160
|
+
className: "w-full bg-white/5 backdrop-blur-lg rounded-2xl p-6 shadow-2xl border border-white/10 relative",
|
|
69161
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PromptIntro, {})
|
|
69162
|
+
}),
|
|
69163
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69164
|
+
className: "flex flex-wrap items-center justify-center gap-3 mt-4 max-w-3xl",
|
|
69165
|
+
children: [
|
|
69166
|
+
"5 giorni golf e prosecco per due",
|
|
69167
|
+
"Weekend romantico con golf a Venezia",
|
|
69168
|
+
"Vacanza famiglia tra golf e Gardaland",
|
|
69169
|
+
"Tour dei migliori campi da golf del Veneto"
|
|
69170
|
+
].map((prompt, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
|
|
69171
|
+
onClick: () => append?.({
|
|
69172
|
+
role: "user",
|
|
69173
|
+
content: prompt
|
|
69174
|
+
}),
|
|
69175
|
+
className: "px-5 py-2.5 rounded-full bg-white/10 hover:bg-[#478264]/80 backdrop-blur text-white text-sm font-medium transition-all duration-300 border border-white/10 hover:border-transparent hover:shadow-lg transform hover:-translate-y-0.5",
|
|
69176
|
+
children: prompt
|
|
69177
|
+
}, i))
|
|
69178
|
+
})
|
|
69179
|
+
]
|
|
69140
69180
|
})
|
|
69141
|
-
|
|
69181
|
+
]
|
|
69142
69182
|
});
|
|
69143
69183
|
}
|
|
69144
69184
|
//#endregion
|
|
@@ -69526,34 +69566,41 @@ const Link = ({ props }) => {
|
|
|
69526
69566
|
const HeroViaggio = ({ props }) => {
|
|
69527
69567
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69528
69568
|
"data-type": "hero-viaggio",
|
|
69529
|
-
className: cn$1("relative flex flex-col items-center justify-center py-
|
|
69530
|
-
children: [props.imageSrc
|
|
69569
|
+
className: cn$1("relative flex flex-col items-center justify-center py-24 @md:py-32 px-8 bg-[#213f31] text-white overflow-hidden rounded-2xl shadow-2xl border border-white/10"),
|
|
69570
|
+
children: [props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69531
69571
|
className: "absolute inset-0 z-0",
|
|
69532
69572
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
69533
69573
|
src: props.imageSrc,
|
|
69534
69574
|
alt: "",
|
|
69535
69575
|
className: "w-full h-full object-cover"
|
|
69536
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-
|
|
69576
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-b from-[#213f31]/90 via-[#213f31]/70 to-[#213f31]/90 mix-blend-multiply" })]
|
|
69577
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69578
|
+
className: "absolute inset-0 z-0 bg-gradient-to-br from-[#213f31] to-[#12241b]",
|
|
69579
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-[url('https://www.transparenttextures.com/patterns/cubes.png')] opacity-20 mix-blend-overlay" })
|
|
69537
69580
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69538
|
-
className: "relative z-10 flex flex-col items-center text-center max-w-4xl mx-auto space-y-
|
|
69581
|
+
className: "relative z-10 flex flex-col items-center text-center max-w-4xl mx-auto space-y-8",
|
|
69539
69582
|
children: [
|
|
69583
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-16 h-px bg-[#e8d9c0]/50 mb-4" }),
|
|
69540
69584
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", {
|
|
69541
|
-
className: "font-heading text-[
|
|
69585
|
+
className: "font-heading text-[40px] @md:text-[64px] @lg:text-[80px] italic leading-[1.1] drop-shadow-lg text-[#faf8f3]",
|
|
69542
69586
|
children: props.title
|
|
69543
69587
|
}),
|
|
69544
69588
|
props.tagline && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69545
|
-
className: "font-sans
|
|
69589
|
+
className: "font-sans font-light uppercase tracking-[0.2em] text-[#e8d9c0] text-sm @md:text-base max-w-2xl drop-shadow",
|
|
69546
69590
|
children: props.tagline
|
|
69547
69591
|
}),
|
|
69592
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-16 h-px bg-[#e8d9c0]/50 mt-4" }),
|
|
69548
69593
|
props.stats && props.stats.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69549
|
-
className: "flex flex-wrap items-center justify-center gap-
|
|
69550
|
-
children: props.stats.map((stat, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("
|
|
69551
|
-
className: "
|
|
69552
|
-
children: [
|
|
69553
|
-
|
|
69554
|
-
|
|
69555
|
-
|
|
69556
|
-
|
|
69594
|
+
className: "flex flex-wrap items-center justify-center gap-6 pt-8",
|
|
69595
|
+
children: props.stats.map((stat, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69596
|
+
className: "flex flex-col items-center bg-white/5 backdrop-blur-md border border-white/10 rounded-xl px-6 py-4 min-w-[120px]",
|
|
69597
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69598
|
+
className: "font-heading italic text-3xl @md:text-4xl text-[#e8d9c0] mb-1",
|
|
69599
|
+
children: stat.value
|
|
69600
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69601
|
+
className: "font-sans text-[10px] uppercase tracking-widest text-white/70 font-semibold",
|
|
69602
|
+
children: stat.label
|
|
69603
|
+
})]
|
|
69557
69604
|
}, i))
|
|
69558
69605
|
})
|
|
69559
69606
|
]
|
|
@@ -69608,32 +69655,52 @@ const ICON_MAP = {
|
|
|
69608
69655
|
const ConceptCard = ({ props }) => {
|
|
69609
69656
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69610
69657
|
"data-type": "concept-card",
|
|
69611
|
-
className: cn$1("bg-
|
|
69612
|
-
children: [
|
|
69613
|
-
className: "
|
|
69614
|
-
|
|
69615
|
-
className: "
|
|
69616
|
-
children: props.debrief
|
|
69617
|
-
})
|
|
69618
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69619
|
-
className: "flex-1 flex flex-col justify-center space-y-6",
|
|
69620
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h3", {
|
|
69621
|
-
className: "font-heading italic text-foreground text-lg @md:text-xl leading-snug",
|
|
69658
|
+
className: cn$1("bg-[#faf8f3] rounded-2xl border border-[#e8d9c0] shadow-lg overflow-hidden flex flex-col p-8 @md:p-10 space-y-8 @md:space-y-0 @md:flex-row @md:gap-12 relative"),
|
|
69659
|
+
children: [
|
|
69660
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-0 right-0 w-32 h-32 bg-[#e8d9c0]/20 rounded-bl-full -z-0" }),
|
|
69661
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69662
|
+
className: "flex-1 relative z-10 flex flex-col justify-center space-y-6 @md:border-r border-[#e8d9c0] @md:pr-10",
|
|
69622
69663
|
children: [
|
|
69623
|
-
"
|
|
69624
|
-
|
|
69625
|
-
|
|
69664
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69665
|
+
className: "flex items-center gap-2 mb-2",
|
|
69666
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "w-8 h-px bg-[#478264]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69667
|
+
className: "text-[10px] uppercase tracking-widest font-bold text-[#478264]",
|
|
69668
|
+
children: "Il Concept"
|
|
69669
|
+
})]
|
|
69670
|
+
}),
|
|
69671
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69672
|
+
className: "relative",
|
|
69673
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Quote, { className: "w-8 h-8 text-[#e8d9c0] absolute -top-4 -left-2 -z-10 opacity-50" }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h3", {
|
|
69674
|
+
className: "font-heading italic text-[#213f31] text-2xl @md:text-3xl leading-snug",
|
|
69675
|
+
children: [
|
|
69676
|
+
"“",
|
|
69677
|
+
props.concept,
|
|
69678
|
+
"”"
|
|
69679
|
+
]
|
|
69680
|
+
})]
|
|
69681
|
+
}),
|
|
69682
|
+
props.themes && props.themes.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69683
|
+
className: "flex flex-wrap gap-2 pt-2",
|
|
69684
|
+
children: props.themes.map((theme, i) => {
|
|
69685
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69686
|
+
className: "flex items-center gap-1.5 bg-white border border-[#e8d9c0] text-[#213f31] text-[10px] uppercase tracking-widest font-bold px-3 py-1.5 rounded-sm shadow-sm",
|
|
69687
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ICON_MAP[theme.icon.toLowerCase()] || Circle, { className: "w-3.5 h-3.5 text-[#478264]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: theme.label })]
|
|
69688
|
+
}, i);
|
|
69689
|
+
})
|
|
69690
|
+
})
|
|
69626
69691
|
]
|
|
69627
|
-
}),
|
|
69628
|
-
|
|
69629
|
-
|
|
69630
|
-
|
|
69631
|
-
|
|
69632
|
-
|
|
69633
|
-
|
|
69634
|
-
|
|
69635
|
-
|
|
69636
|
-
|
|
69692
|
+
}),
|
|
69693
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69694
|
+
className: "flex-1 relative z-10 flex flex-col justify-center",
|
|
69695
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69696
|
+
className: "text-[10px] uppercase tracking-widest font-bold text-[#213f31]/40 mb-3",
|
|
69697
|
+
children: "La Visione"
|
|
69698
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69699
|
+
className: "text-[#213f31]/80 font-sans leading-relaxed text-sm @md:text-base",
|
|
69700
|
+
children: props.debrief
|
|
69701
|
+
})]
|
|
69702
|
+
})
|
|
69703
|
+
]
|
|
69637
69704
|
});
|
|
69638
69705
|
};
|
|
69639
69706
|
//#endregion
|
|
@@ -69666,219 +69733,276 @@ const ConceptCardSkeleton = (_props) => {
|
|
|
69666
69733
|
const LOGISTICS_ICON_MAP = {
|
|
69667
69734
|
car: Car,
|
|
69668
69735
|
train: TramFront,
|
|
69669
|
-
ship: Ship
|
|
69736
|
+
ship: Ship,
|
|
69737
|
+
default: Navigation
|
|
69670
69738
|
};
|
|
69671
69739
|
const DayPlan = ({ props }) => {
|
|
69672
|
-
if (!props.sections) return null;
|
|
69673
69740
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69674
69741
|
"data-type": "day-plan",
|
|
69675
|
-
className: cn$1("flex flex-col w-full shadow-
|
|
69742
|
+
className: cn$1("flex flex-col w-full shadow-xl rounded-2xl overflow-hidden border border-[#e8d9c0]/50 bg-[#faf8f3]"),
|
|
69676
69743
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69677
|
-
className: "
|
|
69678
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69679
|
-
className: "flex items-center justify-between z-10",
|
|
69680
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
69681
|
-
className: "font-sans uppercase tracking-wider text-primary-foreground/60 text-xs font-semibold",
|
|
69682
|
-
children: ["Giorno ", props.dayNumber]
|
|
69683
|
-
}), props.location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69684
|
-
className: "flex items-center gap-1 text-primary-foreground/80 text-sm",
|
|
69685
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.location })]
|
|
69686
|
-
})]
|
|
69687
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
|
|
69688
|
-
className: "font-heading text-primary-foreground text-2xl @md:text-3xl z-10 leading-tight",
|
|
69689
|
-
children: props.title
|
|
69690
|
-
})]
|
|
69691
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69692
|
-
className: "bg-card rounded-b-xl px-6 py-2 border border-t-0 border-border",
|
|
69744
|
+
className: "relative overflow-hidden bg-[#213f31] px-8 py-10 flex flex-col gap-4",
|
|
69693
69745
|
children: [
|
|
69694
|
-
|
|
69695
|
-
|
|
69696
|
-
|
|
69697
|
-
|
|
69698
|
-
|
|
69699
|
-
|
|
69700
|
-
|
|
69701
|
-
|
|
69702
|
-
|
|
69703
|
-
|
|
69704
|
-
|
|
69705
|
-
|
|
69706
|
-
|
|
69707
|
-
|
|
69708
|
-
|
|
69709
|
-
|
|
69710
|
-
|
|
69711
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
69712
|
-
className: "text-xs font-medium bg-muted px-2 py-0.5 rounded text-foreground",
|
|
69713
|
-
children: [props.sections.golf.holes, " Holes"]
|
|
69714
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
69715
|
-
className: "text-xs font-medium bg-muted px-2 py-0.5 rounded text-foreground",
|
|
69716
|
-
children: ["Par ", props.sections.golf.par]
|
|
69717
|
-
})]
|
|
69718
|
-
}),
|
|
69719
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69720
|
-
className: "text-sm text-foreground/80 leading-relaxed",
|
|
69721
|
-
children: props.sections.golf.description
|
|
69722
|
-
}),
|
|
69723
|
-
props.sections.golf.highlight && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69724
|
-
className: "text-sm italic text-accent font-serif mt-1",
|
|
69725
|
-
children: props.sections.golf.highlight
|
|
69726
|
-
})
|
|
69727
|
-
]
|
|
69746
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 opacity-10 bg-[url('https://www.transparenttextures.com/patterns/cubes.png')] mix-blend-overlay" }),
|
|
69747
|
+
props.imageSrc && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69748
|
+
className: "absolute inset-0 z-0",
|
|
69749
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
69750
|
+
src: props.imageSrc,
|
|
69751
|
+
alt: "",
|
|
69752
|
+
className: "w-full h-full object-cover opacity-40 mix-blend-luminosity"
|
|
69753
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-[#213f31] to-transparent" })]
|
|
69754
|
+
}),
|
|
69755
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69756
|
+
className: "flex items-center justify-between z-10",
|
|
69757
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
69758
|
+
className: "font-sans uppercase tracking-[0.25em] text-[#e8d9c0] text-[10px] font-bold bg-[#e8d9c0]/10 px-3 py-1 rounded-sm backdrop-blur-sm border border-[#e8d9c0]/20",
|
|
69759
|
+
children: ["Giorno ", props.dayNumber]
|
|
69760
|
+
}), props.location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69761
|
+
className: "flex items-center gap-1.5 text-[#e8d9c0] text-xs font-medium uppercase tracking-widest bg-black/20 px-3 py-1 rounded-sm backdrop-blur-sm",
|
|
69762
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.location })]
|
|
69728
69763
|
})]
|
|
69729
69764
|
}),
|
|
69730
|
-
|
|
69731
|
-
className: "
|
|
69765
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
|
|
69766
|
+
className: "font-heading text-white text-4xl @md:text-5xl z-10 leading-tight italic mt-2 drop-shadow-md",
|
|
69767
|
+
children: props.title
|
|
69768
|
+
})
|
|
69769
|
+
]
|
|
69770
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69771
|
+
className: "bg-[#faf8f3] px-6 @md:px-8 py-4",
|
|
69772
|
+
children: [
|
|
69773
|
+
props.golf && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69774
|
+
className: "py-8 border-b border-[#e8d9c0]/60 last:border-0 relative",
|
|
69775
|
+
children: [
|
|
69776
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute left-0 top-8 w-1 h-12 bg-[#478264] rounded-r-md -ml-6 @md:-ml-8" }),
|
|
69777
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69778
|
+
className: "flex items-center gap-2 mb-4",
|
|
69779
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Flag, { className: "w-5 h-5 text-[#478264]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
69780
|
+
className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#478264]",
|
|
69781
|
+
children: "Golf Experience"
|
|
69782
|
+
})]
|
|
69783
|
+
}),
|
|
69784
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69785
|
+
className: "space-y-4 pl-2 @md:pl-4",
|
|
69786
|
+
children: [
|
|
69787
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69788
|
+
className: "font-heading text-3xl text-[#213f31]",
|
|
69789
|
+
children: props.golf.clubName
|
|
69790
|
+
}),
|
|
69791
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69792
|
+
className: "flex gap-2",
|
|
69793
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
69794
|
+
className: "text-xs font-semibold uppercase tracking-wider bg-white px-3 py-1.5 rounded-md text-[#213f31] border border-[#e8d9c0] shadow-sm",
|
|
69795
|
+
children: [props.golf.holes, " Buche"]
|
|
69796
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
69797
|
+
className: "text-xs font-semibold uppercase tracking-wider bg-white px-3 py-1.5 rounded-md text-[#213f31] border border-[#e8d9c0] shadow-sm",
|
|
69798
|
+
children: ["Par ", props.golf.par]
|
|
69799
|
+
})]
|
|
69800
|
+
}),
|
|
69801
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69802
|
+
className: "text-base text-[#213f31]/80 leading-relaxed font-sans",
|
|
69803
|
+
children: props.golf.description
|
|
69804
|
+
}),
|
|
69805
|
+
props.golf.highlight && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69806
|
+
className: "bg-white p-4 rounded-xl border border-[#e8d9c0] shadow-sm mt-4 inline-block",
|
|
69807
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
|
|
69808
|
+
className: "text-base italic text-[#478264] font-heading text-xl",
|
|
69809
|
+
children: [
|
|
69810
|
+
"\"",
|
|
69811
|
+
props.golf.highlight,
|
|
69812
|
+
"\""
|
|
69813
|
+
]
|
|
69814
|
+
})
|
|
69815
|
+
})
|
|
69816
|
+
]
|
|
69817
|
+
})
|
|
69818
|
+
]
|
|
69819
|
+
}),
|
|
69820
|
+
props.explore && props.explore.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69821
|
+
className: "py-8 border-b border-[#e8d9c0]/60 last:border-0 relative",
|
|
69732
69822
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69733
|
-
className: "flex items-center gap-2 mb-
|
|
69734
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Compass, { className: "w-
|
|
69735
|
-
className: "font-sans font-
|
|
69736
|
-
children: "
|
|
69823
|
+
className: "flex items-center gap-2 mb-5",
|
|
69824
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Compass, { className: "w-5 h-5 text-[#213f31]/50" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
69825
|
+
className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#213f31]/50",
|
|
69826
|
+
children: "Esplora"
|
|
69737
69827
|
})]
|
|
69738
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("
|
|
69739
|
-
className: "
|
|
69740
|
-
children: props.
|
|
69741
|
-
className: "flex flex-col
|
|
69742
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.
|
|
69743
|
-
className: "
|
|
69744
|
-
children:
|
|
69745
|
-
|
|
69746
|
-
|
|
69747
|
-
|
|
69828
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69829
|
+
className: "grid grid-cols-1 @md:grid-cols-2 gap-5 pl-0 @md:pl-4",
|
|
69830
|
+
children: props.explore.map((attr, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69831
|
+
className: "bg-white p-5 rounded-xl border border-[#e8d9c0] shadow-sm flex flex-col gap-3 transition-shadow hover:shadow-md",
|
|
69832
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69833
|
+
className: "flex items-start justify-between gap-3",
|
|
69834
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69835
|
+
className: "font-heading text-2xl text-[#213f31] leading-tight",
|
|
69836
|
+
children: attr.name
|
|
69837
|
+
}), attr.type && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69838
|
+
className: "text-[9px] uppercase tracking-widest font-bold bg-[#faf8f3] text-[#213f31] border border-[#e8d9c0] px-2 py-1 rounded-full whitespace-nowrap",
|
|
69839
|
+
children: attr.type
|
|
69840
|
+
})]
|
|
69841
|
+
}), attr.description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69842
|
+
className: "text-sm text-[#213f31]/70 leading-relaxed",
|
|
69843
|
+
children: attr.description
|
|
69748
69844
|
})]
|
|
69749
69845
|
}, i))
|
|
69750
69846
|
})]
|
|
69751
69847
|
}),
|
|
69752
|
-
props.
|
|
69753
|
-
className: "py-
|
|
69848
|
+
props.dine && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69849
|
+
className: "py-8 border-b border-[#e8d9c0]/60 last:border-0",
|
|
69754
69850
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69755
|
-
className: "flex items-center gap-2 mb-
|
|
69756
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UtensilsCrossed, { className: "w-
|
|
69757
|
-
className: "font-sans font-
|
|
69758
|
-
children: "
|
|
69851
|
+
className: "flex items-center gap-2 mb-5",
|
|
69852
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UtensilsCrossed, { className: "w-5 h-5 text-[#213f31]/50" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
69853
|
+
className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#213f31]/50",
|
|
69854
|
+
children: "Gusto"
|
|
69759
69855
|
})]
|
|
69760
69856
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69761
|
-
className: "
|
|
69857
|
+
className: "bg-white p-6 rounded-xl border border-[#e8d9c0] shadow-sm pl-6 relative overflow-hidden",
|
|
69762
69858
|
children: [
|
|
69859
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-0 right-0 w-24 h-24 bg-[#478264]/5 rounded-bl-full -z-10" }),
|
|
69763
69860
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
|
|
69764
|
-
className: "font-
|
|
69765
|
-
children: [props.
|
|
69766
|
-
className: "font-
|
|
69767
|
-
children: props.
|
|
69861
|
+
className: "font-heading text-3xl text-[#213f31] flex flex-col @md:flex-row @md:items-baseline gap-2 mb-3",
|
|
69862
|
+
children: [props.dine.name, props.dine.cuisine && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
69863
|
+
className: "font-sans font-medium uppercase tracking-[0.15em] text-[#478264] text-xs",
|
|
69864
|
+
children: ["· ", props.dine.cuisine]
|
|
69768
69865
|
})]
|
|
69769
69866
|
}),
|
|
69770
69867
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69771
|
-
className: "text-
|
|
69772
|
-
children: props.
|
|
69868
|
+
className: "text-base text-[#213f31]/80 leading-relaxed mb-4",
|
|
69869
|
+
children: props.dine.description
|
|
69773
69870
|
}),
|
|
69774
|
-
props.
|
|
69775
|
-
className: "
|
|
69776
|
-
children: [
|
|
69871
|
+
props.dine.dish && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69872
|
+
className: "flex items-start gap-3 bg-[#faf8f3] p-4 rounded-xl border border-[#e8d9c0]/50",
|
|
69873
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69874
|
+
className: "text-[#478264] text-lg mt-0.5",
|
|
69875
|
+
children: "★"
|
|
69876
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
|
|
69877
|
+
className: "text-sm text-[#213f31] leading-relaxed",
|
|
69878
|
+
children: [
|
|
69879
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69880
|
+
className: "font-bold text-[10px] uppercase tracking-widest text-[#213f31]/50 block mb-1",
|
|
69881
|
+
children: "Piatto firma"
|
|
69882
|
+
}),
|
|
69883
|
+
" ",
|
|
69884
|
+
props.dine.dish
|
|
69885
|
+
]
|
|
69886
|
+
})]
|
|
69777
69887
|
})
|
|
69778
69888
|
]
|
|
69779
69889
|
})]
|
|
69780
69890
|
}),
|
|
69781
|
-
props.
|
|
69782
|
-
className: "py-
|
|
69891
|
+
props.wine && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69892
|
+
className: "py-8 border-b border-[#e8d9c0]/60 last:border-0",
|
|
69783
69893
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69784
|
-
className: "flex items-center gap-2 mb-
|
|
69785
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Wine, { className: "w-
|
|
69786
|
-
className: "font-sans font-
|
|
69787
|
-
children: "
|
|
69894
|
+
className: "flex items-center gap-2 mb-5",
|
|
69895
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Wine, { className: "w-5 h-5 text-[#8b3a3a]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
69896
|
+
className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#8b3a3a]",
|
|
69897
|
+
children: "Degustazione"
|
|
69788
69898
|
})]
|
|
69789
69899
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69790
|
-
className: "
|
|
69900
|
+
className: "bg-gradient-to-br from-[#fffdfa] to-[#fff5f5] p-6 rounded-xl border border-[#8b3a3a]/15 shadow-sm pl-6 relative",
|
|
69791
69901
|
children: [
|
|
69902
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69903
|
+
className: "absolute right-4 top-4 opacity-5",
|
|
69904
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Wine, { className: "w-24 h-24 text-[#8b3a3a]" })
|
|
69905
|
+
}),
|
|
69792
69906
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69793
|
-
className: "font-
|
|
69794
|
-
children: props.
|
|
69907
|
+
className: "font-heading text-3xl text-[#213f31] mb-3 relative z-10",
|
|
69908
|
+
children: props.wine.name
|
|
69795
69909
|
}),
|
|
69796
69910
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69797
|
-
className: "text-
|
|
69798
|
-
children: props.
|
|
69911
|
+
className: "text-base text-[#213f31]/80 leading-relaxed mb-5 relative z-10 max-w-2xl",
|
|
69912
|
+
children: props.wine.description
|
|
69799
69913
|
}),
|
|
69800
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69801
|
-
className: "flex flex-wrap gap-
|
|
69802
|
-
children: props.
|
|
69803
|
-
className: "text-xs bg-
|
|
69914
|
+
props.wine.wines && props.wine.wines.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69915
|
+
className: "flex flex-wrap gap-2 relative z-10",
|
|
69916
|
+
children: props.wine.wines.map((wine, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69917
|
+
className: "text-xs font-semibold uppercase tracking-wider bg-white border border-[#8b3a3a]/20 text-[#8b3a3a] px-3.5 py-1.5 rounded-full shadow-sm",
|
|
69804
69918
|
children: wine
|
|
69805
69919
|
}, i))
|
|
69806
69920
|
})
|
|
69807
69921
|
]
|
|
69808
69922
|
})]
|
|
69809
69923
|
}),
|
|
69810
|
-
props.
|
|
69811
|
-
className: "py-
|
|
69924
|
+
props.stay && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69925
|
+
className: "py-8 border-b border-[#e8d9c0]/60 last:border-0",
|
|
69812
69926
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69813
|
-
className: "flex items-center gap-2 mb-
|
|
69814
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bed, { className: "w-
|
|
69815
|
-
className: "font-sans font-
|
|
69816
|
-
children: "
|
|
69927
|
+
className: "flex items-center gap-2 mb-5",
|
|
69928
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bed, { className: "w-5 h-5 text-[#b8955e]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
69929
|
+
className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#b8955e]",
|
|
69930
|
+
children: "Soggiorno"
|
|
69817
69931
|
})]
|
|
69818
69932
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69819
|
-
className: "
|
|
69933
|
+
className: "bg-gradient-to-br from-[#fdfbf7] to-[#f4ebd9]/80 p-6 rounded-xl border border-[#b8955e]/30 shadow-sm pl-6",
|
|
69820
69934
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69821
|
-
className: "flex items-center gap-
|
|
69935
|
+
className: "flex flex-col @md:flex-row @md:items-center justify-between mb-3 gap-3",
|
|
69822
69936
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69823
|
-
className: "font-
|
|
69824
|
-
children: props.
|
|
69825
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69826
|
-
className: "text-[10px] uppercase tracking-
|
|
69827
|
-
children: props.
|
|
69937
|
+
className: "font-heading text-3xl text-[#213f31]",
|
|
69938
|
+
children: props.stay.name
|
|
69939
|
+
}), props.stay.type && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69940
|
+
className: "text-[10px] uppercase tracking-widest font-bold bg-[#b8955e] text-white px-3 py-1.5 rounded-sm self-start @md:self-auto shadow-sm",
|
|
69941
|
+
children: props.stay.type
|
|
69828
69942
|
})]
|
|
69829
69943
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69830
|
-
className: "text-
|
|
69831
|
-
children: props.
|
|
69944
|
+
className: "text-base text-[#213f31]/80 leading-relaxed max-w-2xl",
|
|
69945
|
+
children: props.stay.description
|
|
69832
69946
|
})]
|
|
69833
69947
|
})]
|
|
69834
69948
|
}),
|
|
69835
|
-
props.
|
|
69836
|
-
className: "py-
|
|
69837
|
-
children: [
|
|
69838
|
-
|
|
69839
|
-
|
|
69840
|
-
className: "
|
|
69841
|
-
|
|
69842
|
-
|
|
69843
|
-
|
|
69844
|
-
|
|
69845
|
-
|
|
69846
|
-
|
|
69847
|
-
|
|
69949
|
+
props.logistics && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69950
|
+
className: "py-8 border-b border-[#e8d9c0]/60 last:border-0",
|
|
69951
|
+
children: [
|
|
69952
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69953
|
+
className: "flex items-center gap-2 mb-5",
|
|
69954
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Navigation, { className: "w-5 h-5 text-[#213f31]/40" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
69955
|
+
className: "font-sans font-bold uppercase text-xs tracking-[0.2em] text-[#213f31]/40",
|
|
69956
|
+
children: "Spostamenti"
|
|
69957
|
+
})]
|
|
69958
|
+
}),
|
|
69959
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69960
|
+
className: "flex flex-col @md:flex-row @md:items-center justify-between bg-white p-5 rounded-xl border border-[#e8d9c0] pl-6 gap-5 shadow-sm",
|
|
69961
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69962
|
+
className: "flex flex-wrap items-center gap-3 text-[#213f31] font-heading text-2xl",
|
|
69848
69963
|
children: [
|
|
69849
|
-
props.
|
|
69964
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.logistics.from }),
|
|
69850
69965
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69851
|
-
className: "text-
|
|
69852
|
-
children: "
|
|
69966
|
+
className: "text-[#e8d9c0] mx-2",
|
|
69967
|
+
children: "⟶"
|
|
69853
69968
|
}),
|
|
69854
|
-
props.
|
|
69969
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.logistics.to })
|
|
69855
69970
|
]
|
|
69856
|
-
}),
|
|
69857
|
-
|
|
69858
|
-
|
|
69859
|
-
|
|
69860
|
-
className: "
|
|
69861
|
-
|
|
69862
|
-
|
|
69863
|
-
|
|
69864
|
-
})(), props.sections.logistics.time]
|
|
69971
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69972
|
+
className: "flex items-center gap-4 shrink-0",
|
|
69973
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69974
|
+
className: "flex items-center gap-2 bg-[#faf8f3] px-4 py-2 rounded-full border border-[#e8d9c0]",
|
|
69975
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(props.logistics.transport && LOGISTICS_ICON_MAP[props.logistics.transport] ? LOGISTICS_ICON_MAP[props.logistics.transport] : LOGISTICS_ICON_MAP.default, { className: "w-4 h-4 text-[#213f31]/70" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69976
|
+
className: "text-sm font-semibold uppercase tracking-wider text-[#213f31]/80",
|
|
69977
|
+
children: props.logistics.time
|
|
69978
|
+
})]
|
|
69865
69979
|
})
|
|
69866
|
-
})
|
|
69867
|
-
|
|
69868
|
-
|
|
69869
|
-
|
|
69870
|
-
|
|
69871
|
-
|
|
69872
|
-
|
|
69980
|
+
})]
|
|
69981
|
+
}),
|
|
69982
|
+
props.logistics.note && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
69983
|
+
className: "text-sm text-[#213f31]/60 italic mt-3 pl-2 @md:pl-4",
|
|
69984
|
+
children: props.logistics.note
|
|
69985
|
+
})
|
|
69986
|
+
]
|
|
69873
69987
|
}),
|
|
69874
|
-
props.
|
|
69875
|
-
className: "py-
|
|
69988
|
+
props.curiosity && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69989
|
+
className: "py-8 last:border-0",
|
|
69876
69990
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69877
|
-
className: "bg-
|
|
69878
|
-
children: [
|
|
69879
|
-
className: "
|
|
69880
|
-
|
|
69881
|
-
|
|
69991
|
+
className: "bg-gradient-to-r from-[#f4ebd9]/40 to-transparent rounded-2xl p-6 flex gap-5 items-start border border-[#e8d9c0]/60 relative overflow-hidden",
|
|
69992
|
+
children: [
|
|
69993
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute left-0 top-0 bottom-0 w-1.5 bg-[#b8955e]" }),
|
|
69994
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69995
|
+
className: "bg-white p-2.5 rounded-full shadow-sm shrink-0 border border-[#e8d9c0]",
|
|
69996
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Lightbulb, { className: "w-5 h-5 text-[#b8955e]" })
|
|
69997
|
+
}),
|
|
69998
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69999
|
+
className: "text-[10px] uppercase tracking-widest font-bold text-[#b8955e] block mb-2",
|
|
70000
|
+
children: "Lo sapevi che?"
|
|
70001
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
70002
|
+
className: "text-base font-sans text-[#213f31]/90 leading-relaxed italic",
|
|
70003
|
+
children: props.curiosity
|
|
70004
|
+
})] })
|
|
70005
|
+
]
|
|
69882
70006
|
})
|
|
69883
70007
|
})
|
|
69884
70008
|
]
|
|
@@ -69923,111 +70047,144 @@ const DayPlanSkeleton = (_props) => {
|
|
|
69923
70047
|
const GolfClubSpotlight = ({ props }) => {
|
|
69924
70048
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69925
70049
|
"data-type": "golf-club-spotlight",
|
|
69926
|
-
className: cn$1("bg-
|
|
70050
|
+
className: cn$1("bg-white rounded-2xl border border-[#e8d9c0] shadow-lg relative overflow-hidden flex flex-col @md:flex-row"),
|
|
69927
70051
|
children: [
|
|
69928
70052
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69929
|
-
className: "absolute top-0 right-0 bg-
|
|
70053
|
+
className: "absolute top-0 right-0 bg-[#478264] text-white text-[9px] font-bold uppercase tracking-[0.2em] px-4 py-2 rounded-bl-xl z-20 shadow-md",
|
|
69930
70054
|
children: "Network Golf in Veneto"
|
|
69931
70055
|
}),
|
|
69932
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69933
|
-
className: "w-full @md:w-2/5 min-h-[250px] relative",
|
|
69934
|
-
children: props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
69935
|
-
src: props.imageSrc,
|
|
69936
|
-
alt: props.name,
|
|
69937
|
-
className: "w-full h-full object-cover"
|
|
69938
|
-
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
69939
|
-
className: "w-full h-full bg-gradient-to-br from-primary/80 to-primary flex items-center justify-center p-8",
|
|
69940
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Flag, { className: "w-16 h-16 text-white/20" })
|
|
69941
|
-
})
|
|
69942
|
-
}),
|
|
69943
70056
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69944
|
-
className: "w-full @md:w-
|
|
70057
|
+
className: "w-full @md:w-5/12 min-h-[300px] relative",
|
|
69945
70058
|
children: [
|
|
69946
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("
|
|
69947
|
-
|
|
69948
|
-
|
|
70059
|
+
props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
70060
|
+
src: props.imageSrc,
|
|
70061
|
+
alt: props.name,
|
|
70062
|
+
className: "w-full h-full object-cover"
|
|
70063
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70064
|
+
className: "w-full h-full bg-gradient-to-br from-[#213f31] to-[#12241b] flex items-center justify-center p-8",
|
|
70065
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Flag, { className: "w-20 h-20 text-white/10" })
|
|
69949
70066
|
}),
|
|
69950
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("
|
|
69951
|
-
|
|
69952
|
-
|
|
70067
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-transparent" }),
|
|
70068
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70069
|
+
className: "absolute bottom-4 left-4 right-4 z-10 block @md:hidden text-white",
|
|
70070
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
|
|
70071
|
+
className: "font-heading text-3xl mb-1",
|
|
70072
|
+
children: props.name
|
|
70073
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
70074
|
+
className: "font-sans text-sm font-light italic text-white/80",
|
|
70075
|
+
children: props.tagline
|
|
70076
|
+
})]
|
|
70077
|
+
})
|
|
70078
|
+
]
|
|
70079
|
+
}),
|
|
70080
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70081
|
+
className: "w-full @md:w-7/12 p-6 @md:p-8 flex flex-col",
|
|
70082
|
+
children: [
|
|
70083
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70084
|
+
className: "hidden @md:block mb-6",
|
|
70085
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
|
|
70086
|
+
className: "font-heading text-4xl text-[#213f31] mb-2 pr-12 leading-tight",
|
|
70087
|
+
children: props.name
|
|
70088
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
70089
|
+
className: "font-heading italic text-[#478264] text-xl",
|
|
70090
|
+
children: props.tagline
|
|
70091
|
+
})]
|
|
69953
70092
|
}),
|
|
69954
70093
|
props.stats && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69955
|
-
className: "grid grid-cols-2 @lg:grid-cols-3 gap-3 mb-
|
|
70094
|
+
className: "grid grid-cols-2 @lg:grid-cols-3 gap-3 mb-8",
|
|
69956
70095
|
children: [
|
|
69957
70096
|
props.stats.holes && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69958
|
-
className: "flex items-center gap-
|
|
69959
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
70097
|
+
className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
|
|
70098
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70099
|
+
className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
|
|
70100
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Circle, { className: "w-4 h-4 text-[#478264]" })
|
|
70101
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69960
70102
|
className: "flex flex-col",
|
|
69961
70103
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69962
|
-
className: "text-[
|
|
69963
|
-
children: "
|
|
70104
|
+
className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
|
|
70105
|
+
children: "Buche"
|
|
69964
70106
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69965
|
-
className: "text-sm font-
|
|
70107
|
+
className: "text-sm font-bold text-[#213f31]",
|
|
69966
70108
|
children: props.stats.holes
|
|
69967
70109
|
})]
|
|
69968
70110
|
})]
|
|
69969
70111
|
}),
|
|
69970
70112
|
props.stats.par && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69971
|
-
className: "flex items-center gap-
|
|
69972
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
70113
|
+
className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
|
|
70114
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70115
|
+
className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
|
|
70116
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Target, { className: "w-4 h-4 text-[#478264]" })
|
|
70117
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69973
70118
|
className: "flex flex-col",
|
|
69974
70119
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69975
|
-
className: "text-[
|
|
70120
|
+
className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
|
|
69976
70121
|
children: "Par"
|
|
69977
70122
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69978
|
-
className: "text-sm font-
|
|
70123
|
+
className: "text-sm font-bold text-[#213f31]",
|
|
69979
70124
|
children: props.stats.par
|
|
69980
70125
|
})]
|
|
69981
70126
|
})]
|
|
69982
70127
|
}),
|
|
69983
70128
|
props.stats.distance && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69984
|
-
className: "flex items-center gap-
|
|
69985
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
70129
|
+
className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
|
|
70130
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70131
|
+
className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
|
|
70132
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Ruler, { className: "w-4 h-4 text-[#478264]" })
|
|
70133
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69986
70134
|
className: "flex flex-col",
|
|
69987
70135
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69988
|
-
className: "text-[
|
|
69989
|
-
children: "
|
|
70136
|
+
className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
|
|
70137
|
+
children: "Lunghezza"
|
|
69990
70138
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
69991
|
-
className: "text-sm font-
|
|
70139
|
+
className: "text-sm font-bold text-[#213f31]",
|
|
69992
70140
|
children: props.stats.distance
|
|
69993
70141
|
})]
|
|
69994
70142
|
})]
|
|
69995
70143
|
}),
|
|
69996
70144
|
props.stats.courses && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69997
|
-
className: "flex items-center gap-
|
|
69998
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
70145
|
+
className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
|
|
70146
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70147
|
+
className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
|
|
70148
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-4 h-4 text-[#478264]" })
|
|
70149
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
69999
70150
|
className: "flex flex-col",
|
|
70000
70151
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70001
|
-
className: "text-[
|
|
70002
|
-
children: "
|
|
70152
|
+
className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
|
|
70153
|
+
children: "Percorsi"
|
|
70003
70154
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70004
|
-
className: "text-sm font-
|
|
70155
|
+
className: "text-sm font-bold text-[#213f31]",
|
|
70005
70156
|
children: props.stats.courses
|
|
70006
70157
|
})]
|
|
70007
70158
|
})]
|
|
70008
70159
|
}),
|
|
70009
70160
|
props.stats.difficulty && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70010
|
-
className: "flex items-center gap-
|
|
70011
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
70161
|
+
className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
|
|
70162
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70163
|
+
className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
|
|
70164
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Gauge, { className: "w-4 h-4 text-[#478264]" })
|
|
70165
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70012
70166
|
className: "flex flex-col",
|
|
70013
70167
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70014
|
-
className: "text-[
|
|
70015
|
-
children: "
|
|
70168
|
+
className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
|
|
70169
|
+
children: "Difficoltà"
|
|
70016
70170
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70017
|
-
className: "text-sm font-
|
|
70171
|
+
className: "text-sm font-bold text-[#213f31]",
|
|
70018
70172
|
children: props.stats.difficulty
|
|
70019
70173
|
})]
|
|
70020
70174
|
})]
|
|
70021
70175
|
}),
|
|
70022
70176
|
props.stats.terrain && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70023
|
-
className: "flex items-center gap-
|
|
70024
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
70177
|
+
className: "flex items-center gap-3 bg-[#faf8f3] p-3 rounded-xl border border-[#e8d9c0]/50",
|
|
70178
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70179
|
+
className: "bg-white p-1.5 rounded-full shadow-sm border border-[#e8d9c0]",
|
|
70180
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Mountain, { className: "w-4 h-4 text-[#478264]" })
|
|
70181
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70025
70182
|
className: "flex flex-col",
|
|
70026
70183
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70027
|
-
className: "text-[
|
|
70028
|
-
children: "
|
|
70184
|
+
className: "text-[9px] uppercase tracking-widest text-[#213f31]/50 font-bold",
|
|
70185
|
+
children: "Terreno"
|
|
70029
70186
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70030
|
-
className: "text-sm font-
|
|
70187
|
+
className: "text-sm font-bold text-[#213f31]",
|
|
70031
70188
|
children: props.stats.terrain
|
|
70032
70189
|
})]
|
|
70033
70190
|
})]
|
|
@@ -70035,36 +70192,36 @@ const GolfClubSpotlight = ({ props }) => {
|
|
|
70035
70192
|
]
|
|
70036
70193
|
}),
|
|
70037
70194
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
70038
|
-
className: "text-sm text-
|
|
70195
|
+
className: "text-sm text-[#213f31]/80 leading-relaxed mb-6 font-sans",
|
|
70039
70196
|
children: props.description
|
|
70040
70197
|
}),
|
|
70041
70198
|
props.attractions && props.attractions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70042
|
-
className: "mb-6",
|
|
70199
|
+
className: "mb-6 bg-[#faf8f3] p-4 rounded-xl border border-[#e8d9c0]/50",
|
|
70043
70200
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h4", {
|
|
70044
|
-
className: "text-
|
|
70045
|
-
children: "
|
|
70201
|
+
className: "text-[10px] font-bold uppercase tracking-widest text-[#213f31]/60 mb-3",
|
|
70202
|
+
children: "Nei dintorni"
|
|
70046
70203
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", {
|
|
70047
|
-
className: "text-sm space-y-1",
|
|
70204
|
+
className: "text-sm space-y-2 grid grid-cols-1 @lg:grid-cols-2 gap-x-4",
|
|
70048
70205
|
children: props.attractions.map((attr, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", {
|
|
70049
|
-
className: "flex items-center gap-2 text-
|
|
70050
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "w-1 h-1 rounded-full bg-
|
|
70206
|
+
className: "flex items-center gap-2 text-[#213f31]/90",
|
|
70207
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "w-1.5 h-1.5 rounded-full bg-[#e8d9c0]" }), attr]
|
|
70051
70208
|
}, i))
|
|
70052
70209
|
})]
|
|
70053
70210
|
}),
|
|
70054
70211
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70055
|
-
className: "mt-auto pt-
|
|
70212
|
+
className: "mt-auto pt-5 border-t border-[#e8d9c0] flex flex-wrap gap-5 text-xs text-[#213f31]/60 font-medium",
|
|
70056
70213
|
children: [
|
|
70057
70214
|
props.address && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70058
|
-
className: "flex items-center gap-
|
|
70059
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-
|
|
70215
|
+
className: "flex items-center gap-2",
|
|
70216
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-4 h-4 text-[#478264]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.address })]
|
|
70060
70217
|
}),
|
|
70061
70218
|
props.phone && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70062
|
-
className: "flex items-center gap-
|
|
70063
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Phone, { className: "w-
|
|
70219
|
+
className: "flex items-center gap-2",
|
|
70220
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Phone, { className: "w-4 h-4 text-[#478264]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.phone })]
|
|
70064
70221
|
}),
|
|
70065
70222
|
props.email && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70066
|
-
className: "flex items-center gap-
|
|
70067
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Mail, { className: "w-
|
|
70223
|
+
className: "flex items-center gap-2",
|
|
70224
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Mail, { className: "w-4 h-4 text-[#478264]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.email })]
|
|
70068
70225
|
})
|
|
70069
70226
|
]
|
|
70070
70227
|
})
|
|
@@ -70112,52 +70269,51 @@ const GolfClubSpotlightSkeleton = (_props) => {
|
|
|
70112
70269
|
};
|
|
70113
70270
|
//#endregion
|
|
70114
70271
|
//#region src/blocks/experience-grid.tsx
|
|
70115
|
-
const CATEGORY_COLORS = {
|
|
70116
|
-
wine: "bg-[#722F37] text-white",
|
|
70117
|
-
food: "bg-[#D2691E] text-white",
|
|
70118
|
-
art: "bg-[#4B0082] text-white",
|
|
70119
|
-
nature: "bg-[#2E8B57] text-white",
|
|
70120
|
-
family: "bg-[#4169E1] text-white",
|
|
70121
|
-
outdoor: "bg-[#556B2F] text-white",
|
|
70122
|
-
wellness: "bg-[#9370DB] text-white"
|
|
70123
|
-
};
|
|
70124
70272
|
const ExperienceGrid = ({ props, children }) => {
|
|
70125
70273
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70126
70274
|
"data-type": "experience-grid",
|
|
70127
|
-
className: cn$1("space-y-6"),
|
|
70128
|
-
children: [props.title && /* @__PURE__ */ (0, import_jsx_runtime.
|
|
70129
|
-
className: "
|
|
70130
|
-
children:
|
|
70275
|
+
className: cn$1("space-y-6 @md:space-y-8 py-4"),
|
|
70276
|
+
children: [props.title && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70277
|
+
className: "flex flex-col items-center mb-8",
|
|
70278
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "w-8 h-px bg-[#478264] mb-4" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
|
|
70279
|
+
className: "font-heading text-3xl @md:text-4xl text-[#213f31] text-center italic",
|
|
70280
|
+
children: props.title
|
|
70281
|
+
})]
|
|
70131
70282
|
}), props.experiences && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70132
|
-
className: "grid grid-cols-1 @md:grid-cols-2 @lg:grid-cols-3 gap-
|
|
70283
|
+
className: "grid grid-cols-1 @md:grid-cols-2 @lg:grid-cols-3 gap-6",
|
|
70133
70284
|
children: props.experiences.map((exp, i) => {
|
|
70134
70285
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70135
|
-
className: "bg-
|
|
70286
|
+
className: "bg-white rounded-xl border border-[#e8d9c0]/50 p-6 shadow-sm hover:shadow-xl transition-all duration-300 flex flex-col h-full relative group",
|
|
70136
70287
|
children: [
|
|
70288
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-0 left-0 w-full h-1 bg-[#478264] rounded-t-xl opacity-0 group-hover:opacity-100 transition-opacity" }),
|
|
70137
70289
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70138
70290
|
className: "mb-4",
|
|
70139
70291
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70140
|
-
className:
|
|
70292
|
+
className: "text-[10px] uppercase font-bold tracking-[0.2em] px-3 py-1.5 rounded-sm bg-[#faf8f3] text-[#213f31]/60 border border-[#e8d9c0]",
|
|
70141
70293
|
children: exp.category
|
|
70142
70294
|
})
|
|
70143
70295
|
}),
|
|
70144
70296
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
70145
|
-
className: "font-
|
|
70297
|
+
className: "font-heading text-2xl text-[#213f31] mb-2 leading-tight group-hover:text-[#478264] transition-colors",
|
|
70146
70298
|
children: exp.name
|
|
70147
70299
|
}),
|
|
70148
70300
|
exp.location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70149
|
-
className: "flex items-center gap-1 text-xs text-
|
|
70150
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3 h-3" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: exp.location })]
|
|
70301
|
+
className: "flex items-center gap-1.5 text-xs text-[#213f31]/50 uppercase tracking-widest font-semibold mb-4",
|
|
70302
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: exp.location })]
|
|
70151
70303
|
}),
|
|
70152
70304
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
70153
|
-
className: "text-sm text-
|
|
70305
|
+
className: "text-sm text-[#213f31]/80 leading-relaxed mb-6 flex-grow font-sans",
|
|
70154
70306
|
children: exp.description
|
|
70155
70307
|
}),
|
|
70156
70308
|
exp.highlight && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70157
|
-
className: "mt-auto pt-
|
|
70158
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.
|
|
70159
|
-
className: "text-sm italic text-
|
|
70160
|
-
children:
|
|
70309
|
+
className: "mt-auto pt-4 border-t border-[#e8d9c0]/50",
|
|
70310
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
|
|
70311
|
+
className: "text-sm italic text-[#b8955e] font-serif leading-relaxed",
|
|
70312
|
+
children: [
|
|
70313
|
+
"\"",
|
|
70314
|
+
exp.highlight,
|
|
70315
|
+
"\""
|
|
70316
|
+
]
|
|
70161
70317
|
})
|
|
70162
70318
|
})
|
|
70163
70319
|
]
|
|
@@ -70207,80 +70363,95 @@ const RouteStrip = ({ props }) => {
|
|
|
70207
70363
|
if (!props.legs || props.legs.length === 0) return null;
|
|
70208
70364
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70209
70365
|
"data-type": "route-strip",
|
|
70210
|
-
className: cn$1("bg-
|
|
70211
|
-
children: [
|
|
70212
|
-
className: "
|
|
70213
|
-
|
|
70214
|
-
|
|
70215
|
-
|
|
70216
|
-
|
|
70217
|
-
|
|
70218
|
-
|
|
70219
|
-
|
|
70220
|
-
|
|
70221
|
-
|
|
70222
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70223
|
-
className: "text-xs font-bold text-foreground mb-0.5",
|
|
70224
|
-
children: leg.from
|
|
70225
|
-
}),
|
|
70226
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
70227
|
-
className: "text-[10px] text-muted-foreground mb-1",
|
|
70228
|
-
children: ["to ", leg.to]
|
|
70229
|
-
}),
|
|
70230
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70231
|
-
className: "flex gap-1",
|
|
70232
|
-
children: [leg.time && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70233
|
-
className: "bg-primary/10 text-primary text-[9px] px-1.5 py-0.5 rounded font-medium",
|
|
70234
|
-
children: leg.time
|
|
70235
|
-
}), leg.distance && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70236
|
-
className: "bg-primary/10 text-primary text-[9px] px-1.5 py-0.5 rounded font-medium",
|
|
70237
|
-
children: leg.distance
|
|
70238
|
-
})]
|
|
70239
|
-
})
|
|
70240
|
-
]
|
|
70241
|
-
})]
|
|
70242
|
-
}, i);
|
|
70243
|
-
})]
|
|
70244
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70245
|
-
className: "flex @md:hidden flex-col gap-6 relative pl-4 py-2",
|
|
70246
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-4 bottom-4 left-[27px] w-[2px] border-l-2 border-dashed border-border/60 z-0" }), props.legs.map((leg, i) => {
|
|
70247
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70248
|
-
className: "relative z-10 flex items-start gap-4",
|
|
70249
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70250
|
-
className: "flex items-center justify-center w-8 h-8 rounded-full bg-card border-2 border-primary/20 text-primary shadow-sm shrink-0",
|
|
70251
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TRANSPORT_ICONS[leg.transport?.toLowerCase()] || Car, { className: "w-4 h-4" })
|
|
70252
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70253
|
-
className: "flex flex-col pt-1",
|
|
70366
|
+
className: cn$1("bg-[#faf8f3] border border-[#e8d9c0] rounded-2xl p-6 @md:p-10 shadow-sm relative overflow-hidden"),
|
|
70367
|
+
children: [
|
|
70368
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-0 right-0 w-32 h-32 bg-[#e8d9c0]/10 rounded-bl-full -z-0" }),
|
|
70369
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
70370
|
+
className: "font-heading text-2xl text-[#213f31] mb-8 text-center italic",
|
|
70371
|
+
children: "Il tuo itinerario"
|
|
70372
|
+
}),
|
|
70373
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70374
|
+
className: "hidden @md:flex items-center justify-between relative w-full px-8 pb-4 z-10",
|
|
70375
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-8 left-16 right-16 h-[1px] border-b border-dashed border-[#e8d9c0] -translate-y-1/2 z-0" }), props.legs.map((leg, i) => {
|
|
70376
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70377
|
+
className: "relative z-10 flex flex-col items-center group w-40",
|
|
70254
70378
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70255
|
-
className: "flex items-center
|
|
70379
|
+
className: "flex items-center justify-center w-16 h-16 rounded-full bg-white border border-[#e8d9c0] shadow-md group-hover:border-[#b8955e] group-hover:shadow-lg transition-all mb-4 relative",
|
|
70380
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TRANSPORT_ICONS[leg.transport?.toLowerCase()] || Car, { className: "w-6 h-6 text-[#213f31]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute -bottom-2 w-2 h-2 rounded-full bg-[#b8955e]" })]
|
|
70381
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70382
|
+
className: "flex flex-col items-center text-center",
|
|
70256
70383
|
children: [
|
|
70257
70384
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70258
|
-
className: "text-sm font-
|
|
70385
|
+
className: "text-sm font-heading text-[#213f31] mb-1 text-xl leading-tight",
|
|
70259
70386
|
children: leg.from
|
|
70260
70387
|
}),
|
|
70261
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
70262
|
-
className: "text-
|
|
70263
|
-
children: "
|
|
70388
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
70389
|
+
className: "text-[10px] uppercase tracking-widest text-[#213f31]/40 font-bold mb-2",
|
|
70390
|
+
children: ["verso ", leg.to]
|
|
70264
70391
|
}),
|
|
70265
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
70266
|
-
className: "
|
|
70267
|
-
children:
|
|
70392
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70393
|
+
className: "flex gap-2 bg-white px-3 py-1.5 rounded-sm border border-[#e8d9c0] shadow-sm",
|
|
70394
|
+
children: [
|
|
70395
|
+
leg.time && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70396
|
+
className: "text-[#b8955e] text-[10px] font-bold uppercase tracking-wider",
|
|
70397
|
+
children: leg.time
|
|
70398
|
+
}),
|
|
70399
|
+
leg.time && leg.distance && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70400
|
+
className: "text-[#e8d9c0]",
|
|
70401
|
+
children: "|"
|
|
70402
|
+
}),
|
|
70403
|
+
leg.distance && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70404
|
+
className: "text-[#b8955e] text-[10px] font-bold uppercase tracking-wider",
|
|
70405
|
+
children: leg.distance
|
|
70406
|
+
})
|
|
70407
|
+
]
|
|
70268
70408
|
})
|
|
70269
70409
|
]
|
|
70410
|
+
})]
|
|
70411
|
+
}, i);
|
|
70412
|
+
})]
|
|
70413
|
+
}),
|
|
70414
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70415
|
+
className: "flex @md:hidden flex-col gap-8 relative pl-6 py-4 z-10",
|
|
70416
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-8 bottom-8 left-[39px] w-[1px] border-l border-dashed border-[#e8d9c0] z-0" }), props.legs.map((leg, i) => {
|
|
70417
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70418
|
+
className: "relative z-10 flex items-start gap-6",
|
|
70419
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70420
|
+
className: "flex items-center justify-center w-12 h-12 rounded-full bg-white border border-[#e8d9c0] shadow-sm shrink-0 relative mt-1",
|
|
70421
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TRANSPORT_ICONS[leg.transport?.toLowerCase()] || Car, { className: "w-5 h-5 text-[#213f31]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute -right-1 top-1/2 -translate-y-1/2 w-2 h-2 rounded-full bg-[#b8955e]" })]
|
|
70270
70422
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70271
|
-
className: "flex
|
|
70272
|
-
children: [
|
|
70273
|
-
className: "
|
|
70274
|
-
children:
|
|
70275
|
-
|
|
70276
|
-
|
|
70277
|
-
|
|
70423
|
+
className: "flex flex-col bg-white p-4 rounded-xl border border-[#e8d9c0] shadow-sm w-full",
|
|
70424
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70425
|
+
className: "flex items-center gap-2 mb-2 flex-wrap",
|
|
70426
|
+
children: [
|
|
70427
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70428
|
+
className: "text-xl font-heading text-[#213f31]",
|
|
70429
|
+
children: leg.from
|
|
70430
|
+
}),
|
|
70431
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70432
|
+
className: "text-[#e8d9c0] mx-1",
|
|
70433
|
+
children: "⟶"
|
|
70434
|
+
}),
|
|
70435
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70436
|
+
className: "text-xl font-heading text-[#213f31]/80",
|
|
70437
|
+
children: leg.to
|
|
70438
|
+
})
|
|
70439
|
+
]
|
|
70440
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70441
|
+
className: "flex gap-3",
|
|
70442
|
+
children: [leg.time && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70443
|
+
className: "bg-[#faf8f3] border border-[#e8d9c0]/50 text-[#b8955e] text-[9px] uppercase tracking-widest font-bold px-2 py-1 rounded-sm",
|
|
70444
|
+
children: leg.time
|
|
70445
|
+
}), leg.distance && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70446
|
+
className: "bg-[#faf8f3] border border-[#e8d9c0]/50 text-[#b8955e] text-[9px] uppercase tracking-widest font-bold px-2 py-1 rounded-sm",
|
|
70447
|
+
children: leg.distance
|
|
70448
|
+
})]
|
|
70278
70449
|
})]
|
|
70279
70450
|
})]
|
|
70280
|
-
})
|
|
70281
|
-
}
|
|
70282
|
-
})
|
|
70283
|
-
|
|
70451
|
+
}, i);
|
|
70452
|
+
})]
|
|
70453
|
+
})
|
|
70454
|
+
]
|
|
70284
70455
|
});
|
|
70285
70456
|
};
|
|
70286
70457
|
//#endregion
|
|
@@ -70333,54 +70504,61 @@ const TasteCard = ({ props }) => {
|
|
|
70333
70504
|
const Icon = BADGE_ICONS[props.type?.toLowerCase()] || Sparkles;
|
|
70334
70505
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70335
70506
|
"data-type": "taste-card",
|
|
70336
|
-
className: cn$1("bg-
|
|
70507
|
+
className: cn$1("bg-[#faf8f3] rounded-2xl border border-[#e8d9c0] shadow-lg overflow-hidden flex flex-col @md:flex-row group"),
|
|
70337
70508
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70338
|
-
className: "w-full @md:w-[
|
|
70339
|
-
children: [
|
|
70340
|
-
|
|
70341
|
-
|
|
70342
|
-
|
|
70343
|
-
|
|
70344
|
-
|
|
70345
|
-
|
|
70346
|
-
|
|
70347
|
-
|
|
70348
|
-
|
|
70349
|
-
|
|
70350
|
-
|
|
70351
|
-
|
|
70352
|
-
|
|
70509
|
+
className: "w-full @md:w-[45%] min-h-[250px] relative overflow-hidden",
|
|
70510
|
+
children: [
|
|
70511
|
+
props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
70512
|
+
src: props.imageSrc,
|
|
70513
|
+
alt: props.name,
|
|
70514
|
+
className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"
|
|
70515
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70516
|
+
className: "w-full h-full bg-[#f4ebd9] flex items-center justify-center p-8",
|
|
70517
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { className: "w-16 h-16 text-[#b8955e]/20" })
|
|
70518
|
+
}),
|
|
70519
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-black/50 via-transparent to-transparent" }),
|
|
70520
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70521
|
+
className: "absolute top-4 left-4 bg-white/95 backdrop-blur px-3 py-1.5 rounded-sm shadow-md flex items-center gap-2 z-10 border border-[#e8d9c0]/50",
|
|
70522
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { className: "w-4 h-4 text-[#8b3a3a]" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70523
|
+
className: "text-[10px] font-bold uppercase tracking-widest text-[#213f31]",
|
|
70524
|
+
children: props.type
|
|
70525
|
+
})]
|
|
70526
|
+
})
|
|
70527
|
+
]
|
|
70353
70528
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70354
|
-
className: "w-full @md:w-[
|
|
70529
|
+
className: "w-full @md:w-[55%] p-6 @md:p-8 flex flex-col bg-white",
|
|
70355
70530
|
children: [
|
|
70356
70531
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
70357
|
-
className: "font-heading text-
|
|
70532
|
+
className: "font-heading text-3xl text-[#213f31] mb-2 leading-tight",
|
|
70358
70533
|
children: props.name
|
|
70359
70534
|
}),
|
|
70360
70535
|
props.location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70361
|
-
className: "flex items-center gap-1 text-
|
|
70362
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3 h-3" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.location })]
|
|
70536
|
+
className: "flex items-center gap-1.5 text-[10px] uppercase tracking-[0.2em] font-bold text-[#b8955e] mb-5",
|
|
70537
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.location })]
|
|
70363
70538
|
}),
|
|
70364
70539
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
70365
|
-
className: "text-
|
|
70540
|
+
className: "text-base text-[#213f31]/80 leading-relaxed mb-6 font-sans",
|
|
70366
70541
|
children: props.description
|
|
70367
70542
|
}),
|
|
70368
70543
|
props.highlights && props.highlights.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70369
|
-
className: "flex flex-wrap gap-2 mb-
|
|
70544
|
+
className: "flex flex-wrap gap-2 mb-6",
|
|
70370
70545
|
children: props.highlights.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70371
|
-
className: "bg-
|
|
70546
|
+
className: "bg-[#faf8f3] border border-[#e8d9c0] text-[#213f31]/70 text-[10px] uppercase tracking-widest font-bold px-3 py-1.5 rounded-sm shadow-sm",
|
|
70372
70547
|
children: item
|
|
70373
70548
|
}, i))
|
|
70374
70549
|
}),
|
|
70375
|
-
props.recommendation && /* @__PURE__ */ (0, import_jsx_runtime.
|
|
70376
|
-
className: "mt-auto bg-
|
|
70377
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.
|
|
70378
|
-
className: "
|
|
70550
|
+
props.recommendation && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70551
|
+
className: "mt-auto bg-gradient-to-r from-[#fdfbf7] to-white border border-[#e8d9c0]/50 border-l-2 border-l-[#8b3a3a] rounded-r-lg p-4 shadow-sm relative overflow-hidden",
|
|
70552
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70553
|
+
className: "absolute right-0 top-0 bottom-0 opacity-5",
|
|
70554
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UtensilsCrossed, { className: "w-16 h-16" })
|
|
70555
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
|
|
70556
|
+
className: "text-sm italic text-[#213f31]/90 leading-relaxed relative z-10",
|
|
70379
70557
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70380
|
-
className: "font-
|
|
70381
|
-
children: "
|
|
70558
|
+
className: "font-sans font-bold uppercase tracking-widest text-[9px] text-[#8b3a3a] not-italic block mb-1",
|
|
70559
|
+
children: "Da non perdere"
|
|
70382
70560
|
}), props.recommendation]
|
|
70383
|
-
})
|
|
70561
|
+
})]
|
|
70384
70562
|
})
|
|
70385
70563
|
]
|
|
70386
70564
|
})]
|
|
@@ -70414,58 +70592,63 @@ const TasteCardSkeleton = (_props) => {
|
|
|
70414
70592
|
const StayCard = ({ props }) => {
|
|
70415
70593
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70416
70594
|
"data-type": "stay-card",
|
|
70417
|
-
className: cn$1("bg-
|
|
70595
|
+
className: cn$1("bg-white rounded-2xl border border-[#e8d9c0] shadow-lg overflow-hidden flex flex-col relative group"),
|
|
70418
70596
|
children: [
|
|
70419
70597
|
props.priceRange && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70420
|
-
className: "absolute top-
|
|
70598
|
+
className: "absolute top-4 right-4 bg-[#213f31]/90 backdrop-blur px-3 py-1.5 rounded-sm shadow-md z-10 text-[10px] uppercase tracking-[0.2em] font-bold text-[#e8d9c0] border border-[#e8d9c0]/20",
|
|
70421
70599
|
children: props.priceRange
|
|
70422
70600
|
}),
|
|
70423
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
70424
|
-
className: "w-full aspect-
|
|
70425
|
-
children: props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
70601
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70602
|
+
className: "w-full aspect-[4/3] relative overflow-hidden",
|
|
70603
|
+
children: [props.imageSrc ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
70426
70604
|
src: props.imageSrc,
|
|
70427
70605
|
alt: props.name,
|
|
70428
|
-
className: "w-full h-full object-cover"
|
|
70606
|
+
className: "w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"
|
|
70429
70607
|
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70430
|
-
className: "w-full h-full bg-
|
|
70431
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bed, { className: "w-12 h-12 text-
|
|
70432
|
-
})
|
|
70608
|
+
className: "w-full h-full bg-[#faf8f3] flex items-center justify-center border-b border-[#e8d9c0]",
|
|
70609
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Bed, { className: "w-12 h-12 text-[#b8955e]/20" })
|
|
70610
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-black/60 to-transparent" })]
|
|
70433
70611
|
}),
|
|
70434
70612
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70435
|
-
className: "p-
|
|
70613
|
+
className: "p-6 @md:p-8 flex flex-col flex-grow relative bg-white",
|
|
70436
70614
|
children: [
|
|
70437
70615
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70438
|
-
className: "flex items-center
|
|
70616
|
+
className: "absolute -top-6 left-6 right-6 flex items-center justify-between",
|
|
70439
70617
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70440
|
-
className: "text-[10px] font-bold uppercase tracking-
|
|
70618
|
+
className: "text-[10px] font-bold uppercase tracking-widest text-white bg-[#b8955e] px-3 py-1.5 rounded-sm shadow-md",
|
|
70441
70619
|
children: props.type
|
|
70442
70620
|
}), props.stars && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70443
|
-
className: "flex text-
|
|
70621
|
+
className: "flex gap-0.5 text-[#e8d9c0] text-sm tracking-tighter bg-[#213f31] px-2 py-1 rounded-sm shadow-md",
|
|
70444
70622
|
children: "★".repeat(props.stars)
|
|
70445
70623
|
})]
|
|
70446
70624
|
}),
|
|
70447
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
70448
|
-
className: "
|
|
70449
|
-
children:
|
|
70450
|
-
|
|
70451
|
-
|
|
70452
|
-
|
|
70453
|
-
|
|
70625
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70626
|
+
className: "mt-2",
|
|
70627
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
70628
|
+
className: "font-heading text-3xl text-[#213f31] leading-tight mb-2",
|
|
70629
|
+
children: props.name
|
|
70630
|
+
}), props.location && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70631
|
+
className: "flex items-center gap-1.5 text-[10px] uppercase tracking-widest font-bold text-[#213f31]/50 mb-5",
|
|
70632
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MapPin, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: props.location })]
|
|
70633
|
+
})]
|
|
70454
70634
|
}),
|
|
70455
70635
|
props.features && props.features.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70456
|
-
className: "flex flex-
|
|
70636
|
+
className: "flex flex-col gap-2 mb-6",
|
|
70457
70637
|
children: props.features.map((feature, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70458
|
-
className: "flex items-
|
|
70459
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
70638
|
+
className: "flex items-start gap-3 text-sm text-[#213f31]/80 font-sans",
|
|
70639
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70640
|
+
className: "mt-0.5 bg-[#b8955e]/10 p-0.5 rounded-full shrink-0",
|
|
70641
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Check, { className: "w-3 h-3 text-[#b8955e]" })
|
|
70642
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: feature })]
|
|
70460
70643
|
}, i))
|
|
70461
70644
|
}),
|
|
70462
70645
|
props.whyPerfect && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70463
|
-
className: "mt-auto bg-
|
|
70646
|
+
className: "mt-auto bg-[#faf8f3] border border-[#e8d9c0] rounded-xl p-5 shadow-sm",
|
|
70464
70647
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
|
|
70465
|
-
className: "text-sm italic text-
|
|
70648
|
+
className: "text-sm italic text-[#213f31]/80 leading-relaxed",
|
|
70466
70649
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70467
|
-
className: "font-
|
|
70468
|
-
children: "
|
|
70650
|
+
className: "font-sans font-bold not-italic block text-[9px] uppercase tracking-[0.2em] text-[#b8955e] mb-1.5",
|
|
70651
|
+
children: "L'opinione dell'esperto"
|
|
70469
70652
|
}), props.whyPerfect]
|
|
70470
70653
|
})
|
|
70471
70654
|
})
|
|
@@ -70504,61 +70687,78 @@ const StayCardSkeleton = (_props) => {
|
|
|
70504
70687
|
//#endregion
|
|
70505
70688
|
//#region src/blocks/trip-summary.tsx
|
|
70506
70689
|
const TripSummary = ({ props }) => {
|
|
70507
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.
|
|
70690
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70508
70691
|
"data-type": "trip-summary",
|
|
70509
|
-
className: cn$1("bg-
|
|
70510
|
-
children:
|
|
70511
|
-
className: "
|
|
70512
|
-
|
|
70513
|
-
|
|
70514
|
-
|
|
70515
|
-
|
|
70516
|
-
|
|
70517
|
-
|
|
70518
|
-
className: "flex flex-wrap justify-center gap-8 @md:gap-16 w-full",
|
|
70519
|
-
children: props.stats.map((stat, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70520
|
-
className: "flex flex-col items-center",
|
|
70692
|
+
className: cn$1("bg-[#213f31] text-[#faf8f3] rounded-2xl px-6 py-16 @md:px-12 relative overflow-hidden shadow-2xl"),
|
|
70693
|
+
children: [
|
|
70694
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 z-0 bg-[url('https://www.transparenttextures.com/patterns/cubes.png')] opacity-10 mix-blend-overlay" }),
|
|
70695
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-gradient-to-t from-black/40 to-transparent z-0" }),
|
|
70696
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70697
|
+
className: "relative z-10 flex flex-col items-center max-w-4xl mx-auto space-y-12",
|
|
70698
|
+
children: [
|
|
70699
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70700
|
+
className: "text-center space-y-4",
|
|
70521
70701
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70522
|
-
className: "
|
|
70523
|
-
children:
|
|
70524
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("
|
|
70525
|
-
className: "
|
|
70526
|
-
children:
|
|
70702
|
+
className: "text-[10px] uppercase tracking-[0.3em] font-bold text-[#e8d9c0]",
|
|
70703
|
+
children: "Il Tuo Viaggio in Sintesi"
|
|
70704
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
|
|
70705
|
+
className: "font-heading italic text-4xl @md:text-5xl text-center leading-tight",
|
|
70706
|
+
children: props.title
|
|
70527
70707
|
})]
|
|
70528
|
-
},
|
|
70529
|
-
|
|
70530
|
-
|
|
70531
|
-
|
|
70532
|
-
|
|
70533
|
-
|
|
70534
|
-
|
|
70535
|
-
|
|
70536
|
-
|
|
70537
|
-
className: "text-
|
|
70538
|
-
children:
|
|
70708
|
+
}),
|
|
70709
|
+
props.stats && props.stats.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70710
|
+
className: "flex flex-wrap justify-center gap-10 @md:gap-20 w-full py-8 border-y border-white/10",
|
|
70711
|
+
children: props.stats.map((stat, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70712
|
+
className: "flex flex-col items-center",
|
|
70713
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70714
|
+
className: "font-heading text-5xl @md:text-6xl italic text-[#e8d9c0] mb-2 drop-shadow-md",
|
|
70715
|
+
children: stat.value
|
|
70716
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70717
|
+
className: "text-[10px] uppercase tracking-[0.2em] font-bold text-white/70",
|
|
70718
|
+
children: stat.label
|
|
70539
70719
|
})]
|
|
70540
70720
|
}, i))
|
|
70721
|
+
}),
|
|
70722
|
+
props.highlights && props.highlights.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70723
|
+
className: "w-full max-w-3xl",
|
|
70724
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", {
|
|
70725
|
+
className: "text-center font-sans text-xs uppercase tracking-[0.2em] font-bold text-[#e8d9c0] mb-8",
|
|
70726
|
+
children: "Highlights dell'Esperienza"
|
|
70727
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", {
|
|
70728
|
+
className: "grid grid-cols-1 @md:grid-cols-2 gap-y-6 gap-x-12",
|
|
70729
|
+
children: props.highlights.map((hl, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", {
|
|
70730
|
+
className: "flex items-start gap-4",
|
|
70731
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70732
|
+
className: "mt-1 bg-[#478264] rounded-full p-1 shrink-0 shadow-md border border-[#478264]/20",
|
|
70733
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Check, { className: "w-3 h-3 text-white" })
|
|
70734
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70735
|
+
className: "text-sm font-medium leading-relaxed text-white/90",
|
|
70736
|
+
children: hl
|
|
70737
|
+
})]
|
|
70738
|
+
}, i))
|
|
70739
|
+
})]
|
|
70740
|
+
}),
|
|
70741
|
+
props.closingMessage && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70742
|
+
className: "pt-8 w-full max-w-2xl text-center",
|
|
70743
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
|
|
70744
|
+
className: "font-heading italic text-2xl @md:text-3xl text-[#e8d9c0] leading-snug",
|
|
70745
|
+
children: [
|
|
70746
|
+
"“",
|
|
70747
|
+
props.closingMessage,
|
|
70748
|
+
"”"
|
|
70749
|
+
]
|
|
70750
|
+
})
|
|
70751
|
+
}),
|
|
70752
|
+
props.ctaText && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70753
|
+
className: "mt-8",
|
|
70754
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, {
|
|
70755
|
+
className: "bg-[#e8d9c0] hover:bg-white text-[#213f31] rounded-full px-10 py-7 text-xs font-bold uppercase tracking-[0.2em] shadow-xl transition-all hover:scale-105 border-0",
|
|
70756
|
+
children: props.ctaText
|
|
70757
|
+
})
|
|
70541
70758
|
})
|
|
70542
|
-
|
|
70543
|
-
|
|
70544
|
-
|
|
70545
|
-
children: [
|
|
70546
|
-
"\"",
|
|
70547
|
-
props.closingMessage,
|
|
70548
|
-
"\""
|
|
70549
|
-
]
|
|
70550
|
-
}),
|
|
70551
|
-
props.ctaText && props.ctaUrl && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, {
|
|
70552
|
-
asChild: true,
|
|
70553
|
-
variant: "outline",
|
|
70554
|
-
className: "border-primary-foreground text-foreground hover:bg-primary-foreground hover:text-primary rounded-full px-8 py-6 text-sm font-bold uppercase tracking-wider mt-4",
|
|
70555
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", {
|
|
70556
|
-
href: props.ctaUrl,
|
|
70557
|
-
children: props.ctaText
|
|
70558
|
-
})
|
|
70559
|
-
})
|
|
70560
|
-
]
|
|
70561
|
-
})
|
|
70759
|
+
]
|
|
70760
|
+
})
|
|
70761
|
+
]
|
|
70562
70762
|
});
|
|
70563
70763
|
};
|
|
70564
70764
|
//#endregion
|
|
@@ -70608,24 +70808,38 @@ const TripSummarySkeleton = (_props) => {
|
|
|
70608
70808
|
const InsiderTip = ({ props }) => {
|
|
70609
70809
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70610
70810
|
"data-type": "insider-tip",
|
|
70611
|
-
className: cn$1("bg-
|
|
70612
|
-
children: [
|
|
70613
|
-
className: "
|
|
70614
|
-
|
|
70615
|
-
|
|
70616
|
-
|
|
70617
|
-
|
|
70618
|
-
|
|
70619
|
-
|
|
70620
|
-
|
|
70621
|
-
|
|
70622
|
-
|
|
70623
|
-
|
|
70624
|
-
|
|
70625
|
-
|
|
70626
|
-
|
|
70627
|
-
|
|
70628
|
-
|
|
70811
|
+
className: cn$1("bg-gradient-to-r from-[#f4ebd9] to-white border border-[#e8d9c0] rounded-xl px-6 py-5 @md:px-8 @md:py-6 flex gap-5 shadow-sm relative overflow-hidden"),
|
|
70812
|
+
children: [
|
|
70813
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute left-0 top-0 bottom-0 w-1.5 bg-[#b8955e]" }),
|
|
70814
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70815
|
+
className: "bg-white p-3 rounded-full shadow-sm shrink-0 h-fit border border-[#e8d9c0]/50",
|
|
70816
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Lightbulb, { className: "w-6 h-6 text-[#b8955e]" })
|
|
70817
|
+
}),
|
|
70818
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
70819
|
+
className: "flex flex-col space-y-2",
|
|
70820
|
+
children: [
|
|
70821
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
70822
|
+
className: "flex items-center gap-2",
|
|
70823
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70824
|
+
className: "text-[9px] uppercase tracking-widest font-bold text-[#b8955e] bg-[#b8955e]/10 px-2 py-1 rounded-sm",
|
|
70825
|
+
children: "Il consiglio del concierge"
|
|
70826
|
+
})
|
|
70827
|
+
}),
|
|
70828
|
+
props.title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h4", {
|
|
70829
|
+
className: "font-heading text-xl text-[#213f31] leading-tight",
|
|
70830
|
+
children: props.title
|
|
70831
|
+
}),
|
|
70832
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
70833
|
+
className: "font-sans text-sm text-[#213f31]/80 leading-relaxed",
|
|
70834
|
+
children: props.text
|
|
70835
|
+
}),
|
|
70836
|
+
props.source && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
70837
|
+
className: "text-[10px] uppercase tracking-widest font-bold text-[#213f31]/40 mt-3 block",
|
|
70838
|
+
children: props.source
|
|
70839
|
+
})
|
|
70840
|
+
]
|
|
70841
|
+
})
|
|
70842
|
+
]
|
|
70629
70843
|
});
|
|
70630
70844
|
};
|
|
70631
70845
|
//#endregion
|