upload
This commit is contained in:
@@ -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
81
package-lock.json
generated
@@ -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",
|
||||
|
||||
@@ -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
@@ -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">
|
||||
|
||||
@@ -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 là 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 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. Và còn rất nhiều mã 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>
|
||||
);
|
||||
}
|
||||
@@ -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="">Hà 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 & 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 & 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 & 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 & 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 & 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 & 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 & 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 & 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 & 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 & 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 & 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 & 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 & 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>
|
||||
);
|
||||
}
|
||||
@@ -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>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
1
src/pages/buildpc/compare.php
Normal file
1
src/pages/buildpc/compare.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
src/pages/buildpc/detail.php
Normal file
1
src/pages/buildpc/detail.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
2
template/buildpc/compare.html
Normal file
2
template/buildpc/compare.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/assets/builder/index.js"></script>
|
||||
2
template/buildpc/detail.html
Normal file
2
template/buildpc/detail.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/assets/builder/index.js"></script>
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user