first commit

This commit is contained in:
Thanakarn Klangkasame
2025-10-31 15:26:08 +07:00
parent 031aca3b7e
commit 2c500219b4
15 changed files with 274 additions and 0 deletions

BIN
public/images/hero.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 792 KiB

BIN
public/images/logo.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,24 @@
import Section from "../../components/Section";
import { company } from "../../lib/data";
export default function AboutPage() {
return (
<Section title="About AMREZ" subtitle={company.tagline}>
<div className="grid md:grid-cols-2 gap-6">
<div className="card">
<h3 className="text-xl font-semibold">Vision</h3>
<p className="text-white/80 mt-3">{company.vision}</p>
</div>
<div className="card">
<h3 className="text-xl font-semibold">Mission</h3>
<p className="text-white/80 mt-3">{company.mission}</p>
</div>
</div>
<div className="card mt-6">
<h3 className="text-xl font-semibold">Company</h3>
<p className="text-white/80 mt-3">{company.about}</p>
<p className="text-white/60 mt-3 text-sm">Source: Company profile</p>
</div>
</Section>
);
}

View File

@@ -0,0 +1,17 @@
import Section from "../../components/Section";
import { groupCompanies } from "../../lib/data";
export default function CompaniesPage() {
return (
<Section title="Current Group of Companies">
<div className="grid md:grid-cols-2 gap-6">
{groupCompanies.map((c, i) => (
<div key={i} className="card">
<h3 className="text-lg font-semibold">{c.name}</h3>
<p className="text-white/70 mt-2">{c.focus}</p>
</div>
))}
</div>
</Section>
);
}

View File

@@ -0,0 +1,26 @@
"use client";
import Section from "../../components/Section";
import { useState } from "react";
export default function ContactPage() {
const [sent, setSent] = useState(false);
return (
<Section title="Contact Us" subtitle="Leave your info and well get back to you">
{!sent ? (
<form className="card grid gap-4 max-w-xl" onSubmit={(e)=>{e.preventDefault(); setSent(true);}}>
<input required placeholder="Name" className="px-4 py-3 rounded-xl bg-white/5 border border-white/10" />
<input required type="email" placeholder="Email" className="px-4 py-3 rounded-xl bg-white/5 border border-white/10" />
<textarea required placeholder="Message" rows={5} className="px-4 py-3 rounded-xl bg-white/5 border border-white/10"></textarea>
<button className="px-5 py-3 rounded-full bg-white text-black font-semibold w-fit">Send</button>
<p className="text-white/50 text-sm">This is a demo form. Hook your API or email service here.</p>
</form>
) : (
<div className="card max-w-xl">
<h3 className="text-xl font-semibold">Thanks!</h3>
<p className="text-white/80 mt-2">Well be in touch shortly.</p>
</div>
)}
</Section>
);
}

View File

@@ -0,0 +1,19 @@
import Section from "../../components/Section";
import { channels } from "../../lib/data";
export default function DistributionPage() {
return (
<Section title="Channels of Distribution" subtitle="Online, offline, convenience & drug stores, and traditional retail">
<div className="grid md:grid-cols-2 gap-6">
{channels.map((c, i) => (
<div key={i} className="card">
<h3 className="text-xl font-semibold">{c.name}</h3>
<ul className="mt-3 grid sm:grid-cols-2 gap-2 text-white/80">
{c.items.map((it, idx) => <li key={idx} className="px-3 py-2 bg-white/5 rounded-lg">{it}</li>)}
</ul>
</div>
))}
</div>
</Section>
);
}

View File

@@ -0,0 +1,18 @@
import Section from "../../components/Section";
import { founders } from "../../lib/data";
export default function FoundersPage() {
return (
<Section title="Meet the Founders">
<div className="grid md:grid-cols-2 gap-6">
{founders.map((f, i) => (
<div key={i} className="card">
<h3 className="text-xl font-semibold">{f.name}</h3>
<p className="text-white/60 mt-1">{f.role}</p>
<p className="text-white/80 mt-3">{f.bio}</p>
</div>
))}
</div>
</Section>
);
}

View File

@@ -0,0 +1,17 @@
import Section from "../../components/Section";
import { futurePlans } from "../../lib/data";
export default function FuturePage() {
return (
<Section title="Future of the Company" subtitle="Expansion roadmap 20252026 and beyond">
<div className="grid md:grid-cols-2 gap-6">
{futurePlans.map((p, i) => (
<div key={i} className="card">
<h3 className="text-lg font-semibold">{p.title}</h3>
{p.details && <p className="text-white/70 mt-2">{p.details}</p>}
</div>
))}
</div>
</Section>
);
}

View File

@@ -0,0 +1,13 @@
import Section from "../../components/Section";
import Timeline from "../../components/Timeline";
import { milestones } from "../../lib/data";
export default function MilestonesPage() {
return (
<Section title="Milestones">
<div className="card">
<Timeline entries={milestones} />
</div>
</Section>
);
}

View File

@@ -0,0 +1,39 @@
"use client";
import Section from "../../components/Section";
import { kpis } from "../../lib/data";
import { useMemo } from "react";
export default function PerformancePage() {
const rows = useMemo(() => kpis.map(k => ({
year: k.year,
sales: k.salesMillionBaht.toFixed(1),
note: k.note ?? ""
})), []);
return (
<Section title="Historical Performance" subtitle="Sales (Million Baht)">
<div className="overflow-auto">
<table className="min-w-[480px] w-full text-left border-separate border-spacing-y-2">
<thead>
<tr className="text-white/70">
<th className="px-3 py-2">Year</th>
<th className="px-3 py-2">Sales (M ฿)</th>
<th className="px-3 py-2">Notes</th>
</tr>
</thead>
<tbody>
{rows.map((r) => (
<tr key={r.year} className="bg-white/5">
<td className="px-3 py-2 rounded-l-lg font-semibold">{r.year}</td>
<td className="px-3 py-2">{r.sales}</td>
<td className="px-3 py-2 rounded-r-lg text-white/70">{r.note}</td>
</tr>
))}
</tbody>
</table>
</div>
<p className="text-white/60 mt-6 text-sm">* 2024: Strategic shift to profitability; profit +2.5%.</p>
</Section>
);
}

View File

@@ -0,0 +1,12 @@
import Section from "../../components/Section";
import ProductGrid from "../../components/ProductGrid";
import { products } from "../../lib/data";
export default function ProductsPage() {
return (
<Section title="Products">
<ProductGrid products={products} />
<p className="text-white/60 mt-6 text-sm">Note: This is a catalog overview images, shades, and details can be added later.</p>
</Section>
);
}

Binary file not shown.

Binary file not shown.

0
src/app/fonts.ts Normal file
View File

89
src/app/lib/data.ts Normal file
View File

@@ -0,0 +1,89 @@
export type KPI = { year: number; salesMillionBaht: number; note?: string };
export type Milestone = { year: number; items: string[] };
export type Founder = { name: string; role: string; bio: string };
export type ChannelGroup = { name: string; items: string[] };
export type Company = { name: string; focus: string };
export type Product = { category: string; items: string[] };
export type FuturePlan = { title: string; details?: string };
export const company = {
name: "Amrez Co., Ltd.",
tagline: "Counter-brand quality at an affordable price for Thai consumers.",
about: "Amrez is a Thai beauty & wellness company operating online-first, offering cosmetics, skincare, and supplements with counter-brand quality and accessible pricing.",
vision: "To be recognized for innovative, high-quality yet affordable products that meet customer needs while operating with good governance.",
mission: "Create and deliver innovative products at reasonable cost from Thai and international suppliers, ensuring top product quality and excellent customer service."
};
export const founders: Founder[] = [
{
name: "Ms. Kratae Boonyaleung",
role: "Founder",
bio: "Born in Lampang, she won multiple Muay Thai and singing accolades, later becoming a popular Thai singer. She brings creativity and brand vision, aiming to make Kathy Cosmetics globally recognized."
},
{
name: "Mr. Jirateep \"Toshi\" Panthi",
role: "CoFounder",
bio: "World HipHop Dance Champion and Thailand Ballroom champion. Former 316 Boy Band trainee. He choreographed for Ms. Kratae and cobuilt the brands product strategy and operations."
}
];
export const milestones: Milestone[] = [
{ year: 2019, items: ["Company established", "Launched 'Kate' supplement for skin glow"] },
{ year: 2020, items: ["Launched 'Kate Detox' for weight control & detox"] },
{ year: 2021, items: ["AMREZ Factory opened (Chiang Mai)", "First cosmetic '3B Cream Gold' launched", "Followups: Lip Golden, Lip Duo, Lip Minimatte"] },
{ year: 2023, items: ["AMREZ logo improved", "On Stage Powder launched", "Jelly Biotox (pre/probiotic) launched", "STARFACE (blush+contour+highlight) launched", "Established KATHY LABZ & KATHY SKIN", "Lip Juicy, Lip Glaze, Lip Light Minimatte V2, Lip Duo (new packaging)", "KARISTA, LAVIESTE, 4D Placenta Serum, Serum in Oil, Sunscreen, Lash & Brow Serum, Cleansing Oil"] },
{ year: 2024, items: ["Good Morning Powder (first light facial puffed powder)", "Women Probiotics (pre/probiotic blend)"] },
{ year: 2025, items: ["Lip Trio On Stage (Thailands first 3color lipstick, upcoming)"] }
];
export const kpis: KPI[] = [
{ year: 2019, salesMillionBaht: 12.2 },
{ year: 2020, salesMillionBaht: 78.9 },
{ year: 2021, salesMillionBaht: 157.6 },
{ year: 2022, salesMillionBaht: 539.9 },
{ year: 2023, salesMillionBaht: 700.8 },
{ year: 2024, salesMillionBaht: 485, note: "Management & strategy shift; profit +2.5%" },
{ year: 2025, salesMillionBaht: 1000 }
];
export const channels: ChannelGroup[] = [
{ name: "Ecommerce & Marketplace", items: ["Facebook", "LINE", "TikTok", "Shopee", "Lazada"] },
{ name: "Live Streaming", items: ["Inhouse live", "MCN livestreaming"] },
{ name: "Offline Retail", items: ["EVEANDBOY", "Beautium", "KIS", "Konvy (online & offline)"] },
{ name: "Convenience & Drug Stores", items: ["7Eleven", "Watsons", "Chain drug stores"] },
{ name: "Traditional Stores", items: ["Independent retailers"] }
];
export const groupCompanies: Company[] = [
{ name: "Amrez Co., Ltd.", focus: "Distributor of cosmetics, supplements, skincare" },
{ name: "Amerz Co., Ltd.", focus: "Manufacturing unit for cosmetics" },
{ name: "KT Entertainment Co., Ltd.", focus: "Concerts, shows, production house" },
{ name: "Kathy Labz Co., Ltd.", focus: "Owner/developer of supplements & skincare" },
{ name: "Mataranee Co., Ltd.", focus: "Belief/spiritual products" },
{ name: "KT Kids Co., Ltd.", focus: "Pet products business" },
{ name: "KT Trading", focus: "Local & international general trading" }
];
export const products: Product[] = [
{ category: "Lip", items: ["Lip Duo (Matte & Shine Fix)", "Lip Juicy (tint)", "Lip Glaze (oil treatment)", "Golden HYA Lip Serum", "Lip Trio (upcoming)"] },
{ category: "Face / Makeup", items: ["3B Cream Gold", "3B Cream Matte", "Onstage Perfect Skin Powder", "STARFACE Pro Makeup", "Fix Glow", "Makeup Remover"] },
{ category: "Eye & Brow", items: ["Dolly Eye Stick", "Superslim 2B Brow", "3B Brow", "4D Brow Lift", "Super Sharp Eyeliner", "Waterproof Gel Liner"] },
{ category: "Accessories", items: ["Lip Brush", "Mini Powder Brush", "Large Powder Brush", "Body Brush"] },
{ category: "Hair & Body", items: ["Hair Shadow Stick", "Body Oil"] },
{ category: "Food Supplement", items: ["KARISTA", "LAVIESTE", "Biotox Jelly", "Women Probiotics (upcoming)"] },
{ category: "Skincare", items: ["4D Placenta Serum", "Hydrating 4D HYA Oil in Serum", "HYA Aqua Sunscreen SPF50+ PA++++", "Lash & Brow Booster Serum", "Cleansing Oil", "Bright Up Underarm & Body Cream", "Bright Secret Whitening Underarm Cream"] }
];
export const futurePlans: FuturePlan[] = [
{ title: "Export Business", details: "China, India, Dubai" },
{ title: "Global Artist", details: "Elevate Ms. Kratae internationally" },
{ title: "Fulfillment & Warehouse Services" },
{ title: "Beliefbased Business (Matarenee)" },
{ title: "School of Dance" },
{ title: "School of Live Streaming & Affiliate Marketing" },
{ title: "Multinational Networking" },
{ title: "AIAssisted Marketing Services" },
{ title: "Real Estate Ventures" },
{ title: "International Trading (Hong Kong Office)" },
{ title: "Holding Company Formation" }
];