import React, { useState } from 'react';
const IconChevronLeft = ({ className }) => ;
const IconChevronRight = ({ className }) => ;
const IconCrown = ({ className, fill="none" }) => ;
const IconClock = ({ className }) => ;
const IconChevronRightSmall = ({ className }) => ;
const FallbackCuteFox = () => (
);
const ranks = [
{ id: 'bronze', name: 'BRONZE', title: 'ブロンズ会員', bgClass: 'bg-gradient-to-br from-[#C49B75] via-[#DEBEA2] to-[#A37B57]', textClass: 'text-amber-50 drop-shadow-sm', isDark: false },
{ id: 'silver', name: 'SILVER', title: 'シルバー会員', bgClass: 'bg-gradient-to-br from-[#CBD5E1] via-[#F1F5F9] to-[#94A3B8]', textClass: 'text-slate-800', isDark: true },
{ id: 'gold', name: 'GOLD', title: 'ゴールド会員', bgClass: 'bg-gradient-to-br from-[#F5D76E] via-[#FFF2A8] to-[#D4AF37]', textClass: 'text-yellow-900 font-bold', isDark: true },
{ id: 'platinum', name: 'PLATINUM', title: 'プラチナ会員', bgClass: 'bg-gradient-to-br from-[#E2E8F0] via-[#FFFFFF] to-[#CBD5E1] shimmer', textClass: 'text-slate-800 font-bold', isDark: true },
{ id: 'black', name: 'BLACK', title: 'ブラック会員', bgClass: 'bg-gradient-to-br from-[#222] via-[#111] to-[#000] shimmer-dark', textClass: 'text-gray-100 font-bold', isDark: false },
{ id: 'royal', name: 'ROYAL', title: 'ロイヤル会員', bgClass: 'rainbow-bg', textClass: 'text-white font-black drop-shadow-[0_0_12px_rgba(255,255,255,1)]', isDark: false }
];
export default function App() {
const [activeIndex, setActiveIndex] = useState(0);
const [stays, setStays] = useState(3); // デモ用の宿泊数(0〜5)
const [imgError, setImgError] = useState(false);
// 新しいデザイン名を 'stylish' に設定
const [designPattern, setDesignPattern] = useState('glass');
const handlePrev = () => { setActiveIndex((prev) => (prev === 0 ? ranks.length - 1 : prev - 1)); setImgError(false); };
const handleNext = () => { setActiveIndex((prev) => (prev === ranks.length - 1 ? 0 : prev + 1)); setImgError(false); };
// ゲージ/ポイントクリックでスタンプが貯まるデモ
const handleGaugeClick = () => setStays((prev) => (prev + 1) % 6);
const currentRank = ranks[activeIndex];
const isMaxRank = activeIndex === ranks.length - 1;
const imagePath = "https://chusho-uand3.com/onsen.png";
const renderImage = (className) => (
imgError ? setImgError(true)} />
);
return (
NASU ROYAL PASSPORT
STAYS
{isMaxRank ? 'MAX' : `${stays} / 5`}
最高ランク到達
) : (次のランクまで あと {5 - stays} 泊
)}Nasu Royal Passport
{isMaxRank ? 'Max Status' : 'Next Stage'}
{isMaxRank ? 'MAX' : `${stays} / 5`}
ロイヤルステータス到達
) : (次のランクまで あと {5 - stays} 泊
)}Nasu Royal Passport