diff --git a/web/src/assets/pngs/dashboard/aristoteles.png b/web/src/assets/pngs/dashboard/aristoteles.png index 98710b0f2..9bc2f76fc 100644 Binary files a/web/src/assets/pngs/dashboard/aristoteles.png and b/web/src/assets/pngs/dashboard/aristoteles.png differ diff --git a/web/src/assets/pngs/dashboard/diogenes.png b/web/src/assets/pngs/dashboard/diogenes.png index 1c326ca1d..74afcc18b 100644 Binary files a/web/src/assets/pngs/dashboard/diogenes.png and b/web/src/assets/pngs/dashboard/diogenes.png differ diff --git a/web/src/assets/pngs/dashboard/plato.png b/web/src/assets/pngs/dashboard/plato.png index 7fb43789e..5b0ec9a87 100644 Binary files a/web/src/assets/pngs/dashboard/plato.png and b/web/src/assets/pngs/dashboard/plato.png differ diff --git a/web/src/assets/pngs/dashboard/pythagoras.png b/web/src/assets/pngs/dashboard/pythagoras.png index 7a4e49957..327b1ea1b 100644 Binary files a/web/src/assets/pngs/dashboard/pythagoras.png and b/web/src/assets/pngs/dashboard/pythagoras.png differ diff --git a/web/src/assets/pngs/dashboard/socrates.png b/web/src/assets/pngs/dashboard/socrates.png index 6350b40f0..81d85195c 100644 Binary files a/web/src/assets/pngs/dashboard/socrates.png and b/web/src/assets/pngs/dashboard/socrates.png differ diff --git a/web/src/components/Popup/MiniGuides/Level.tsx b/web/src/components/Popup/MiniGuides/Level.tsx new file mode 100644 index 000000000..5e9c94ad4 --- /dev/null +++ b/web/src/components/Popup/MiniGuides/Level.tsx @@ -0,0 +1,124 @@ +import React, { useState } from "react"; +import styled, { css } from "styled-components"; +import { landscapeStyle } from "styles/landscapeStyle"; +import { Card as _Card } from "@kleros/ui-components-library"; +import PixelArt from "pages/Dashboard/JurorInfo/PixelArt"; +import Coherency from "pages/Dashboard/JurorInfo/Coherency"; +import Template from "./Template"; + +const Card = styled(_Card)` + display: flex; + flex-direction: column; + align-items: center; + width: 234px; + height: 100%; + gap: 28px; + + padding: 24px; + + ${landscapeStyle( + () => css` + flex-direction: row; + width: 100%; + height: 236px; + ` + )} +`; + +const Title = styled.h1` + margin-bottom: 0; +`; + +const LeftContentContainer = styled.div` + display: flex; + gap: 18px; + flex-direction: column; +`; + +const userLevelData = [ + { + level: 1, + title: "Pythagoras", + totalCoherent: 6, + totalResolvedDisputes: 10, + firstParagraph: "Jurors are classified into distinct levels according to their performance starting from Level 1.", + secondParagraph: + "Level 1: Jurors with 0 cases arbitrated, OR Jurors with ≥ 1 case arbitrated with 0-70% of coherent votes.", + }, + { + level: 2, + title: "Socrates", + totalCoherent: 7, + totalResolvedDisputes: 10, + firstParagraph: "Level 2: Jurors with ≥ 3 cases arbitrated with 70%-80% of coherent votes.", + }, + { + level: 3, + title: "Plato", + totalCoherent: 8, + totalResolvedDisputes: 10, + firstParagraph: "Level 3: Jurors with ≥ 7 cases arbitrated with 80%-90% of coherent votes.", + }, + { + level: 4, + title: "Aristoteles", + totalCoherent: 9, + totalResolvedDisputes: 10, + firstParagraph: "Level 4: Jurors with ≥ 10 cases arbitrated with more than 90% of coherent votes.", + }, + { + level: 0, + title: "Diogenes", + totalCoherent: 3, + totalResolvedDisputes: 10, + firstParagraph: + "There's a level for the low-performance/lazy jurors. Level 0: Jurors with ≥ 3 cases arbitrated with less than 50% of coherent votes.", + }, +]; + +const LeftContent: React.FC<{ currentPage: number }> = ({ currentPage }) => { + return ( + + + Juror Level {userLevelData[currentPage - 1].level}: {userLevelData[currentPage - 1].title} + + + + + ); +}; + +const RightContent: React.FC<{ currentPage: number }> = ({ currentPage }) => { + return ( + + + + + ); +}; + +interface ILevel { + toggleIsLevelMiniGuidesOpen: () => void; +} + +const Level: React.FC = ({ toggleIsLevelMiniGuidesOpen }) => { + const [currentPage, setCurrentPage] = useState(1); + + return ( +