diff --git a/src/components/StreakView/StreakView.less b/src/components/StreakView/StreakView.less index 062ea81..ac06d87 100644 --- a/src/components/StreakView/StreakView.less +++ b/src/components/StreakView/StreakView.less @@ -2,8 +2,9 @@ height: 100%; width: 100%; display: grid; - grid-template-rows: auto min-content; + grid-template-rows: min-content auto; gap: 1rem; + overflow-y: auto; } .streak-grid { @@ -11,3 +12,25 @@ flex-wrap: wrap; justify-content: center; } + +.pointer { + position: fixed; + top: 50px; + left: 50px; + animation: pulsate 4s infinite; +} + +@keyframes pulsate { + 0% { + transform: scale(1); + opacity: 0.8; + } + 50% { + transform: scale(1.75); + opacity: 1; + } + 100% { + transform: scale(1); + opacity: 0.8; + } +} diff --git a/src/components/StreakView/StreakView.tsx b/src/components/StreakView/StreakView.tsx index 2ef808d..f091e52 100644 --- a/src/components/StreakView/StreakView.tsx +++ b/src/components/StreakView/StreakView.tsx @@ -1,17 +1,54 @@ +import { Typography } from "@mui/material"; import { useConfiguration } from "../../hooks/useConfiguration"; import "./StreakView.less"; import { User } from "./User/User"; +import NorthWestIcon from "@mui/icons-material/NorthWest"; export const StreakView = () => { const { config } = useConfiguration(); - return ( -
+ const Header = () => { + return ( + + Duolingo Streaks + + ); + }; + + const StreakGrid = () => { + return (
{config.userNames.map((userName) => ( ))}
+ ); + }; + + const EmptyState = () => { + const ConfigPointer = () => { + return ( +
+ +
+ ); + }; + + return ( + <> + + Keep track of your and your friends Duoling streaks! + + + + ); + }; + + return ( +
+
+ {config.userNames.length === 0 && } +
); };