This commit is contained in:
2025-05-31 20:29:02 +07:00
parent 0836e4473f
commit c377e01f33
14 changed files with 129 additions and 944 deletions

View File

@@ -8,6 +8,20 @@ return [
'query' => [],
'url' => '/buildpc',
],
"/buildpc/compare" => [
'module' => 'buildpc',
'view' => 'compare',
'view_id'=> 0,
'query' => [],
'url' => '/buildpc/compare',
],
"/buildpc/detail" => [
'module' => 'buildpc',
'view' => 'detail',
'view_id'=> 0,
'query' => [],
'url' => '/buildpc/detail',
],
// product
"/danh-muc-cap1.html" => [
'module' => 'category',

81
package-lock.json generated
View File

@@ -9,6 +9,7 @@
"preact": "^10.26.6",
"preact-iso": "^2.9.1",
"react-fancybox": "^1.0.2",
"react-router-dom": "^7.6.1",
"react-slick": "^0.30.3",
"swiper": "^11.2.6",
"tailwindcss": "^4.1.5"
@@ -1765,6 +1766,15 @@
"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
"dev": true
},
"node_modules/cookie": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz",
"integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==",
"license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/cross-spawn": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -3982,6 +3992,44 @@
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
"dev": true
},
"node_modules/react-router": {
"version": "7.6.1",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-7.6.1.tgz",
"integrity": "sha512-hPJXXxHJZEsPFNVbtATH7+MMX43UDeOauz+EAU4cgqTn7ojdI9qQORqS8Z0qmDlL1TclO/6jLRYUEtbWidtdHQ==",
"license": "MIT",
"dependencies": {
"cookie": "^1.0.1",
"set-cookie-parser": "^2.6.0"
},
"engines": {
"node": ">=20.0.0"
},
"peerDependencies": {
"react": ">=18",
"react-dom": ">=18"
},
"peerDependenciesMeta": {
"react-dom": {
"optional": true
}
}
},
"node_modules/react-router-dom": {
"version": "7.6.1",
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.6.1.tgz",
"integrity": "sha512-vxU7ei//UfPYQ3iZvHuO1D/5fX3/JOqhNTbRR+WjSBWxf9bIvpWK+ftjmdfJHzPOuMQKe2fiEdG+dZX6E8uUpA==",
"license": "MIT",
"dependencies": {
"react-router": "7.6.1"
},
"engines": {
"node": ">=20.0.0"
},
"peerDependencies": {
"react": ">=18",
"react-dom": ">=18"
}
},
"node_modules/react-slick": {
"version": "0.30.3",
"resolved": "https://registry.npmjs.org/react-slick/-/react-slick-0.30.3.tgz",
@@ -4226,6 +4274,12 @@
"semver": "bin/semver.js"
}
},
"node_modules/set-cookie-parser": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz",
"integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==",
"license": "MIT"
},
"node_modules/set-function-length": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
@@ -6145,6 +6199,11 @@
"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
"dev": true
},
"cookie": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz",
"integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="
},
"cross-spawn": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -7719,6 +7778,23 @@
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
"dev": true
},
"react-router": {
"version": "7.6.1",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-7.6.1.tgz",
"integrity": "sha512-hPJXXxHJZEsPFNVbtATH7+MMX43UDeOauz+EAU4cgqTn7ojdI9qQORqS8Z0qmDlL1TclO/6jLRYUEtbWidtdHQ==",
"requires": {
"cookie": "^1.0.1",
"set-cookie-parser": "^2.6.0"
}
},
"react-router-dom": {
"version": "7.6.1",
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.6.1.tgz",
"integrity": "sha512-vxU7ei//UfPYQ3iZvHuO1D/5fX3/JOqhNTbRR+WjSBWxf9bIvpWK+ftjmdfJHzPOuMQKe2fiEdG+dZX6E8uUpA==",
"requires": {
"react-router": "7.6.1"
}
},
"react-slick": {
"version": "0.30.3",
"resolved": "https://registry.npmjs.org/react-slick/-/react-slick-0.30.3.tgz",
@@ -7883,6 +7959,11 @@
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"dev": true
},
"set-cookie-parser": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz",
"integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ=="
},
"set-function-length": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",

View File

@@ -11,6 +11,7 @@
"preact": "^10.26.6",
"preact-iso": "^2.9.1",
"react-fancybox": "^1.0.2",
"react-router-dom": "^7.6.1",
"react-slick": "^0.30.3",
"swiper": "^11.2.6",
"tailwindcss": "^4.1.5"

File diff suppressed because one or more lines are too long

View File

@@ -1,9 +1,20 @@
import { useState } from "react";
import { useState, useEffect } from "react";
import { PopupBuildpc } from "../../components/buildpc/PopupBuildpc";
export function CreateBuildpc() {
const [showPopup, setShowPopup] = useState(false);
useEffect(() => {
if (showPopup) {
document.body.style.overflow = "hidden";
} else {
document.body.style.overflow = "auto";
}
return () => {
document.body.style.overflow = "auto";
};
}, [showPopup]);
return (
<>
<div className="mt-6 flex items-center border-b-[1px] border-neutral-200 pb-3">

View File

@@ -1,68 +0,0 @@
export function Footer() {
return (
<footer className="border-t-[11px] border-[#1c039b] w-full">
<div className="container">
<a href="/" className="block my-[30px]">
<img
src="/assets/images/logo-footer.png"
className="block w-[180px] h-[45px] object-contain"
width="100%"
height="100%"
alt="logo"
/>
</a>
<div className="main-footer grid grid-cols-4">
<div className="item">
<h3 className="title font-bold">Về chúng tôi</h3>
<a href="" className="block">
Đc quyền
</a>
<a href="" className="block">
Mua online
</a>
<a href="" className="block">
Bộ sưu tập
</a>
<a href="/tin-tuc" className="block">
Blog
</a>
<div className="list-social flex items-center mt-[45px]">
<a href="" target="_blank" className="mr-[10px]">
<i className="icon_2025 facebook"></i>
</a>
<a href="" target="_blank">
<i className="icon_2025 zalo"></i>
</a>
</div>
</div>
<div className="item">
<h3 className="title font-bold">Tuyển dụng</h3>
<a href="">Liên hệ</a>
<a href="">Điều khoản</a>
<a href="">Chính sách bảo mật</a>
<a href="">Trở thành đi tác</a>
</div>
<div className="item">
<h3 className="title font-bold">Liên kết</h3>
<a href="hurasoft.com">Hurasoft.com</a>
</div>
<div className="item">
<h3 className="title font-bold">Giới thiệu</h3>
<b className="text-[16px]">
BESTPC kênh tổng hợp tin khuyến mãi chuyên nghiệp đu tiên
Việt Nam, cho phép bạn tìm kiếm giảm giá, tin ưu đãi từ nghành
hàng laptop, thiết bị điện tử, máy tính, xây dựng cấu hình PC
chuyên nghiệp. còn rất nhiều giảm giá đc quyền dành riêng
cho bạn.
</b>
</div>
</div>
</div>
<div className="footer-bottom bg-[#ebebeb] py-[15px]">
<b className="text-center block">
© Copyright 2025 by Hurasoft. All Rights Reserved.
</b>
</div>
</footer>
);
}

View File

@@ -1,859 +0,0 @@
export function Header() {
return (
<header class="w-full">
<div class="header-main px-[10px] py-6 bg-[var(--color-global)]">
<div class="container">
<div class="flex items-center justify-between">
<a href="/" class="logo block mr-[100px]">
<img
src="/assets/images/logo.png"
class="object-contain w-[173px] h-[45px] block"
alt="Location icon"
/>
</a>
<div class="flex items-center mr-[100px]">
<i class="icon_2025 map"></i>
<div class="ml-[20px] ">
<span class="text-xs text-white block mb-[5px]">
Bạn đang
</span>
<div class="box-select">
<select name="" id="" class="select select_location">
<option value=""> Nội</option>
<option value="">TP HCM</option>
<option value="">Đà Nẵng</option>
</select>
</div>
</div>
</div>
<div class="w-[670px] relative mr-[135px] input-search">
<form
action="/search"
enctype="text/plain"
method="get"
class="relative w-full h-[45px] bg-white rounded-[8px] overflow-hidden"
>
<input
type="text"
name="q"
placeholder="Tìm kiếm khuyến mãi, cửa hàng, sản phẩm,..."
class="search-input w-full h-full p-[0_10px] rounded-[8px] text-base"
/>
<button
type="submit"
class="absolute right-[10px] top-[5px] w-[40px] h-[35px] border-l-[1.5px] border-[#B3B3B3] pl-[10px]"
>
<i class="icon_2025 search "></i>
</button>
</form>
<div class="autocomplete-suggestions hidden">
<p>TỪ KHOÁ HOT</p>
<ul class="ul">
<li>
<a href=""> laptop </a>
</li>
<li>
<a href=""> laptop </a>
</li>
<li>
<a href=""> laptop </a>
</li>
<li>
<a href=""> laptop </a>
</li>
<li>
<a href=""> laptop </a>
</li>
<li>
<a href=""> laptop </a>
</li>
<li>
<a href=""> laptop </a>
</li>
</ul>
</div>
</div>
<div class="box-user">
<div class="flex items-center">
<i class="icon_2025 user"></i>
<b class="text-white p-[0_5px] whitespace-nowrap">Tài khoản</b>
<i class="icon_arrow"></i>
</div>
</div>
</div>
</div>
</div>
{/* Navigation Section */}
<nav class="header-bottom px-[10px] py-2.5 w-full bg-white shadow-[0px_4px_4px_rgba(149,149,149,0.25)]">
<div class="container">
<div class="flex items-center justify-between w-full">
<div class="header-menu relative group">
<div class="title-menu flex items-center justify-center w-[219px] h-[45px] rounded-[4px] border-[1px] border-[#e3e3e3] bg-[#F6F6F6] cursor-pointer">
<i class="icon_2025 bar"></i>
<b class="ml-[8px] uppercase">Danh mục sản phẩm</b>
</div>
<div class="box-menu-hover group-hover:block absolute hidden shadow-[0_0_8px_2px_rgba(0,0,0,0.1)] rounded-[5px] bg-white top-[47px] z-[99] w-[220px]">
<div class="item">
<a href="/danh-muc-cap1.html" class="flex items-center">
<span class="cate-img">
{" "}
<img src="/dev/images/laptop.png" alt="" />{" "}
</span>
<span class="cate-name"> Laptop &amp; phụ kiện</span>
</a>
<div class="sub-menu">
<ul class="ul sub-cate">
<li>
<a href="/danh-muc-cap2.html"> Laptop </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Laptop </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Laptop </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Laptop </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
</ul>
<ul class="ul sub-cate">
<li>
<a href="/danh-muc-cap2.html"> Laptop 2 </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện 2 </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Laptop 2 </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện 2 </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Laptop 2 </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện 2 </a>
</li>
</ul>
</div>
</div>
<div class="item">
<a href="/danh-muc-cap1.html" class="flex items-center">
<span class="cate-img">
{" "}
<img src="/dev/images/008-mouse.png" alt="" />{" "}
</span>
<span class="cate-name"> Laptop &amp; phụ kiện</span>
</a>
<div class="sub-menu">
<ul class="ul sub-cate">
<li>
<a href="/danh-muc-cap2.html"> Laptop </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Laptop </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Laptop </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Laptop </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
</ul>
</div>
</div>
<div class="item">
<a href="/danh-muc-cap1.html" class="flex items-center">
<span class="cate-img">
{" "}
<img src="/dev/images/010-computer.png" alt="" />{" "}
</span>
<span class="cate-name"> Laptop &amp; phụ kiện</span>
</a>
</div>
<div class="item">
<a href="/danh-muc-cap1.html" class="flex items-center">
<span class="cate-img">
{" "}
<img src="/dev/images/013-fan.png" alt="" />{" "}
</span>
<span class="cate-name"> Laptop &amp; phụ kiện</span>
</a>
<div class="sub-menu">
<ul class="ul sub-cate">
<li>
<a href="/danh-muc-cap2.html"> Laptop </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Laptop </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Laptop </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Laptop </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
</ul>
<ul class="ul sub-cate">
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
</ul>
</div>
</div>
<div class="item">
<a href="/danh-muc-cap1.html" class="flex items-center">
<span class="cate-img">
{" "}
<img src="/dev/images/gamepad-1.png" alt="" />{" "}
</span>
<span class="cate-name"> Laptop &amp; phụ kiện</span>
</a>
<div class="sub-menu">
<ul class="ul sub-cate">
<li>
<a href="/danh-muc-cap2.html"> Laptop </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Laptop </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Laptop </a>
</li>
</ul>
<ul class="ul sub-cate">
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
</ul>
</div>
</div>
<div class="item">
<a href="/danh-muc-cap1.html" class="flex items-center">
<span class="cate-img">
{" "}
<img src="/dev/images/server-4.png" alt="" />{" "}
</span>
<span class="cate-name"> Laptop &amp; phụ kiện</span>
</a>
<div class="sub-menu">
<ul class="ul sub-cate">
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Laptop </a>
</li>
<li>
<a href="/danh-muc-cap2.html"> Phụ kiện </a>
</li>
</ul>
<ul class="ul sub-cate">
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
</ul>
</div>
</div>
<div class="item">
<a href="/danh-muc-cap1.html" class="flex items-center">
<span class="cate-img">
{" "}
<img src="/dev/images/laptop.png" alt="" />{" "}
</span>
<span class="cate-name"> Laptop &amp; phụ kiện</span>
</a>
<div class="sub-menu">
<ul class="ul sub-cate">
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
</ul>
<ul class="ul sub-cate">
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
</ul>
</div>
</div>
<div class="item">
<a href="/danh-muc-cap1.html" class="flex items-center">
<span class="cate-img">
{" "}
<img src="/dev/images/008-mouse.png" alt="" />{" "}
</span>
<span class="cate-name"> Laptop &amp; phụ kiện</span>
</a>
<div class="sub-menu">
<ul class="ul sub-cate">
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
</ul>
<ul class="ul sub-cate">
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
</ul>
</div>
</div>
<div class="item">
<a href="/danh-muc-cap1.html" class="flex items-center">
<span class="cate-img">
{" "}
<img src="/dev/images/010-computer.png" alt="" />{" "}
</span>
<span class="cate-name"> Laptop &amp; phụ kiện</span>
</a>
<div class="sub-menu">
<ul class="ul sub-cate">
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
</ul>
<ul class="ul sub-cate">
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
</ul>
</div>
</div>
<div class="item">
<a href="/danh-muc-cap1.html" class="flex items-center">
<span class="cate-img">
{" "}
<img src="/dev/images/013-fan.png" alt="" />{" "}
</span>
<span class="cate-name"> Laptop &amp; phụ kiện</span>
</a>
<div class="sub-menu">
<ul class="ul sub-cate">
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
</ul>
<ul class="ul sub-cate">
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
</ul>
</div>
</div>
<div class="item">
<a href="/danh-muc-cap1.html" class="flex items-center">
<span class="cate-img">
{" "}
<img src="/dev/images/gamepad-1.png" alt="" />{" "}
</span>
<span class="cate-name"> Laptop &amp; phụ kiện</span>
</a>
<div class="sub-menu">
<ul class="ul sub-cate">
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
</ul>
<ul class="ul sub-cate">
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
</ul>
</div>
</div>
<div class="item">
<a href="/danh-muc-cap1.html" class="flex items-center">
<span class="cate-img">
{" "}
<img src="/dev/images/server-4.png" alt="" />{" "}
</span>
<span class="cate-name"> Laptop &amp; phụ kiện</span>
</a>
<div class="sub-menu">
<ul class="ul sub-cate">
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
</ul>
<ul class="ul sub-cate">
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
</ul>
</div>
</div>
<div class="item">
<a href="" class="flex items-center">
<span class="cate-img">
{" "}
<img src="/dev/images/server-4.png" alt="" />{" "}
</span>
<span class="cate-name"> Laptop &amp; phụ kiện</span>
</a>
<div class="sub-menu">
<ul class="ul sub-cate">
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
<li>
<a href=""> Laptop </a>
</li>
<li>
<a href=""> Phụ kiện </a>
</li>
</ul>
<ul class="ul sub-cate">
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
<li>
<a href=""> Laptop 2 </a>
</li>
<li>
<a href=""> Phụ kiện 2 </a>
</li>
</ul>
</div>
</div>
{/* end copy */}
</div>
</div>
<div class="flex gap-[40px] header-bottom-right">
<a href="/buildpc" class="flex items-center group">
<i class="icon_2025 buildpc"></i>
<span class="ml-[7px] group-hover:text-[var(--color-global)]">
Build PC
</span>
</a>
<a href="/tim-nguoi-ban" class="flex items-center group">
<i class="icon_2025 shop"></i>
<span class="ml-[7px] hover:text-[var(--color-global)]">
Tìm người bán
</span>
</a>
<a href="/" class="flex items-center group">
<i class="icon_2025 map-2 "></i>
<span class="ml-[7px] group-hover:text-[var(--color-global)]">
Đa chỉ sửa chữa
</span>
</a>
<a href="/" class="flex items-center group">
<i class="icon_2025 question"></i>
<span class="ml-[7px] group-hover:text-[var(--color-global)]">
Hỏi đáp
</span>
</a>
<a href="/" class="flex items-center group">
<i class="icon_2025 prduct-save"></i>
<span class="ml-[7px] group-hover:text-[var(--color-global)]">
Sản phẩm đã lưu
</span>
</a>
<a href="/" class="flex items-center group">
<i class="icon_2025 article"></i>
<span class="ml-[7px] group-hover:text-[var(--color-global)]">
Tin rạo vặt
</span>
</a>
</div>
</div>
</div>
</nav>
</header>
);
}

View File

@@ -1,5 +1,5 @@
import { render } from "preact";
import { LocationProvider, Router, Route } from "preact-iso";
import { BrowserRouter as Router, Route, Routes } from "react-router-dom";
import { ProductDetail } from "./pages/productDetail/ProductDetail";
import { Buildpc } from "./pages/buildpc/Buildpc";
import { CompareBuildpc } from "./pages/buildpc/CompareBuildpc";
@@ -7,16 +7,14 @@ import { DetailBuildpc } from "./pages/buildpc/DetailBuildpc";
export function App() {
return (
<LocationProvider>
<main>
<Router>
<Route path="/product-detail" component={ProductDetail} />
<Route path="/buildpc" component={Buildpc} />
<Route path="/buildpc/compare" component={CompareBuildpc} />
<Route path="/buildpc/detail" component={DetailBuildpc} />
</Router>
</main>
</LocationProvider>
<Router>
<Routes>
<Route path="/product-detail" element={<ProductDetail />} />
<Route path="/buildpc" element={<Buildpc />} />
<Route path="/buildpc/compare" element={<CompareBuildpc />} />
<Route path="/buildpc/detail" element={<DetailBuildpc />} />
</Routes>
</Router>
);
}

View File

@@ -0,0 +1 @@
<?php

View File

@@ -0,0 +1 @@
<?php

View File

@@ -0,0 +1,2 @@
<div id="root"></div>
<script type="module" src="/assets/builder/index.js"></script>

View File

@@ -0,0 +1,2 @@
<div id="root"></div>
<script type="module" src="/assets/builder/index.js"></script>

View File

@@ -132,7 +132,7 @@
</div>
<div class="item flex items-center gap-[10px] mb-2">
<span class="block w-[24px]"><i class="icon_2025 time-big ml-[2px]" style="background-size: 200px 206px;
background-position: -2px -62px;width: 22px;height: 22px;"></i></span>
background-position: -2px -72px;width: 22px;height: 22px;"></i></span>
<p class="text-lg text-[#303030]">Ngày đăng 12/04/2025 còn <span>2</span> ngày</p>
</div>
</div>

View File

@@ -1004,7 +1004,6 @@
</a>
</div>
</div>
</div>
<a href="" class="more-link ">
<span class="">Xem tất cả</span> <i class="icon_2025 mouse"></i>