Files
careit-1.0/frontendcareit_v4/src/app/component/landingpage.tsx
T
2026-02-06 14:22:35 +07:00

193 lines
7.2 KiB
TypeScript

"use client";
import Image from "next/image";
// Static imports for assets to ensure they work in Electron build
import logoImage from "../../../public/assets/LOGO_CAREIT.svg";
import circleImage from "../../../public/assets/LandingPage/lingkaranLandingPage.svg";
import doctorImage from "../../../public/assets/LandingPage/dokterLucu.svg";
import stethoscopeImage from "../../../public/assets/LandingPage/stetoskop.svg";
import syringeImage from "../../../public/assets/LandingPage/suntik.svg";
interface LandingPageProps {
onStartNow?: () => void;
}
const LandingPage = ({ onStartNow }: LandingPageProps) => {
return (
<div className="min-h-screen bg-white flex flex-col lg:flex-row overflow-x-hidden">
{/* Left Section - White Background */}
<div className="flex-1 flex flex-col justify-center px-4 sm:px-6 md:px-12 lg:px-16 xl:px-24 py-8 sm:py-12 lg:py-16">
{/* Logo */}
<div className="mb-4 sm:mb-6 lg:mb-8">
<Image
src={logoImage}
alt="CARE-IT Logo"
width={180}
height={90}
className="object-contain w-28 sm:w-32 md:w-40 lg:w-48"
priority
/>
</div>
{/* Main Heading */}
<div className="mb-4 sm:mb-6 lg:mb-8">
<h1 className="text-3xl sm:text-4xl md:text-5xl lg:text-6xl xl:text-7xl font-bold text-[#2591D0] leading-tight">
TARIF BPJS TEPAT
<br />
LAYANAN HEBAT
</h1>
</div>
{/* Descriptive Text */}
<div className="mb-6 sm:mb-8 lg:mb-10 max-w-2xl">
<p className="text-sm sm:text-base md:text-lg lg:text-xl text-[#2591D0] leading-relaxed">
Care It memudahkan dokter memverifikasi tarif tindakan agar sesuai standar BPJS,
dengan fitur warning billing sign yang memberi peringatan otomatis saat tarif melebihi batas,
sehingga rumah sakit tetap patuh, aman, dan bebas overbilling.
</p>
</div>
{/* Call-to-Action Button */}
<div>
<button
onClick={onStartNow}
className="bg-[#87CEEB] text-[#2591D0] px-8 sm:px-10 md:px-12 py-3 sm:py-4 md:py-5 rounded-full font-bold text-base sm:text-lg md:text-xl uppercase hover:bg-[#6bb8d8] hover:text-white transition-all duration-300 shadow-lg w-full sm:w-auto"
>
START NOW
</button>
</div>
</div>
{/* Right Section - White Background with Circle Decorative */}
<div className="flex-1 relative hidden md:block overflow-hidden min-h-[400px] lg:min-h-screen bg-white">
{/* Circular Decorative Element - Background */}
<div className="absolute inset-0 flex items-center justify-center overflow-hidden">
<div className="relative" style={{ transform: 'translate(20%, -20%) scale(1.3)' }}>
<Image
src={circleImage}
alt="Decorative Circle"
width={695}
height={738}
className="object-contain w-full h-full opacity-30"
priority
style={{ filter: 'brightness(0) saturate(100%) invert(40%) sepia(90%) saturate(2000%) hue-rotate(190deg) brightness(0.9) contrast(1.1)' }}
/>
</div>
</div>
{/* White Curve Overlay - Complex curved shape from right extending to left */}
<div className="absolute inset-0">
<svg className="absolute inset-0 w-full h-full" preserveAspectRatio="none" style={{ zIndex: 1 }}>
<path
d="M 100 0 L 100 100 C 95 95, 85 85, 70 75 C 55 65, 40 55, 25 45 C 15 35, 8 25, 0 15 L 0 0 Z"
fill="white"
/>
</svg>
</div>
{/* 3D Doctor Illustration - Aligned with logo top and text bottom */}
<div className="absolute inset-0 z-10" style={{ top: '8rem', bottom: '8rem' }}>
<div className="relative w-full h-full flex items-center justify-center">
<div style={{ transform: 'translate(20%, -20%)' }}>
<Image
src={doctorImage}
alt="Doctor Illustration"
width={480}
height={576}
className="object-contain w-full h-full max-w-[24rem] xl:max-w-[26rem] 2xl:max-w-[28rem]"
priority
/>
</div>
</div>
</div>
{/* Floating Stethoscope Icon - Upper Left */}
<div className="absolute top-20 left-12 xl:left-16 z-20">
<Image
src={stethoscopeImage}
alt="Stethoscope"
width={120}
height={120}
className="object-contain w-20 h-20 sm:w-24 sm:h-24 md:w-28 md:h-28 lg:w-32 lg:h-32"
/>
</div>
{/* Floating Syringe Icon - Lower Right */}
<div className="absolute bottom-20 right-12 xl:right-16 z-20">
<Image
src={syringeImage}
alt="Syringe"
width={120}
height={120}
className="object-contain w-20 h-20 sm:w-24 sm:h-24 md:w-28 md:h-28 lg:w-32 lg:h-32"
/>
</div>
</div>
{/* Mobile View - Show doctor illustration */}
<div className="lg:hidden w-full bg-white py-8 px-4 flex items-center justify-center relative min-h-[300px] sm:min-h-[350px] overflow-hidden">
{/* Circular Decorative Element - Background Mobile */}
<div className="absolute inset-0 flex items-center justify-center">
<div className="relative w-[500px] h-[500px] sm:w-[600px] sm:h-[600px] max-w-none" style={{ transform: 'translate(15%, 10%)' }}>
<Image
src={circleImage}
alt="Decorative Circle"
width={695}
height={738}
className="object-contain w-full h-full opacity-20 sm:opacity-25"
priority
style={{ filter: 'brightness(0) saturate(100%) invert(40%) sepia(90%) saturate(2000%) hue-rotate(190deg) brightness(0.9) contrast(1.1)' }}
/>
</div>
</div>
{/* White Curve for Mobile */}
<div className="absolute inset-0 overflow-hidden">
<svg className="absolute bottom-0 w-full h-full" preserveAspectRatio="none">
<path
d="M 0 100 L 100 100 L 100 60 C 80 50, 50 40, 0 30 Z"
fill="white"
/>
</svg>
</div>
{/* Doctor Illustration - Mobile */}
<div className="relative z-10">
<Image
src={doctorImage}
alt="Doctor Illustration"
width={260}
height={347}
className="object-contain w-full max-w-[13rem]"
priority
/>
</div>
{/* Mobile Icons */}
<div className="absolute top-8 left-12 z-20">
<Image
src={stethoscopeImage}
alt="Stethoscope"
width={80}
height={80}
className="object-contain w-16 h-16 sm:w-20 sm:h-20"
/>
</div>
<div className="absolute bottom-4 right-4 z-20">
<Image
src={syringeImage}
alt="Syringe"
width={80}
height={80}
className="object-contain w-16 h-16 sm:w-20 sm:h-20"
/>
</div>
</div>
</div>
);
};
export default LandingPage;