Skip to content

Commit 2f62453

Browse files
committed
feat: subscribe button
1 parent 207ab72 commit 2f62453

File tree

2 files changed

+133
-4
lines changed

2 files changed

+133
-4
lines changed

src/app/sections/agenda.tsx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { findAll, formatDate } from "../utils";
22
import { schedule, speaker } from "../../data";
3-
import { Icon } from "../parts";
3+
import { Icon, Link } from "../parts";
44

55
export const Agenda = () => {
66
function onToggle(this: HTMLElement) {
@@ -18,7 +18,7 @@ export const Agenda = () => {
1818
</div>
1919
<div className="content">
2020
{schedule.map((slot, index) => {
21-
const now = Date.now()
21+
const now = Date.now();
2222

2323
const isPrev = now > slot.end.getTime();
2424

@@ -71,6 +71,16 @@ export const Agenda = () => {
7171
);
7272
})}
7373
</div>
74+
75+
<div className="flex justify-center">
76+
<Link
77+
href="https://devpr24.eventbrite.com/"
78+
className="btn subscribe heartbeat"
79+
target="_blank"
80+
>
81+
Faça sua inscrição
82+
</Link>
83+
</div>
7484
</section>
7585
);
7686
};

src/scss/style.scss

Lines changed: 121 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,10 @@ header {
421421
border-style: solid;
422422
}
423423

424+
&.subscribe {
425+
background-color: lime;
426+
}
427+
424428
&:disabled {
425429
opacity: 0.08;
426430
}
@@ -1276,14 +1280,17 @@ a[hidden] {
12761280
* <Agenda />
12771281
*/
12781282
.agenda {
1283+
.btn {
1284+
font-size: 1.2em;
1285+
}
1286+
12791287
.content {
12801288
display: flex;
12811289
justify-content: center;
12821290
flex-direction: column;
1291+
padding-bottom: 64px;
12831292
margin-top: 40px;
12841293
gap: 8px;
1285-
1286-
12871294
details {
12881295
&.prev {
12891296
border-color: var(--devpr-sys-color-surface-container);
@@ -1365,3 +1372,115 @@ details {
13651372
font-weight: 500;
13661373
}
13671374
}
1375+
1376+
.flicker {
1377+
animation: flicker 2.5s linear infinite both;
1378+
}
1379+
1380+
@keyframes flicker {
1381+
0%,
1382+
100% {
1383+
opacity: 1;
1384+
}
1385+
32.98% {
1386+
opacity: 1;
1387+
}
1388+
33% {
1389+
opacity: 0;
1390+
}
1391+
34% {
1392+
opacity: 0;
1393+
}
1394+
34.02% {
1395+
opacity: 1;
1396+
}
1397+
34.98% {
1398+
opacity: 1;
1399+
}
1400+
35% {
1401+
opacity: 0;
1402+
}
1403+
35.9% {
1404+
opacity: 0;
1405+
}
1406+
35.92% {
1407+
opacity: 1;
1408+
}
1409+
38.98% {
1410+
opacity: 1;
1411+
}
1412+
39% {
1413+
opacity: 0;
1414+
}
1415+
39.8% {
1416+
opacity: 0;
1417+
}
1418+
39.82% {
1419+
opacity: 1;
1420+
}
1421+
83.98% {
1422+
opacity: 1;
1423+
}
1424+
84% {
1425+
opacity: 0;
1426+
}
1427+
84.9% {
1428+
opacity: 0;
1429+
}
1430+
84.92% {
1431+
opacity: 1;
1432+
}
1433+
}
1434+
1435+
.heartbeat {
1436+
animation: heartbeat 1.6s ease-in-out infinite both;
1437+
}
1438+
1439+
@keyframes heartbeat {
1440+
from {
1441+
transform: scale(1);
1442+
transform-origin: center center;
1443+
animation-timing-function: ease-out;
1444+
}
1445+
10% {
1446+
transform: scale(0.94);
1447+
animation-timing-function: ease-in;
1448+
}
1449+
17% {
1450+
transform: scale(0.98);
1451+
animation-timing-function: ease-out;
1452+
}
1453+
33% {
1454+
transform: scale(0.91);
1455+
animation-timing-function: ease-in;
1456+
}
1457+
45% {
1458+
transform: scale(1);
1459+
animation-timing-function: ease-out;
1460+
}
1461+
}
1462+
1463+
.vibrate {
1464+
animation: vibrate 0.3s linear infinite both;
1465+
}
1466+
1467+
@keyframes vibrate {
1468+
0% {
1469+
transform: translate(0);
1470+
}
1471+
20% {
1472+
transform: translate(-2px, 2px);
1473+
}
1474+
40% {
1475+
transform: translate(-2px, -2px);
1476+
}
1477+
60% {
1478+
transform: translate(2px, 2px);
1479+
}
1480+
80% {
1481+
transform: translate(2px, -2px);
1482+
}
1483+
100% {
1484+
transform: translate(0);
1485+
}
1486+
}

0 commit comments

Comments
 (0)