From adef27b214941cd008280eae32f288c019f1b883 Mon Sep 17 00:00:00 2001 From: nguyenvanbao Date: Tue, 3 Feb 2026 16:24:55 +0700 Subject: [PATCH] feat: refactor service API schema and update layout structure --- api/servicesApi.ts | 62 --------------------------- app/layout.tsx | 44 ++++++++++++------- app/services/details/[slug]/page.tsx | 7 ++- app/services/page.tsx | 51 ++++++++++++++++++++-- app/utils/image.ts | 12 +++++- public/_images/default.jpg | Bin 0 -> 2220 bytes 6 files changed, 92 insertions(+), 84 deletions(-) create mode 100644 public/_images/default.jpg diff --git a/api/servicesApi.ts b/api/servicesApi.ts index a3f9117..1fcf7dc 100644 --- a/api/servicesApi.ts +++ b/api/servicesApi.ts @@ -8,7 +8,6 @@ ======================= */ export interface ServiceItem { - id: string; slug: string; name: string; description: string; @@ -58,7 +57,6 @@ export interface DestinationSection { subTitle: string; mainTitle: string; }; - items: CountryItem[]; } export interface VisaItem { @@ -90,11 +88,6 @@ export interface ReviewSection { subTitle: string; mainTitle: string; }; - viewAllButton: { - text: string; - icon: string; - link: string; - }; thumb: string; items: ClientReviewItem[]; } @@ -251,7 +244,6 @@ export const getFallbackServicePageData = (): ServicePageData => ({ }, items: [ { - id: "immigration-appeal", slug: "immigration-appeal", name: "Immigration Appeal & Legal Support", description: @@ -311,7 +303,6 @@ export const getFallbackServicePageData = (): ServicePageData => ({ }, }, { - id: "scholarship-guidance", slug: "scholarship-guidance", name: "Scholarship & Study Grant Guidance", description: @@ -373,7 +364,6 @@ export const getFallbackServicePageData = (): ServicePageData => ({ }, }, { - id: "permanent-residency", slug: "permanent-residency", name: "Permanent Residency (PR) Services", description: @@ -435,7 +425,6 @@ export const getFallbackServicePageData = (): ServicePageData => ({ }, }, { - id: "citizenship-naturalization", slug: "citizenship-naturalization", name: "Citizenship & Naturalization Guidance", description: @@ -505,52 +494,6 @@ export const getFallbackServicePageData = (): ServicePageData => ({ subTitle: "Countries we offer", mainTitle: "Choose Your Immigration Destination", }, - items: [ - { - id: "canada", - name: "Canada", - description: - "Canada provides quality education, rich and global opportunities", - image: "/assets/img/home-3/choose-us/01.jpg", - icon: "/assets/img/home-3/choose-us/icon-1.png", - link: "/countries/canada", - }, - { - id: "south-korea", - name: "South Korea", - description: - "South Korea offers advanced technology and cultural experiences", - image: "/assets/img/home-3/choose-us/02.jpg", - icon: "/assets/img/home-3/choose-us/icon-2.png", - link: "/countries/south-korea", - }, - { - id: "france", - name: "France", - description: "France offers unique cultural experiences and education", - image: "/assets/img/home-3/choose-us/03.jpg", - icon: "/assets/img/home-3/choose-us/icon-3.png", - link: "/countries/france", - }, - { - id: "uk", - name: "UK", - description: - "UK provides world-class education and career opportunities", - image: "/assets/img/home-3/choose-us/04.jpg", - icon: "/assets/img/home-3/choose-us/icon-2.png", - link: "/countries/uk", - }, - { - id: "germany", - name: "Germany", - description: - "Germany offers excellent education and work opportunities", - image: "/assets/img/home-3/choose-us/05.jpg", - icon: "/assets/img/home-3/choose-us/icon-3.png", - link: "/countries/germany", - }, - ], }, visas: { @@ -590,11 +533,6 @@ export const getFallbackServicePageData = (): ServicePageData => ({ subTitle: "What Our Clients Say", mainTitle: "Immigration Success Stories", }, - viewAllButton: { - text: "View All Review", - icon: "fa-solid fa-arrow-right", - link: "/contact", - }, thumb: "/assets/img/home-3/test-thumb.jpg", items: [ { diff --git a/app/layout.tsx b/app/layout.tsx index d330d31..0b131a9 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,9 +1,8 @@ import type { Metadata } from "next"; import "./globals.css"; - -import Header from "./components/Header"; -import Footer from "./components/Footer"; +// import Header from "./components/Header"; +// import Footer from "./components/Footer"; import Loader from "./components/Loader"; import BackToTop from "./components/BackToTop"; import MouseCursor from "./components/MouseCursor"; @@ -24,7 +23,7 @@ export default function RootLayout({ {/* Favicon */} - + {/* Bootstrap min.css */} {/* All Min Css */} @@ -35,7 +34,7 @@ export default function RootLayout({ {/* MeanMenu.css */} - {/* Odometer.css */} + {/* Odometer.css */} {/* Swiper Bundle.css */} @@ -44,22 +43,37 @@ export default function RootLayout({ {/* Main.css */} - + -
- + {/*
*/} + {children} - -