From 52c739535313a8a62d5c0a422abd8655c0e17cc2 Mon Sep 17 00:00:00 2001 From: Wini_Fy Date: Mon, 2 Feb 2026 13:41:45 +0700 Subject: [PATCH] featL Add news page --- app/blog/components/Breadcrumb.tsx | 23 + app/blog/components/NewsList.tsx | 90 + app/blog/components/NewsSection.tsx | 17 + app/blog/components/Sidebar.tsx | 97 + app/blog/page.tsx | 149 +- app/globals.css | 27 +- app/layout.tsx | 46 +- public/assets/css/all.min.css | 31571 +--------------- public/assets/img/close.png | Bin 0 -> 232 bytes public/assets/img/favicon.png | Bin 0 -> 26036 bytes public/assets/img/header/home-1.jpg | Bin 0 -> 1405 bytes public/assets/img/header/home-2.jpg | Bin 0 -> 1405 bytes public/assets/img/header/home-3.jpg | Bin 0 -> 1405 bytes public/assets/img/home-1/about/Vector.png | Bin 0 -> 15182 bytes public/assets/img/home-1/about/about-02.jpg | Bin 0 -> 2603 bytes public/assets/img/home-1/about/about-1.jpg | Bin 0 -> 2353 bytes public/assets/img/home-1/about/globe.png | Bin 0 -> 14711 bytes public/assets/img/home-1/about/plane.png | Bin 0 -> 22727 bytes public/assets/img/home-1/about/shape.png | Bin 0 -> 11118 bytes public/assets/img/home-1/brand/01.png | Bin 0 -> 3095 bytes public/assets/img/home-1/brand/02.png | Bin 0 -> 3396 bytes public/assets/img/home-1/brand/03.png | Bin 0 -> 3232 bytes public/assets/img/home-1/brand/04.png | Bin 0 -> 2610 bytes public/assets/img/home-1/brand/05.png | Bin 0 -> 2239 bytes public/assets/img/home-1/feature/Vector.png | Bin 0 -> 11266 bytes public/assets/img/home-1/feature/bg-2.jpg | Bin 0 -> 294404 bytes public/assets/img/home-1/feature/bg.png | Bin 0 -> 845644 bytes public/assets/img/home-1/feature/icon-1.png | Bin 0 -> 3403 bytes public/assets/img/home-1/feature/icon-2.png | Bin 0 -> 3147 bytes public/assets/img/home-1/feature/icon-3.png | Bin 0 -> 2693 bytes public/assets/img/home-1/feature/icon-4.png | Bin 0 -> 2309 bytes public/assets/img/home-1/feature/shape-2.png | Bin 0 -> 1477 bytes public/assets/img/home-1/feature/shape.png | Bin 0 -> 58494 bytes public/assets/img/home-1/feature/text-2.png | Bin 0 -> 8978 bytes public/assets/img/home-1/feature/text.png | Bin 0 -> 103045 bytes public/assets/img/home-1/feature/video-bg.jpg | Bin 0 -> 16196 bytes public/assets/img/home-1/footer-bg.jpg | Bin 0 -> 191388 bytes public/assets/img/home-1/hero/bg.jpg | Bin 0 -> 400378 bytes public/assets/img/home-1/hero/man.png | Bin 0 -> 7636 bytes public/assets/img/home-1/hero/sape-2.png | Bin 0 -> 1904 bytes public/assets/img/home-1/hero/shape-3.png | Bin 0 -> 11838 bytes public/assets/img/home-1/hero/shape-4.png | Bin 0 -> 2066 bytes public/assets/img/home-1/hero/shape.png | Bin 0 -> 20164 bytes public/assets/img/home-1/hover-bg.jpg | Bin 0 -> 2042 bytes public/assets/img/home-1/icon/01.svg | 10 + public/assets/img/home-1/news/client.png | Bin 0 -> 227 bytes public/assets/img/home-1/news/news-1.jpg | Bin 0 -> 2501 bytes public/assets/img/home-1/news/news-10.jpg | Bin 0 -> 2501 bytes public/assets/img/home-1/news/news-11.jpg | Bin 0 -> 2655 bytes public/assets/img/home-1/news/news-12.jpg | Bin 0 -> 2501 bytes public/assets/img/home-1/news/news-13.jpg | Bin 0 -> 6741 bytes public/assets/img/home-1/news/news-14.jpg | Bin 0 -> 6741 bytes public/assets/img/home-1/news/news-15.jpg | Bin 0 -> 6741 bytes public/assets/img/home-1/news/news-2.jpg | Bin 0 -> 2501 bytes public/assets/img/home-1/news/news-3.jpg | Bin 0 -> 2501 bytes public/assets/img/home-1/news/news-4.jpg | Bin 0 -> 2501 bytes public/assets/img/home-1/news/news-5.jpg | Bin 0 -> 2655 bytes public/assets/img/home-1/news/news-6.jpg | Bin 0 -> 2501 bytes public/assets/img/home-1/news/news-7.jpg | Bin 0 -> 2501 bytes public/assets/img/home-1/news/news-8.jpg | Bin 0 -> 2655 bytes public/assets/img/home-1/news/news-9.jpg | Bin 0 -> 2501 bytes public/assets/img/home-1/testimonial/01.jpg | Bin 0 -> 3564 bytes .../img/home-1/testimonial/client-2.png | Bin 0 -> 329 bytes .../assets/img/home-1/testimonial/client.png | Bin 0 -> 329 bytes public/assets/img/home-2/Vector.png | Bin 0 -> 15166 bytes public/assets/img/home-2/bg.jpg | Bin 0 -> 17783 bytes public/assets/img/home-2/feature/01.png | Bin 0 -> 4273 bytes public/assets/img/home-2/feature/02.png | Bin 0 -> 5800 bytes public/assets/img/home-2/feature/03.png | Bin 0 -> 5045 bytes public/assets/img/home-2/feature/Icon.png | Bin 0 -> 7990 bytes public/assets/img/home-2/feature/Years.png | Bin 0 -> 1285 bytes public/assets/img/home-2/feature/bg-shape.png | Bin 0 -> 68458 bytes public/assets/img/home-2/hero/hero-bg.jpg | Bin 0 -> 17771 bytes public/assets/img/home-2/hero/hero.png | Bin 0 -> 9462 bytes public/assets/img/home-2/hero/shape.png | Bin 0 -> 17345 bytes public/assets/img/home-2/icon/01.png | Bin 0 -> 1252 bytes public/assets/img/home-2/icon/02.svg | 4 + public/assets/img/home-2/news/01.jpg | Bin 0 -> 1874 bytes public/assets/img/home-2/news/02.jpg | Bin 0 -> 1874 bytes public/assets/img/home-2/news/03.jpg | Bin 0 -> 1874 bytes public/assets/img/home-2/service.jpg | Bin 0 -> 2071 bytes public/assets/img/home-2/testimonial/01.jpg | Bin 0 -> 3256 bytes .../img/home-2/testimonial/client-1.png | Bin 0 -> 377 bytes .../img/home-2/testimonial/client-2.png | Bin 0 -> 424 bytes .../img/home-2/testimonial/client-3.jpg | Bin 0 -> 424 bytes .../img/home-2/testimonial/client-4.jpg | Bin 0 -> 424 bytes public/assets/img/home-2/visa/01.png | Bin 0 -> 3785 bytes public/assets/img/home-2/visa/02.png | Bin 0 -> 3591 bytes public/assets/img/home-2/visa/03.png | Bin 0 -> 1265 bytes public/assets/img/home-2/visa/04.png | Bin 0 -> 5498 bytes public/assets/img/home-2/visa/05.png | Bin 0 -> 10256 bytes public/assets/img/home-2/visa/06.png | Bin 0 -> 8280 bytes public/assets/img/home-2/visa/07.png | Bin 0 -> 6156 bytes public/assets/img/home-2/visa/08.png | Bin 0 -> 7400 bytes public/assets/img/home-2/visa/09.png | Bin 0 -> 2347 bytes public/assets/img/home-2/visa/10.png | Bin 0 -> 1913 bytes public/assets/img/home-2/visa/11.png | Bin 0 -> 3690 bytes public/assets/img/home-2/visa/12.png | Bin 0 -> 931 bytes public/assets/img/home-2/visa/13.png | Bin 0 -> 2742 bytes public/assets/img/home-2/visa/14.png | Bin 0 -> 2765 bytes public/assets/img/home-2/visa/15.png | Bin 0 -> 2015 bytes public/assets/img/home-2/visa/16.png | Bin 0 -> 2412 bytes public/assets/img/home-2/visa/17.png | Bin 0 -> 1623 bytes public/assets/img/home-2/visa/18.png | Bin 0 -> 1586 bytes public/assets/img/home-3/about/01.png | Bin 0 -> 4261 bytes public/assets/img/home-3/about/bg.jpg | Bin 0 -> 24868 bytes public/assets/img/home-3/choose-us/01.jpg | Bin 0 -> 1432 bytes public/assets/img/home-3/choose-us/02.jpg | Bin 0 -> 1432 bytes public/assets/img/home-3/choose-us/03.jpg | Bin 0 -> 1325 bytes public/assets/img/home-3/choose-us/04.jpg | Bin 0 -> 1432 bytes public/assets/img/home-3/choose-us/05.jpg | Bin 0 -> 1432 bytes public/assets/img/home-3/choose-us/06.png | Bin 0 -> 1672 bytes public/assets/img/home-3/choose-us/07.png | Bin 0 -> 1783 bytes public/assets/img/home-3/choose-us/bg.png | Bin 0 -> 263816 bytes public/assets/img/home-3/choose-us/icon-1.png | Bin 0 -> 1365 bytes public/assets/img/home-3/choose-us/icon-2.png | Bin 0 -> 1163 bytes public/assets/img/home-3/choose-us/icon-3.png | Bin 0 -> 534 bytes .../img/home-3/choose-us/pricing-bg.jpg | Bin 0 -> 147579 bytes public/assets/img/home-3/footer.jpg | Bin 0 -> 104583 bytes public/assets/img/home-3/hero/bg.jpg | Bin 0 -> 18995 bytes public/assets/img/home-3/hero/flag.png | Bin 0 -> 65897 bytes public/assets/img/home-3/hero/man.png | Bin 0 -> 6302 bytes public/assets/img/home-3/news/01.jpg | Bin 0 -> 1465 bytes public/assets/img/home-3/news/02.jpg | Bin 0 -> 1465 bytes public/assets/img/home-3/news/03.jpg | Bin 0 -> 1465 bytes public/assets/img/home-3/news/04.jpg | Bin 0 -> 1465 bytes public/assets/img/home-3/news/client.png | Bin 0 -> 227 bytes public/assets/img/home-3/service/01.jpg | Bin 0 -> 2220 bytes public/assets/img/home-3/service/02.jpg | Bin 0 -> 2220 bytes public/assets/img/home-3/service/03.jpg | Bin 0 -> 2220 bytes public/assets/img/home-3/service/04.jpg | Bin 0 -> 2220 bytes public/assets/img/home-3/test-thumb.jpg | Bin 0 -> 2401 bytes public/assets/img/inner-page/404.png | Bin 0 -> 9463 bytes public/assets/img/inner-page/breadcrumb.jpg | Bin 0 -> 184952 bytes .../img/inner-page/country-details/01.png | Bin 0 -> 2039 bytes .../img/inner-page/country-details/02.png | Bin 0 -> 1839 bytes .../img/inner-page/country-details/03.png | Bin 0 -> 856 bytes .../img/inner-page/country-details/04.png | Bin 0 -> 1492 bytes .../img/inner-page/country-details/05.png | Bin 0 -> 1927 bytes .../img/inner-page/country-details/06.png | Bin 0 -> 1633 bytes .../img/inner-page/country-details/07.png | Bin 0 -> 1750 bytes .../img/inner-page/country-details/08.png | Bin 0 -> 953 bytes .../img/inner-page/country-details/bg.jpg | Bin 0 -> 2565 bytes .../inner-page/country-details/details-1.jpg | Bin 0 -> 6597 bytes .../inner-page/country-details/details-2.jpg | Bin 0 -> 2347 bytes .../inner-page/country-details/details-3.png | Bin 0 -> 2347 bytes public/assets/img/inner-page/intro.jpg | Bin 0 -> 12102 bytes .../img/inner-page/news-details/comment-1.png | Bin 0 -> 524 bytes .../img/inner-page/news-details/comment-2.png | Bin 0 -> 524 bytes .../img/inner-page/news-details/comment-3.png | Bin 0 -> 524 bytes .../img/inner-page/news-details/details-1.jpg | Bin 0 -> 6741 bytes .../img/inner-page/news-details/details-2.jpg | Bin 0 -> 2324 bytes .../img/inner-page/news-details/details-3.jpg | Bin 0 -> 2324 bytes .../img/inner-page/news-details/post-1.jpg | Bin 0 -> 534 bytes .../img/inner-page/news-details/post-2.jpg | Bin 0 -> 534 bytes .../img/inner-page/news-details/post-3.jpg | Bin 0 -> 534 bytes .../inner-page/service-details/details-1.jpg | Bin 0 -> 10791 bytes .../inner-page/service-details/details-2.jpg | Bin 0 -> 4620 bytes .../inner-page/service-details/details-3.jpg | Bin 0 -> 4598 bytes public/assets/img/inner-page/shape.png | Bin 0 -> 1963 bytes public/assets/img/logo/black-logo.svg | 18 + public/assets/img/logo/white-logo.svg | 18 + 162 files changed, 319 insertions(+), 31751 deletions(-) create mode 100644 app/blog/components/Breadcrumb.tsx create mode 100644 app/blog/components/NewsList.tsx create mode 100644 app/blog/components/NewsSection.tsx create mode 100644 app/blog/components/Sidebar.tsx create mode 100644 public/assets/img/close.png create mode 100644 public/assets/img/favicon.png create mode 100644 public/assets/img/header/home-1.jpg create mode 100644 public/assets/img/header/home-2.jpg create mode 100644 public/assets/img/header/home-3.jpg create mode 100644 public/assets/img/home-1/about/Vector.png create mode 100644 public/assets/img/home-1/about/about-02.jpg create mode 100644 public/assets/img/home-1/about/about-1.jpg create mode 100644 public/assets/img/home-1/about/globe.png create mode 100644 public/assets/img/home-1/about/plane.png create mode 100644 public/assets/img/home-1/about/shape.png create mode 100644 public/assets/img/home-1/brand/01.png create mode 100644 public/assets/img/home-1/brand/02.png create mode 100644 public/assets/img/home-1/brand/03.png create mode 100644 public/assets/img/home-1/brand/04.png create mode 100644 public/assets/img/home-1/brand/05.png create mode 100644 public/assets/img/home-1/feature/Vector.png create mode 100644 public/assets/img/home-1/feature/bg-2.jpg create mode 100644 public/assets/img/home-1/feature/bg.png create mode 100644 public/assets/img/home-1/feature/icon-1.png create mode 100644 public/assets/img/home-1/feature/icon-2.png create mode 100644 public/assets/img/home-1/feature/icon-3.png create mode 100644 public/assets/img/home-1/feature/icon-4.png create mode 100644 public/assets/img/home-1/feature/shape-2.png create mode 100644 public/assets/img/home-1/feature/shape.png create mode 100644 public/assets/img/home-1/feature/text-2.png create mode 100644 public/assets/img/home-1/feature/text.png create mode 100644 public/assets/img/home-1/feature/video-bg.jpg create mode 100644 public/assets/img/home-1/footer-bg.jpg create mode 100644 public/assets/img/home-1/hero/bg.jpg create mode 100644 public/assets/img/home-1/hero/man.png create mode 100644 public/assets/img/home-1/hero/sape-2.png create mode 100644 public/assets/img/home-1/hero/shape-3.png create mode 100644 public/assets/img/home-1/hero/shape-4.png create mode 100644 public/assets/img/home-1/hero/shape.png create mode 100644 public/assets/img/home-1/hover-bg.jpg create mode 100644 public/assets/img/home-1/icon/01.svg create mode 100644 public/assets/img/home-1/news/client.png create mode 100644 public/assets/img/home-1/news/news-1.jpg create mode 100644 public/assets/img/home-1/news/news-10.jpg create mode 100644 public/assets/img/home-1/news/news-11.jpg create mode 100644 public/assets/img/home-1/news/news-12.jpg create mode 100644 public/assets/img/home-1/news/news-13.jpg create mode 100644 public/assets/img/home-1/news/news-14.jpg create mode 100644 public/assets/img/home-1/news/news-15.jpg create mode 100644 public/assets/img/home-1/news/news-2.jpg create mode 100644 public/assets/img/home-1/news/news-3.jpg create mode 100644 public/assets/img/home-1/news/news-4.jpg create mode 100644 public/assets/img/home-1/news/news-5.jpg create mode 100644 public/assets/img/home-1/news/news-6.jpg create mode 100644 public/assets/img/home-1/news/news-7.jpg create mode 100644 public/assets/img/home-1/news/news-8.jpg create mode 100644 public/assets/img/home-1/news/news-9.jpg create mode 100644 public/assets/img/home-1/testimonial/01.jpg create mode 100644 public/assets/img/home-1/testimonial/client-2.png create mode 100644 public/assets/img/home-1/testimonial/client.png create mode 100644 public/assets/img/home-2/Vector.png create mode 100644 public/assets/img/home-2/bg.jpg create mode 100644 public/assets/img/home-2/feature/01.png create mode 100644 public/assets/img/home-2/feature/02.png create mode 100644 public/assets/img/home-2/feature/03.png create mode 100644 public/assets/img/home-2/feature/Icon.png create mode 100644 public/assets/img/home-2/feature/Years.png create mode 100644 public/assets/img/home-2/feature/bg-shape.png create mode 100644 public/assets/img/home-2/hero/hero-bg.jpg create mode 100644 public/assets/img/home-2/hero/hero.png create mode 100644 public/assets/img/home-2/hero/shape.png create mode 100644 public/assets/img/home-2/icon/01.png create mode 100644 public/assets/img/home-2/icon/02.svg create mode 100644 public/assets/img/home-2/news/01.jpg create mode 100644 public/assets/img/home-2/news/02.jpg create mode 100644 public/assets/img/home-2/news/03.jpg create mode 100644 public/assets/img/home-2/service.jpg create mode 100644 public/assets/img/home-2/testimonial/01.jpg create mode 100644 public/assets/img/home-2/testimonial/client-1.png create mode 100644 public/assets/img/home-2/testimonial/client-2.png create mode 100644 public/assets/img/home-2/testimonial/client-3.jpg create mode 100644 public/assets/img/home-2/testimonial/client-4.jpg create mode 100644 public/assets/img/home-2/visa/01.png create mode 100644 public/assets/img/home-2/visa/02.png create mode 100644 public/assets/img/home-2/visa/03.png create mode 100644 public/assets/img/home-2/visa/04.png create mode 100644 public/assets/img/home-2/visa/05.png create mode 100644 public/assets/img/home-2/visa/06.png create mode 100644 public/assets/img/home-2/visa/07.png create mode 100644 public/assets/img/home-2/visa/08.png create mode 100644 public/assets/img/home-2/visa/09.png create mode 100644 public/assets/img/home-2/visa/10.png create mode 100644 public/assets/img/home-2/visa/11.png create mode 100644 public/assets/img/home-2/visa/12.png create mode 100644 public/assets/img/home-2/visa/13.png create mode 100644 public/assets/img/home-2/visa/14.png create mode 100644 public/assets/img/home-2/visa/15.png create mode 100644 public/assets/img/home-2/visa/16.png create mode 100644 public/assets/img/home-2/visa/17.png create mode 100644 public/assets/img/home-2/visa/18.png create mode 100644 public/assets/img/home-3/about/01.png create mode 100644 public/assets/img/home-3/about/bg.jpg create mode 100644 public/assets/img/home-3/choose-us/01.jpg create mode 100644 public/assets/img/home-3/choose-us/02.jpg create mode 100644 public/assets/img/home-3/choose-us/03.jpg create mode 100644 public/assets/img/home-3/choose-us/04.jpg create mode 100644 public/assets/img/home-3/choose-us/05.jpg create mode 100644 public/assets/img/home-3/choose-us/06.png create mode 100644 public/assets/img/home-3/choose-us/07.png create mode 100644 public/assets/img/home-3/choose-us/bg.png create mode 100644 public/assets/img/home-3/choose-us/icon-1.png create mode 100644 public/assets/img/home-3/choose-us/icon-2.png create mode 100644 public/assets/img/home-3/choose-us/icon-3.png create mode 100644 public/assets/img/home-3/choose-us/pricing-bg.jpg create mode 100644 public/assets/img/home-3/footer.jpg create mode 100644 public/assets/img/home-3/hero/bg.jpg create mode 100644 public/assets/img/home-3/hero/flag.png create mode 100644 public/assets/img/home-3/hero/man.png create mode 100644 public/assets/img/home-3/news/01.jpg create mode 100644 public/assets/img/home-3/news/02.jpg create mode 100644 public/assets/img/home-3/news/03.jpg create mode 100644 public/assets/img/home-3/news/04.jpg create mode 100644 public/assets/img/home-3/news/client.png create mode 100644 public/assets/img/home-3/service/01.jpg create mode 100644 public/assets/img/home-3/service/02.jpg create mode 100644 public/assets/img/home-3/service/03.jpg create mode 100644 public/assets/img/home-3/service/04.jpg create mode 100644 public/assets/img/home-3/test-thumb.jpg create mode 100644 public/assets/img/inner-page/404.png create mode 100644 public/assets/img/inner-page/breadcrumb.jpg create mode 100644 public/assets/img/inner-page/country-details/01.png create mode 100644 public/assets/img/inner-page/country-details/02.png create mode 100644 public/assets/img/inner-page/country-details/03.png create mode 100644 public/assets/img/inner-page/country-details/04.png create mode 100644 public/assets/img/inner-page/country-details/05.png create mode 100644 public/assets/img/inner-page/country-details/06.png create mode 100644 public/assets/img/inner-page/country-details/07.png create mode 100644 public/assets/img/inner-page/country-details/08.png create mode 100644 public/assets/img/inner-page/country-details/bg.jpg create mode 100644 public/assets/img/inner-page/country-details/details-1.jpg create mode 100644 public/assets/img/inner-page/country-details/details-2.jpg create mode 100644 public/assets/img/inner-page/country-details/details-3.png create mode 100644 public/assets/img/inner-page/intro.jpg create mode 100644 public/assets/img/inner-page/news-details/comment-1.png create mode 100644 public/assets/img/inner-page/news-details/comment-2.png create mode 100644 public/assets/img/inner-page/news-details/comment-3.png create mode 100644 public/assets/img/inner-page/news-details/details-1.jpg create mode 100644 public/assets/img/inner-page/news-details/details-2.jpg create mode 100644 public/assets/img/inner-page/news-details/details-3.jpg create mode 100644 public/assets/img/inner-page/news-details/post-1.jpg create mode 100644 public/assets/img/inner-page/news-details/post-2.jpg create mode 100644 public/assets/img/inner-page/news-details/post-3.jpg create mode 100644 public/assets/img/inner-page/service-details/details-1.jpg create mode 100644 public/assets/img/inner-page/service-details/details-2.jpg create mode 100644 public/assets/img/inner-page/service-details/details-3.jpg create mode 100644 public/assets/img/inner-page/shape.png create mode 100644 public/assets/img/logo/black-logo.svg create mode 100644 public/assets/img/logo/white-logo.svg diff --git a/app/blog/components/Breadcrumb.tsx b/app/blog/components/Breadcrumb.tsx new file mode 100644 index 0000000..2be740c --- /dev/null +++ b/app/blog/components/Breadcrumb.tsx @@ -0,0 +1,23 @@ +export default function Breadcrumb() { + return ( +
+
+ img +
+
+
+

Blog Stardard

+
    +
  • + Home +
  • +
  • + +
  • +
  • Blog Stardard
  • +
+
+
+
+ ); +} \ No newline at end of file diff --git a/app/blog/components/NewsList.tsx b/app/blog/components/NewsList.tsx new file mode 100644 index 0000000..fe2c610 --- /dev/null +++ b/app/blog/components/NewsList.tsx @@ -0,0 +1,90 @@ +export default function NewsList() { + return ( +
+ {/* News Post 1 */} +
+
+ img +
+
+
    +
  • + By Admin +
  • +
  • + 11 March 2025 +
  • +
  • + 0 Comments +
  • +
+

+ How to Avoid Common Mistakes in Visa Applications +

+

+ A business consultant provides expert guidance, strategic planning, and problem-solving support—helping startups avoid mistakes, grow faster, and operate more efficiently from day one. +

+ + VIEW MORE + +
+
+ {/* News Post 2 */} +
+
+ img +
+
+
    +
  • + By Admin +
  • +
  • + 11 March 2025 +
  • +
  • + 0 Comments +
  • +
+

+ The Role of Immigration Consultants in Your Journey +

+

+ Immigration consultants play a vital role in guiding applicants, simplifying complex processes, offering expert advice, and ensuring successful outcomes for study, work, or permanent residency abroad. +

+ + VIEW MORE + +
+
+ {/* News Post 3 */} +
+
+ img +
+
+
    +
  • + By Admin +
  • +
  • + 11 March 2025 +
  • +
  • + 0 Comments +
  • +
+

+ Latest Immigration Policy Updates You Should Know +

+

+ Stay informed with the latest immigration policy updates, ensuring you understand new rules, visa requirements, and opportunities that impact your study, work, or migration journey abroad. +

+ + VIEW MORE + +
+
+
+ ); +} \ No newline at end of file diff --git a/app/blog/components/NewsSection.tsx b/app/blog/components/NewsSection.tsx new file mode 100644 index 0000000..4ddd43d --- /dev/null +++ b/app/blog/components/NewsSection.tsx @@ -0,0 +1,17 @@ +import NewsList from "./NewsList"; +import Sidebar from "./Sidebar"; + +export default function NewsSection() { + return ( +
+
+
+
+ + +
+
+
+
+ ); +} \ No newline at end of file diff --git a/app/blog/components/Sidebar.tsx b/app/blog/components/Sidebar.tsx new file mode 100644 index 0000000..19e2c73 --- /dev/null +++ b/app/blog/components/Sidebar.tsx @@ -0,0 +1,97 @@ +export default function Sidebar() { + return ( +
+
+ {/* Search Widget */} +
+
+
+ + +
+
+
+ {/* Categories */} +
+
+

Cetegories

+
+
+ +
+
+ {/* Recent Post */} +
+
+

Recent Post

+
+
+
+
+ img +
+
+
+ Top Countries for Higher Education in 2025 +
+
    +
  • March 26, 2025
  • +
+
+
+
+
+ img +
+
+
+ The Benefits of Hiring a Visa Consultant +
+
    +
  • March 26, 2025
  • +
+
+
+
+
+ img +
+
+
+ How to Prepare for Your Immigration Interview +
+
    +
  • March 26, 2025
  • +
+
+
+
+
+ {/* Tag Cloud */} +
+
+

Tag Cloud

+
+
+ +
+
+
+
+ ); +} \ No newline at end of file diff --git a/app/blog/page.tsx b/app/blog/page.tsx index 43ac455..90f5250 100644 --- a/app/blog/page.tsx +++ b/app/blog/page.tsx @@ -1,144 +1,11 @@ -"use client"; - -import { useState } from "react"; -import blogData from "./blog.json"; - -export default function BlogPage() { - const [selectedCategory, setSelectedCategory] = useState("all"); - - const filteredPosts = - selectedCategory === "all" - ? blogData.posts - : blogData.posts.filter( - (post) => post.category.toLowerCase() === selectedCategory, - ); +import Breadcrumb from "./components/Breadcrumb"; +import NewsSection from "./components/NewsSection"; +export default function NewsPage() { return ( -
-
- {/* Header */} -
-

- {blogData.title} -

-

{blogData.subtitle}

-
- - {/* Featured Post */} -
-
-
- - Nổi bật - - - {blogData.featured.category} - -
-

- {blogData.featured.title} -

-

- {blogData.featured.excerpt} -

-
-
- 👤 {blogData.featured.author} - 📅 {blogData.featured.date} - ⏱️ {blogData.featured.readTime} -
- -
-
-
- - {/* Category Filter */} -
-
- {blogData.categories.map((category) => ( - - ))} -
-
- - {/* Blog Posts Grid */} -
- {filteredPosts.map((post) => ( -
- {/* Post Image */} -
- 📷 {post.category} -
- - {/* Post Content */} -
- {/* Category & Date */} -
- - {post.category} - - {post.date} -
- - {/* Title */} -

- {post.title} -

- - {/* Excerpt */} -

- {post.excerpt} -

- - {/* Tags */} -
- {post.tags.map((tag, index) => ( - - #{tag} - - ))} -
- - {/* Meta Info */} -
- 👤 {post.author} - ⏱️ {post.readTime} -
- - {/* Read More Button */} - -
-
- ))} -
- - {/* Load More */} -
- -
-
-
+ <> + + + ); -} +} \ No newline at end of file diff --git a/app/globals.css b/app/globals.css index a2dc41e..a461c50 100644 --- a/app/globals.css +++ b/app/globals.css @@ -1,26 +1 @@ -@import "tailwindcss"; - -:root { - --background: #ffffff; - --foreground: #171717; -} - -@theme inline { - --color-background: var(--background); - --color-foreground: var(--foreground); - --font-sans: var(--font-geist-sans); - --font-mono: var(--font-geist-mono); -} - -@media (prefers-color-scheme: dark) { - :root { - --background: #0a0a0a; - --foreground: #ededed; - } -} - -body { - background: var(--background); - color: var(--foreground); - font-family: Arial, Helvetica, sans-serif; -} +@import "tailwindcss"; \ No newline at end of file diff --git a/app/layout.tsx b/app/layout.tsx index 4b74f00..4619a98 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,18 +1,9 @@ import type { Metadata } from "next"; -import { Geist, Geist_Mono } from "next/font/google"; import "./globals.css"; + import Header from "./components/Header"; import Footer from "./components/Footer"; - -const geistSans = Geist({ - variable: "--font-geist-sans", - subsets: ["latin"], -}); - -const geistMono = Geist_Mono({ - variable: "--font-geist-mono", - subsets: ["latin"], -}); +import Script from "next/script"; export const metadata: Metadata = { title: "VisaService - Dịch vụ visa uy tín", @@ -27,12 +18,39 @@ export default function RootLayout({ }>) { return ( - + + {/* Nhúng các file CSS template như news.html */} + + + + + + + + + + + +
{children}