Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c32fb042ff | |||
| eb37638467 | |||
| 2f936a8f2d | |||
| 008869d50e | |||
| a3d70db263 |
@@ -1,75 +1,27 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import { Halant } from "next/font/google";
|
import { Geist, Geist_Mono } from "next/font/google";
|
||||||
import { Inter } from "next/font/google";
|
|
||||||
import { DM_Sans } from "next/font/google";
|
|
||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
|
|
||||||
const halant = Halant({
|
const geist = Geist({
|
||||||
variable: "--font-halant",
|
variable: "--font-geist-sans", subsets: ["latin"],
|
||||||
subsets: ["latin"],
|
|
||||||
weight: ["300", "400", "500", "600", "700"],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const inter = Inter({
|
const geistMono = Geist_Mono({
|
||||||
variable: "--font-inter",
|
variable: "--font-geist-mono", subsets: ["latin"],
|
||||||
subsets: ["latin"],
|
|
||||||
});
|
|
||||||
|
|
||||||
const dmSans = DM_Sans({
|
|
||||||
variable: "--font-dm-sans",
|
|
||||||
subsets: ["latin"],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Fresh Local - Affordable Groceries & Household Products Kigali",
|
title: "Fresh Local - Quality Groceries in Kigali", description: "Affordable groceries and household products in Kigali. Quality rice, sugar, cooking oil, and everyday essentials. Fast local delivery and wholesale options."};
|
||||||
description: "Quality grocery store in Kigali near Kigali City Market. Order rice, sugar, cooking oil, and more via WhatsApp. Fast delivery & wholesale available.",
|
|
||||||
keywords: "grocery store Kigali, buy rice Kigali, sugar supplier Kigali, cooking oil Kigali, household supplies Rwanda, wholesale groceries, fresh products Kigali",
|
|
||||||
metadataBase: new URL("https://freshlocal.rw"),
|
|
||||||
alternates: {
|
|
||||||
canonical: "https://freshlocal.rw",
|
|
||||||
},
|
|
||||||
openGraph: {
|
|
||||||
title: "Fresh Local - Affordable Groceries in Kigali",
|
|
||||||
description: "Quality groceries and household products. Order on WhatsApp. Located near Kigali City Market.",
|
|
||||||
url: "https://freshlocal.rw",
|
|
||||||
siteName: "Fresh Local",
|
|
||||||
type: "website",
|
|
||||||
images: [
|
|
||||||
{
|
|
||||||
url: "http://img.b2bpic.net/free-photo/woman-supermarket-beautiful-young-woman-shopping-supermarket-buying-fresh-organic-vegetables_169016-3365.jpg",
|
|
||||||
alt: "Fresh Local grocery store",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
twitter: {
|
|
||||||
card: "summary_large_image",
|
|
||||||
title: "Fresh Local - Affordable Groceries Kigali",
|
|
||||||
description: "Quality grocery store with fast WhatsApp ordering and local delivery",
|
|
||||||
images: [
|
|
||||||
"http://img.b2bpic.net/free-photo/woman-supermarket-beautiful-young-woman-shopping-supermarket-buying-fresh-organic-vegetables_169016-3365.jpg",
|
|
||||||
],
|
|
||||||
},
|
|
||||||
robots: {
|
|
||||||
index: true,
|
|
||||||
follow: true,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
children,
|
children,
|
||||||
}: Readonly<{
|
}: {
|
||||||
children: React.ReactNode;
|
children: React.ReactNode;
|
||||||
}>) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en">
|
||||||
<ServiceWrapper>
|
<body className={`${geist.variable} ${geistMono.variable} antialiased`}>
|
||||||
<body
|
{children}
|
||||||
className={`${halant.variable} ${inter.variable} ${dmSans.variable} antialiased`}
|
|
||||||
>
|
|
||||||
<Tag />
|
|
||||||
{children}
|
|
||||||
|
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
@@ -1438,7 +1390,6 @@ export default function RootLayout({
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</body>
|
</body>
|
||||||
</ServiceWrapper>
|
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -10,7 +10,7 @@ import MetricCardTwo from "@/components/sections/metrics/MetricCardTwo";
|
|||||||
import TestimonialCardSixteen from "@/components/sections/testimonial/TestimonialCardSixteen";
|
import TestimonialCardSixteen from "@/components/sections/testimonial/TestimonialCardSixteen";
|
||||||
import ContactCenter from "@/components/sections/contact/ContactCenter";
|
import ContactCenter from "@/components/sections/contact/ContactCenter";
|
||||||
import FooterMedia from "@/components/sections/footer/FooterMedia";
|
import FooterMedia from "@/components/sections/footer/FooterMedia";
|
||||||
import { ShoppingCart, Sparkles, CheckCircle, TrendingUp, Star, MessageSquare, MapPin } from "lucide-react";
|
import { ShoppingCart, Sparkles, CheckCircle, TrendingUp, Star, MessageSquare, MapPin, Package } from "lucide-react";
|
||||||
|
|
||||||
export default function HomePage() {
|
export default function HomePage() {
|
||||||
const navItems = [
|
const navItems = [
|
||||||
@@ -95,8 +95,8 @@ export default function HomePage() {
|
|||||||
<ProductCardOne
|
<ProductCardOne
|
||||||
title="Featured Products"
|
title="Featured Products"
|
||||||
description="Browse our most popular grocery items and household essentials. All products available for in-store shopping, delivery, or WhatsApp ordering."
|
description="Browse our most popular grocery items and household essentials. All products available for in-store shopping, delivery, or WhatsApp ordering."
|
||||||
tag="Best Sellers"
|
tag="Bestselling Essentials"
|
||||||
tagIcon={Sparkles}
|
tagIcon={Package}
|
||||||
tagAnimation="slide-up"
|
tagAnimation="slide-up"
|
||||||
products={[
|
products={[
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user