feat: replace 'Royal' with 'Shahi' everywhere for brand consistency (navbar, translations, pages, layout, css, etc.)

This commit is contained in:
Zeeshan Khan
2026-06-02 20:18:55 +02:00
parent d650a7cdc5
commit 2823d1e021
8 changed files with 20 additions and 20 deletions
+2 -2
View File
@@ -3,14 +3,14 @@
* GLOBAL DESIGN SYSTEM — Shahi Kitchen * GLOBAL DESIGN SYSTEM — Shahi Kitchen
* ============================================================================= * =============================================================================
* *
* Royal cream + gold visual identity for Shahi Kitchen. * Shahi cream + gold visual identity for Shahi Kitchen.
* Bright, warm, appetizing, and luxurious without being dark. * Bright, warm, appetizing, and luxurious without being dark.
*/ */
@import "tailwindcss"; @import "tailwindcss";
:root { :root {
/* === Refined Royal Light Palette - Warm Cream + Gold === */ /* === Refined Shahi Light Palette - Warm Cream + Gold === */
/* Backgrounds */ /* Backgrounds */
--bg: #F8F5F0; --bg: #F8F5F0;
+3 -3
View File
@@ -18,7 +18,7 @@
* - We deliberately render <CartDrawer /> and <Toaster /> at the root level instead of * - We deliberately render <CartDrawer /> and <Toaster /> at the root level instead of
* inside individual pages. This guarantees only ONE instance exists and prevents * inside individual pages. This guarantees only ONE instance exists and prevents
* duplicate drawers/toasts when navigating. * duplicate drawers/toasts when navigating.
* - The cream/gold royal theme tokens live in globals.css and are referenced via * - The cream/gold Shahi theme tokens live in globals.css and are referenced via
* Tailwind arbitrary values (e.g. bg-[#F8F5F0]). * Tailwind arbitrary values (e.g. bg-[#F8F5F0]).
* *
* FUTURE DEVELOPERS: * FUTURE DEVELOPERS:
@@ -65,7 +65,7 @@ const geistMono = Geist_Mono({
*/ */
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Shahi Kitchen | Authentic Indian & Pakistani Restaurant in Gothenburg", title: "Shahi Kitchen | Authentic Indian & Pakistani Restaurant in Gothenburg",
description: "Experience royal flavors at Shahi Kitchen in Askim, Gothenburg. Authentic Indian & Pakistani cuisine, famous lunch buffet, and traditional sweets since 2016.", description: "Experience Shahi flavors at Shahi Kitchen in Askim, Gothenburg. Authentic Indian & Pakistani cuisine, famous lunch buffet, and traditional sweets since 2016.",
icons: { icons: {
icon: "/favicon.ico", icon: "/favicon.ico",
}, },
@@ -81,7 +81,7 @@ export const metadata: Metadata = {
* *
* IMPORTANT: * IMPORTANT:
* - Never wrap the entire app in another CartProvider — it will break the singleton. * - Never wrap the entire app in another CartProvider — it will break the singleton.
* - The body uses the royal cream background (#F8F5F0) as the base canvas. * - The body uses the Shahi cream background (#F8F5F0) as the base canvas.
* - `antialiased` + font variables are applied once at the root for consistency. * - `antialiased` + font variables are applied once at the root for consistency.
*/ */
export default function RootLayout({ export default function RootLayout({
+1 -1
View File
@@ -35,7 +35,7 @@ export default function LocationsPage() {
<div className="text-[#B38B4D] text-xs tracking-[3px] mb-3">WHERE TO FIND US</div> <div className="text-[#B38B4D] text-xs tracking-[3px] mb-3">WHERE TO FIND US</div>
<h1 className="text-6xl md:text-7xl tracking-[-2.5px] leading-none mb-4">{language === 'sv' ? 'Våra Platser' : 'Our Locations'}</h1> <h1 className="text-6xl md:text-7xl tracking-[-2.5px] leading-none mb-4">{language === 'sv' ? 'Våra Platser' : 'Our Locations'}</h1>
<p className="text-xl text-[#6B665F] max-w-md mx-auto"> <p className="text-xl text-[#6B665F] max-w-md mx-auto">
{language === 'sv' ? 'Två restauranger i Göteborg — båda serverar autentiska smaker med samma kungliga gästfrihet.' : 'Two branches in Gothenburg — both serving authentic flavors with the same royal hospitality.'} {language === 'sv' ? 'Två restauranger i Göteborg — båda serverar autentiska smaker med samma shahi gästfrihet.' : 'Two branches in Gothenburg — both serving authentic flavors with the same Shahi hospitality.'}
</p> </p>
</div> </div>
+2 -2
View File
@@ -73,7 +73,7 @@ export default function LoginPage() {
{/* Content area — beautiful split layout on desktop, clean single column on mobile */} {/* Content area — beautiful split layout on desktop, clean single column on mobile */}
<div className="mx-auto max-w-5xl px-6 mt-10"> <div className="mx-auto max-w-5xl px-6 mt-10">
<div className="grid items-start gap-8 md:grid-cols-5"> <div className="grid items-start gap-8 md:grid-cols-5">
{/* LEFT: Premium dark graphic panel (desktop only). Matches royal theme with gold details. */} {/* LEFT: Premium dark graphic panel (desktop only). Matches Shahi theme with gold details. */}
<div className="hidden md:col-span-2 md:block"> <div className="hidden md:col-span-2 md:block">
<div className="sticky top-24 flex h-[520px] flex-col justify-between overflow-hidden rounded-3xl border border-[#c99a2e]/20 bg-gradient-to-br from-[#101724] via-[#1a1816] to-[#2C2A26] p-10 text-white shadow-2xl"> <div className="sticky top-24 flex h-[520px] flex-col justify-between overflow-hidden rounded-3xl border border-[#c99a2e]/20 bg-gradient-to-br from-[#101724] via-[#1a1816] to-[#2C2A26] p-10 text-white shadow-2xl">
{/* Subtle gold frame lines */} {/* Subtle gold frame lines */}
@@ -100,7 +100,7 @@ export default function LoginPage() {
<div> <div>
<div className="my-6 h-px w-10 bg-[#c99a2e]/40" /> <div className="my-6 h-px w-10 bg-[#c99a2e]/40" />
<p className="max-w-[220px] text-sm leading-relaxed text-white/70"> <p className="max-w-[220px] text-sm leading-relaxed text-white/70">
Two locations serving royal Indian &amp; Pakistani hospitality in Gothenburg since 2016. Two locations serving Shahi Indian &amp; Pakistani hospitality in Gothenburg since 2016.
</p> </p>
<div className="mt-5 text-[10px] uppercase tracking-[2.5px] text-[#c99a2e]/60"> <div className="mt-5 text-[10px] uppercase tracking-[2.5px] text-[#c99a2e]/60">
ASKIM BACKAPLAN ASKIM BACKAPLAN
+3 -3
View File
@@ -479,18 +479,18 @@ export default function ShahiKitchenHomepage() {
<div className="max-w-6xl mx-auto px-6"> <div className="max-w-6xl mx-auto px-6">
<div className="text-center mb-14"> <div className="text-center mb-14">
<div className="text-[#B38B4D] text-xs tracking-[3px] mb-3">{language === 'sv' ? 'SHAHI-SÄTTET' : 'THE SHAHI WAY'}</div> <div className="text-[#B38B4D] text-xs tracking-[3px] mb-3">{language === 'sv' ? 'SHAHI-SÄTTET' : 'THE SHAHI WAY'}</div>
<h3 className="text-5xl md:text-6xl tracking-[-2px]">{language === 'sv' ? 'Mer än en måltid.\nEtt ögonblick av kunglighet.' : 'More than a meal.\nA moment of royalty.'}</h3> <h3 className="text-5xl md:text-6xl tracking-[-2px]">{language === 'sv' ? 'Mer än en måltid.\nEtt ögonblick av Shahi.' : 'More than a meal.\nA moment of Shahi.'}</h3>
</div> </div>
<div className="grid md:grid-cols-3 gap-6"> <div className="grid md:grid-cols-3 gap-6">
{(language === 'sv' ? [ {(language === 'sv' ? [
{ title: "Den Legendariska Buffén", desc: "Vår berömda lunchbuffé har över 20 roterande rätter — curry, biryani, färsk naan och sötsaker." }, { title: "Den Legendariska Buffén", desc: "Vår berömda lunchbuffé har över 20 roterande rätter — curry, biryani, färsk naan och sötsaker." },
{ title: "Shahi Sötsaker", desc: "Hemgjord mithai dagligen. Från färsk jalebi till rasmalai — det perfekta söta avslutet." }, { title: "Shahi Sötsaker", desc: "Hemgjord mithai dagligen. Från färsk jalebi till rasmalai — det perfekta söta avslutet." },
{ title: "Varm Gästfrihet", desc: "Oavsett om du är här för en snabb lunch eller familjefest, behandlas du alltid som kunglighet." }, { title: "Varm Gästfrihet", desc: "Oavsett om du är här för en snabb lunch eller familjefest, behandlas du alltid som shahi." },
] : [ ] : [
{ title: "The Legendary Buffet", desc: "Our famous lunch buffet features over 20 rotating dishes — curries, biryanis, fresh naan, and sweets." }, { title: "The Legendary Buffet", desc: "Our famous lunch buffet features over 20 rotating dishes — curries, biryanis, fresh naan, and sweets." },
{ title: "Shahi Sweets", desc: "Homemade mithai made daily. From fresh Jalebi to Rasmalai — the perfect sweet ending." }, { title: "Shahi Sweets", desc: "Homemade mithai made daily. From fresh Jalebi to Rasmalai — the perfect sweet ending." },
{ title: "Warm Hospitality", desc: "Whether you're here for a quick lunch or a family celebration, you will always be treated like royalty." }, { title: "Warm Hospitality", desc: "Whether you're here for a quick lunch or a family celebration, you will always be treated like Shahi." },
]).map((item, index) => ( ]).map((item, index) => (
<div key={index} className="experience-card group relative border border-[#EDE6D9] p-9 rounded-2xl bg-[#F8F5F0] overflow-hidden"> <div key={index} className="experience-card group relative border border-[#EDE6D9] p-9 rounded-2xl bg-[#F8F5F0] overflow-hidden">
<div className="text-[#B38B4D] text-6xl font-light mb-9 tracking-[-2px]">0{index + 1}</div> <div className="text-[#B38B4D] text-6xl font-light mb-9 tracking-[-2px]">0{index + 1}</div>
+1 -1
View File
@@ -79,7 +79,7 @@ export default function Navbar({ variant = "default" }: NavbarProps) {
</div> </div>
<span className="hidden leading-none sm:block"> <span className="hidden leading-none sm:block">
<span className="block font-serif text-[21px] tracking-[-0.5px] text-[#101724] transition-colors group-hover:text-[#0f5a4a]">Shahi Kitchen</span> <span className="block font-serif text-[21px] tracking-[-0.5px] text-[#101724] transition-colors group-hover:text-[#0f5a4a]">Shahi Kitchen</span>
<span className="text-[10px] font-semibold uppercase tracking-[0.32em] text-[#8a6a25]">Royal Taste Gothenburg</span> <span className="text-[10px] font-semibold uppercase tracking-[0.32em] text-[#8a6a25]">Shahi Taste Gothenburg</span>
</span> </span>
</Link> </Link>
+1 -1
View File
@@ -70,7 +70,7 @@ export default function PlayfulHeroScene() {
</motion.div> </motion.div>
</AnimatePresence> </AnimatePresence>
{/* Enhanced royal glows */} {/* Enhanced Shahi glows */}
<div className="absolute -top-14 left-1/2 -translate-x-1/2 w-44 h-44 bg-[#f4d47f] rounded-full blur-3xl opacity-48" /> <div className="absolute -top-14 left-1/2 -translate-x-1/2 w-44 h-44 bg-[#f4d47f] rounded-full blur-3xl opacity-48" />
<div className="absolute -top-7 left-1/2 -translate-x-1/2 w-24 h-24 bg-[#c99a2e] rounded-full blur-2xl opacity-32" /> <div className="absolute -top-7 left-1/2 -translate-x-1/2 w-24 h-24 bg-[#c99a2e] rounded-full blur-2xl opacity-32" />
<div className="absolute -bottom-9 left-1/2 -translate-x-1/2 w-32 h-16 bg-[#c99a2e] rounded-full blur-3xl opacity-22" /> <div className="absolute -bottom-9 left-1/2 -translate-x-1/2 w-32 h-16 bg-[#c99a2e] rounded-full blur-3xl opacity-22" />
+7 -7
View File
@@ -23,10 +23,10 @@ export const translations = {
// Hero // Hero
hero: { hero: {
badge: 'Royal Indian & Pakistani Since 2016', badge: 'Shahi Indian & Pakistani Since 2016',
welcome: 'Welcome to', welcome: 'Welcome to',
title: 'ShahiKitchen Online', title: 'ShahiKitchen Online',
subtitle: 'Experience the warmth of royal hospitality and the richness of authentic Indian and Pakistani flavors — now brought to you with elegance, from the heart of Gothenburg.', subtitle: 'Experience the warmth of Shahi hospitality and the richness of authentic Indian and Pakistani flavors — now brought to you with elegance, from the heart of Gothenburg.',
exploreMenu: 'Explore the Menu', exploreMenu: 'Explore the Menu',
viewExperience: 'The Shahi Experience', viewExperience: 'The Shahi Experience',
}, },
@@ -118,8 +118,8 @@ export const translations = {
badge: 'THE SHAHI WAY', badge: 'THE SHAHI WAY',
title: 'Warmth like a feast.\nCalm like a palace.', title: 'Warmth like a feast.\nCalm like a palace.',
heritage: { heritage: {
title: 'Royal Heritage', title: 'Shahi Heritage',
text: 'Recipes passed through generations. Every dish tells a story of Punjab and the royal kitchens of the subcontinent.', text: 'Recipes passed through generations. Every dish tells a story of Punjab and the shahi kitchens of the subcontinent.',
}, },
generous: { generous: {
title: 'Generous & Honest', title: 'Generous & Honest',
@@ -226,7 +226,7 @@ export const translations = {
badge: 'Kunglig Indisk & Pakistansk Sedan 2016', badge: 'Kunglig Indisk & Pakistansk Sedan 2016',
welcome: 'Välkommen till', welcome: 'Välkommen till',
title: 'ShahiKitchen Online', title: 'ShahiKitchen Online',
subtitle: 'Upplev värmen från kunglig gästfrihet och rikedomen av autentiska indiska och pakistanska smaker — nu med elegans, från Göteborgs hjärta.', subtitle: 'Upplev värmen från shahi gästfrihet och rikedomen av autentiska indiska och pakistanska smaker — nu med elegans, från Göteborgs hjärta.',
exploreMenu: 'Utforska Menyn', exploreMenu: 'Utforska Menyn',
viewExperience: 'Shahi-upplevelsen', viewExperience: 'Shahi-upplevelsen',
}, },
@@ -316,8 +316,8 @@ export const translations = {
badge: 'SHAHI-SÄTTET', badge: 'SHAHI-SÄTTET',
title: 'Värme som en fest.\nLugn som ett palats.', title: 'Värme som en fest.\nLugn som ett palats.',
heritage: { heritage: {
title: 'Kungligt Arv', title: 'Shahi Arv',
text: 'Recept som gått i arv i generationer. Varje rätt berättar en historia från Punjab och de kungliga köken på subkontinenten.', text: 'Recept som gått i arv i generationer. Varje rätt berättar en historia från Punjab och de shahi köken på subkontinenten.',
}, },
generous: { generous: {
title: 'Generöst & Ärligt', title: 'Generöst & Ärligt',