/* global React */
/* Jungle / tropical botanical decorations — silhouette SVGs.
Scattered behind content for a "tiki pub" feel.
All shapes use currentColor + opacity so they tint with the theme. */
function Monstera({ size = 240, rot = 0, color = "#1f4a36" }) {
return (
);
}
function PalmFrond({ size = 280, rot = 0, color = "#1d4030" }) {
// long banana/palm leaf with central vein and side notches
const pinnae = [];
for (let i = -7; i <= 7; i++) {
const x = i * 10;
const len = 40 - Math.abs(i) * 3.5;
if (len < 5) continue;
pinnae.push();
}
return (
);
}
function BananaLeaf({ size = 260, rot = 0, color = "#23533a" }) {
// elongated leaf with diagonal veins
return (
);
}
function Strelitzia({ size = 220, rot = 0 }) {
// Bird-of-paradise — green "boat" bract + orange flame petals + a blue vertical petal
return (
);
}
function Hibiscus({ size = 160, rot = 0, color = "#d94a2e" }) {
// 5-petal hibiscus silhouette + stamen
const petals = [];
for (let i = 0; i < 5; i++) {
const a = (i / 5) * 360 - 90;
petals.push(
);
}
return (
);
}
/* ─────────────────────────────────────────────────────────────────
JungleBackdrop — scatters botanicals across the full page height.
Positioned absolute behind all content via z-index: 0.
Page content needs position:relative & z-index >= 1.
───────────────────────────────────────────────────────────────── */
function JungleBackdrop() {
// pre-positioned arrangement so layout is deliberate, not random
const items = [
// hero corners
{ c: , style: { top: -40, left: -160, opacity: 0.35 } },
{ c: , style: { top: 80, right: -180, opacity: 0.30 } },
{ c: , style: { top: 540, left: -120, opacity: 0.28 } },
{ c: , style: { top: 360, right: 60, opacity: 0.55 } },
// about / menu transition
{ c: , style: { top: 1500, right: -100, opacity: 0.25 } },
{ c: , style: { top: 1900, left: -120, opacity: 0.28 } },
// menu beer area
{ c: , style: { top: 2700, right: -180, opacity: 0.22 } },
{ c: , style: { top: 3000, left: -40, opacity: 0.50 } },
// events
{ c: , style: { top: 4400, left: -160, opacity: 0.25 } },
{ c: , style: { top: 4500, right: 120, opacity: 0.85 } },
// gallery / info
{ c: , style: { top: 5600, right: -180, opacity: 0.25 } },
{ c: , style: { top: 6800, right: -30, opacity: 0.5 } },
{ c: , style: { top: 7400, left: -200, opacity: 0.22 } },
// footer
{ c: , style: { top: 8700, left: -100, opacity: 0.28 } },
{ c: , style: { top: 8800, right: 80, opacity: 0.7 } },
];
return (
{items.map((it, i) => (
{it.c}
))}
);
}
window.JungleBackdrop = JungleBackdrop;
window.Strelitzia = Strelitzia;
window.Hibiscus = Hibiscus;
window.Monstera = Monstera;
window.PalmFrond = PalmFrond;
window.BananaLeaf = BananaLeaf;