13:51 25/12/2023

This commit is contained in:
2023-12-25 13:51:24 +07:00
parent 802682da2e
commit 78550801f3
20 changed files with 3125 additions and 103 deletions

806
assets/css/style-mb.css Normal file
View File

@@ -0,0 +1,806 @@
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap");
::-webkit-scrollbar-track {
background-color: #c5c5c5;
border-radius: 10px;
}
::-webkit-scrollbar {
width: 8px;
border-radius: 30px;
background-color: #c5c5c5;
}
::-webkit-scrollbar-thumb {
background: #5d5d5d;
border-radius: 30px;
background-image: -webkit-gradient(linear, 0 0, 0 100%, color-stop(0.7, #5d5d5d), color-stop(0.5, transparent), to(transparent));
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "Inter", sans-serif;
}
body {
color: #000;
font-family: "Inter", sans-serif;
margin: 0 auto;
background: #fff;
font-weight: normal;
font-size: 14px;
}
html {
font-size: 100%;
font-family: "Inter", sans-serif;
}
img {
max-width: 100%;
height: auto;
}
a {
text-decoration: none !important;
color: var(--text-black);
}
.clearfix {
content: "";
clear: both;
}
ul,
li {
list-style: none;
}
table {
border-collapse: collapse;
width: 100%;
}
.ul,
.ol {
margin: 0;
padding: 0;
list-style: none;
}
.d-flex {
display: flex !important;
}
.d-block {
display: block;
}
.flex-wrap {
flex-wrap: wrap !important;
}
.text-center {
text-align: center !important;
}
.align-items {
align-items: center !important;
}
.space-between {
justify-content: space-between !important;
}
.space-center {
justify-content: center !important;
}
.d-block {
display: block !important;
}
.flex-direction {
flex-direction: column;
}
.line-clamp-1 {
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
.line-clamp-2 {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.line-clamp-3 {
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
.line-clamp-4 {
display: -webkit-box;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
overflow: hidden;
}
.line-clamp-5 {
display: -webkit-box;
-webkit-line-clamp: 5;
-webkit-box-orient: vertical;
overflow: hidden;
}
.container {
width: 100%;
padding: 0 10px;
margin: 0 auto;
overflow: hidden;
}
.container-mb {
max-width: 640px;
margin: 0 auto;
padding: 0;
}
.header {
background: #fff;
box-shadow: 3px 0px 11.4px 0px rgba(0, 0, 0, 0.25);
}
.header .logo {
padding: 8px 0;
}
.header .box-user {
display: flex;
align-items: center;
}
.header .box-user .txt {
font-size: 16px;
color: #555;
}
.header .box-user .fa-user-circle-o {
color: #555;
font-size: 23px;
margin-left: 7px;
}
.homepage .ground-list-product {
margin: 20px 0;
}
.homepage .box-list-product {
margin-bottom: 20px;
}
.homepage .box-list-product .title {
font-size: 20px;
font-weight: 700;
text-transform: uppercase;
background: var(--Linear, linear-gradient(0deg, #8b0009 0%, #f80009 100%));
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-align: center;
padding-bottom: 12px;
position: relative;
}
.homepage .box-list-product .title::before {
position: absolute;
content: "";
width: 73px;
height: 1.5px;
background: linear-gradient(0deg, #8b0009 0%, #f80009 100%);
left: 50%;
bottom: 8px;
transform: translate(-50%, 0);
}
.homepage .box-list-product .list-product {
margin-right: -12px;
}
.product-item {
margin-right: 12px;
margin-bottom: 10px;
width: calc(50% - 12px);
}
.product-item .product-image {
display: block;
width: 100%;
height: 230px;
border: 1px solid #eaeaea;
margin-bottom: 10px;
overflow: hidden;
}
.product-item .product-image img {
display: block;
margin: auto;
height: 100%;
-o-object-fit: contain;
object-fit: contain;
}
.product-item .product-name {
font-size: 14px;
font-weight: 600;
height: 45px;
text-align: center;
margin-bottom: 10px;
}
.product-item .product-cost {
text-align: center;
font-size: 14px;
font-weight: 400;
color: #343434;
margin-bottom: 10px;
}
.product-item .starting-price {
display: block;
color: #e70000;
font-size: 16px;
font-weight: 700;
text-align: center;
margin-bottom: 10px;
}
.product-item .deal-time-holder {
margin-bottom: 10px;
}
.product-item .product-time-holder {
display: flex;
align-items: center;
}
.product-item .product-time-holder .item-time {
margin-left: 10px;
display: flex;
flex-wrap: wrap;
justify-content: center;
text-align: center;
flex-direction: column;
border: 0.559px solid var(--Linear, #ff3d00);
border-radius: 2.238px;
background: #fff;
}
.product-item .product-time-holder .item-time b {
width: 20px;
height: 18px;
line-height: 18px;
text-align: center;
color: #fff;
font-weight: 700;
position: relative;
font-size: 12px;
background: var(--Linear, linear-gradient(90deg, #ff3d00 3.91%, #ffa800 100%));
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.product-item .product-time-holder .item-time b::after {
content: ":";
position: absolute;
right: -8px;
background: var(--Linear, linear-gradient(90deg, #ff3d00 3.91%, #ffa800 100%));
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.product-item .product-time-holder .item-time:last-child b {
margin: 0;
}
.product-item .product-time-holder .item-time:last-child b::after {
content: none;
}
.product-item .btn-auction {
display: block;
border-radius: 24px;
border: 1px solid #3194fc;
height: 40px;
line-height: 38px;
text-align: center;
color: #3194fc;
font-size: 18px;
font-weight: 700;
}
.product-item .btn-auction:hover {
background: #3194fc;
color: #fff;
}
.product-item .deal-time-holder.end .txt {
border-radius: 25px;
background: #ededed;
height: 24px;
padding: 0 15px;
line-height: 24px;
font-weight: 700;
}
.box-questions {
margin-bottom: 30px;
}
.box-questions .content-questions {
margin: 12px 0;
border-radius: 12px;
box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.25);
}
.box-questions .title {
font-size: 20px;
font-weight: 600;
color: #1f8cff;
text-align: center;
text-transform: uppercase;
padding: 10px 0;
margin-bottom: 0;
}
.box-questions .content {
padding: 0 10px 10px 10px;
}
.box-questions [data-toggle=collapse].collapsed .fa:before {
content: "\f105";
font-size: 20px;
}
.box-questions [data-toggle=collapse] .fa:before {
content: "\f107";
font-size: 20px;
}
.box-questions .card {
margin-bottom: 12px;
border-radius: 5px;
border: 1px solid #b8b8b8;
background: #fff;
}
.box-questions .card-header {
background: #fff;
border-radius: 5px;
border-bottom: 0;
padding: 10px 10px 5px 10px;
font-size: 14px;
font-weight: 500;
color: #3a3a3a;
}
.box-questions .card-body {
padding: 0 10px 10px 10px;
font-size: 13px;
font-weight: 400;
}
.box-questions .card-link.collapsed .card-header {
padding-bottom: 10px;
}
.footer .footer-phone {
display: block;
margin-bottom: 20px;
}
.footer .footer-phone a {
width: 280px;
margin: 0 auto;
border-radius: 25px;
position: relative;
text-decoration: none;
}
.footer .footer-phone .txt {
height: 50px;
display: flex;
flex-direction: column;
justify-content: center;
padding: 10px 50px 10px 20px;
color: #1c4a10;
font-size: 15px;
font-weight: 600;
line-height: 17px;
position: relative;
background: #f2ffea;
background-clip: padding-box;
-webkit-background-clip: padding-box;
border: 2px solid transparent;
margin: auto;
border-radius: 25px;
border: 1px solid #03ae00;
}
.footer .footer-phone .txt::before {
content: "";
position: absolute;
inset: 0;
z-index: -1;
border-radius: inherit;
background-image: linear-gradient(to right, #03ae00, #f2ffea);
}
.footer .footer-phone img {
position: absolute;
right: 10px;
}
.footer .footer-bottom {
background: #f3f3f3;
padding: 15px 20px;
text-align: center;
}
.footer .footer-bottom h3,
.footer .footer-bottom p {
font-size: 13px;
font-weight: 400;
margin-bottom: 2px;
line-height: 20px;
}
.breadcrumb {
background: #fff;
padding: 0;
margin-top: 10px;
}
.breadcrumb ol {
width: 100%;
float: left;
padding: 0;
margin: 0;
background: none;
}
.breadcrumb ol li {
float: left;
list-style: none;
}
.breadcrumb ol li a span {
font-size: 14px;
line-height: 45px;
float: left;
display: flex;
align-items: center;
color: #000;
}
.breadcrumb ol li a span:hover {
color: var(--color-hover);
}
.breadcrumb ol li a:last-child {
color: #222;
}
.breadcrumb ol li h1 {
font-size: 15px;
line-height: 40px;
float: left;
font-weight: 400;
margin: 0;
}
.breadcrumb ol li i {
margin-left: 10px;
margin-right: 10px;
float: left;
line-height: 45px;
}
.breadcrumb ol li:last-child i {
display: none;
}
.breadcrumb i {
color: #333;
font-size: 12px;
}
.background-white {
background: #fff;
padding: 10px;
border-radius: 12px;
box-shadow: 0px 0px 16px 0px rgba(141, 141, 141, 0.25);
}
.page-product-detail .box-product-info {
margin-bottom: 12px;
}
.page-product-detail .product-image {
width: 100%;
margin-bottom: 15px;
height: 390px;
overflow: hidden;
border: 1px solid #eaeaea;
}
.page-product-detail .product-image img {
height: 100%;
width: 100%;
display: block;
margin: 0 auto;
}
.page-product-detail .info-right {
width: 100%;
margin-bottom: 15px;
}
.page-product-detail .info-right .name {
font-size: 20px;
font-weight: 600;
margin-bottom: 12px;
}
.page-product-detail .info-right .box-price-normal {
font-size: 16px;
}
.page-product-detail .info-right .name-price {
margin-right: 5px;
font-size: 14px;
}
.page-product-detail .info-right .current-highest-price {
margin: 10px 0;
}
.page-product-detail .info-right .current-highest-price b {
font-size: 24px;
font-weight: 700;
color: #e70000;
}
.page-product-detail .info-right .qt-view {
margin-bottom: 10px;
font-size: 16px;
}
.page-product-detail .info-right .qt-view b {
color: #0061d3;
font-size: 18px;
}
.page-product-detail .info-right .box-time {
margin-bottom: 10px;
}
.page-product-detail .info-right .box-time span {
font-size: 16px;
}
.page-product-detail .info-right .box-time .item-time {
position: relative;
margin-left: 20px;
display: flex;
flex-wrap: wrap;
justify-content: center;
text-align: center;
flex-direction: column;
border: 1.5px solid transparent;
background: #fff;
background-clip: padding-box;
border-radius: 5px;
}
.page-product-detail .info-right .box-time .item-time::before {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: -1;
margin: -1.5px;
border-radius: inherit;
background: linear-gradient(to right, #ff3d00, #ffa800);
}
.page-product-detail .info-right .box-time .item-time b {
width: 38px;
height: 35px;
line-height: 35px;
text-align: center;
color: #000;
font-weight: 700;
position: relative;
font-size: 20px;
}
.page-product-detail .info-right .box-time .item-time b::after {
content: ":";
position: absolute;
right: -15px;
font-size: 24px;
background: var(--Linear, linear-gradient(90deg, #ff3d00 3.91%, #ffa800 100%));
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.page-product-detail .info-right .box-time .item-time:last-child b {
margin: 0;
}
.page-product-detail .info-right .box-time .item-time:last-child b::after {
content: none;
}
.page-product-detail .info-right .box-input-price {
margin-bottom: 10px;
}
.page-product-detail .info-right .box-input-price span {
margin-right: 5px;
}
.page-product-detail .info-right .box-input-price .input-price {
height: 50px;
width: 135px;
border: 1px solid #b1b1b1;
border-radius: 4px;
font-size: 20px;
color: #e70000;
text-align: center;
text-transform: uppercase;
font-weight: 700;
}
.page-product-detail .info-right .box-input-price a {
display: block;
width: 50px;
height: 50px;
margin-left: 6px;
line-height: 50px;
text-align: center;
border: 1px solid #b1b1b1;
border-radius: 4px;
}
.page-product-detail .info-right .box-input-price a i {
color: #777474;
}
.page-product-detail .info-right .box-input-price a.plus-price {
position: relative;
border: 1.5px solid transparent;
background: #fff;
background-clip: padding-box;
border-radius: 5px;
}
.page-product-detail .info-right .box-input-price a.plus-price::before {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: -1;
margin: -1.5px;
border-radius: inherit;
background: linear-gradient(to right, #ff3d00, #ffa800);
}
.page-product-detail .info-right .box-input-price a.plus-price i {
color: #ff4d00;
}
.page-product-detail .info-right .btn-add-auction {
display: block;
width: 100%;
height: 65px;
background: var(--Linear, linear-gradient(0deg, #8b0009 0%, #f80009 100%));
border-radius: 30px;
margin: 20px 0;
text-align: center;
line-height: 65px;
font-size: 24px;
font-weight: 600;
color: #fff;
}
.page-product-detail .box-spec-deposit {
margin-bottom: 20px;
}
.page-product-detail .box-specification {
width: 100%;
margin-bottom: 15px;
}
.page-product-detail .box-auction-deposit {
width: 100%;
margin-bottom: 15px;
}
.page-product-detail .box-participant-list .title {
font-size: 20px;
color: #e70000;
font-weight: 700;
padding-bottom: 10px;
border-bottom: 1px solid #7a7a7a;
}
.page-product-detail .box-participant-list td {
border-bottom: 1px solid #e6e6e6;
padding: 10px;
font-weight: 500;
}
.page-product-detail .box-participant-list tr:first-child td img {
margin-right: 5px;
}
.page-product-detail .box-participant-list tr:first-child td span {
color: #2546bb;
white-space: nowrap;
}
.page-product-detail .box-participant-list .content {
max-height: 180px;
overflow-x: auto;
}
.page-product-detail .box-specification .title {
font-size: 20px;
color: #e70000;
font-weight: 700;
padding-bottom: 10px;
border-bottom: 1px solid #dadada;
}
.page-product-detail .box-specification .content {
position: relative;
height: 287px;
overflow: hidden;
}
.page-product-detail .box-specification .content::after {
position: absolute;
content: "";
background: linear-gradient(0deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
width: 100%;
height: 65px;
z-index: 1;
bottom: 0;
left: 0;
}
.page-product-detail .box-specification .more {
display: block;
width: 110px;
height: 30px;
line-height: 30px;
margin: 0 auto;
text-align: center;
border: 1px solid #3e5ed0;
border-radius: 30px;
color: #3e5ed0;
font-weight: 500;
}
.page-product-detail .box-auction-deposit .title {
font-size: 20px;
color: #e70000;
font-weight: 700;
padding-bottom: 10px;
border-bottom: 1px solid #dadada;
}
.page-product-detail .box-auction-deposit .content p {
margin-bottom: 5px;
line-height: 23px;
}
.page-product-detail .box-auction-deposit .content img {
height: 120px;
margin-right: 10px;
}
.page-product-detail .btn-add-auction.coming {
display: flex !important;
align-items: center;
justify-content: center;
position: relative;
background: linear-gradient(269deg, #ff3d00 3.91%, #ffa800 100%) !important;
}
.page-product-detail .btn-add-auction.coming img {
width: 50px;
height: 50px;
position: absolute;
left: 10px;
}
.page-product-detail .btn-add-auction.coming span {
margin-right: 10px;
margin-left: 30px;
font-size: 18px;
}
.page-product-detail .btn-add-auction.coming .item-time {
position: relative;
margin-right: 12px;
font-size: 18px;
font-weight: 500;
}
.page-product-detail .btn-add-auction.coming .item-time::before {
position: absolute;
content: ":";
right: -9px;
top: -2px;
}
.page-product-detail .btn-add-auction.coming .item-time:last-child::before {
display: none;
}
.page-product-detail .btn-add-auction.ending {
background: linear-gradient(0deg, #8e8e8e 0%, #d5d5d5 100%);
color: #343434;
}
.page-product-detail .price-win {
margin: 12px 0;
}
.page-product-detail .price-win b {
color: #e70000;
font-size: 16px;
}
.page-product-detail .user-win {
margin-bottom: 12px;
}
.page-product-detail .user-win .name {
font-size: 16px;
font-weight: 400;
margin-bottom: 0;
}
.page-product-detail .user-win span {
color: #0061d3;
font-weight: 700;
font-size: 18px;
margin-left: 5px;
}/*# sourceMappingURL=style-mb.css.map */

File diff suppressed because one or more lines are too long

822
assets/css/style-mb.scss Normal file
View File

@@ -0,0 +1,822 @@
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap");
::-webkit-scrollbar-track {
background-color: #c5c5c5;
border-radius: 10px;
}
::-webkit-scrollbar {
width: 8px;
border-radius: 30px;
background-color: #c5c5c5;
}
::-webkit-scrollbar-thumb {
background: #5d5d5d;
border-radius: 30px;
background-image: -webkit-gradient(
linear,
0 0,
0 100%,
color-stop(0.7, #5d5d5d),
color-stop(0.5, transparent),
to(transparent)
);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "Inter", sans-serif;
}
body {
color: #000;
font-family: "Inter", sans-serif;
margin: 0 auto;
background: #fff;
font-weight: normal;
font-size: 14px;
}
html {
font-size: 100%;
font-family: "Inter", sans-serif;
}
img {
max-width: 100%;
height: auto;
}
a {
text-decoration: none !important;
color: var(--text-black);
}
.clearfix {
content: "";
clear: both;
}
ul,
li {
list-style: none;
}
table {
border-collapse: collapse;
width: 100%;
}
.ul,
.ol {
margin: 0;
padding: 0;
list-style: none;
}
.d-flex {
display: flex !important;
}
.d-block {
display: block;
}
.flex-wrap {
flex-wrap: wrap !important;
}
.text-center {
text-align: center !important;
}
.align-items {
align-items: center !important;
}
.space-between {
justify-content: space-between !important;
}
.space-center {
justify-content: center !important;
}
.d-block {
display: block !important;
}
.flex-direction {
flex-direction: column;
}
.line-clamp-1 {
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
.line-clamp-2 {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.line-clamp-3 {
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
.line-clamp-4 {
display: -webkit-box;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
overflow: hidden;
}
.line-clamp-5 {
display: -webkit-box;
-webkit-line-clamp: 5;
-webkit-box-orient: vertical;
overflow: hidden;
}
.container {
width: 100%;
padding: 0 10px;
margin: 0 auto;
overflow: hidden;
}
.container-mb {
max-width: 640px;
margin: 0 auto;
padding: 0;
}
.header {
background: #fff;
box-shadow: 3px 0px 11.4px 0px rgba(0, 0, 0, 0.25);
.logo {
padding: 8px 0;
}
.box-user {
display: flex;
align-items: center;
.txt {
font-size: 16px;
color: #555;
}
.fa-user-circle-o {
color: #555;
font-size: 23px;
margin-left: 7px;
}
}
}
.homepage {
.ground-list-product {
margin: 20px 0;
}
.box-list-product {
margin-bottom: 20px;
.title {
font-size: 20px;
font-weight: 700;
text-transform: uppercase;
background: var(--Linear, linear-gradient(0deg, #8b0009 0%, #f80009 100%));
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-align: center;
padding-bottom: 12px;
position: relative;
&::before {
position: absolute;
content: "";
width: 73px;
height: 1.5px;
background: linear-gradient(0deg, #8b0009 0%, #f80009 100%);
left: 50%;
bottom: 8px;
transform: translate(-50%, 0);
}
}
.list-product {
margin-right: -12px;
}
}
}
.product-item {
margin-right: 12px;
margin-bottom: 10px;
width: calc(100% / 2 - 12px);
.product-image {
display: block;
width: 100%;
height: 230px;
border: 1px solid #eaeaea;
margin-bottom: 10px;
overflow: hidden;
img {
display: block;
margin: auto;
height: 100%;
object-fit: contain;
}
}
.product-name {
font-size: 14px;
font-weight: 600;
height: 45px;
text-align: center;
margin-bottom: 10px;
}
.product-cost {
text-align: center;
font-size: 14px;
font-weight: 400;
color: #343434;
margin-bottom: 10px;
}
.starting-price {
display: block;
color: #e70000;
font-size: 16px;
font-weight: 700;
text-align: center;
margin-bottom: 10px;
}
.deal-time-holder {
margin-bottom: 10px;
}
.product-time-holder {
display: flex;
align-items: center;
.item-time {
margin-left: 10px;
display: flex;
flex-wrap: wrap;
justify-content: center;
text-align: center;
flex-direction: column;
border: 0.559px solid var(--Linear, #ff3d00);
border-radius: 2.238px;
background: #fff;
b {
width: 20px;
height: 18px;
line-height: 18px;
text-align: center;
color: #fff;
font-weight: 700;
position: relative;
font-size: 12px;
background: var(--Linear, linear-gradient(90deg, #ff3d00 3.91%, #ffa800 100%));
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
&::after {
content: ":";
position: absolute;
right: -8px;
background: var(--Linear, linear-gradient(90deg, #ff3d00 3.91%, #ffa800 100%));
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
&:last-child b {
margin: 0;
&::after {
content: none;
}
}
}
}
.btn-auction {
display: block;
border-radius: 24px;
border: 1px solid #3194fc;
height: 40px;
line-height: 38px;
text-align: center;
color: #3194fc;
font-size: 18px;
font-weight: 700;
&:hover {
background: #3194fc;
color: #fff;
}
}
.deal-time-holder.end .txt {
border-radius: 25px;
background: #ededed;
height: 24px;
padding: 0 15px;
line-height: 24px;
font-weight: 700;
}
}
.box-questions {
margin-bottom: 30px;
.content-questions {
margin: 12px 0;
border-radius: 12px;
box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.25);
}
.title {
font-size: 20px;
font-weight: 600;
color: #1f8cff;
text-align: center;
text-transform: uppercase;
padding: 10px 0;
margin-bottom: 0;
}
.content {
padding: 0 10px 10px 10px;
}
[data-toggle="collapse"].collapsed .fa:before {
content: "\f105";
font-size: 20px;
}
[data-toggle="collapse"] .fa:before {
content: "\f107";
font-size: 20px;
}
.card {
margin-bottom: 12px;
border-radius: 5px;
border: 1px solid #b8b8b8;
background: #fff;
}
.card-header {
background: #fff;
border-radius: 5px;
border-bottom: 0;
padding: 10px 10px 5px 10px;
font-size: 14px;
font-weight: 500;
color: #3a3a3a;
}
.card-body {
padding: 0 10px 10px 10px;
font-size: 13px;
font-weight: 400;
}
.card-link.collapsed {
.card-header {
padding-bottom: 10px;
}
}
}
.footer {
.footer-phone {
display: block;
margin-bottom: 20px;
a {
width: 280px;
margin: 0 auto;
border-radius: 25px;
position: relative;
text-decoration: none;
}
.txt {
height: 50px;
display: flex;
flex-direction: column;
justify-content: center;
padding: 10px 50px 10px 20px;
color: #1c4a10;
font-size: 15px;
font-weight: 600;
line-height: 17px;
position: relative;
background: #f2ffea;
background-clip: padding-box;
-webkit-background-clip: padding-box;
border: 2px solid transparent;
margin: auto;
border-radius: 25px;
border: 1px solid #03ae00;
&::before {
content: "";
position: absolute;
inset: 0;
z-index: -1;
border-radius: inherit;
background-image: linear-gradient(to right, #03ae00, #f2ffea);
}
}
img {
position: absolute;
right: 10px;
}
}
.footer-bottom {
background: #f3f3f3;
padding: 15px 20px;
text-align: center;
h3,
p {
font-size: 13px;
font-weight: 400;
margin-bottom: 2px;
line-height: 20px;
}
}
}
// breadcrumb
.breadcrumb {
background: #fff;
padding: 0;
margin-top: 10px;
}
.breadcrumb ol {
width: 100%;
float: left;
padding: 0;
margin: 0;
background: none;
}
.breadcrumb ol li {
float: left;
list-style: none;
}
.breadcrumb ol li a span {
font-size: 14px;
line-height: 45px;
float: left;
display: flex;
align-items: center;
color: #000;
}
.breadcrumb ol li a span:hover {
color: var(--color-hover);
}
.breadcrumb ol li a:last-child {
color: #222;
}
.breadcrumb ol li h1 {
font-size: 15px;
line-height: 40px;
float: left;
font-weight: 400;
margin: 0;
}
.breadcrumb ol li i {
margin-left: 10px;
margin-right: 10px;
float: left;
line-height: 45px;
}
.breadcrumb ol li:last-child i {
display: none;
}
.breadcrumb i {
color: #333;
font-size: 12px;
}
.background-white {
background: #fff;
padding: 10px;
border-radius: 12px;
box-shadow: 0px 0px 16px 0px rgba(141, 141, 141, 0.25);
}
.page-product-detail {
.box-product-info {
margin-bottom: 12px;
}
.product-image {
width: 100%;
margin-bottom: 15px;
height: 390px;
overflow: hidden;
border: 1px solid #eaeaea;
img {
height: 100%;
width: 100%;
display: block;
margin: 0 auto;
}
}
.info-right {
width: 100%;
margin-bottom: 15px;
.name {
font-size: 20px;
font-weight: 600;
margin-bottom: 12px;
}
.box-price-normal {
font-size: 16px;
}
.name-price {
margin-right: 5px;
font-size: 14px;
}
.current-highest-price {
margin: 10px 0;
b {
font-size: 24px;
font-weight: 700;
color: #e70000;
}
}
.qt-view {
margin-bottom: 10px;
font-size: 16px;
b {
color: #0061d3;
font-size: 18px;
}
}
.box-time {
margin-bottom: 10px;
span {
font-size: 16px;
}
.item-time {
position: relative;
margin-left: 20px;
display: flex;
flex-wrap: wrap;
justify-content: center;
text-align: center;
flex-direction: column;
border: 1.5px solid transparent;
background: #fff;
background-clip: padding-box;
border-radius: 5px;
&::before {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: -1;
margin: -1.5px;
border-radius: inherit;
background: linear-gradient(to right, #ff3d00, #ffa800);
}
b {
width: 38px;
height: 35px;
line-height: 35px;
text-align: center;
color: #000;
font-weight: 700;
position: relative;
font-size: 20px;
&::after {
content: ":";
position: absolute;
right: -15px;
font-size: 24px;
background: var(--Linear, linear-gradient(90deg, #ff3d00 3.91%, #ffa800 100%));
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
&:last-child b {
margin: 0;
&::after {
content: none;
}
}
}
}
.box-input-price {
margin-bottom: 10px;
span {
margin-right: 5px;
}
.input-price {
height: 50px;
width: 135px;
border: 1px solid #b1b1b1;
border-radius: 4px;
font-size: 20px;
color: #e70000;
text-align: center;
text-transform: uppercase;
font-weight: 700;
}
a {
display: block;
width: 50px;
height: 50px;
margin-left: 6px;
line-height: 50px;
text-align: center;
border: 1px solid #b1b1b1;
border-radius: 4px;
i {
color: #777474;
}
&.plus-price {
position: relative;
border: 1.5px solid transparent;
background: #fff;
background-clip: padding-box;
border-radius: 5px;
&::before {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: -1;
margin: -1.5px;
border-radius: inherit;
background: linear-gradient(to right, #ff3d00, #ffa800);
}
i {
color: #ff4d00;
}
}
}
}
.btn-add-auction {
display: block;
width: 100%;
height: 65px;
background: var(--Linear, linear-gradient(0deg, #8b0009 0%, #f80009 100%));
border-radius: 30px;
margin: 20px 0;
text-align: center;
line-height: 65px;
font-size: 24px;
font-weight: 600;
color: #fff;
}
}
.box-spec-deposit {
margin-bottom: 20px;
}
.box-specification {
width: 100%;
margin-bottom: 15px;
}
.box-auction-deposit {
width: 100%;
margin-bottom: 15px;
}
.box-participant-list {
.title {
font-size: 20px;
color: #e70000;
font-weight: 700;
padding-bottom: 10px;
border-bottom: 1px solid #7a7a7a;
}
td {
border-bottom: 1px solid #e6e6e6;
padding: 10px;
font-weight: 500;
}
tr:first-child {
td {
img {
margin-right: 5px;
}
span {
color: #2546bb;
white-space: nowrap;
}
}
}
.content {
max-height: 180px;
overflow-x: auto;
}
}
.box-specification {
.title {
font-size: 20px;
color: #e70000;
font-weight: 700;
padding-bottom: 10px;
border-bottom: 1px solid #dadada;
}
.content {
position: relative;
height: 287px;
overflow: hidden;
&::after {
position: absolute;
content: "";
background: linear-gradient(0deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
width: 100%;
height: 65px;
z-index: 1;
bottom: 0;
left: 0;
}
}
.more {
display: block;
width: 110px;
height: 30px;
line-height: 30px;
margin: 0 auto;
text-align: center;
border: 1px solid #3e5ed0;
border-radius: 30px;
color: #3e5ed0;
font-weight: 500;
}
}
.box-auction-deposit {
.title {
font-size: 20px;
color: #e70000;
font-weight: 700;
padding-bottom: 10px;
border-bottom: 1px solid #dadada;
}
.content {
p {
margin-bottom: 5px;
line-height: 23px;
}
img {
height: 120px;
margin-right: 10px;
}
}
}
.btn-add-auction.coming {
display: flex !important;
align-items: center;
justify-content: center;
position: relative;
background: linear-gradient(269deg, #ff3d00 3.91%, #ffa800 100%) !important;
}
.btn-add-auction.coming img {
width: 50px;
height: 50px;
position: absolute;
left: 10px;
}
.btn-add-auction.coming span {
margin-right: 10px;
margin-left: 30px;
font-size: 18px;
}
.btn-add-auction.coming .item-time {
position: relative;
margin-right: 12px;
font-size: 18px;
font-weight: 500;
}
.btn-add-auction.coming .item-time::before {
position: absolute;
content: ":";
right: -9px;
top: -2px;
}
.btn-add-auction.coming .item-time:last-child::before {
display: none;
}
.btn-add-auction.ending {
background: linear-gradient(0deg, #8e8e8e 0%, #d5d5d5 100%);
color: #343434;
}
.price-win {
margin: 12px 0;
b {
color: #e70000;
font-size: 16px;
}
}
.user-win {
margin-bottom: 12px;
.name {
font-size: 16px;
font-weight: 400;
margin-bottom: 0;
}
span {
color: #0061d3;
font-weight: 700;
font-size: 18px;
margin-left: 5px;
}
}
}

View File

@@ -487,15 +487,13 @@ table {
.page-product-detail .product-image {
width: 50%;
margin-right: 15px;
height: 400px;
position: relative;
height: 540px;
overflow: hidden;
border: 1px solid #eaeaea;
}
.page-product-detail .product-image img {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
height: 100%;
width: 100%;
display: block;
margin: 0 auto;
}
@@ -732,4 +730,58 @@ table {
.page-product-detail .box-auction-deposit .content img {
height: 120px;
margin-right: 10px;
}
.page-product-detail .btn-add-auction.coming {
display: flex !important;
align-items: center;
justify-content: center;
position: relative;
background: linear-gradient(269deg, #ff3d00 3.91%, #ffa800 100%) !important;
}
.page-product-detail .btn-add-auction.coming img {
width: 50px;
height: 50px;
position: absolute;
left: 10px;
}
.page-product-detail .btn-add-auction.coming span {
margin-right: 10px;
}
.page-product-detail .btn-add-auction.coming .item-time {
position: relative;
margin-right: 12px;
}
.page-product-detail .btn-add-auction.coming .item-time::before {
position: absolute;
content: ":";
right: -9px;
top: -2px;
}
.page-product-detail .btn-add-auction.coming .item-time:last-child::before {
display: none;
}
.page-product-detail .btn-add-auction.ending {
background: linear-gradient(0deg, #8e8e8e 0%, #d5d5d5 100%);
color: #343434;
}
.page-product-detail .price-win {
margin: 12px 0;
}
.page-product-detail .price-win b {
color: #e70000;
font-size: 16px;
}
.page-product-detail .user-win {
margin-bottom: 12px;
}
.page-product-detail .user-win .name {
font-size: 16px;
font-weight: 400;
margin-bottom: 0;
}
.page-product-detail .user-win span {
color: #0061d3;
font-weight: 700;
font-size: 18px;
margin-left: 5px;
}/*# sourceMappingURL=style.css.map */

File diff suppressed because one or more lines are too long

View File

@@ -489,14 +489,12 @@ table {
.product-image {
width: 50%;
margin-right: 15px;
height: 400px;
position: relative;
height: 540px;
overflow: hidden;
border: 1px solid #eaeaea;
img {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
height: 100%;
width: 100%;
display: block;
margin: 0 auto;
}
@@ -747,4 +745,61 @@ table {
}
}
}
.btn-add-auction.coming {
display: flex !important;
align-items: center;
justify-content: center;
position: relative;
background: linear-gradient(269deg, #ff3d00 3.91%, #ffa800 100%) !important;
}
.btn-add-auction.coming img {
width: 50px;
height: 50px;
position: absolute;
left: 10px;
}
.btn-add-auction.coming span {
margin-right: 10px;
}
.btn-add-auction.coming .item-time {
position: relative;
margin-right: 12px;
}
.btn-add-auction.coming .item-time::before {
position: absolute;
content: ":";
right: -9px;
top: -2px;
}
.btn-add-auction.coming .item-time:last-child::before {
display: none;
}
.btn-add-auction.ending {
background: linear-gradient(0deg, #8e8e8e 0%, #d5d5d5 100%);
color: #343434;
}
.price-win {
margin: 12px 0;
b {
color: #e70000;
font-size: 16px;
}
}
.user-win {
margin-bottom: 12px;
.name {
font-size: 16px;
font-weight: 400;
margin-bottom: 0;
}
span {
color: #0061d3;
font-weight: 700;
font-size: 18px;
margin-left: 5px;
}
}
}

BIN
assets/images/banner-mb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 KiB

BIN
assets/images/icon_time.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

BIN
assets/images/logo-mb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

6
dist/data.js vendored
View File

@@ -86,7 +86,7 @@ const listproduct_mau = [
price: 27390000,
starting_price: 2550000,
price_step: 300000,
from_time: 1703350800000,
from_time: 1703523600000,
to_time: 1703955600000,
status: 'coming',
user_online: 0,
@@ -213,7 +213,7 @@ const listproduct_mau = [
price: 26390000,
starting_price: 16390000,
price_step: 300000,
from_time: 1703350800000,
from_time: 1703523600000,
to_time: 1703955600000,
status: 'coming',
user_online: 0,
@@ -269,6 +269,7 @@ function countDown(iid, endTime) {
const updateCountdown = () => {
const now = Date.now();
const distance = endTime - now;
console.log(distance);
if (distance > 0) {
const [days, hours, minutes, seconds] = getTimeComponents(distance);
displayCountdown(iid, days, hours, minutes, seconds);
@@ -299,6 +300,7 @@ function displayCountdown(iid, days, hours, minutes, seconds) {
<div class='item-time'><b>${formatTimeComponent(seconds)}</b></div>`;
}
else {
console.log('aaaa');
element.innerHTML = `
<div class='item-time'><b>${formatTimeComponent(hours)}</b></div>
<div class='item-time'><b>${formatTimeComponent(minutes)}</b></div>

90
dist/detail.js vendored
View File

@@ -34,12 +34,68 @@ function GetURLParameter(sParam, url) {
}
}
function XayhtmlProductDeail(product) {
// lay gia cao nhat
const highestBid = getHighestBid(product.list_user);
// xay html hien thi anh san pham
const htmlImage = `
<a href="${product.image}">
<img src="${product.image}" alt="${product.product_name}">
</a>
`;
// xay html hien thi thong tin san pham
var HtmlButtonBid = '';
if (product.from_time > Date.now()) {
HtmlButtonBid = `
<div class="qt-view">Số người đang xem: <b>${product.user_online} người</b></div>
<a href="javascript:void(0)" class="btn-add-auction coming">
<img src="./assets/images/icon_time.png" alt="">
<div class="d-flex align-items">
<span>Diễn ra vào lúc:</span>
<div class="js-deal-time-${product.productId} d-flex align-items" data-time="${product.from_time}">
</div>
</div>
</a>
`;
}
else if (product.to_time > Date.now()) {
HtmlButtonBid = `
<div class="current-highest-price d-flex align-items">
<div class="name-price">Giá cao nhất hiện tại:</div>
<b>${formatPrice(highestBid.highestBid)}<u>đ</u></b>
</div>
<div class="qt-view">Số người đang tham gia: <b>${product.user_online} người</b></div>
<div class="box-time d-flex align-items">
<span>Thời gian còn lại:</span>
<div class="product-time-holder js-deal-time-${product.productId} d-flex align-items" data-time="${product.to_time}">
</div>
</div>
<div class="box-input-price d-flex align-items">
<span>Nhập giá đấu của bạn</span>
<input type="text" class="input-price" value="${formatPrice(highestBid.highestBid)}">
<a href="javascript:;" class="minus-price"><i class="fa fa-minus"></i></a>
<a href="javascript:;" class="plus-price"><i class="fa fa-plus"></i></a>
</div>
<a href="javascript:void(0)" class="btn-add-auction">
Đấu giá ngay
</a>
`;
}
else {
HtmlButtonBid = `
<div class="price-win d-flex align-items">
<div class="name-price">Giá thắng cuộc:</div>
<b>${formatPrice(highestBid.highestBid)}<u>đ</u></b>
</div>
<div class="user-win d-flex align-items">
<div class="name">
<img src="./assets/images/icon_paint.png" width="14px" height="20px" alt=""> Người chiến thắng:</div>
<span>${highestBid.highestBidName}</span>
</div>
<a href="javascript:void(0)" class="btn-add-auction ending">
Phiên đấu giá đã kết thúc
</a>
`;
}
const htmlInfo = `
<h1 class="name">${product.product_name}</h1>
<div class="d-flex align-items space-between box-price-normal">
@@ -52,29 +108,19 @@ function XayhtmlProductDeail(product) {
<b>${formatPrice(product.price_step)}<u>đ</u></b>
</div>
</div>
<div class="current-highest-price d-flex align-items">
<div class="name-price">Giá cao nhất hiện tại:</div>
<b>${formatPrice(highestBid)}<u>đ</u></b>
</div>
<div class="qt-view">Số người đang tham gia: <b>${product.user_online} người</b></div>
<div class="box-time d-flex align-items">
<span>Thời gian còn lại:</span>
<div class="product-time-holder js-deal-time-${product.productId} d-flex align-items" data-time="${product.to_time}">
</div>
</div>
<div class="box-input-price d-flex align-items">
<span>Nhập giá đấu của bạn</span>
<input type="text" class="input-price" value="${formatPrice(highestBid)}">
<a href="javascript:;" class="minus-price"><i class="fa fa-minus"></i></a>
<a href="javascript:;" class="plus-price"><i class="fa fa-plus"></i></a>
</div>
${HtmlButtonBid}
`;
let html_dien_bien_dau_gia = '';
if (product.from_time < Date.now()) {
const boxParticipant = document.getElementById('box-participant-list');
if (boxParticipant) {
boxParticipant.classList.remove('d-none');
}
product.list_user.forEach((user) => {
html_dien_bien_dau_gia += `
<tr>
<td>
${highestBid == user.price ? `
${highestBid.highestBid == user.price ? `
<div class="d-flex align-items">
<img src="./assets/images/icon_paint.png" width="14px" height="20px" alt="">
<span>${user.userName}</span>
@@ -90,6 +136,7 @@ function XayhtmlProductDeail(product) {
</tr>
`;
});
}
const htmlSpec = `
${product.specifications}
`;
@@ -109,19 +156,24 @@ function show_product_detail(lay_thongtin_sp) {
holderInfo.innerHTML = htmlInfo;
holderAuctionDetails.innerHTML = html_dien_bien_dau_gia;
holderSpec.innerHTML = htmlSpec;
if (product.to_time > Date.now()) {
if (product.from_time > Date.now()) {
countDown(`js-deal-time-${product.productId}`, product.from_time);
}
else if (product.to_time > Date.now()) {
countDown(`js-deal-time-${product.productId}`, product.to_time);
}
});
}
function getHighestBid(list_user) {
let highestBid = 0;
let highestBidName = '';
list_user.forEach(user => {
if (user.price > highestBid) {
highestBid = user.price;
highestBidName = user.userName;
}
});
return highestBid;
return { highestBid, highestBidName };
}
function getList() {
}

91
dist/main-mb.js vendored Normal file
View File

@@ -0,0 +1,91 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
function goi_sp_tu_api() {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => {
return resolve(listproduct_mau);
});
});
}
function hienthi_sp() {
return __awaiter(this, void 0, void 0, function* () {
const lay_sp_tu_api = yield goi_sp_tu_api();
// code hien thi danh sach dang dien ra
// Usage example:
showListProductHome(lay_sp_tu_api, 'started', 'js-holder-list-started');
showListProductHome(lay_sp_tu_api, 'coming', 'js-holder-list-coming');
showListProductHome(lay_sp_tu_api, 'ended', 'js-holder-list-ended');
});
}
function showListProductHome(lay_sp_tu_api, status, holderId) {
const html = [];
const holder = document.getElementById(holderId);
lay_sp_tu_api
.filter((product) => product.status == status)
.forEach(function (product, keyIndex) {
html.push(xayhtml(product));
if (status != 'ended' || product.to_time > product.from_time) {
const countdownTime = (status == 'started') ? product.to_time : product.from_time;
countDown(`js-deal-time-${product.productId}`, countdownTime);
}
});
if (holder) {
holder.innerHTML = html.join('');
}
}
function xayhtml(product) {
var Htmlcheckstatus = '';
if (product.status == 'started') {
Htmlcheckstatus = `
<div class="starting-price">
Giá Khởi điểm: ${formatPrice(product.starting_price)}đ
</div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time-${product.productId}" data-time="${product.to_time}">
</div>
</div>
<a href="/auction_program/product-detail-mb.html?id=${product.productId}" class="btn-auction">Đấu giá ngay</a>`;
}
else if (product.status == 'coming') {
Htmlcheckstatus = `
<div class="starting-price">
Giá Khởi điểm: ${formatPrice(product.starting_price)}đ
</div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Bắt đầu sau:</div>
<div class="product-time-holder js-deal-time-${product.productId}" data-time="${product.from_time}">
</div>
</div>
<a href="/auction_program/product-detail-mb.html?id=${product.productId}" class="btn-auction">Xem chi tiết</a>`;
}
else if (product.to_time < Date.now()) {
Htmlcheckstatus = `<div class="starting-price">Thắng cuộc ${formatPrice(product.starting_price)}<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center end">
<div class="txt">Đã kết thúc</div>
</div>
<a href="/auction_program/product-detail.html?id=${product.productId}" class="btn-auction">Xem chi tiết</a>`;
}
return `<div class="product-item">
<a href="/product-detail.html?id=${product.productId}" class="product-image">
<img src="${product.image}" alt="${product.product_name}">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">${product.product_name}</a>
<div class="product-cost">
Giá gốc: ${formatPrice(product.price)}đ
</div>
${Htmlcheckstatus}
</div>
</div>
`;
}
hienthi_sp();

12
dist/main.js vendored
View File

@@ -44,7 +44,11 @@ function showListProductHome(lay_sp_tu_api, status, holderId) {
function xayhtml(product) {
var Htmlcheckstatus = '';
if (product.status == 'started') {
Htmlcheckstatus = `<div class="deal-time-holder d-flex align-items space-center">
Htmlcheckstatus = `
<div class="starting-price">
Giá Khởi điểm: ${formatPrice(product.starting_price)}đ
</div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time-${product.productId}" data-time="${product.to_time}">
</div>
@@ -52,7 +56,11 @@ function xayhtml(product) {
<a href="/auction_program/product-detail.html?id=${product.productId}" class="btn-auction">Đấu giá ngay</a>`;
}
else if (product.status == 'coming') {
Htmlcheckstatus = `<div class="deal-time-holder d-flex align-items space-center">
Htmlcheckstatus = `
<div class="starting-price">
Giá Khởi điểm: ${formatPrice(product.starting_price)}đ
</div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Bắt đầu sau:</div>
<div class="product-time-holder js-deal-time-${product.productId}" data-time="${product.from_time}">
</div>

532
index-mb.html Normal file
View File

@@ -0,0 +1,532 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Chương trình đấu giá trực tuyết</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="./assets/css/style-mb.css">
</head>
<body>
<div class="container-mb">
<div class="header">
<div class="container">
<div class="content-header d-flex align-items space-between">
<a href="/" class="logo">
<img src="./assets/images/logo-mb.png" width="174" height="43" alt="logo">
</a>
<a href="/login" class="box-user">
<span class="txt">Chào phương !</span>
<i class="fa fa-user-circle-o"></i>
</a>
</div>
</div>
</div>
<div class="homepage">
<div class="banner">
<a href="" class="item">
<img src="./assets/images/banner-mb.png" width="100%" height="503" alt="banner">
</a>
</div>
<div class="container">
<div class="ground-list-product">
<div class="box-list-product">
<h2 class="title">Đang diễn ra</h2>
<div class="list-product d-flex flex-wrap" id="js-holder-list-started">
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
</div>
</div>
<div class="box-list-product">
<h2 class="title">Sắp diễn ra</h2>
<div class="list-product d-flex flex-wrap" id="js-holder-list-coming">
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
</div>
</div>
<div class="box-list-product">
<h2 class="title">Đã kết thúc</h2>
<div class="list-product d-flex flex-wrap" id="js-holder-list-ended">
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
<div class="product-item">
<a href="" class="product-image">
<img src="./assets/images/product-1.png" alt="">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">Máy tính bảng TCL Tab 11 WIFI 4GB
128GB</a>
<div class="product-cost">
Giá gốc 4.990.000đ
</div>
<div class="starting-price">Khởi điểm 2.350.000<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<a href="javascript:void(0)" class="btn-auction">Đấu giá ngay</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="box-questions">
<div class="container">
<div class="content-questions">
<h2 class="title">Câu hỏi thường gặp</h2>
<div class="content" id="accordion">
<div class="card">
<a href="#" class="card-link collapsed" data-toggle="collapse" data-target="#question-1"
aria-expanded="false">
<div class="card-header d-flex align-items space-between">
<span>Đấu giá trực tuyến có phức tạp không ?</span>
<i class="fa"></i>
</div>
</a>
<div id="question-1" class="collapse" data-parent="#accordion">
<div class="card-body">
Rất dễ dàng, ,tham gia mọi lúc mọi nơi chỉ cần có smartphone và internet
</div>
</div>
</div>
<div class="card">
<a href="#" class="card-link collapsed" data-toggle="collapse" data-target="#question-2"
aria-expanded="false">
<div class="card-header d-flex align-items space-between">
<span>Tại sao nên chọn đấu giá trực tuyến tại Hoàng Hà PC?</span>
<i class="fa fa-angle-right"></i>
</div>
</a>
<div id="question-2" class="collapse" data-parent="#accordion">
<div class="card-body">
Rất dễ dàng, ,tham gia mọi lúc mọi nơi chỉ cần có smartphone và internet
</div>
</div>
</div>
<div class="card">
<a href="#" class="card-link collapsed" data-toggle="collapse" data-target="#question-3"
aria-expanded="false">
<div class="card-header d-flex align-items space-between">
<span>Đấu giá trực tuyến có phức tạp không ?</span>
<i class="fa fa-angle-right"></i>
</div>
</a>
<div id="question-3" class="collapse" data-parent="#accordion">
<div class="card-body">
Rất dễ dàng, ,tham gia mọi lúc mọi nơi chỉ cần có smartphone và internet
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="footer-phone">
<a href="tel:1800" class="d-flex align-items space-between">
<div class="txt text-center">
<span>Tổng đài hỗ trợ miễn phí</span>
<span>1800.xxxx</span>
</div>
<img src="./assets/images/icon-phone.png" width="50px" height="50px" alt="phone">
</a>
</div>
</div>
<div class="footer-bottom">
<h3>CÔNG TY TNHH DỊCH VỤ VÀ CÔNG NGHỆ HOÀNG HÀ ©</h3>
<p>
2008 - 2020 - Công ty TNHH Dịch Vụ Và Công Nghệ Hoàng Hà / GPKD số:0107406972 Do Sở Kế Hoạch
Đầu
Tư Thành Phố Hà Nội Cấp Bản Quyền Thuộc Về hoanghapc.vn
</p>
</div>
</div>
</div>
</body>
<script src=" https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<script src="./dist/data.js"></script>
<script src="./dist/main-mb.js"></script>
</html>

453
product-detail-mb.html Normal file
View File

@@ -0,0 +1,453 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Chương trình đấu giá trực tuyết</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="./assets/css/style-mb.css">
</head>
<body>
<div class="container-mb">
<div class="header">
<div class="container">
<div class="content-header d-flex align-items space-between">
<a href="/" class="logo">
<img src="./assets/images/logo.png" width="174" height="43" alt="logo">
</a>
<a href="/login" class="box-user">
<span class="txt">Chào phương !</span>
<i class="fa fa-user-circle-o"></i>
</a>
</div>
</div>
</div>
<div class="page-product-detail">
<div class="container">
<div class="breadcrumb">
<ol itemscope="" itemtype="http://schema.org/BreadcrumbList" class="ul clearfix">
<li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem">
<a href="/" itemprop="item" class="nopad-l">
<span itemprop="name">Trang chủ</span>
</a> <i class="fa fa-angle-right"></i>
<meta itemprop="position" content="1">
</li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a itemprop="item" href="">
<span itemprop="name">Đang diễn ra</span>
</a>
<meta itemprop="position" content="2">
</li>
</ol>
</div>
<div class="clearfix"></div>
<div class="box-product-info">
<div class="product-image" id="js-holder-image">
<a href="">
<img src="./assets/images/product-1.png" alt="">
</a>
</div>
<div class="info-right">
<div id="js-holder-info">
<h1 class="name">Máy tính bảng TCL Tab 11 WIFI 4GB 128GB</h1>
<div class="d-flex align-items space-between box-price-normal">
<div class="price d-flex align-items">
<div class="name-price">Khởi điểm:</div>
<b>2.350.000<u>đ</u></b>
</div>
<div class="price-step d-flex align-items">
<div class="name-price">Bước giá:</div>
<b>2.350.000<u>đ</u></b>
</div>
</div>
<div class="current-highest-price d-flex align-items">
<div class="name-price">Giá cao nhất hiện tại:</div>
<b>4.500.000<u>đ</u></b>
</div>
<div class="qt-view">Số người đang tham gia: <b>200 người</b></div>
<div class="box-time d-flex align-items">
<span>Thời gian còn lại:</span>
<div class="product-time-holder js-deal-time d-flex align-items" data-time="">
<div class='item-time'><b>20</b></div>
<div class='item-time'><b>11</b></div>
<div class='item-time'><b>30</b></div>
</div>
</div>
<div class="box-input-price d-flex align-items">
<span>Nhập giá đấu của bạn</span>
<input type="text" class="input-price" value="4.800.000">
<a href="javascript:;" class="minus-price"><i class="fa fa-minus"></i></a>
<a href="javascript:;" class="plus-price"><i class="fa fa-plus"></i></a>
</div>
<a href="javascript:void(0)" class="btn-add-auction">
Đấu giá ngay
</a>
</div>
<div class="box-participant-list background-white d-none" id="box-participant-list">
<h2 class="title">Diễn biến đấu giá</h2>
<div class="content">
<table id="js-holder-auction-details">
<tr>
<td>
<div class="d-flex align-items">
<img src="./assets/images/icon_paint.png" width="14px" height="20px"
alt="">
<span>Mai phương</span>
</div>
</td>
<td>
4.500.000đ
</td>
<td>
14:30:40 15/12/2023
</td>
</tr>
<tr>
<td>
<span>Mai phương</span>
</td>
<td>
4.500.000đ
</td>
<td>
14:30:40 15/12/2023
</td>
</tr>
<tr>
<td>
<span>Mai phương</span>
</td>
<td>
4.500.000đ
</td>
<td>
14:30:40 15/12/2023
</td>
</tr>
<tr>
<td>
<span>Mai phương</span>
</td>
<td>
4.500.000đ
</td>
<td>
14:30:40 15/12/2023
</td>
</tr>
<tr>
<td>
<span>Mai phương</span>
</td>
<td>
4.500.000đ
</td>
<td>
14:30:40 15/12/2023
</td>
</tr>
<tr>
<td>
<span>Mai phương</span>
</td>
<td>
4.500.000đ
</td>
<td>
14:30:40 15/12/2023
</td>
</tr>
<tr>
<td>
<span>Mai phương</span>
</td>
<td>
4.500.000đ
</td>
<td>
14:30:40 15/12/2023
</td>
</tr>
<tr>
<td>
<span>Mai phương</span>
</td>
<td>
4.500.000đ
</td>
<td>
14:30:40 15/12/2023
</td>
</tr>
<tr>
<td>
<span>Mai phương</span>
</td>
<td>
4.500.000đ
</td>
<td>
14:30:40 15/12/2023
</td>
</tr>
<tr>
<td>
<span>Mai phương</span>
</td>
<td>
4.500.000đ
</td>
<td>
14:30:40 15/12/2023
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="box-spec-deposit">
<div class="box-specification background-white">
<h2 class="title">Thông tin sản phẩm</h2>
<div class="content" id="js-holder-specifications">
<table>
<tbody>
<tr>
<td style="text-align: center;"><strong>STT</strong></td>
<td style="text-align: center;"><strong>MÃ HÀNG</strong></td>
<td style="text-align: center;"><strong>TÊN HÀNG</strong></td>
<td style="text-align: center;"><strong>THỜI HẠN BẢO HÀNH</strong></td>
</tr>
<tr>
<td style="text-align: center;"><strong>1</strong></td>
<td style="text-align: center;"><strong>CPU</strong></td>
<td style="text-align: center;"><strong><a
href="https://hoanghapc.vn/cpu-intel-core-i7-13700kf">INTEL
COREi7&nbsp;13700KF up 5.4GHz |&nbsp;16 CORE | 24
THREAD</a>&nbsp;&nbsp;</strong></td>
<td style="text-align: center;"><strong>36 THÁNG</strong></td>
</tr>
<tr>
<td style="text-align: center;"><strong>2</strong></td>
<td style="text-align: center;"><strong>MAIN</strong></td>
<td style="text-align: center;"><strong>
<ahref="https: //hoanghapc.vn/mainboard-asrock-z690-steel-legend">ASROCK
Z690 STEELLEGEND&nbsp;DDR4
</ahref=>
</strong></td>
<td style="text-align: center;"><strong>36 THÁNG</strong></td>
</tr>
<tr>
<td style="text-align: center;"><strong>3</strong></td>
<td style="text-align: center;"><strong>TẢN NHIỆT</strong></td>
<td style="text-align: center;"><strong>
<ahref="https:
//hoanghapc.vn/cooler-master-masterliquid-360l-core-argb">
COOLER MASTER
MASTERLIQUIDML360L CORE ARGB</ahref=>
</strong></td>
<td style="text-align: center;"><strong>12 THÁNG</strong></td>
</tr>
<tr>
<td style="text-align: center;"><strong>4</strong></td>
<td style="text-align: center;"><strong>RAM</strong></td>
<td style="text-align: center;"><strong>
<ahref="https:
//hoanghapc.vn/ram-teamgroup-t-force-vulcan-z-16gb-red-3600">
32GB DDR4 3600
MHz(2x16G)</ahref=>
</strong></td>
<td style="text-align: center;"><strong>36&nbsp;THÁNG</strong></td>
</tr>
<tr>
<td style="text-align: center;"><strong>5</strong></td>
<td style="text-align: center;"><strong>SSD</strong></td>
<td style="text-align: center;"><strong><a
href="https://hoanghapc.vn/o-cung-ssd-lexar-nm620-512gb">LEXARNM620
512GB M.2 2280 PCIe 3.0x4 -
RW 3500MB/s</a></strong></td>
<td style="text-align: center;"><strong>36&nbsp;THÁNG</strong></td>
</tr>
<tr>
<td style="text-align: center;"><strong>6</strong></td>
<td style="text-align: center;"><span
style="color: #000000;"><strong>VGA</strong></span></td>
<td style="text-align: center;"><strong>
<ahref="https:
//hoanghapc.vn/vga-palit-geforce-rtx2060-super-dual-8gb-gddr6">PALIT
GEFORCE RTX2060
SUPER DUAL 8GB GDDR6&nbsp;256-bit</ahref=>
</strong></td>
<td style="text-align: center;"><strong>36&nbsp;THÁNG</strong></td>
</tr>
<tr>
<td style="text-align: center;"><strong>7</strong></td>
<td style="text-align: center;"><strong>PSU</strong></td>
<td style="text-align: center;"><strong><a
href="https://hoanghapc.vn/nguon-asus-tuf-gaming-750w">ASUS
TUFGAMING 750W - 80 PLUS BRONZE</a></strong></td>
<td style="text-align: center;"><strong>72 THÁNG</strong></td>
</tr>
<tr>
<td style="text-align: center;"><strong>8</strong></td>
<td style="text-align: center;"><strong>CASE</strong></td>
<td style="text-align: center;"><strong>
<ahref="https: //hoanghapc.vn/vo-case-xigmatek-anubis-pro-4fx">XIGMATEK
ANUBIS PRO 4FX - 4FAN
</ahref=>
</strong></td>
<td style="text-align: center;">&nbsp;</td>
</tr>
<tr>
<td style="text-align: center;"><strong>6</strong></td>
<td style="text-align: center;"><span
style="color: #000000;"><strong>VGA</strong></span></td>
<td style="text-align: center;"><strong>
<ahref="https:
//hoanghapc.vn/vga-palit-geforce-rtx2060-super-dual-8gb-gddr6">PALIT
GEFORCE RTX2060
SUPER DUAL 8GB GDDR6&nbsp;256-bit</ahref=>
</strong></td>
<td style="text-align: center;"><strong>36&nbsp;THÁNG</strong></td>
</tr>
<tr>
<td style="text-align: center;"><strong>7</strong></td>
<td style="text-align: center;"><strong>PSU</strong></td>
<td style="text-align: center;"><strong><a
href="https://hoanghapc.vn/nguon-asus-tuf-gaming-750w">ASUS
TUFGAMING 750W - 80 PLUS BRONZE</a></strong></td>
<td style="text-align: center;"><strong>72 THÁNG</strong></td>
</tr>
<tr>
<td style="text-align: center;"><strong>8</strong></td>
<td style="text-align: center;"><strong>CASE</strong></td>
<td style="text-align: center;"><strong>
<ahref="https: //hoanghapc.vn/vo-case-xigmatek-anubis-pro-4fx">XIGMATEK
ANUBIS PRO 4FX - 4FAN
</ahref=>
</strong></td>
<td style="text-align: center;">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
<a href="" class="more">Xem thêm</a>
</div>
<div class="box-auction-deposit background-white">
<h2 class="title">Thông tin đặt cọc đấu giá</h2>
<div class="content">
<p>Quý khách vui lòng làm theo các bước sau đây.</p>
<div>
<b>Bước 1:</b>
<span>Đặt cọc <b>500.000 VND</b> vào STK bên dưới</span>
</div>
<div>
<b>Bước 2:</b>
<span><b>Kiểm tra email</b> để nhận thông tin xác nhận đặt cọc thành công từ Hoàng Hà PC
gửi
đến (Lưu ý: kiểm tra tất cả các hộp thư bao gồm cả thư
rác) Trường hợp nếu không nhận được email, quý khách vui lòng gửi hình ảnh giao dịch
qua
<b>Zalo: 0909000000</b> để được hỗ trợ nhanh nhất.
</span>
</div>
<b style="display: block;margin: 10px 0;">Thông tin tài khoản nhận cọc:</b>
<div class="d-flex">
<img src="./assets/images/qr-code.png" alt="">
<div class="cnt-right">
<b>CÔNG TY CP THƯƠNG MẠI DỊCH VỤ ACB</b>
<p>Ngân hàng: Techcombank</p>
<p>Số tài khoản: 9999998888</p>
<p>Nội dung thanh toán: [ID tài khoản] - [Mã SP cọc]</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="box-questions">
<div class="container">
<div class="content-questions">
<h2 class="title">Câu hỏi thường gặp</h2>
<div class="content" id="accordion">
<div class="card">
<a href="#" class="card-link collapsed" data-toggle="collapse" data-target="#question-1"
aria-expanded="false">
<div class="card-header d-flex align-items space-between">
<span>Đấu giá trực tuyến có phức tạp không ?</span>
<i class="fa"></i>
</div>
</a>
<div id="question-1" class="collapse" data-parent="#accordion">
<div class="card-body">
Rất dễ dàng, ,tham gia mọi lúc mọi nơi chỉ cần có smartphone và internet
</div>
</div>
</div>
<div class="card">
<a href="#" class="card-link collapsed" data-toggle="collapse" data-target="#question-2"
aria-expanded="false">
<div class="card-header d-flex align-items space-between">
<span>Tại sao nên chọn đấu giá trực tuyến tại Hoàng Hà PC?</span>
<i class="fa fa-angle-right"></i>
</div>
</a>
<div id="question-2" class="collapse" data-parent="#accordion">
<div class="card-body">
Rất dễ dàng, ,tham gia mọi lúc mọi nơi chỉ cần có smartphone và internet
</div>
</div>
</div>
<div class="card">
<a href="#" class="card-link collapsed" data-toggle="collapse" data-target="#question-3"
aria-expanded="false">
<div class="card-header d-flex align-items space-between">
<span>Đấu giá trực tuyến có phức tạp không ?</span>
<i class="fa fa-angle-right"></i>
</div>
</a>
<div id="question-3" class="collapse" data-parent="#accordion">
<div class="card-body">
Rất dễ dàng, ,tham gia mọi lúc mọi nơi chỉ cần có smartphone và internet
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="footer-phone">
<a href="tel:1800" class="d-flex align-items space-between">
<div class="txt text-center">
<span>Tổng đài hỗ trợ miễn phí</span>
<span>1800.xxxx</span>
</div>
<img src="./assets/images/icon-phone.png" width="50px" height="50px" alt="phone">
</a>
</div>
</div>
<div class="footer-bottom">
<h3>CÔNG TY TNHH DỊCH VỤ VÀ CÔNG NGHỆ HOÀNG HÀ ©</h3>
<p>
2008 - 2020 - Công ty TNHH Dịch Vụ Và Công Nghệ Hoàng Hà / GPKD số:0107406972 Do Sở Kế Hoạch
Đầu
Tư Thành Phố Hà Nội Cấp Bản Quyền Thuộc Về hoanghapc.vn
</p>
</div>
</div>
</div>
</body>
<script src=" https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<script src="./dist/data.js"></script>
<script src="./dist/detail.js"></script>
</html>

View File

@@ -86,7 +86,7 @@
Đấu giá ngay
</a>
</div>
<div class="box-participant-list background-white">
<div class="box-participant-list background-white d-none" id="box-participant-list">
<h2 class="title">Diễn biến đấu giá</h2>
<div class="content">
<table id="js-holder-auction-details">

View File

@@ -110,7 +110,7 @@ const listproduct_mau: ProductInfo[] = [
price: 27390000,
starting_price: 2550000,
price_step: 300000,
from_time: 1703350800000,
from_time: 1703523600000,
to_time: 1703955600000,
status: 'coming',
user_online: 0,
@@ -237,7 +237,7 @@ const listproduct_mau: ProductInfo[] = [
price: 26390000,
starting_price: 16390000,
price_step: 300000,
from_time: 1703350800000,
from_time: 1703523600000,
to_time: 1703955600000,
status: 'coming',
user_online: 0,
@@ -297,7 +297,7 @@ function countDown(iid: string, endTime: number): void {
const updateCountdown = () => {
const now: number = Date.now();
const distance: number = endTime - now;
console.log(distance)
if (distance > 0) {
const [days, hours, minutes, seconds] = getTimeComponents(distance);
displayCountdown(iid, days, hours, minutes, seconds);
@@ -313,6 +313,7 @@ function countDown(iid: string, endTime: number): void {
}
function getTimeComponents(distance: number): [number, number, number, number] {
const days: number = Math.floor(distance / (1000 * 60 * 60 * 24));
const hours: number = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
const minutes: number = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
@@ -331,6 +332,7 @@ function displayCountdown(iid: string, days: number, hours: number, minutes: num
<div class='item-time'><b>${formatTimeComponent(minutes)}</b></div>
<div class='item-time'><b>${formatTimeComponent(seconds)}</b></div>`;
} else {
console.log('aaaa')
element.innerHTML = `
<div class='item-time'><b>${formatTimeComponent(hours)}</b></div>
<div class='item-time'><b>${formatTimeComponent(minutes)}</b></div>

View File

@@ -27,14 +27,68 @@ function GetURLParameter(sParam: string, url: string) {
function XayhtmlProductDeail(product: ProductInfo) {
// lay gia cao nhat
const highestBid = getHighestBid(product.list_user);
// xay html hien thi anh san pham
const htmlImage: string = `
<a href="${product.image}">
<img src="${product.image}" alt="${product.product_name}">
</a>
`;
// xay html hien thi thong tin san pham
var HtmlButtonBid: string = ''
if (product.from_time > Date.now()) {
HtmlButtonBid = `
<div class="qt-view">Số người đang xem: <b>${product.user_online} người</b></div>
<a href="javascript:void(0)" class="btn-add-auction coming">
<img src="./assets/images/icon_time.png" alt="">
<div class="d-flex align-items">
<span>Diễn ra vào lúc:</span>
<div class="js-deal-time-${product.productId} d-flex align-items" data-time="${product.from_time}">
</div>
</div>
</a>
`;
} else if (product.to_time > Date.now()) {
HtmlButtonBid = `
<div class="current-highest-price d-flex align-items">
<div class="name-price">Giá cao nhất hiện tại:</div>
<b>${formatPrice(highestBid.highestBid)}<u>đ</u></b>
</div>
<div class="qt-view">Số người đang tham gia: <b>${product.user_online} người</b></div>
<div class="box-time d-flex align-items">
<span>Thời gian còn lại:</span>
<div class="product-time-holder js-deal-time-${product.productId} d-flex align-items" data-time="${product.to_time}">
</div>
</div>
<div class="box-input-price d-flex align-items">
<span>Nhập giá đấu của bạn</span>
<input type="text" class="input-price" value="${formatPrice(highestBid.highestBid)}">
<a href="javascript:;" class="minus-price"><i class="fa fa-minus"></i></a>
<a href="javascript:;" class="plus-price"><i class="fa fa-plus"></i></a>
</div>
<a href="javascript:void(0)" class="btn-add-auction">
Đấu giá ngay
</a>
`;
} else {
HtmlButtonBid = `
<div class="price-win d-flex align-items">
<div class="name-price">Giá thắng cuộc:</div>
<b>${formatPrice(highestBid.highestBid)}<u>đ</u></b>
</div>
<div class="user-win d-flex align-items">
<div class="name">
<img src="./assets/images/icon_paint.png" width="14px" height="20px" alt=""> Người chiến thắng:</div>
<span>${highestBid.highestBidName}</span>
</div>
<a href="javascript:void(0)" class="btn-add-auction ending">
Phiên đấu giá đã kết thúc
</a>
`;
}
const htmlInfo: string = `
<h1 class="name">${product.product_name}</h1>
<div class="d-flex align-items space-between box-price-normal">
@@ -47,31 +101,20 @@ function XayhtmlProductDeail(product: ProductInfo) {
<b>${formatPrice(product.price_step)}<u>đ</u></b>
</div>
</div>
<div class="current-highest-price d-flex align-items">
<div class="name-price">Giá cao nhất hiện tại:</div>
<b>${formatPrice(highestBid)}<u>đ</u></b>
</div>
<div class="qt-view">Số người đang tham gia: <b>${product.user_online} người</b></div>
<div class="box-time d-flex align-items">
<span>Thời gian còn lại:</span>
<div class="product-time-holder js-deal-time-${product.productId} d-flex align-items" data-time="${product.to_time}">
</div>
</div>
<div class="box-input-price d-flex align-items">
<span>Nhập giá đấu của bạn</span>
<input type="text" class="input-price" value="${formatPrice(highestBid)}">
<a href="javascript:;" class="minus-price"><i class="fa fa-minus"></i></a>
<a href="javascript:;" class="plus-price"><i class="fa fa-plus"></i></a>
</div>
${HtmlButtonBid}
`;
let html_dien_bien_dau_gia: string = '';
if (product.from_time < Date.now()) {
const boxParticipant = document.getElementById('box-participant-list')
if (boxParticipant) {
boxParticipant.classList.remove('d-none');
}
product.list_user.forEach((user: infoUser) => {
html_dien_bien_dau_gia += `
<tr>
<td>
${highestBid == user.price ? `
${highestBid.highestBid == user.price ? `
<div class="d-flex align-items">
<img src="./assets/images/icon_paint.png" width="14px" height="20px" alt="">
<span>${user.userName}</span>
@@ -87,7 +130,7 @@ function XayhtmlProductDeail(product: ProductInfo) {
</tr>
`;
});
}
const htmlSpec: string = `
${product.specifications}
@@ -114,23 +157,28 @@ function show_product_detail(lay_thongtin_sp: ProductInfo[]) {
holderAuctionDetails!.innerHTML = html_dien_bien_dau_gia;
holderSpec!.innerHTML = htmlSpec;
if (product.to_time > Date.now()) {
if (product.from_time > Date.now()) {
countDown(`js-deal-time-${product.productId}`, product.from_time);
} else if (product.to_time > Date.now()) {
countDown(`js-deal-time-${product.productId}`, product.to_time);
}
});
}
function getHighestBid(list_user: infoUser[]) {
let highestBid = 0;
let highestBidName = '';
list_user.forEach(user => {
if (user.price > highestBid) {
highestBid = user.price;
highestBidName = user.userName;
}
});
return highestBid;
return { highestBid, highestBidName };
}
function getList() {

90
src/main-mb.ts Normal file
View File

@@ -0,0 +1,90 @@
async function goi_sp_tu_api(): Promise<ProductInfo[]> {
return new Promise((resolve, reject) => {
return resolve(listproduct_mau);
})
}
async function hienthi_sp() {
const lay_sp_tu_api: ProductInfo[] = await goi_sp_tu_api();
// code hien thi danh sach dang dien ra
// Usage example:
showListProductHome(lay_sp_tu_api, 'started', 'js-holder-list-started');
showListProductHome(lay_sp_tu_api, 'coming', 'js-holder-list-coming');
showListProductHome(lay_sp_tu_api, 'ended', 'js-holder-list-ended');
}
function showListProductHome(lay_sp_tu_api: ProductInfo[], status: string, holderId: string) {
const html: string[] = [];
const holder = document.getElementById(holderId);
lay_sp_tu_api
.filter((product: ProductInfo) => product.status == status)
.forEach(function (product, keyIndex) {
html.push(
xayhtml(product)
);
if (status != 'ended' || product.to_time > product.from_time) {
const countdownTime = (status == 'started') ? product.to_time : product.from_time;
countDown(`js-deal-time-${product.productId}`, countdownTime);
}
});
if (holder) {
holder.innerHTML = html.join('');
}
}
function xayhtml(product: ProductInfo) {
var Htmlcheckstatus: string = ''
if (product.status == 'started') {
Htmlcheckstatus = `
<div class="starting-price">
Giá Khởi điểm: ${formatPrice(product.starting_price)}đ
</div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time-${product.productId}" data-time="${product.to_time}">
</div>
</div>
<a href="/auction_program/product-detail-mb.html?id=${product.productId}" class="btn-auction">Đấu giá ngay</a>`;
} else if (product.status == 'coming') {
Htmlcheckstatus = `
<div class="starting-price">
Giá Khởi điểm: ${formatPrice(product.starting_price)}đ
</div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Bắt đầu sau:</div>
<div class="product-time-holder js-deal-time-${product.productId}" data-time="${product.from_time}">
</div>
</div>
<a href="/auction_program/product-detail-mb.html?id=${product.productId}" class="btn-auction">Xem chi tiết</a>`;
} else if (product.to_time < Date.now()) {
Htmlcheckstatus = `<div class="starting-price">Thắng cuộc ${formatPrice(product.starting_price)}<u>đ</u></div>
<div class="deal-time-holder d-flex align-items space-center end">
<div class="txt">Đã kết thúc</div>
</div>
<a href="/auction_program/product-detail.html?id=${product.productId}" class="btn-auction">Xem chi tiết</a>`;
}
return `<div class="product-item">
<a href="/product-detail.html?id=${product.productId}" class="product-image">
<img src="${product.image}" alt="${product.product_name}">
</a>
<div class="info-product">
<a href="" class="product-name line-clamp-2">${product.product_name}</a>
<div class="product-cost">
Giá gốc: ${formatPrice(product.price)}đ
</div>
${Htmlcheckstatus}
</div>
</div>
`;
}
hienthi_sp();

View File

@@ -40,14 +40,22 @@ function showListProductHome(lay_sp_tu_api: ProductInfo[], status: string, holde
function xayhtml(product: ProductInfo) {
var Htmlcheckstatus: string = ''
if (product.status == 'started') {
Htmlcheckstatus = `<div class="deal-time-holder d-flex align-items space-center">
Htmlcheckstatus = `
<div class="starting-price">
Giá Khởi điểm: ${formatPrice(product.starting_price)}đ
</div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Còn lại:</div>
<div class="product-time-holder js-deal-time-${product.productId}" data-time="${product.to_time}">
</div>
</div>
<a href="/auction_program/product-detail.html?id=${product.productId}" class="btn-auction">Đấu giá ngay</a>`;
} else if (product.status == 'coming') {
Htmlcheckstatus = `<div class="deal-time-holder d-flex align-items space-center">
Htmlcheckstatus = `
<div class="starting-price">
Giá Khởi điểm: ${formatPrice(product.starting_price)}đ
</div>
<div class="deal-time-holder d-flex align-items space-center">
<div class="txt">Bắt đầu sau:</div>
<div class="product-time-holder js-deal-time-${product.productId}" data-time="${product.from_time}">
</div>