feat(home): finalizando projeto e colocando o Coutdown editável
This commit is contained in:
parent
caa82b24e3
commit
75c612a279
@ -1,6 +1,6 @@
|
|||||||
import React, { useEffect, useState } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
import styles from "./styles.css";
|
|
||||||
import clock from "./assets/box-white.svg";
|
import clock from "./assets/box-white.svg";
|
||||||
|
import { useCssHandles } from "vtex.css-handles";
|
||||||
interface CountdownProps {
|
interface CountdownProps {
|
||||||
//formato: dd/mm/yyyy//hh:mm
|
//formato: dd/mm/yyyy//hh:mm
|
||||||
endDate: string;
|
endDate: string;
|
||||||
@ -69,26 +69,39 @@ const Countdown = ({ endDate }: CountdownProps) => {
|
|||||||
const minuteString = time.minute.toString().padStart(2, "0");
|
const minuteString = time.minute.toString().padStart(2, "0");
|
||||||
const secondString = time.second.toString().padStart(2, "0");
|
const secondString = time.second.toString().padStart(2, "0");
|
||||||
|
|
||||||
|
const CSS_HANDLES = [
|
||||||
|
"countdown",
|
||||||
|
"countdownBadge",
|
||||||
|
"countdownBadgeClock",
|
||||||
|
"countdownTitle",
|
||||||
|
"countdownTitleHeading1",
|
||||||
|
"countdownTitleHeading3",
|
||||||
|
"countdownTitleHeading2",
|
||||||
|
"countdownText",
|
||||||
|
];
|
||||||
|
|
||||||
|
const handles = useCssHandles(CSS_HANDLES);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={styles.countdown}>
|
<div className={handles.countdown}>
|
||||||
<div className={styles.countdownBadge}>
|
<div className={handles.countdownBadge}>
|
||||||
<img
|
<img
|
||||||
src={clock}
|
src={clock}
|
||||||
alt="Relógio"
|
alt="Relógio"
|
||||||
className={styles.countdownBadgeClock}
|
className={handles.countdownBadgeClock}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className={styles.countdownTitle}>
|
<div className={handles.countdownTitle}>
|
||||||
<h1 className={styles.countdownTitleHeading1}>ofertas</h1>
|
<h1 className={handles.countdownTitleHeading1}>ofertas</h1>
|
||||||
<h3 className={styles.countdownTitleHeading3}>
|
<h3 className={handles.countdownTitleHeading3}>
|
||||||
Não perca tempo,
|
Não perca tempo,
|
||||||
</h3>
|
</h3>
|
||||||
<h2 className={styles.countdownTitleHeading2}>
|
<h2 className={handles.countdownTitleHeading2}>
|
||||||
garanta agora!
|
garanta agora!
|
||||||
</h2>
|
</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className={styles.countdownText}>
|
<div className={handles.countdownText}>
|
||||||
{`${hourString}:${minuteString}:${secondString}`}
|
{`${hourString}:${minuteString}:${secondString}`}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -96,3 +109,15 @@ const Countdown = ({ endDate }: CountdownProps) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export default Countdown;
|
export default Countdown;
|
||||||
|
|
||||||
|
Countdown.schema = {
|
||||||
|
title: "Countdown Academy",
|
||||||
|
type: "object",
|
||||||
|
properties: {
|
||||||
|
endDate: {
|
||||||
|
title: "Data final de countdown",
|
||||||
|
type: "string",
|
||||||
|
default: "21/01/2023/00:00",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
@ -21,7 +21,8 @@
|
|||||||
|
|
||||||
"countdown-academy": {
|
"countdown-academy": {
|
||||||
"props": {
|
"props": {
|
||||||
"endDate": "21/01/2023/00:00"
|
"endDate": "21/01/2023/00:00",
|
||||||
|
"blockClass": "countdown-academy-teste"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -0,0 +1,67 @@
|
|||||||
|
.countdown {
|
||||||
|
background-image: url('assets/imgs/brand-makup.png');
|
||||||
|
width: 414px;
|
||||||
|
height: 463px;
|
||||||
|
background-color: #4e1e52;
|
||||||
|
border-radius: 30px;
|
||||||
|
position: relative;
|
||||||
|
background-blend-mode: multiply;
|
||||||
|
}
|
||||||
|
|
||||||
|
.countdownTitle {
|
||||||
|
color: white;
|
||||||
|
padding-top: 40px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.countdownTitleHeading1 {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 40px;
|
||||||
|
line-height: 48px;
|
||||||
|
letter-spacing: -0.05em;
|
||||||
|
|
||||||
|
}
|
||||||
|
.countdownTitleHeading3 {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 20px;
|
||||||
|
letter-spacing: -0.05em;
|
||||||
|
font-weight: 300;
|
||||||
|
}
|
||||||
|
.countdownTitleHeading2 {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 26px;
|
||||||
|
line-height: 20px;
|
||||||
|
letter-spacing: -0.05em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.countdownText {
|
||||||
|
position: absolute;
|
||||||
|
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
|
||||||
|
color: white;
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: 200;
|
||||||
|
letter-spacing: 0.1em;
|
||||||
|
|
||||||
|
width: 170px;
|
||||||
|
height: 170px;
|
||||||
|
border-radius: 50%;
|
||||||
|
|
||||||
|
border: 2px solid #ffffff10;
|
||||||
|
|
||||||
|
display: grid;
|
||||||
|
place-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.countdownBadge {
|
||||||
|
position: absolute;
|
||||||
|
top: 30px;
|
||||||
|
right: 0;
|
||||||
|
background-color: #47bb77;
|
||||||
|
border-radius: 80px 0 0 80px;
|
||||||
|
padding: 8px 10px 6px 34px;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user