feat: added the home page
|
|
@ -6,7 +6,7 @@ const Home: React.FC = () => {
|
|||
<section className="text-center bg-yellow-100 p-10">
|
||||
<h1 className="text-4xl font-bold mb-4">A Pre-school and Daycare</h1>
|
||||
<h2 className="text-2xl mb-6">for Free Thinkers</h2>
|
||||
<img src="/plimages/slide.png" alt="Slide" className="mx-auto" />
|
||||
<img src="/slide.png" alt="Slide" className="mx-auto" />
|
||||
<h1 className="text-xl italic mt-6">“This is a place where our child feels loved, valued, and excited to learn”</h1>
|
||||
</section>
|
||||
<section className="bg-white p-10">
|
||||
|
|
|
|||
180
app/page.tsx
|
|
@ -1,21 +1,177 @@
|
|||
// import Layout from "components/Layout";
|
||||
|
||||
// const Home: React.FC = () => {
|
||||
// return (
|
||||
// <Layout>
|
||||
// <section className="text-center bg-yellow-100 p-10">
|
||||
// <h1 className="text-4xl font-bold mb-4">A Pre-school and Daycare</h1>
|
||||
// <h2 className="text-2xl mb-6">for Free Thinkers</h2>
|
||||
// <img src="/slide.png" alt="Slide" className="mx-auto" />
|
||||
// <h1 className="text-xl italic mt-6">“This is a place where our child feels loved, valued, and excited to learn”</h1>
|
||||
// </section>
|
||||
// <section className="bg-white p-10">
|
||||
// <h2 className="text-3xl font-bold text-center mb-6">Our Overview</h2>
|
||||
// <div className="grid grid-cols-2 gap-4">
|
||||
// <div>Centres 130+</div>
|
||||
// <div>Children 130+</div>
|
||||
// <div>Faculty 600+</div>
|
||||
// <div>Decades 1</div>
|
||||
// </div>
|
||||
// </section>
|
||||
// </Layout>
|
||||
// );
|
||||
// };
|
||||
|
||||
// export default Home;
|
||||
|
||||
import Layout from "components/Layout";
|
||||
import Image from "next/image";
|
||||
import Link from "next/link";
|
||||
|
||||
const Home: React.FC = () => {
|
||||
const line1 = 'A Pre-school and Daycare';
|
||||
const line2 = 'for Free Thinkers';
|
||||
|
||||
const renderColoredText = (text: string, startIndex: number) => {
|
||||
let colorIndex = startIndex;
|
||||
return text.split('').map((char, idx) => {
|
||||
const colorClass = `text-color-${colorIndex}`;
|
||||
colorIndex += 1;
|
||||
|
||||
// Replace space with non-breaking space to preserve spacing
|
||||
const displayChar = char === ' ' ? '\u00A0' : char;
|
||||
|
||||
return (
|
||||
<span key={idx} className={colorClass}>
|
||||
{displayChar}
|
||||
</span>
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
return (
|
||||
<Layout>
|
||||
<section className="text-center bg-yellow-100 p-10">
|
||||
<h1 className="text-4xl font-bold mb-4">A Pre-school and Daycare</h1>
|
||||
<h2 className="text-2xl mb-6">for Free Thinkers</h2>
|
||||
<img src="/plimages/slide.png" alt="Slide" className="mx-auto" />
|
||||
<h1 className="text-xl italic mt-6">“This is a place where our child feels loved, valued, and excited to learn”</h1>
|
||||
<section
|
||||
className="relative bg-cover bg-center bg-no-repeat h-[500px] flex flex-col items-center justify-center text-white"
|
||||
style={{ backgroundImage: "url('/image 1.png')" }}
|
||||
>
|
||||
<h1 className="text-5xl md:text-6xl font-caveat-brush flex flex-wrap justify-center">
|
||||
{renderColoredText(line1, 1)}
|
||||
</h1>
|
||||
<h1 className="text-5xl md:text-6xl font-caveat-brush flex flex-wrap justify-center mt-4">
|
||||
{renderColoredText(line2, line1.length + 1)}
|
||||
</h1>
|
||||
<nav className="absolute bottom-10">
|
||||
<ul className="flex justify-center">
|
||||
<li>
|
||||
<Link href="#" className="bg-[#a865d7cd] text-black font-caveat-brush text-2xl py-2 px-6 rounded-full shadow-lg hover:text-[#F4A500] transition-colors">
|
||||
ADMISSION
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</section>
|
||||
<section className="bg-white p-10">
|
||||
<h2 className="text-3xl font-bold text-center mb-6">Our Overview</h2>
|
||||
<div className="grid grid-cols-2 gap-4">
|
||||
<div>Centres 130+</div>
|
||||
<div>Children 130+</div>
|
||||
<div>Faculty 600+</div>
|
||||
<div>Decades 1</div>
|
||||
|
||||
<section className="bg-[#FACFCF] h-auto md:h-[500px] flex flex-col md:flex-row items-center justify-between px-[5%] py-10">
|
||||
<Image
|
||||
src="/slide.png"
|
||||
alt="Slide"
|
||||
width={300}
|
||||
height={300}
|
||||
className="w-auto h-auto mb-4 md:mb-0"
|
||||
/>
|
||||
<h1 className="text-[#B54242] text-center mx-4 mb-4 md:mb-0">
|
||||
“This is a place where our child feels loved, valued, and excited to learn”
|
||||
</h1>
|
||||
<Image
|
||||
src="/kids' drawings.png"
|
||||
alt="Kids' drawings"
|
||||
width={300}
|
||||
height={300}
|
||||
className="w-auto h-auto"
|
||||
/>
|
||||
</section>
|
||||
|
||||
{/* Overview Section */}
|
||||
<section className="bg-white p-10 text-center">
|
||||
<h1 className="text-3xl font-bold mb-6">OUR OVERVIEW</h1>
|
||||
<div className="grid grid-cols-2 md:grid-cols-4 gap-6">
|
||||
<div className="bg-gray-100 p-6 rounded shadow">
|
||||
<h2 className="text-xl font-semibold">Centres 130+</h2>
|
||||
</div>
|
||||
<div className="bg-gray-100 p-6 rounded shadow">
|
||||
<h2 className="text-xl font-semibold">Children 130+</h2>
|
||||
</div>
|
||||
<div className="bg-gray-100 p-6 rounded shadow">
|
||||
<h2 className="text-xl font-semibold">Faculty 600+</h2>
|
||||
</div>
|
||||
<div className="bg-gray-100 p-6 rounded shadow">
|
||||
<h2 className="text-xl font-semibold">Decades 1</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div className="mt-10">
|
||||
<Image src="/kids reading a book.png" alt="Kids reading a book" width={400} height={200} className="mx-auto" />
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Testimonials Section */}
|
||||
<section className="bg-gray-50 p-10 text-center">
|
||||
<h4 className="text-3xl font-bold mb-8">Our Testimonials</h4>
|
||||
<div className="grid md:grid-cols-3 gap-8">
|
||||
{/* First testimonial */}
|
||||
<div className="bg-white p-6 rounded shadow">
|
||||
<Image src="/image 2.png" alt="Parent with child" width={100} height={100} className="mx-auto" />
|
||||
<p className="mt-4">
|
||||
“Lil Pals has been a wonderful experience for our daughter, Mia. From the moment we stepped into the school, we were impressed by the warm and welcoming environment..."
|
||||
</p>
|
||||
<p className="mt-2 font-semibold">— Christine & Phil, parents of Mia</p>
|
||||
<div className="mt-2 text-yellow-500">⭐️⭐️⭐️⭐️⭐️</div>
|
||||
</div>
|
||||
{/* Second testimonial */}
|
||||
<div className="bg-white p-6 rounded shadow">
|
||||
<Image src="/image 3.png" alt="Father with child" width={100} height={100} className="mx-auto" />
|
||||
<p className="mt-4">
|
||||
"Lil Pals has been a wonderful experience for our daughter, Ava. From the moment we joined, we were impressed by the warm and nurturing environment..."
|
||||
</p>
|
||||
<p className="mt-2 font-semibold">— Lena & Raj, parents of Ava</p>
|
||||
<div className="mt-2 text-yellow-500">⭐️⭐️⭐️⭐️⭐️</div>
|
||||
</div>
|
||||
{/* Third testimonial */}
|
||||
<div className="bg-white p-6 rounded shadow">
|
||||
<Image src="/image 4.png" alt="Mother with child" width={100} height={100} className="mx-auto" />
|
||||
<p className="mt-4">
|
||||
“Lil Pals has been a wonderful experience for our daughter, Mia. From the moment we stepped into the school, we were impressed by the warm and welcoming environment..."
|
||||
</p>
|
||||
<p className="mt-2 font-semibold">— Christine & Phil, parents of Mia</p>
|
||||
<div className="mt-2 text-yellow-500">⭐️⭐️⭐️⭐️⭐️</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex justify-center mt-6 space-x-4">
|
||||
<button className="text-2xl">◀</button>
|
||||
<button className="text-2xl">▶</button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Admissions Section */}
|
||||
<section className="bg-blue-100 p-10 text-center">
|
||||
<div className="grid md:grid-cols-2 gap-6 items-center">
|
||||
<div>
|
||||
<Image src="/Group 1.png" alt="Lil Pals Logo" width={100} height={100} className="mx-auto" />
|
||||
<h2 className="text-2xl font-bold mt-4">
|
||||
Admissions open for <span className="text-red-500">2024-25!!</span>
|
||||
</h2>
|
||||
<button className="mt-4 bg-blue-500 text-white py-2 px-4 rounded">Apply Now</button>
|
||||
</div>
|
||||
<div>
|
||||
<Image
|
||||
src="/girl and boy sitting on floor and watching tablet.png"
|
||||
alt="Kids playing"
|
||||
width={300}
|
||||
height={200}
|
||||
className="mx-auto"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</Layout>
|
||||
|
|
|
|||
25
components/Font/index.tsx
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
// pages/_document.js
|
||||
import Document, { Html, Head, Main, NextScript } from 'next/document';
|
||||
|
||||
class MyDocument extends Document {
|
||||
render() {
|
||||
return (
|
||||
<Html>
|
||||
<Head>
|
||||
{/* Import Google Fonts */}
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css2?family=Caveat+Brush&display=swap"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
</Head>
|
||||
<body>
|
||||
<Main />
|
||||
<NextScript />
|
||||
</body>
|
||||
</Html>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default MyDocument;
|
||||
|
|
@ -1,10 +1,12 @@
|
|||
import Link from 'next/link';
|
||||
import Image from "next/image";
|
||||
|
||||
|
||||
const Header: React.FC = () => {
|
||||
return (
|
||||
<header className="bg-blue-500 flex justify-between items-center p-4">
|
||||
<div className="left">
|
||||
<img src="/plimages/Group1.png" alt="logo" className="w-12" />
|
||||
<Image src="/Group 1.png" alt="logo" width={100} height={100} />
|
||||
</div>
|
||||
<nav className="right">
|
||||
<ul className="flex space-x-4">
|
||||
|
|
|
|||
BIN
public/Boy shaking hands with someone.png
Normal file
|
After Width: | Height: | Size: 94 KiB |
BIN
public/Cloud.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
public/Group 1.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
public/Group 10.png
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
public/Group 11.png
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
public/Group 12.png
Normal file
|
After Width: | Height: | Size: 105 KiB |
BIN
public/Group 13.png
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
public/Group 14.png
Normal file
|
After Width: | Height: | Size: 82 KiB |
BIN
public/Group 15.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
public/Group 16.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
public/Group 3.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
public/Group 4.png
Normal file
|
After Width: | Height: | Size: 201 KiB |
BIN
public/Group 5.png
Normal file
|
After Width: | Height: | Size: 74 KiB |
BIN
public/Group 6.png
Normal file
|
After Width: | Height: | Size: 129 KiB |
BIN
public/Group 7.png
Normal file
|
After Width: | Height: | Size: 122 KiB |
BIN
public/Group 8.png
Normal file
|
After Width: | Height: | Size: 118 KiB |
BIN
public/Loudspeaker and social media marketing.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
public/Searching the web on tablet.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
public/Three-quarter view of a blue round check mark icon.png
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
public/Vission And Mission.png
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
BIN
public/brain shaped cloud.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
public/children's toy square with different shapes.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
public/done mark.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
public/garland.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
public/girl and boy sitting on floor and watching tablet.png
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
public/gray wiggly flower shape.png
Normal file
|
After Width: | Height: | Size: 146 KiB |
BIN
public/image (1).png
Normal file
|
After Width: | Height: | Size: 164 KiB |
BIN
public/image (2).png
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
public/image 1.png
Normal file
|
After Width: | Height: | Size: 645 KiB |
BIN
public/image 12.png
Normal file
|
After Width: | Height: | Size: 908 KiB |
BIN
public/image 13.png
Normal file
|
After Width: | Height: | Size: 194 KiB |
BIN
public/image 2.png
Normal file
|
After Width: | Height: | Size: 197 KiB |
BIN
public/image 3.png
Normal file
|
After Width: | Height: | Size: 224 KiB |
BIN
public/image 4.png
Normal file
|
After Width: | Height: | Size: 150 KiB |
BIN
public/image 6.png
Normal file
|
After Width: | Height: | Size: 503 KiB |
BIN
public/image.png
Normal file
|
After Width: | Height: | Size: 158 KiB |
BIN
public/kids reading a book.png
Normal file
|
After Width: | Height: | Size: 112 KiB |
BIN
public/kids' drawings.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
public/multicolored smartphone notifications.png
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
public/orange children's teepee.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
public/pink candy.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
public/purple scribble.png
Normal file
|
After Width: | Height: | Size: 177 KiB |
BIN
public/slide.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
|
|
@ -17,6 +17,53 @@ module.exports = {
|
|||
theme: {
|
||||
extend: {
|
||||
colors: {
|
||||
'color-1': 'red',
|
||||
'color-2': 'rgb(34, 22, 95)',
|
||||
'color-3': 'rgb(34, 22, 95)',
|
||||
'color-4': 'rgb(34, 22, 95)',
|
||||
'color-5': 'rgb(34, 22, 95)',
|
||||
'color-6': 'indigo',
|
||||
'color-7': 'violet',
|
||||
'color-8': 'pink',
|
||||
'color-9': 'rgb(224, 224, 224)',
|
||||
'color-10': 'grey',
|
||||
'color-11': 'cyan',
|
||||
'color-12': 'magenta',
|
||||
'color-13': 'teal',
|
||||
'color-14': 'maroon',
|
||||
'color-15': 'maroon',
|
||||
'color-16': 'maroon',
|
||||
'color-17': 'navy',
|
||||
'color-18': 'gold',
|
||||
'color-19': 'silver',
|
||||
'color-20': 'coral',
|
||||
'color-21': 'salmon',
|
||||
'color-22': 'tomato',
|
||||
'color-23': 'orchid',
|
||||
'color-24': 'sienna',
|
||||
'color-25': 'plum',
|
||||
'color-26': 'turquoise',
|
||||
'color-27': 'peachpuff',
|
||||
'color-28': 'lavender',
|
||||
'color-29': 'beige',
|
||||
'color-30': 'mintcream',
|
||||
'color-31': 'periwinkle',
|
||||
'color-32': 'rosybrown',
|
||||
'color-33': 'ivory',
|
||||
'color-34': 'skyblue',
|
||||
'color-35': 'chartreuse',
|
||||
'color-36': 'salmon',
|
||||
'color-37': 'khaki',
|
||||
'color-38': 'wheat',
|
||||
'color-39': 'blush',
|
||||
'color-40': '#F0E130', // dandelion approximate
|
||||
'color-41': 'fuchsia',
|
||||
'color-42': '#007BA7', // cerulean
|
||||
'color-43': 'emerald',
|
||||
'color-44': 'jade',
|
||||
'color-45': 'azure',
|
||||
'color-46': 'cobalt',
|
||||
'color-47': 'amethyst',
|
||||
primary: {
|
||||
50: "#eff6ff",
|
||||
100: "#dbeafe",
|
||||
|
|
@ -31,6 +78,7 @@ module.exports = {
|
|||
},
|
||||
},
|
||||
fontFamily: {
|
||||
'caveat-brush': ['"Caveat Brush"', 'cursive'],
|
||||
body: [
|
||||
"Inter",
|
||||
"ui-sans-serif",
|
||||
|
|
@ -83,6 +131,11 @@ module.exports = {
|
|||
},
|
||||
},
|
||||
},
|
||||
safelist: [
|
||||
{
|
||||
pattern: /text-color-/,
|
||||
},
|
||||
],
|
||||
plugins: [],
|
||||
future: {
|
||||
hoverOnlyWhenSupported: true,
|
||||
|
|
|
|||