fix: clean up code

pull/84/head
Pierre-Louis Guhur 2 years ago
parent 4c2759d8c9
commit f11ee7b535

@ -0,0 +1,166 @@
import React from 'react';
import plotly from 'plotly.js/dist/plotly';
import createPlotComponent from 'react-plotly.js/factory';
import LoadingScreen from "./LoadingScreen";
function Bulles (props) {
// récupération des résultats de l'élection et stockage en tableau
const votesBrut = (Object.values(props))[0];
// déclaration et initialisation des mentions et couleurs
const mentionsBrut = ['Passable', 'Assez bien', 'Bien', 'Très bien', 'Excellent'];
const couleursBrut = ['#BB9C42', '#AABA44', '#DCDF44', '#B3D849', '#61AD45'];
//----------- Traitement des données -----------//
// fonction d'inversement des éléments de tableau
function inverse(obj){
var retobj = {};
for(var key in obj){
retobj[obj[key]] = key;
}
return retobj;
}
// fonction de réduction d'amplitude permettant de conserver une représentation ordinale du nombre de votes sans décalage visuel trop important
/*
Pattern de calcul :
Soient Ai, Bi, Ci, Di, Ei les nombres de votes initiaux fournis dans le tableau classé par ordre mélioratif de mention (de Passable à Excellent). Il vient :
A = 1
B = <{[1 + (Bi/Ai)] / 40} * A>
C = <{[1 + (Ci/Bi)] / 40} * B>
D = <{[1 + (Di/Ci)] / 40} * C>
E = <{[1 + (Ei/Di)] / 40} * D>
*/
function redAmpli(tab) {
var nvTab = [];
nvTab[0] = 100;
for(i = 1; i < tab.length; i++) {
nvTab[i] = ( (1 + ((tab[i]/tab[(i-1)]) / 40 ) ) * nvTab[(i-1)]);
}
return nvTab;
}
// déclaration de l'objet votes-mention et votes-couleur
var votesMentionNonOrdonnes = {};
var votesCouleurNonOrdonnes = {};
// initialisation votes-mention ordonnés croissants
for (var i = 0; i < mentionsBrut.length; i++) {
votesMentionNonOrdonnes[votesBrut[i]] = mentionsBrut[i];
votesCouleurNonOrdonnes[votesBrut[i]] = couleursBrut[i];
}
// déclaration des mentions-votes par ordre croissant
var votesMentionOrdonnes = inverse(votesMentionNonOrdonnes);
var votesCouleurOrdonnes = inverse(votesCouleurNonOrdonnes);
// vérification du nombre de votes classés par ordre croissant et passés initialement en propriétés au composant
console.log("Les données transmises au composant concernant le nombre de votes par mention sont : ");
console.log(votesBrut);
// vérification des mentions destinées à être associées aux votes et ordonnées initialement par ordre mélioratif
console.log("Les mentions des votes sont classées initialement par ordre mélioratif de la façon suivante :");
console.log(mentionsBrut);
// vérification du nombre de votes classés par ordre croissant
console.log("Les mentions-votes classées par ordre croissant de votes sont : ");
console.log(votesMentionOrdonnes);
// séparation des mentions et des votes
const mentions = Object.keys(votesMentionOrdonnes);
const votes = Object.values(votesMentionOrdonnes);
const couleurs = Object.keys(votesCouleurOrdonnes);
// vérification des mentions et des votes prêts à être traités pour la représentation graphique
console.log('La liste des mentions issue du classement par ordre croissant de votes est :');
console.log(mentions);
console.log('La liste du nombre de votes correspondant, classée par ordre croissant, est :');
console.log(votes);
// déclaration et initialisation des rayons de bulle pour la représentation graphique
var rayons = [];
rayons = redAmpli(votes)
// vérification des rayons
console.log('La liste des rayons à représenter graphiquement est la suivante :');
console.log(rayons);
// déclaration et initialisation des textes des bulles
const texteBulle1 = (mentions[0] + "<br>" + votes[0] + " votes").toString();
const texteBulle2 = (mentions[1] + "<br>" + votes[1] + " votes").toString();
const texteBulle3 = (mentions[2] + "<br>" + votes[2] + " votes").toString();
const texteBulle4 = (mentions[3] + "<br>" + votes[3] + " votes").toString();
const texteBulle5 = (mentions[4] + "<br>" + votes[4] + " votes").toString();
// déclaration et initialisation d'une instance de graphique en bulles
// const Plot = createPlotComponent(plotly);
const Plot = require('react-plotly.js').default;
//---------------------------------------------//
//----------- Affichage des données -----------//
const [loading, setLoading] = React.useState(true);
React.useEffect(() =>{
setTimeout(() => setLoading(false), 3000);
})
return (
// <div>
// {!loading ? (
// <React.Fragment>
<Plot
data={[
{
x: [0.7, 0.6, 0.5, 0.6, 0.7],
y: [0.3, 0.4, 0.5, 0.6, 0.5],
hovertemplate:
'<b>%{text}</b>' +
'<extra></extra>',
text: [texteBulle1, texteBulle2, texteBulle3, texteBulle4, texteBulle5],
showlegend: false,
mode: 'markers',
marker: {
color: [couleurs[0], couleurs[1], couleurs[2], couleurs[3], couleurs[4]],
size: rayons
}
}
]}
layout={ {
width: 600,
height: 600,
title: 'Nombre de voix par candidat',
xaxis: {
showgrid: false,
showticklabels: false,
showline: false,
zeroline: false,
range: [0, 1]
},
yaxis: {
showgrid: false,
showticklabels: false,
showline: false,
zeroline: false,
range: [0, 1]
}
} }
config={{
displayModeBar: false // this is the line that hides the bar.
}}
/>
// </React.Fragment>
// ) : (
// <LoadingScreen />
// )}
// </div>
)
}
export default Bulles;

@ -0,0 +1,41 @@
import * as React from "react";
import * as d3 from "d3";
function drawChart(svgRef: React.RefObject<SVGSVGElement>) {
const data = [12, 5, 6, 6, 9, 10];
const h = 120;
const w = 250;
const svg = d3.select(svgRef.current);
svg
.attr("width", w)
.attr("height", h)
.style("margin-top", 50)
.style("margin-left", 50);
svg
.selectAll("rect")
.data(data)
.enter()
.append("rect")
.attr("x", (d, i) => i * 40)
.attr("y", (d, i) => h - 10 * d)
.attr("width", 20)
.attr("height", (d, i) => d * 10)
.attr("fill", "steelblue");
}
const Chart: React.FunctionComponent = () => {
const svg = React.useRef<SVGSVGElement>(null);
React.useEffect(() => {
drawChart(svg);
}, [svg]);
return (
<div id="chart">
<svg ref={svg} />
</div>
);
};
export default Chart;

@ -0,0 +1,21 @@
import React, { useRef, useState, useEffect } from 'react';
import D3Chart from './D3Chart';
const ChartWrapper = () => {
const chartArea = useRef(null);
const [chart, setChart] = useState(null);
useEffect(() => {
if (!chart) {
setChart(new D3Chart(chartArea.current));
}
}, [chart]);
return (
<div ref={chartArea}></div>
);
}
export default ChartWrapper;

@ -3,7 +3,7 @@ import React from "react";
import { Button } from "reactstrap"; import { Button } from "reactstrap";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { import {
faCopy, faClone,
faVoteYea, faVoteYea,
faExclamationTriangle, faExclamationTriangle,
faExternalLinkAlt, faExternalLinkAlt,
@ -25,9 +25,10 @@ const CopyField = (props) => {
const { t, value, iconCopy, iconOpen } = props; const { t, value, iconCopy, iconOpen } = props;
return ( return (
<div className="input-group "> <div className="input-group my-4 ">
<input <input
type="text" type="text"
style={{display:"none"}}
className="form-control" className="form-control"
ref={ref} ref={ref}
value={value} value={value}
@ -35,7 +36,7 @@ const CopyField = (props) => {
onClick={handleClickOnField} onClick={handleClickOnField}
/> />
<div className="input-group-append"> <div className="input-group-append copy">
{/* {/*
<Button <Button
href={value} href={value}
@ -49,12 +50,12 @@ const CopyField = (props) => {
</Button> </Button>
*/} */}
<Button <Button
className="btn btn-secondary" className="btn btn-copy"
onClick={handleClickOnButton} onClick={handleClickOnButton}
type="button" type="button"
> >
<FontAwesomeIcon icon={iconCopy} className="mr-2" />
{t("Copy")} {t("Copy")}
<FontAwesomeIcon icon={iconCopy} className="ml-2" />
</Button> </Button>
</div> </div>
</div> </div>
@ -62,7 +63,7 @@ const CopyField = (props) => {
}; };
CopyField.defaultProps = { CopyField.defaultProps = {
iconCopy: faCopy, iconCopy: faClone,
iconOpen: faExternalLinkAlt, iconOpen: faExternalLinkAlt,
}; };

@ -0,0 +1,38 @@
import * as d3 from 'd3';
const url = "https://udemy-react-d3.firebaseio.com/tallest_men.json";
const WIDTH = 800;
const HEIGHT = 500;
export default class D3Chart {
constructor(element) {
const svg = d3.select(element)
.append("svg")
.attr("width", 800)
.attr("height", 500)
d3.json(url).then(data => {
const max = d3.max(data, d => d.height)
const y = d3.scaleLinear()
.domain([0, max])
.range([0, HEIGHT])
const x = d3.scaleBand()
.domain(data.map(d => d.name))
.range([0, WIDTH])
.padding(0.4)
const rects = svg.selectAll("rect")
.data(data)
rects.enter()
.append("rect")
.attr("x", d => x(d.name))
.attr("y", d => HEIGHT - y(d.height))
.attr("width", x.bandwidth)
.attr("height", d => y(d.height))
.attr("fill", "grey")
})
}
}

@ -0,0 +1,75 @@
import React from "react"
import styled from "styled-components"
const Screen = styled.div`
position: relative;
opacity: 0;
animation: fade 0.4s ease-in forwards;
background: black;
@keyframes fade {
0% {
opacity: 0.4;
}
50% {
opacity: 0.8;
}
100% {
opacity: 1;
}
}
`;
const Balls = styled.div`
display: flex;
.ball {
height: 20px;
width: 20px;
border-radius: 50%;
background: red;
margin: 0 6px 0 0;
animation: oscillate 0.7s ease-in forwards infinite;
}
.one {
animation-delay: 0.5s;
}
.two {
animation-delay: 1s;
}
.three {
animation-delay: 2s;
}
@keyframes oscillate {
0% {
transform: translateY(0);
}
50% {
transform: translateY(20px);
}
100% {
transform: translateY(0);
}
}
`;
const LoadingScreen = () => {
return (
<Screen>
<Balls>
<div className="ball one"></div>
<div className="ball two"></div>
<div className="ball three"></div>
</Balls>
</Screen>
);
};
export default LoadingScreen;

@ -0,0 +1,62 @@
import React, { useEffect, useRef, useState } from "react";
import ReactDOM from "react-dom";
import styled from "styled-components";
const Modal = ({ show, onClose, children, title }) => {
const handleCloseClick = (e) => {
e.preventDefault();
onClose();
};
const modalContent = show ? (
<StyledModalOverlay>
<StyledModal>
<StyledModalHeader>
<a href="#" onClick={handleCloseClick}>
x
</a>
</StyledModalHeader>
{title && <StyledModalTitle>{title}</StyledModalTitle>}
<StyledModalBody>{children}</StyledModalBody>
</StyledModal>
</StyledModalOverlay>
) : null;
return (
modalContent
);
};
const StyledModalBody = styled.div`
padding-top: 10px;
`;
const StyledModalHeader = styled.div`
display: flex;
justify-content: flex-end;
font-size: 25px;
`;
const StyledModal = styled.div`
background: white;
width: 500px;
height: 600px;
border-radius: 15px;
padding: 15px;
`;
const StyledModalOverlay = styled.div`
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
background-color: rgba(0, 0, 0, 0.5);
`;
export default Modal;

@ -0,0 +1,37 @@
import React, {Fragment} from 'react';
import Head from 'next/head';
import dynamic from 'next/dynamic';
const Bulles = dynamic(import('./Bulles'), {
ssr: false
})
const nbVotesPassables = 15;
const nbVotesAssezBien = 200;
const nbVotesBien = 389;
const nbVotesTresBien = 12;
const nbVotesExcellent = 2;
const resultats = [nbVotesPassables, nbVotesAssezBien, nbVotesBien, nbVotesTresBien, nbVotesExcellent];
var totalVotes = 0;
for(var i = 0; i < resultats.length; i++) {
totalVotes += resultats[i];
}
function SystemeVote() {
return (
<Fragment>
<Bulles donnees={resultats} />
<p style={{color: '#000000'}}>Le total des votes est de {totalVotes}.</p>
</Fragment>
);
}
export default SystemeVote;

@ -6,7 +6,7 @@ import { faFacebookSquare } from "@fortawesome/free-brands-svg-icons";
const Facebook = props => { const Facebook = props => {
const handleClick = () => { const handleClick = () => {
const url = const url =
"https://www.facebook.com/sharer.php?u=" + "https://www.facebook.com/sharer/sharer.php?u=" +
props.url + props.url +
"&t=" + "&t=" +
props.title; props.title;
@ -17,10 +17,9 @@ const Facebook = props => {
); );
}; };
return ( return (
<button className={props.className} onClick={handleClick} type="button">
<FontAwesomeIcon icon={faFacebookSquare} className="mr-2" /> <img src="/facebook.svg" onClick={handleClick} className="cursorPointer mr-2" />
{props.text}
</button>
); );
}; };

@ -12,7 +12,6 @@ const Gform = (props) => {
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
> >
<FontAwesomeIcon icon={faCommentAlt} className="mr-2" />
Votre avis nous intéresse ! Votre avis nous intéresse !
</a> </a>
); );

@ -0,0 +1,43 @@
import {useTranslation} from "next-i18next";
import {useRouter} from "next/router"
import {faPaypal} from "@fortawesome/free-brands-svg-icons";
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
const PaypalNoLogo = () => {
const {t} = useTranslation();
// FIXME generate a xx_XX string for locale version
const {locale} = useRouter();
let localeShort = locale.substring(0, 2);
let localeComplete =
localeShort.toLowerCase() + "_" + localeShort.toUpperCase();
if (localeComplete === "en_EN") {
localeComplete = "en_US";
}
const pixelLink =
`https://www.paypal.com/${localeComplete}/i/scr/pixel.gif`;
return (
<div className="d-inline-block m-auto">
<form
action="https://www.paypal.com/cgi-bin/webscr"
method="post"
target="_top"
>
<button
type="submit"
className="addButton"
title={t("PayPal - The safer, easier way to pay online!")}
>
{t("Support us !")}
<img src="/arrow-blue.svg" className="mr-2" />
</button>
<input type="hidden" name="cmd" value="_s-xclick" />
<input type="hidden" name="hosted_button_id" value="KB2Z7L9KARS7C" />
<img alt="" border="0" src={pixelLink} width="1" height="1" />
</form>
</div>
);
};
export default PaypalNoLogo;

@ -0,0 +1,29 @@
/* eslint react/prop-types: 0 */
import React from "react";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faFacebookSquare } from "@fortawesome/free-brands-svg-icons";
const Twitter = props => {
const handleClick = () => {
const url =
"https://twitter.com/intent/tweet?text=" +
props.title +
"&t=" +
props.url;
window.open(
url,
"",
"menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=500,width=700"
);
};
return (
<img src="/twitter.svg" onClick={handleClick} className="cursorPointer mr-2" />
);
};
export default Twitter;
//i

@ -0,0 +1,37 @@
import { useState } from "react";
export default function AddPicture(props) {
const [image, setImage] = useState(null);
const [createObjectURL, setCreateObjectURL] = useState(null);
const uploadToClient = (event) => {
if (event.target.files && event.target.files[0]) {
const i = event.target.files[0];
setImage(i);
setCreateObjectURL(URL.createObjectURL(i));
}
};
return (
<div className="ajout-avatar">
<div>
<div className="avatar-placeholer">
<img src={createObjectURL} />
</div>
</div>
<div className="avatar-text">
<h4>Photo <span> (facultatif)</span></h4>
<p>Importer une photo.<br />format : jpg, png, pdf</p>
<div className="btn-ajout-avatar">
<input type="file" name="myImage" id="myImage" onChange={uploadToClient} />
<label className="inputfile" for="myImage">Importer une photo</label>
</div>
</div>
</div>
);
}

@ -0,0 +1,24 @@
import { useState } from 'react'
import { Alert, Button } from 'react-bootstrap';
import { faTimes, faExclamationCircle } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
export default function AlertDismissibleExample() {
const [show, setShow] = useState(true);
if (show) {
return (
<Alert className="preventWarning">
<Alert.Heading>
<div>
<FontAwesomeIcon icon={faExclamationCircle} className="mr-2" />
<span>2 candidats minimum</span>
</div>
<FontAwesomeIcon onClick={() => setShow(false)} icon={faTimes} className="mr-2" />
</Alert.Heading>
</Alert>
);
}
return null;
}

@ -13,39 +13,41 @@ const ButtonWithConfirm = ({className, label, onDelete}) => {
const toggle = () => setVisibility(!visibled) const toggle = () => setVisibility(!visibled)
return ( return (
<div className="input-group-append"> <div className="input-group-append cancelButton">
<button <button
type="button" type="button"
className={className} className={"btn " + className}
onClick={toggle} onClick={toggle}
> >
<FontAwesomeIcon icon={faTrashAlt} /> <div className="annuler"><img className="ml-0" src="/arrow-dark-left.svg" /><p className="ml-0" >Annuler</p></div>
</button> </button>
<Modal <Modal
isOpen={visibled} isOpen={visibled}
toggle={toggle} toggle={toggle}
className="modal-dialog-centered" className="modal-dialog-centered cancelForm"
> >
<ModalHeader toggle={toggle}>{t("Delete?")}</ModalHeader> <ModalHeader><FontAwesomeIcon icon={faTrashAlt} /></ModalHeader>
<ModalBody> <ModalBody>
{t("Are you sure to delete")}{" "} {t("Are you sure to delete")}{<br />}
{label && label !== "" ? ( {label && label !== "" ? (
<b>&quot;{label}&quot;</b> <b>{label}</b>
) : ( ) : (
<>{t("the row")}</> <>{t("the row")}</>
)}{" "} )}
?
</ModalBody> </ModalBody>
<ModalFooter> <ModalFooter>
<Button <Button
color="primary-outline"
className="text-primary border-primary" className={className}
onClick={toggle}> onClick={toggle}>
{t("No")} <div className="annuler"><img src="/arrow-dark-left.svg" /> {t("No")}</div>
</Button> </Button>
<Button color="primary" <Button
className="new-btn-confirm"
onClick={() => {toggle(); onDelete();}} onClick={() => {toggle(); onDelete();}}
> >
<FontAwesomeIcon icon={faTrashAlt} className="mr-2"/>
{t("Yes")} {t("Yes")}
</Button> </Button>
</ModalFooter> </ModalFooter>

@ -1,53 +1,175 @@
import {useState} from 'react' import { useState, useEffect } from 'react'
import ButtonWithConfirm from "./ButtonWithConfirm"; import ButtonWithConfirm from "./ButtonWithConfirm";
import TrashButton from "./TrashButton";
import { import {
Row, Row,
Col, Col,
Label,
Input, Input,
InputGroup, InputGroup,
InputGroupAddon, InputGroupAddon,
Button, Modal, ModalHeader, ModalBody, ModalFooter
} from "reactstrap"; } from "reactstrap";
import {useTranslation} from "react-i18next"; import { useTranslation } from "react-i18next";
import { import {
sortableHandle sortableHandle
} from "react-sortable-hoc"; } from "react-sortable-hoc";
import HelpButton from "@components/form/HelpButton"; import HelpButton from "@components/form/HelpButton";
import AddPicture from "@components/form/AddPicture";
const DragHandle = sortableHandle(({children}) => ( import {
faPlus, faCogs, faCheck, faTrash
} from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
const DragHandle = sortableHandle(({ children }) => (
<span className="input-group-text indexNumber">{children}</span> <span className="input-group-text indexNumber">{children}</span>
)); ));
const CandidateField = ({label, candIndex, onDelete, ...inputProps}) => {
const {t} = useTranslation();
const CandidateField = ({ avatar, label, description, candIndex, onDelete, onAdd, ...inputProps }) => {
const { t } = useTranslation();
const [visibled, setVisibility] = useState(false);
const toggle = () => setVisibility(!visibled)
const [selected, setSelectedState] = useState(false);
const [className , setClassName] = useState("none");
const [trashIcon , setTrashIcon] = useState("none");
const [plusIcon , setPlusIcon] = useState("none");
const addCandidate = () => {
toggle();
onAdd();
}
useEffect(() => {
setClassName("candidateButton " + (selected ? "candidateAdded" : ""))
}, [selected] );
useEffect(() => {
setPlusIcon("mr-2 cursorPointer " + (selected ? "trashIcon" : ""))
}, [selected] );
useEffect(() => {
setTrashIcon("trashIcon " + (selected ? "displayTrash" : ""))
}, [selected] );
const addFunction = () => {
addCandidate();
setSelectedState(!selected);
}
const [image, setImage] = useState(null);
const [createObjectURL, setCreateObjectURL] = useState(null);
const uploadToClient = (event) => {
if (event.target.files && event.target.files[0]) {
const i = event.target.files[0];
setImage(i);
setCreateObjectURL(URL.createObjectURL(i));
}
};
return ( return (
<Row> <Row className="rowNoMargin">
<Col> <div className={className}>
<InputGroup> <div className="avatarThumb">
<InputGroupAddon addonType="prepend"> <img src={createObjectURL} alt="" />
<DragHandle> <input placeholder="Ajouter un candidat" className="candidate-placeholder ml-2" value={label}/>
<span>{candIndex + 1}</span> </div>
</DragHandle>
</InputGroupAddon> <FontAwesomeIcon onClick={toggle} icon={faPlus} className={plusIcon} />
<Input <div className={trashIcon}><TrashButton label={label} onDelete={onDelete}/></div>
type="text" </div>
value={label}
{...inputProps} <Modal
placeholder={t("resource.candidatePlaceholder")} isOpen={visibled}
tabIndex={candIndex + 1} toggle={toggle}
maxLength="250" className="modal-dialog-centered"
autoFocus >
/>
<ButtonWithConfirm className="btn btn-primary border-light" label={label} onDelete={onDelete}> <ModalHeader className='closeModalAddCandidate' toggle={toggle}>
</ButtonWithConfirm>
</InputGroup> </ModalHeader>
</Col> <ModalBody>
<Col xs="auto" className="align-self-center pl-0">
<Col className="addCandidateCard">
<InputGroup className="addCandidateForm">
<InputGroupAddon addonType="prepend" className="addCandidateHeader">
<DragHandle>
<h6>Ajouter un participant</h6>
<p>Ajoutez une photo, le nom et une description au candidat.</p>
<div className="ajout-avatar">
<div>
<div className="avatar-placeholer">
<img src={createObjectURL} />
</div>
</div>
<div className="avatar-text">
<h4>Photo <span> (facultatif)</span></h4>
<p>Importer une photo.<br />format : jpg, png, pdf</p>
<div className="btn-ajout-avatar">
<input type="file" name="myImage" id="myImage" value={avatar} onChange={uploadToClient} />
<label className="inputfile" for="myImage">Importer une photo</label>
</div>
</div>
</div>
<img src="/avatar.svg" />
</DragHandle>
</InputGroupAddon>
<Label className="addCandidateText">Nom et prenom</Label>
<Input
type="text"
value={label}
{...inputProps}
placeholder={t("resource.candidatePlaceholder")}
tabIndex={candIndex + 1}
maxLength="250"
autoFocus
className="addCandidateText"
required
/>
<Label>Description (Facultatif)</Label>
<Input
type="text"
value={description}
placeholder="Texte"
tabIndex={candIndex + 1}
maxLength="250"
autoFocus
/>
<Row className="removeAddButtons">
<ButtonWithConfirm className="removeButton" label={label} onDelete={onDelete, toggle}/>
<Button className="addButton" label={label} onClick={addFunction}>
<FontAwesomeIcon icon={faPlus} />
<span>Ajouter</span>
</Button>
</Row>
</InputGroup>
</Col>
</ModalBody></Modal>
{/* <Col xs="auto" className="align-self-center pl-0">
<HelpButton> <HelpButton>
{t( {t(
"Enter the name of your candidate or proposal here (250 characters max.)" "Enter the name of your candidate or proposal here (250 characters max.)"
)} )}
</HelpButton> </HelpButton>
</Col> </Col> */}
</Row> </Row>
); );
} }

@ -16,7 +16,7 @@ import {
} from "react-sortable-hoc"; } from "react-sortable-hoc";
import arrayMove from "array-move" import arrayMove from "array-move"
import CandidateField from './CandidateField' import CandidateField from './CandidateField'
import AlertDismissibleExample from './AlertButton'
// const SortableItem = sortableElement(({className, ...childProps}) => <li className={className}><CandidateField {...childProps} /></li>); // const SortableItem = sortableElement(({className, ...childProps}) => <li className={className}><CandidateField {...childProps} /></li>);
// //
// const SortableContainer = sortableContainer(({children}) => { // const SortableContainer = sortableContainer(({children}) => {
@ -36,7 +36,7 @@ const CandidatesField = ({onChange}) => {
const addCandidate = () => { const addCandidate = () => {
if (candidates.length < 1000) { if (candidates.length < 1000) {
candidates.push({label: "", fieldRef: createRef()}); candidates.push({label: "", description: "", fieldRef: createRef()});
setCandidates([...candidates]); setCandidates([...candidates]);
onChange(candidates) onChange(candidates)
} else { } else {
@ -53,8 +53,8 @@ const CandidatesField = ({onChange}) => {
const removeCandidate = index => { const removeCandidate = index => {
if (candidates.length === 1) { if (candidates.length === 1) {
const newCandidates = [] const newCandidates = []
newCandidates.push({label: "", fieldRef: createRef()}); newCandidates.push({label: "", description: "", fieldRef: createRef()});
newCandidates.push({label: "", fieldRef: createRef()}); newCandidates.push({label: "", description: "", fieldRef: createRef()});
setCandidates(newCandidates); setCandidates(newCandidates);
onChange(newCandidates) onChange(newCandidates)
} }
@ -65,8 +65,9 @@ const CandidatesField = ({onChange}) => {
} }
}; };
const editCandidate = (index, label) => { const editCandidate = (index, label, description) => {
candidates[index].label = label candidates[index].label = label
candidates[index].description = description
setCandidates([...candidates]); setCandidates([...candidates]);
onChange(candidates); onChange(candidates);
}; };
@ -88,7 +89,10 @@ const CandidatesField = ({onChange}) => {
}; };
return ( return (
<> <div className="sectionAjouterCandidat">
<div className="ajouterCandidat">
<h4>Saisissez ici le nom de vos candidats.</h4>
<AlertDismissibleExample />
<SortableContainer onSortEnd={onSortEnd}> <SortableContainer onSortEnd={onSortEnd}>
{candidates.map((candidate, index) => { {candidates.map((candidate, index) => {
const className = "sortable" const className = "sortable"
@ -99,26 +103,18 @@ const CandidatesField = ({onChange}) => {
index={index} index={index}
candIndex={index} candIndex={index}
label={candidate.label} label={candidate.label}
description={candidate.description}
onDelete={() => removeCandidate(index)} onDelete={() => removeCandidate(index)}
onChange={(e) => editCandidate(index, e.target.value)} onChange={(e) => editCandidate(index, e.target.value)}
onKeyPress={(e) => handleKeyPress(e, index)} onKeyPress={(e) => handleKeyPress(e, index)}
onAdd={addCandidate}
innerRef={candidate.fieldRef} innerRef={candidate.fieldRef}
/> />
) )
})} })}
</SortableContainer> </SortableContainer>
</div>
<Button </div>
color="secondary"
className="btn-block mt-2"
tabIndex={candidates.length + 2}
type="button"
onClick={addCandidate}
>
<FontAwesomeIcon icon={faPlus} className="mr-2" />
{t("Add a proposal")}
</Button>
</>
); );
} }

@ -1,160 +1,195 @@
import {useTranslation} from "next-i18next"; import { useTranslation } from "next-i18next";
import {useState} from "react"; import { useState } from "react";
import TrashButton from "./TrashButton";
import { import {
faExclamationTriangle, faExclamationTriangle,
faCheck, faCheck,
faArrowLeft,
faTrashAlt
} from "@fortawesome/free-solid-svg-icons"; } from "@fortawesome/free-solid-svg-icons";
import {Button, Modal, ModalHeader, ModalBody, ModalFooter} from "reactstrap"; import { Button, Modal, ModalHeader, ModalBody, ModalFooter, Row, Col } from "reactstrap";
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
const ConfirmModal = ({tabIndex, title, candidates, grades, isTimeLimited, start, finish, emails, restrictResult, className, confirmCallback}) => { const ConfirmModal = ({ tabIndex, title, candidates, grades, isTimeLimited, start, finish, emails, restrictResult, className, confirmCallback }) => {
const [visibled, setVisibility] = useState(false); const [visibled, setVisibility] = useState(false);
const {t} = useTranslation(); const { t } = useTranslation();
const toggle = () => setVisibility(!visibled) const toggle = () => setVisibility(!visibled)
return ( return (
<div className="input-group-append"> <div className="input-group-append">
<button <Button onClick={toggle}
type="button" tabIndex={tabIndex} className={"mt-5 componentDesktop btn-transparent cursorPointer btn-validation mb-5 mx-auto" + className} >{t("Confirm")}<img src="/arrow-white.svg" /></Button>
className={className} <Button
onClick={toggle}
tabIndex={tabIndex} className={"componentMobile btn-confirm-mobile mb-5" + className}
> onClick={toggle}
<FontAwesomeIcon icon={faCheck} className="mr-2" /> tabIndex={tabIndex}>
{t("Validate")} <FontAwesomeIcon className="mr-2" icon={faCheck} />
</button> {t("Valider")}
</Button>
<Modal <Modal
isOpen={visibled} isOpen={!visibled}
toggle={toggle} toggle={toggle}
className="modal-dialog-centered" className="modal-dialog-centered settings-modal"
> >
<ModalHeader toggle={toggle}> <ModalHeader className="modal-header-settings">
{t("Confirm your vote")} <div onClick={toggle} className="btn-return-candidates"><FontAwesomeIcon icon={faArrowLeft} className="mr-2" />Retour aux paramètres</div>
<Row>
<Row className="stepForm">
<Col className="stepFormCol">
<img src="/icone-check-dark.svg" />
<h4>Les candidats</h4>
</Col>
<Col className="stepFormCol">
<img src="/icone-check-dark.svg" />
<h4>Paramètres du vote</h4>
</Col>
<Col className="stepFormCol">
<img src="/icone-three-white.svg" />
<h4>Confirmation</h4>
</Col>
</Row>
</Row>
</ModalHeader> </ModalHeader>
<ModalBody> <ModalBody className="confirm-modal-body">
<div className="mt-1 mb-1"> <Row>
<div className="text-white bg-primary p-2 pl-3 pr-3 rounded"> <Col md="4" className="p-0">
{t("Question of the election")} <div className="text-light">{t("Le vote")}</div>
</div> <div className="mt-1 mb-1 recap-vote">
<div className="p-2 pl-3 pr-3 bg-light mb-3">{title}</div> <Row className="m-0">
<div className="text-white bg-primary p-2 pl-3 pr-3 rounded"> <div className="recap-vote-label">
{t("Candidates/Proposals")} {t("Question of the election")}
</div> </div>
<div className="p-2 pl-3 pr-3 bg-light mb-3"> </Row>
<ul className="m-0 pl-4"> <Row>
{candidates.map((candidate, i) => { <div className="p-2 pl-3 pr-3 mb-3 recap-vote-question">{title}</div>
if (candidate.label !== "") { </Row>
return ( <hr className="confirmation-divider"/>
<li key={i} className="m-0"> <Row>
{candidate.label} <div className="recap-vote-label p-2 pl-3 pr-3 ">
</li> {t("Candidates/Proposals")}
); </div>
} else { </Row>
return <li key={i} className="d-none" />; <Row>
} <div className="p-2 pl-3 pr-3 mb-3 recap-vote-content">
})} <ul className="m-0 pl-4">
</ul> {candidates.map((candidate, i) => {
</div> if (candidate.label !== "") {
<div className={(isTimeLimited ? "d-block " : "d-none")} > return (
<div className="text-white bg-primary p-2 pl-3 pr-3 rounded"> <li key={i} className="m-0">
{t("Dates")} {candidate.label}
</div>
<div className="p-2 pl-3 pr-3 bg-light mb-3"> </li>
{t("The election will take place from")}{" "} );
<b> } else {
{start.toLocaleDateString()}, {t("at")}{" "} return <li key={i} className="d-none" />;
{start.toLocaleTimeString()} }
</b>{" "} })}
{t("to")}{" "} </ul>
<b> </div>
{finish.toLocaleDateString()}, {t("at")}{" "} </Row>
{finish.toLocaleTimeString()}
</b>
</div> </div>
</div> </Col>
<div className="text-white bg-primary p-2 pl-3 pr-3 rounded"> <Col md="8">
{t("Grades")} <div className="text-light">{t("Les paramètres")}</div>
</div> <div className="recap-vote">
<div className="p-2 pl-3 pr-3 bg-light mb-3"> <div className={(isTimeLimited ? "d-block " : "d-none")} >
{grades.map((mention, i) => { <div className="p-2 pl-3 pr-3 recap-vote-label ">
return i < grades.length ? ( {t("Dates")}
<span </div>
key={i} <div className="p-2 pl-3 pr-3 recap-vote-content mb-3">
className="badge badge-light mr-2 mt-2" {t("The election will take place from")}{" "}
style={{ <b>
backgroundColor: mention.color, {start.toLocaleDateString()}, {t("at")}{" "}
color: "#fff" {start.toLocaleTimeString()}
}} </b>{" "}
> {t("to")}{" "}
{mention.label} <b>
</span> {finish.toLocaleDateString()}, {t("at")}{" "}
) : ( {finish.toLocaleTimeString()}
<span key={i} /> </b>
); </div>
})} </div>
</div> <hr className="confirmation-divider"/>
<div className="text-white bg-primary p-2 pl-3 pr-3 rounded"> <div className="recap-vote-label p-2 pl-3 pr-3">
{t("Voters' list")} {t("Grades")}
</div> </div>
<div className="p-2 pl-3 pr-3 bg-light mb-3"> <div className="p-2 pl-3 pr-3 recap-vote-content mb-3">
{emails.length > 0 ? ( {grades.map((mention, i) => {
emails.join(", ") return i < grades.length ? (
) : ( <span
<p> key={i}
{t("The form contains no address.")} className="badge badge-light mr-2 mt-2"
<br /> style={{
<em> backgroundColor: mention.color,
{t( color: "#fff"
"The election will be opened to anyone with the link" }}
)} >
</em> {mention.label}
</p>
)}
</div>
{restrictResult ? (
<div>
<div className="small bg-primary text-white p-3 mt-2 rounded">
<h6 className="m-0 p-0">
<FontAwesomeIcon
icon={faExclamationTriangle}
className="mr-2"
/>
<u>{t("Results available at the close of the vote")}</u>
</h6>
<p className="m-2 p-0">
<span>
{t(
"The results page will not be accessible until the end date is reached."
)}{" "}
({finish.toLocaleDateString()} {t("at")}{" "}
{finish.toLocaleTimeString()})
</span> </span>
</p> ) : (
<span key={i} />
);
})}
</div> </div>
</div> <hr className="confirmation-divider"/>
) : ( <div className="recap-vote-label p-2 pl-3 pr-3 rounded">
<div> {t("Voters' list")}
<div className="small bg-primary text-white p-3 mt-2 rounded"> </div>
<h6 className="m-0 p-0"> <div className="p-2 pl-3 pr-3 recap-vote-content mb-3">
{t("Results available at any time")} {emails.length > 0 ? (
</h6> emails.join(", ")
) : (
<p>
{t("The form contains no address.")}
<br />
<em>
{t(
"The election will be opened to anyone with the link"
)}
</em>
</p>
)}
</div> </div>
<hr className="confirmation-divider"/>
{restrictResult ? (
<div>
<div className="small recap-vote-label p-3 mt-2">
<h6 className="m-0 p-0 recap-vote-content">
<FontAwesomeIcon
icon={faExclamationTriangle}
className="mr-2"
/>
<u>{t("Results available at the close of the vote")}</u>
</h6>
<p className="m-2 p-0 ">
<span>
{t(
"The results page will not be accessible until the end date is reached."
)}{" "}
({finish.toLocaleDateString()} {t("at")}{" "}
{finish.toLocaleTimeString()})
</span>
</p>
</div>
</div>
) : (
<div>
<div className="small recap-vote-label p-3 mt-2 ">
<h6 className="m-0 p-0 recap-vote-content">
{t("Results available at any time")}
</h6>
</div>
</div>
)}
</div> </div>
)} </Col>
</div> </Row>
</ModalBody> </ModalBody>
<ModalFooter> <ModalFooter>
<Button
color="primary-outline" <Button onClick={() => {confirmCallback(); }} className="cursorPointer btn-transparent btn-validation mb-5 ml-auto mr-auto" >{t("Start the election")}<img src="/arrow-white.svg" /></Button>
className="text-primary border-primary"
onClick={toggle}>
{t("Cancel")}
</Button>
<Button color="primary"
onClick={() => {toggle(); confirmCallback();}}
>
{t("Start the election")}
</Button>
</ModalFooter> </ModalFooter>
</Modal> </Modal>
</div > </div >

@ -0,0 +1,33 @@
import React from "react";
export const DotButton = ({ selected, onClick, value }) => (
<button
className={`embla__dot ${selected ? "is-selected" : ""}`}
type="button"
onClick={onClick}
>{value}</button>
);
export const PrevButton = ({ enabled, onClick }) => (
<button
className="embla__button embla__button--prev"
onClick={onClick}
disabled={!enabled}
>
<svg className="embla__button__svg" viewBox="137.718 -1.001 366.563 644">
<path d="M428.36 12.5c16.67-16.67 43.76-16.67 60.42 0 16.67 16.67 16.67 43.76 0 60.42L241.7 320c148.25 148.24 230.61 230.6 247.08 247.08 16.67 16.66 16.67 43.75 0 60.42-16.67 16.66-43.76 16.67-60.42 0-27.72-27.71-249.45-249.37-277.16-277.08a42.308 42.308 0 0 1-12.48-30.34c0-11.1 4.1-22.05 12.48-30.42C206.63 234.23 400.64 40.21 428.36 12.5z" />
</svg>
</button>
);
export const NextButton = ({ enabled, onClick }) => (
<button
className="embla__button embla__button--next"
onClick={onClick}
disabled={!enabled}
>
<svg className="embla__button__svg" viewBox="0 0 238.003 238.003">
<path d="M181.776 107.719L78.705 4.648c-6.198-6.198-16.273-6.198-22.47 0s-6.198 16.273 0 22.47l91.883 91.883-91.883 91.883c-6.198 6.198-6.198 16.273 0 22.47s16.273 6.198 22.47 0l103.071-103.039a15.741 15.741 0 0 0 4.64-11.283c0-4.13-1.526-8.199-4.64-11.313z" />
</svg>
</button>
);

@ -0,0 +1,53 @@
import {useState} from "react";
import {
faTrashAlt,
} from "@fortawesome/free-solid-svg-icons";
import {Button, Modal, ModalHeader, ModalBody, ModalFooter} from "reactstrap";
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {useTranslation} from "next-i18next";
const TrashButton = ({className, label, onDelete}) => {
const [visibled, setVisibility] = useState(false);
const {t} = useTranslation();
const toggle = () => setVisibility(!visibled)
return (
<div className="input-group-append cancelButton">
<FontAwesomeIcon onClick={toggle} icon={faTrashAlt} className="mr-2 cursorPointer" />
<Modal
isOpen={visibled}
toggle={toggle}
className="modal-dialog-centered cancelForm"
>
<ModalHeader><FontAwesomeIcon icon={faTrashAlt} /></ModalHeader>
<ModalBody>
{t("Are you sure to delete")}{<br />}
{label && label !== "" ? (
<b>{label}</b>
) : (
<>{t("the row")}</>
)}
</ModalBody>
<ModalFooter>
<Button
type="button"
className={className}
onClick={toggle}>
<div className="annuler"><img src="/arrow-dark-left.svg" /> {t("No")}</div>
</Button>
<Button
className="new-btn-confirm"
onClick={() => {toggle(); onDelete();}}
>
<FontAwesomeIcon icon={faTrashAlt} className="mr-2"/>
{t("Yes")}
</Button>
</ModalFooter>
</Modal>
</div >
);
}
export default TrashButton;

@ -0,0 +1,56 @@
import { useState } from "react";
import {
faTrashAlt,
faCheck
} from "@fortawesome/free-solid-svg-icons";
import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from "reactstrap";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { useTranslation } from "next-i18next";
const VoteButtonWithConfirm = ({ action }) => {
const [visibled, setVisibility] = useState(false);
const { t } = useTranslation();
const toggle = () => setVisibility(!visibled)
return (
<div className="input-group-append cancelButton">
<button
type="button"
className="btn btn-transparent my-3 "
onClick={toggle}
>
<div className="annuler">
<FontAwesomeIcon icon={faCheck} className="mr-2 my-auto" />
{t("Submit my vote")}
</div>
</button>
<Modal
isOpen={visibled}
toggle={toggle}
className="noRateVote"
>
<ModalHeader>{t("Attention vous navez pas votez pour tous les candidats")}</ModalHeader>
<ModalBody>
{t("Si vous validez votre vote, les candidats sans vote auront la mention la plus basse du scrutin.")}
<Button
className="addButton warningVote my-4"
onClick={() => {action();}}>
{t("Validez mon vote")}<img src="/arrow-white.svg" />
</Button>
<Button
className="removeButton backToVoteBtn my-4"
onClick={toggle}
>
{t("Revenir au vote")}
</Button>
</ModalBody>
</Modal>
</div >
);
}
export default VoteButtonWithConfirm;

@ -2,6 +2,8 @@ import Link from "next/link";
import { useTranslation } from "next-i18next"; import { useTranslation } from "next-i18next";
import Paypal from "../banner/Paypal"; import Paypal from "../banner/Paypal";
import { useBbox } from "./useBbox"; import { useBbox } from "./useBbox";
import { Button, Row, Col } from "reactstrap";
import LanguageSelector from "./LanguageSelector";
const Footer = () => { const Footer = () => {
const linkStyle = { whiteSpace: "nowrap" }; const linkStyle = { whiteSpace: "nowrap" };
@ -12,81 +14,68 @@ const Footer = () => {
const [bboxLink3, link3] = useBbox(); const [bboxLink3, link3] = useBbox();
const [bboxLink4, link4] = useBbox(); const [bboxLink4, link4] = useBbox();
const [bboxLink5, link5] = useBbox(); const [bboxLink5, link5] = useBbox();
const [bboxLink6, link6] = useBbox();
const [bboxLink7, link7] = useBbox();
return ( return (
<footer className="text-center"> <footer className="text-center">
<div> <div>
<ul className="tacky"> <Row className="tacky">
<li <Col className="col-md-10 col-sm-10">
ref={link1} <Row className="footerRow">
className={bboxLink1.top === bboxLink2.top ? "" : "no-tack"} <Col className="col-md-1 footerLogo">
> <img src="/logos/logo-footer.svg" alt="logo of Mieux Voter" />
<Link href="/" style={linkStyle}> </Col>
{t("Homepage")} <div ref={link1}
</Link> className={bboxLink1.top === bboxLink2.top ? "" : "no-tack"}
</li> >
<li <Link href="/" style={linkStyle}>
ref={link2} Le jugement majoritaire
className={bboxLink2.top === bboxLink3.top ? "" : "no-tack"} </Link>
> </div>
<Link href="/faq" style={linkStyle}> <div ref={link2}
{t("FAQ")} className={bboxLink2.top === bboxLink3.top ? "" : "no-tack"}
</Link> >
</li> <Link
<li href="https://mieuxvoter.fr/"
ref={link3} target="_blank"
className={bboxLink3.top === bboxLink4.top ? "" : "no-tack"} rel="noopener noreferrer"
> style={linkStyle}
<a href="mailto:app@mieuxvoter.fr?subject=[HELP]" style={linkStyle}> >
{t("resource.help")} {t("Who are we?")}
</Link>
</div>
<div ref={link3}
className={bboxLink3.top === bboxLink4.top ? "" : "no-tack"}
>
<Link href="/faq" style={linkStyle}>
{t("FAQ")}
</Link>
</div>
<div ref={link4}
className={bboxLink4.top === bboxLink5.top ? "" : "no-tack"}
>
<Link href="/" style={linkStyle}>
Actualités
</Link>
</div>
<div ref={link5}>
<a href="mailto:app@mieuxvoter.fr?subject=[HELP]" style={linkStyle}>
Nous contacter
</a> </a>
</li> </div>
<li <div><LanguageSelector /></div>
ref={link4} </Row>
className={bboxLink4.top === bboxLink5.top ? "" : "no-tack"} </Col>
> <Col className="footerButton">
<a <Col className="col-xl-10 col-md-12 offset-xl-2">
href="https://mieuxvoter.fr/" <Button className="btn-primary btn-footer">
target="_blank" <a href="/">
rel="noopener noreferrer" Soutenez-nous
style={linkStyle} </a>
> </Button>
{t("Who are we?")} </Col>
</a> </Col>
</li> </Row>
<li
ref={link5}
className={bboxLink5.top === bboxLink6.top ? "" : "no-tack"}
>
<Link href="/privacy-policy" style={linkStyle}>
{t("Privacy policy")}
</Link>
</li>
<li
ref={link6}
className={bboxLink6.top === bboxLink7.top ? "" : "no-tack"}
>
<Link href="/legal-notices" style={linkStyle}>
{t("resource.legalNotices")}
</Link>
</li>
<li ref={link7}>
{" "}
<a
href="https://github.com/MieuxVoter"
target="_blank"
rel="noopener noreferrer"
style={linkStyle}
>
{t("Source code")}
</a>
</li>
</ul>
</div>
<div className="mt-3">
<Paypal btnColor="btn-primary" />
</div> </div>
</footer> </footer>
); );

@ -1,61 +1,125 @@
/* eslint react/prop-types: 0 */ /* eslint react/prop-types: 0 */
import {useState} from "react"; import { useState } from "react";
import {Collapse, Navbar, NavbarToggler, Nav, NavItem} from "reactstrap"; import {
Collapse,
Navbar,
NavbarToggler,
Nav,
NavItem,
Button,
} from "reactstrap";
import Link from "next/link"; import Link from "next/link";
import Head from "next/head"; import { useTranslation } from "next-i18next";
import {useTranslation} from 'next-i18next'
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faRocket} from "@fortawesome/free-solid-svg-icons";
import LanguageSelector from "./LanguageSelector"; import LanguageSelector from "./LanguageSelector";
import Accordion from "react-bootstrap/Accordion";
const Header = () => { const Header = () => {
const [isOpen, setOpen] = useState(false) const [isOpen, setOpen] = useState(false);
const toggle = () => setOpen(!isOpen); const toggle = () => setOpen(!isOpen);
const {t} = useTranslation() const { t } = useTranslation("common");
return ( return (
<> <header className="mobile-header">
<Head><title>{t("title")}</title></Head> <Navbar light className="nav-mobile" expand="lg">
<header> <div className="navbar-header">
<Navbar color="light" light expand="md">
<Link href="/"> <Button onClick={toggle} className="navbar-toggle">
<a className="navbar-brand"> <img src="/open-menu-icon.svg" alt="" height="50" />
<div className="d-flex flex-row"> </Button>
<div className="align-self-center"> </div>
<img src="/logos/logo-color.svg" alt="logo" height="32" />
</div> <Collapse isOpen={isOpen} navbar>
<div className="align-self-center ml-2"> <Nav className="ml-auto navbar-nav-scroll" navbar>
<div className="logo-text"> <div className="d-flex flex-row justify-content-between nav-logo">
<h1> <Link href="/">
{t("Voting platform")} <a className="navbar-brand navbar-brand-mobile">
<small>{t("Majority Judgment")}</small> <img src="/logos/logo.svg" alt="logo" height="80" />
</h1> </a>
</div> </Link>
</div>
</div> <Button onClick={toggle} className="navbar-toggle navbar-close-button">
</a> <img height="20" src="/close-menu-icon.svg" alt="logo" />
</Link> </Button>
<NavbarToggler onClick={toggle} /> </div>
<Collapse isOpen={isOpen} navbar> <div>
<Nav className="ml-auto" navbar>
<NavItem> <NavItem>
<Link href="/new/"> <Link href="/">
<a className="text-primary nav-link"> <FontAwesomeIcon icon={faRocket} className="mr-2" /> <a onClick={toggle} className="navbar-my-link nav-link">
{t("Start an election")} Le jugement majoritaire
</a> </a>
</Link> </Link>
</NavItem> </NavItem>
<NavItem style={{width: "80px"}}>
<LanguageSelector /> <NavItem>
<Link href="/">
<a onClick={toggle} className="navbar-my-link nav-link">
Qui sommes-nous ?
</a>
</Link>
</NavItem>
<NavItem>
<Link href="/">
<a onClick={toggle} className="navbar-my-link nav-link">
Foire aux questions
</a>
</Link>
</NavItem> </NavItem>
</Nav>
</Collapse> <NavItem>
</Navbar> <Link href="/">
</header> <a onClick={toggle} className="navbar-my-link nav-link">
</> On parle de nous
</a>
</Link>
</NavItem>
<NavItem>
<Link href="/">
<a onClick={toggle} className="navbar-my-link nav-link">
Nous contactez
</a>
</Link>
</NavItem>
<NavItem>
<LanguageSelector style={{ width: "80px" }} />
</NavItem>
</div>
<NavItem className="navbar-credits-container">
<Button className="btn-primary btn-nav">
<a href="/">
Soutenez-nous
</a>
</Button>
<hr />
<div className="navbar-credits sharing sharing-mobile">
<p>Partagez lapplication Mieux voter</p>
<Link href="https://www.facebook.com/mieuxvoter.fr/"><img src="/facebook.svg" className="mr-2" /></Link>
<Link href="https://twitter.com/mieux_voter"><img src="/twitter.svg" className="mr-2" /></Link>
</div>
<div className="d-flex">
<Link href="https://jimmys-box.com/">
<a onClick={toggle} className="navbar-jimmy-link">
développé parJIMMY
</a>
</Link>
</div>
</NavItem>
</Nav>
</Collapse>
</Navbar>
</header>
); );
} };
export default Header; export default Header;

@ -0,0 +1,61 @@
/* eslint react/prop-types: 0 */
import {useState} from "react";
import {Collapse, Navbar, NavbarToggler, Nav, NavItem} from "reactstrap";
import Link from "next/link";
import Head from "next/head";
import {useTranslation} from 'next-i18next'
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faRocket} from "@fortawesome/free-solid-svg-icons";
import LanguageSelector from "./LanguageSelector";
const Header = () => {
const [isOpen, setOpen] = useState(false)
const toggle = () => setOpen(!isOpen);
const {t} = useTranslation()
return (
<>
<Head><title>{t("title")}</title></Head>
<header>
<Navbar color="light" light expand="md">
<Link href="/">
<a className="navbar-brand">
<div className="d-flex flex-row">
<div className="align-self-center">
<img src="/logos/logo-color.svg" alt="logo" height="32" />
</div>
<div className="align-self-center ml-2">
<div className="logo-text">
<h1>
{t("Voting platform")}
<small>{t("Majority Judgment")}</small>
</h1>
</div>
</div>
</div>
</a>
</Link>
<NavbarToggler onClick={toggle} />
<Collapse isOpen={isOpen} navbar>
<Nav className="ml-auto" navbar>
<NavItem>
<Link href="/new/">
<a className="text-primary nav-link"> <FontAwesomeIcon icon={faRocket} className="mr-2" />
{t("Start an election")}
</a>
</Link>
</NavItem>
<NavItem style={{width: "80px"}}>
<LanguageSelector />
</NavItem>
</Nav>
</Collapse>
</Navbar>
</header>
</>
);
}
export default Header;

@ -19,12 +19,16 @@ const LanguageSelector = () => {
// ["GB", "FR", "ES", "DE", "RU"] // ["GB", "FR", "ES", "DE", "RU"]
["GB", "FR"] ["GB", "FR"]
} }
showOptionLabel={false} showOptionLabel={true}
selected={localeShort} selected={localeShort}
selectedSize={15} selectedSize={15}
optionsSize={22} optionsSize={22}
showSelectedLabel={false} showSelectedLabel={true}
showSecondaryOptionLabel={false} showSecondaryOptionLabel={false}
customLabels={{ "GB": "Lang: EN", "FR": "Lang: FR" }}
fullWidth={false}
className="menu-flags"
/> />
); );
}; };

@ -0,0 +1,47 @@
/* eslint react/prop-types: 0 */
import { useState } from "react";
import { Container, Row, Col, Nav, NavItem } from "reactstrap";
import Link from "next/link";
import Head from "next/head";
import { useTranslation } from 'next-i18next'
export default function HeaderResultResult() {
;
return (
<Container className="sectionHeaderResult">
<Row>
<Col className="col-md-3">
<Row>
<Col className="sectionHeaderResultSideCol">
<img src="/calendar.svg" />
<p>Clos il y a 2 jours</p></Col>
</Row>
<Row>
<Col className="sectionHeaderResultSideCol"><img src="/avatarBlue.svg" />
<p>14 votants</p></Col>
</Row>
</Col>
<Col className="sectionHeaderResultMiddleCol col-md-6">
<h3>Quel est le meilleur candidat pour les éléctions présidentielle ?</h3>
</Col>
<Col className="col-md-3">
<Row>
<Col className="sectionHeaderResultSideCol"><img src="/arrowUpload.svg" /><p>Télécharger les résultats</p></Col>
</Row>
<Row>
<Col className="sectionHeaderResultSideCol"><img src="/arrowL.svg" /><p>Partagez les résultats</p></Col>
</Row>
</Col>
</Row>
</Container>
);
}

@ -0,0 +1,38 @@
/* eslint react/prop-types: 0 */
import { useState } from "react";
import { Container, Row, Col, Nav, NavItem } from "reactstrap";
import Link from "next/link";
import Head from "next/head";
import { useTranslation } from 'next-i18next'
export default function HeaderMobileResult() {
;
return (
<Container className="sectionHeaderResult">
<Row className="sectionHeaderResultMiddleCol">
<h3>Quel est le meilleur candidat pour les éléctions présidentielle ?</h3>
</Row>
<Row>
<Col className="sectionHeaderResultSideCol">
<img src="/calendar.svg" />
<p>Clos il y a 2 jours</p>
</Col>
<Col className="sectionHeaderResultSideCol">
<img src="/avatarBlue.svg" />
<p>14 votants</p>
</Col>
</Row>
</Container >
);
}

@ -0,0 +1,14 @@
import React from 'react';
import HeaderDesktopResult from './HeaderDesktopResult';
import HeaderMobileResult from './HeaderMobileResult';
import { useMediaQuery } from "react-responsive";
export default function HeaderResult() {
const isMobile = useMediaQuery({ query: "(max-width: 800px)" });
if (isMobile) return <HeaderMobileResult />;
else return <HeaderDesktopResult />;
}

@ -0,0 +1,18 @@
import React from 'react';
import plotly from 'plotly.js/dist/plotly';
import createPlotComponent from 'react-plotly.js/factory';
// const Plot = createPlotComponent(plotly);
const Plot = require('react-plotly.js').default;
export default () => (
<Plot
data={[
{
type: 'bar',
x: ['Taubira', 'Hidalgo', 'Mélenchon'],
y: [29,150,85]
}
]}
layout={ { width: 1000, height: 500, title: 'Nombre de voix par candidat' } }
/>
)

@ -1,45 +1,6 @@
const { i18n } = require("./next-i18next.config"); const {i18n} = require("./next-i18next.config");
module.exports = { module.exports = {
i18n,
// See https://github.com/netlify/netlify-plugin-nextjs/issues/223
unstableNetlifyFunctionsSupport: {
"pages/index.jsx": {
includeDirs: ["public"],
},
"pages/faq.jsx": {
includeDirs: ["public"],
},
"pages/legal-notices.jsx": {
includeDirs: ["public"],
},
"pages/new/confirm/[pid].jsx": {
includeDirs: ["public"],
},
"pages/new.jsx": {
includeDirs: ["public"],
},
"pages/result/[pid]/[[...tid]].jsx": {
includeDirs: ["public"],
},
"pages/vote/[pid]/[[...tid]].jsx": {
includeDirs: ["public"],
},
"pages/vote/[pid]/confirm.jsx": {
includeDirs: ["public"],
},
"pages/privacy-policy.jsx": {
includeDirs: ["public"],
},
},
pageExtensions: ["mdx", "jsx", "js", "ts", "tsx"],
webpack(config) {
config.module.rules.push({
test: /\.svg$/,
use: ["@svgr/webpack"],
});
return config; i18n,
},
target: "experimental-serverless-trace",
}; };

14636
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -4,7 +4,7 @@
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "next dev", "dev": "next dev",
"build": "next build", "build": "next build && next export",
"start": "next start", "start": "next start",
"export": "next export" "export": "next export"
}, },
@ -14,15 +14,23 @@
"@fortawesome/free-brands-svg-icons": "^5.15.3", "@fortawesome/free-brands-svg-icons": "^5.15.3",
"@fortawesome/free-solid-svg-icons": "^5.15.3", "@fortawesome/free-solid-svg-icons": "^5.15.3",
"@fortawesome/react-fontawesome": "^0.1.14", "@fortawesome/react-fontawesome": "^0.1.14",
"@svgr/webpack": "^5.5.0", "@svgr/webpack": "^6.2.1",
"@weknow/react-bubble-chart-d3": "^1.0.12",
"array-move": "^3.0.1", "array-move": "^3.0.1",
"bootstrap": "^4.6.0", "bootstrap": "^4.6.0",
"bootstrap-scss": "^4.6.0", "bootstrap-scss": "^4.6.0",
"d3": "^7.3.0",
"d3-require": "^1.2.4",
"domexception": "^2.0.1", "domexception": "^2.0.1",
"dotenv": "^8.6.0", "dotenv": "^8.6.0",
"embla-carousel-react": "^6.2.0",
"form-data": "^4.0.0", "form-data": "^4.0.0",
"framer-motion": "^6.2.8",
"gsap": "^3.9.1",
"handlebars": "^4.7.7", "handlebars": "^4.7.7",
"handlebars-i18next": "^1.0.1", "handlebars-i18next": "^1.0.1",
"highcharts": "^9.3.2",
"highcharts-react-official": "^3.1.0",
"i18next": "^20.2.2", "i18next": "^20.2.2",
"i18next-chained-backend": "^2.1.0", "i18next-chained-backend": "^2.1.0",
"i18next-fs-backend": "^1.1.1", "i18next-fs-backend": "^1.1.1",
@ -30,17 +38,28 @@
"i18next-localstorage-backend": "^3.1.2", "i18next-localstorage-backend": "^3.1.2",
"i18next-text": "^0.5.6", "i18next-text": "^0.5.6",
"mailgun.js": "^3.3.2", "mailgun.js": "^3.3.2",
"next": "^10.2.0", "next": "^12.1.0",
"next-i18next": "^8.2.0", "next-i18next": "^8.2.0",
"plotly.js": "^2.8.3",
"plotly.js-dist": "^2.8.3",
"query-string": "^7.0.0", "query-string": "^7.0.0",
"ramda": "^0.27.2",
"react": "^17.0.2", "react": "^17.0.2",
"react-bootstrap": "^2.1.0",
"react-bubble-chart": "^0.4.0",
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"react-flags-select": "^2.1.2", "react-flags-select": "^2.1.2",
"react-google-charts": "^3.0.15",
"react-i18next": "^11.8.15", "react-i18next": "^11.8.15",
"react-modal": "^3.14.4",
"react-multi-email": "^0.5.3", "react-multi-email": "^0.5.3",
"react-plotly.js": "^2.5.1",
"react-responsive": "^9.0.0-beta.6",
"react-simple-timestamp-to-date": "^1.0.3",
"react-sortable-hoc": "^2.0.0", "react-sortable-hoc": "^2.0.0",
"react-toastify": "^7.0.4", "react-toastify": "^7.0.4",
"reactstrap": "^8.9.0", "reactstrap": "^8.9.0",
"sass": "^1.32.13" "sass": "^1.32.13",
"styled-components": "^5.3.3"
} }
} }

@ -27,7 +27,7 @@ function Application({Component, pageProps}) {
<main className="d-flex flex-column justify-content-center"> <main className="d-flex flex-column justify-content-center">
<Component {...pageProps} /> <Component {...pageProps} />
</main> </main>
<Footer />
</AppProvider>); </AppProvider>);
} }

@ -1,13 +1,14 @@
import { useState } from "react"; import { useState } from "react";
import Head from "next/head"; import Head from "next/head";
import Link from "next/link"; import Link from "next/link";
import { serverSideTranslations } from "next-i18next/serverSideTranslations"; import { serverSideTranslations } from "next-i18next/serverSideTranslations";
import { useTranslation } from "next-i18next"; import { useTranslation } from "next-i18next";
import { Container, Row, Col, Button, Input } from "reactstrap"; import { Container, Row, Col, Button, Input } from "reactstrap";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faRocket } from "@fortawesome/free-solid-svg-icons";
import config from "../next-i18next.config.js"; import config from "../next-i18next.config.js";
import Footer from '@components/layouts/Footer';
import VoteBallot from './vote/[pid]/[[...tid]]';
import CandidatesField from '../components/form/CandidatesField';
export const getStaticProps = async ({ locale }) => ({ export const getStaticProps = async ({ locale }) => ({
props: { props: {
...(await serverSideTranslations(locale, [], config)), ...(await serverSideTranslations(locale, [], config)),
@ -18,53 +19,128 @@ const Home = () => {
const [title, setTitle] = useState(null); const [title, setTitle] = useState(null);
const { t } = useTranslation(); const { t } = useTranslation();
return ( return (
<Container>
<form autoComplete="off"> <Container className="homePage">
<Row> <section>
<img <form className="sectionOneHomeForm" autoComplete="off">
src="logos/logo-line-white.svg" <Row className="sectionOneHomeRowOne">
alt="logo of Mieux Voter" <Col className="sectionOneHomeContent">
height="128" <Row>
className="d-block ml-auto mr-auto mb-4" <img
/> src="/logos/logo.svg"
</Row> alt="logo of Mieux Voter"
<Row> height="128"
<Col className="text-center"> className="d-block"
<h3>{t("common.valueProp")}</h3> />
</Row>
<Row>
<h4>Simple et gratuit</h4>
</Row>
<Row>
<h2>Organisez un vote avec le Jugement Majoritaire</h2>
</Row>
<Row>
<Input
placeholder={t("resource.writeQuestion")}
autoFocus
required
className="mt-2 sectionOneHomeInput"
name="title"
value={title ? title : ""}
onChange={(e) => setTitle(e.target.value)}
maxLength="250"
/>
</Row>
<Row>
<Link href={{ pathname: "/new/", query: { title: title } }}>
<Button
type="submit"
className="btn btn-block btn-secondary mt-2"
>
{t("resource.start")}
<img src="/arrow-white.svg" className="mr-2" />
</Button>
</Link>
</Row>
<Row className="noAds">
<p>{t("resource.noAds")}</p>
</Row>
</Col>
<Col></Col>
</Row>
<Row>
</Row>
</form>
</section>
<section className="sectionTwoHome">
<Row className="sectionTwoRowOne">
<Col className="sectionTwoRowOneCol">
<img
src="/urne.svg"
alt="icone d'urne"
height="128"
className="d-block mx-auto"
/>
<h4>Simple</h4>
<p>Créez un vote en moins dune minute</p>
</Col> </Col>
</Row> <Col className="sectionTwoRowOneCol">
<Row className="mt-2"> <img
<Col xs="12" md="9" xl="6" className="offset-xl-2"> src="/email.svg"
<Input alt="icone d'enveloppe"
placeholder={t("resource.writeQuestion")} height="128"
autoFocus className="d-block mx-auto"
required
className="mt-2"
name="title"
value={title ? title : ""}
onChange={(e) => setTitle(e.target.value)}
maxLength="250"
/> />
<h4>Gratuit</h4>
<p>Envoyez des invitations par courriel sans limite d'envoi</p>
</Col> </Col>
<Col xs="12" md="3" xl="2"> <Col className="sectionTwoRowOneCol">
<Link href={{ pathname: "/new/", query: { title: title } }}> <img
<Button src="/respect.svg"
type="submit" alt="icone de mains qui se serrent"
className="btn btn-block btn-secondary mt-2" height="128"
> className="d-block mx-auto"
<FontAwesomeIcon icon={faRocket} className="mr-2" /> />
{t("resource.start")} <h4>Respect de votre vie privée</h4>
</Button> <p>Aucune donnée personnelle n'est enregistrée</p>
</Link>
</Col> </Col>
</Row> </Row>
<Row className="mt-4"> <Row className="sectionTwoRowTwo">
<Col className="text-center"> <Row className="sectionTwoHomeImage">
<p>{t("resource.noAds")}</p> <img src="/vote.svg" />
</Col>
</Row> </Row>
</form> <Row className="sectionTwoRowTwoCol">
<h3 className="col-md-7">Une expérience de vote démocratique et intuitive</h3>
</Row>
<Row className="sectionTwoRowTwoCol">
<Col className="sectionTwoRowTwoColText col-md-4">
<h5 className="">Exprimez toute votre opinion</h5>
<p>Au jugement majoritaire, chaque candidat est évalué sur une grille de mention. Vous naurez plus besoin de faire un vote stratégique.</p>
</Col>
<Col className="sectionTwoRowTwoColText col-md-4 offset-md-1">
<h5 className="">Obtenez le meilleur consensus</h5>
<p>Le profil des mérites dresse un panorama précis de lopinion des électeurs. Le gagnant du vote est celui qui est la meilleure mention majoritaire.</p>
</Col>
</Row>
<Row className="sectionTwoRowThreeCol">
<Button
className="btn btn-block btn-secondary btn-sectionTwoHome"
>
Découvrez le jugement majoritaire
<img src="/arrow-white.svg" className="mr-2" />
</Button>
</Row>
</Row>
<Row className="sharing">
<p>Partagez lapplication Mieux voter</p>
<Link href="https://www.facebook.com/mieuxvoter.fr/"><img src="/facebook.svg" className="mr-2" /></Link>
<Link href="https://twitter.com/mieux_voter"><img src="/twitter.svg" className="mr-2" /></Link>
</Row>
</section>
<Footer />
</Container> </Container>
); );
}; };

@ -8,7 +8,7 @@ import {
apiErrors, apiErrors,
ELECTION_NOT_STARTED_ERROR, ELECTION_NOT_STARTED_ERROR,
} from "@services/api"; } from "@services/api";
import { Col, Container, Row } from "reactstrap"; import { Col, Container, Row, Button } from "reactstrap";
import Link from "next/link"; import Link from "next/link";
import { import {
faCopy, faCopy,
@ -21,25 +21,26 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import CopyField from "@components/CopyField"; import CopyField from "@components/CopyField";
import Error from "@components/Error"; import Error from "@components/Error";
import Facebook from "@components/banner/Facebook"; import Facebook from "@components/banner/Facebook";
import Twitter from "@components/banner/Twitter";
import config from "../../../next-i18next.config.js"; import config from "../../../next-i18next.config.js";
import { AnimatePresence, motion } from 'framer-motion';
export async function getServerSideProps({ query: { pid }, locale }) { export async function getServerSideProps({ query: { pid }, locale }) {
let [details, translations] = await Promise.all([ let [details, translations] = await Promise.all([
getDetails(pid), getDetails(pid),
serverSideTranslations(locale, [], config), serverSideTranslations(locale, [], config),
]); ]);
if (details.includes(ELECTION_NOT_STARTED_ERROR)) { // if (details.includes(ELECTION_NOT_STARTED_ERROR)) {
details = { title: "", on_invitation_only: true, restrict_results: true }; // details = { title: "", on_invitation_only: true, restrict_results: true };
} else { // } else {
if (typeof details === "string" || details instanceof String) { // if (typeof details === "string" || details instanceof String) {
return { props: { err: details, ...translations } }; // return { props: { err: details, ...translations } };
} // }
if (!details.title) { // if (!details.title) {
return { props: { err: "Unknown error", ...translations } }; // return { props: { err: "Unknown error", ...translations } };
} // }
} // }
return { return {
props: { props: {
@ -82,7 +83,7 @@ const ConfirmElection = ({
</> </>
) : ( ) : (
<> <>
<p className="mb-1">{t("Voting address")}</p>
<CopyField <CopyField
value={urlVote.href} value={urlVote.href}
iconCopy={faCopy} iconCopy={faCopy}
@ -99,7 +100,14 @@ const ConfirmElection = ({
title={"app.mieuxvoter.fr"} title={"app.mieuxvoter.fr"}
/> />
); );
const tw = invitationOnly ? null : (
<Twitter
className="btn btn-sm btn-outline-light m-2"
text={t("Share election on Twitter")}
url={urlVote}
title={"app.mieuxvoter.fr"}
/>
);
const participate = invitationOnly ? null : ( const participate = invitationOnly ? null : (
<> <>
<Col className="col-lg-3 text-center mr-10"> <Col className="col-lg-3 text-center mr-10">
@ -114,7 +122,7 @@ const ConfirmElection = ({
); );
return ( return (
<Container> <Container className="full-height-container">
<Head> <Head>
<title>{t("Successful election creation!")}</title> <title>{t("Successful election creation!")}</title>
<link rel="icon" href="/favicon.ico" /> <link rel="icon" href="/favicon.ico" />
@ -126,24 +134,80 @@ const ConfirmElection = ({
/> />
</Head> </Head>
<motion.div
className="mx-auto row"
initial={{ scale: 1, paddingBottom: '200px' }}
animate={{ scale: 0.5, paddingBottom: '0px' }}
transition={{
type: "spring",
damping: 100,
delay: 4
}}
>
<motion.div
className="main-animation"
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
transition={{
type: "spring",
damping: 20,
delay: 1
}}
>
<img src="/urne-vide.svg" />
<motion.div
className="letter-animation"
initial={{ scale: 0, y: 50 }}
animate={{ scale: 1, y: 0 }}
transition={{
type: "spring",
stiffness: 260,
damping: 20,
delay: 2
}}
>
<img src="/urne-letter.svg" />
</motion.div>
<motion.div
className="star-animation"
initial={{ scale: 0 }}
animate={{ scale: 1 }}
transition={{
type: "spring",
damping: 20,
delay: 3
}}
>
<img className="urne-fronjt" src="/urne-star.svg" />
</motion.div>
<img className="urne-front" src="/urne-front.svg" />
</motion.div></motion.div>
<motion.div
className=""
initial={{ scale: 0, opacity: 0, y: 100 }}
animate={{ scale: 1, opacity: 1, y: -70 }}
transition={{
type: "spring",
damping: 100,
delay: 4
}}
>
<Row className="mt-5"> <Row className="mt-5">
<Col className="text-center offset-lg-3" lg="6"> <Col className="text-center mx-auto success-title" lg="3">
<h2>{t("Successful election creation!")}</h2> <h2>{t("Successful election creation!")}</h2>
{fb}
</Col> </Col>
</Row> </Row>
<Row className="mt-5 mb-4"> <Row className="mb-4">
<Col className="offset-lg-3" lg="6"> <Col className=" mx-auto" lg="4">
<h3 className="mb-3 text-center">{title}</h3> <div className="p-4 pb-5">
<h5 className="mb-3 text-center">
<FontAwesomeIcon icon={faExclamationTriangle} className="mr-2" />
{t("Keep these links carefully")}
</h5>
<div className="border rounded p-4 pb-5">
{electionLink} {electionLink}
<p className="mt-4 mb-1">{t("Results address")}</p>
<CopyField <CopyField
value={urlResult} value={urlResult}
iconCopy={faCopy} iconCopy={faCopy}
@ -153,8 +217,8 @@ const ConfirmElection = ({
</div> </div>
</Col> </Col>
</Row> </Row>
<Row className="mt-4 mb-4 justify-content-md-center"> <Row className="mt-4 mb-4 justify-content-center">
{participate} {/* {participate}
<Col className="text-center col-lg-3"> <Col className="text-center col-lg-3">
<Link href={`/result/${pid}`}> <Link href={`/result/${pid}`}>
<a target="_blank" rel="noreferrer" className="btn btn-secondary"> <a target="_blank" rel="noreferrer" className="btn btn-secondary">
@ -162,8 +226,17 @@ const ConfirmElection = ({
{t("resource.resultsBtn")} {t("resource.resultsBtn")}
</a> </a>
</Link> </Link>
</Col> */}
<Button className="cursorPointer btn-validation mb-5" >{t("Administrez le vote")}<img src="/arrow-white.svg" /></Button>
</Row>
<Row className="mt-5">
<Col className="text-center offset-lg-3" lg="6">
{fb}
{tw}
{t("Partagez lélection")}
</Col> </Col>
</Row> </Row>
</motion.div>
</Container> </Container>
); );
}; };

@ -15,6 +15,7 @@ import {
Button, Button,
Card, Card,
CardBody, CardBody,
Modal, ModalHeader, ModalBody, ModalFooter, CustomInput
} from "reactstrap"; } from "reactstrap";
import { ReactMultiEmail, isEmail } from "react-multi-email"; import { ReactMultiEmail, isEmail } from "react-multi-email";
import "react-multi-email/style.css"; import "react-multi-email/style.css";
@ -28,6 +29,9 @@ import {
faCheck, faCheck,
faCogs, faCogs,
faExclamationTriangle, faExclamationTriangle,
faArrowLeft,
faExclamationCircle,
faChevronRight
} from "@fortawesome/free-solid-svg-icons"; } from "@fortawesome/free-solid-svg-icons";
import { useAppContext } from "@services/context"; import { useAppContext } from "@services/context";
import { createElection } from "@services/api"; import { createElection } from "@services/api";
@ -37,6 +41,8 @@ import Loader from "@components/wait";
import CandidatesField from "@components/form/CandidatesField"; import CandidatesField from "@components/form/CandidatesField";
import ConfirmModal from "@components/form/ConfirmModal"; import ConfirmModal from "@components/form/ConfirmModal";
import config from "../../next-i18next.config.js"; import config from "../../next-i18next.config.js";
import Footer from '@components/layouts/Footer'
// Error messages // Error messages
const AT_LEAST_2_CANDIDATES_ERROR = "Please add at least 2 candidates."; const AT_LEAST_2_CANDIDATES_ERROR = "Please add at least 2 candidates.";
@ -49,6 +55,7 @@ const getOnlyValidDate = (date) => (isValidDate(date) ? date : new Date());
const dateToISO = (date) => const dateToISO = (date) =>
getOnlyValidDate(date).toISOString().substring(0, 10); getOnlyValidDate(date).toISOString().substring(0, 10);
// Retrieve the current hour, minute, sec, ms, time into a timestamp // Retrieve the current hour, minute, sec, ms, time into a timestamp
const hours = (date) => getOnlyValidDate(date).getHours() * 3600 * 1000; const hours = (date) => getOnlyValidDate(date).getHours() * 3600 * 1000;
const minutes = (date) => getOnlyValidDate(date).getMinutes() * 60 * 1000; const minutes = (date) => getOnlyValidDate(date).getMinutes() * 60 * 1000;
@ -88,12 +95,14 @@ const CreateElection = (props) => {
// default value : start at the last hour // default value : start at the last hour
const now = new Date(); const now = new Date();
const [title, setTitle] = useState(""); const [title, setTitle] = useState("");
const [candidates, setCandidates] = useState([{ label: "" }, { label: "" }]); const [candidates, setCandidates] = useState([{ label: "" }, { description: "" }]);
const [numGrades, setNumGrades] = useState(5); const [numGrades, setNumGrades] = useState(5);
const [waiting, setWaiting] = useState(false); const [waiting, setWaiting] = useState(false);
const [isAdvancedOptionsOpen, setAdvancedOptionsOpen] = useState(false); const [isGradesOpen, setGradesOpen] = useState(false);
const [isAddCandidateMOpen, setAddCandidateMOpen] = useState(false);
const [isTimeLimited, setTimeLimited] = useState(false); const [isTimeLimited, setTimeLimited] = useState(false);
const [restrictResult, setRestrictResult] = useState(false); const [restrictResult, setRestrictResult] = useState(false);
const [restrictVote, setRestrictVote] = useState(false);
const [start, setStart] = useState( const [start, setStart] = useState(
new Date(now.getTime() - minutes(now) - seconds(now) - ms(now)) new Date(now.getTime() - minutes(now) - seconds(now) - ms(now))
); );
@ -118,9 +127,17 @@ const CreateElection = (props) => {
const handleRestrictResultCheck = (event) => { const handleRestrictResultCheck = (event) => {
setRestrictResult(event.target.value === "1"); setRestrictResult(event.target.value === "1");
}; };
const handleRestrictVote = (event) => {
setRestrictVote(event.target.value === "1");
};
const toggleMails = () => setVisibilityMails(!visibledMails)
const toggleGrades = () => setVisibilityGrades(!visibledGrades)
const toggle = () => setVisibility(!visibled)
const toggleAdvancedOptions = () => { const toggleAddCandidateM = () => {
setAdvancedOptionsOpen(!isAdvancedOptionsOpen); setAddCandidateMOpen(!isAddCandidateMOpen);
}; };
const addCandidate = () => { const addCandidate = () => {
@ -170,6 +187,7 @@ const CreateElection = (props) => {
start: start.getTime() / 1000, start: start.getTime() / 1000,
finish: finish.getTime() / 1000, finish: finish.getTime() / 1000,
restrictResult: restrictResult, restrictResult: restrictResult,
restrictVote: restrictVote,
locale: router.locale.substring(0, 2).toLowerCase(), locale: router.locale.substring(0, 2).toLowerCase(),
}, },
(result) => { (result) => {
@ -184,7 +202,9 @@ const CreateElection = (props) => {
} }
); );
}; };
const [visibled, setVisibility] = useState(false);
const [visibledGrades, setVisibilityGrades] = useState(false);
const [visibledMails, setVisibilityMails] = useState(false);
const handleSendNotReady = (msg) => { const handleSendNotReady = (msg) => {
toast.error(t(msg), { toast.error(t(msg), {
position: toast.POSITION.TOP_CENTER, position: toast.POSITION.TOP_CENTER,
@ -194,8 +214,22 @@ const CreateElection = (props) => {
const check = checkFields(); const check = checkFields();
const grades = translateGrades(t); const grades = translateGrades(t);
const [showModal, setShowModal] = useState(false);
// Mangae display
const [selected, setSelectedState] = useState(false);
const [displayNone, setDisplayNone] = useState("none");
const [displayBlock, setDisplayBlock] = useState("none");
useEffect(() => {
setDisplayNone("mt-0 " + (selected ? "displayNone" : ""))
}, [selected]);
useEffect(() => {
setDisplayBlock("settings " + (selected ? "displayBlock" : ""))
}, [selected]);
const changeDisplay = () => {
setSelectedState(!selected);
}
return ( return (
<Container> <Container className="addCandidatePage">
<Head> <Head>
<meta <meta
key="og:title" key="og:title"
@ -210,130 +244,118 @@ const CreateElection = (props) => {
</Head> </Head>
<ToastContainer /> <ToastContainer />
{waiting ? <Loader /> : ""} {waiting ? <Loader /> : ""}
<form onSubmit={handleSubmit} autoComplete="off"> <form className="form" onSubmit={handleSubmit} autoComplete="off">
<Row> <div className={displayNone}>
<Col> <Row className="stepForm">
<h3>{t("resource.startVote")}</h3> <Col className="stepFormCol">
</Col> <img src="/icone-one-white.svg" />
</Row> <h4>Les candidats</h4>
<hr /> </Col>
<Row className="mt-4"> <Col className="stepFormCol opacity">
<Col xs="12"> <img src="/icone-two-dark.svg" />
<Label for="title">{t("resource.questionLabel")}</Label> <h4>Paramètres du vote</h4>
</Col> </Col>
<Col> <Col className="stepFormCol opacity">
<Input <img src="/icone-three-dark.svg" />
placeholder={t("resource.writeQuestionHere")} <h4>Confirmation</h4>
tabIndex="1"
name="title" </Col>
id="title" </Row>
autoFocus
value={title} <Row>
onChange={(e) => setTitle(e.target.value)} <Col xs="12">
maxLength="250" <CandidatesField onChange={setCandidates} />
/> </Col>
</Col> </Row>
<Col xs="auto" className="align-self-center pl-0">
<HelpButton> <Row className="justify-content-center">
<u>{t("resource.eg")}</u> <em>{t("resource.exampleQuestion")}</em> <div className="mx-auto mt-5">
</HelpButton>
</Col> <Button onClick={changeDisplay} className="cursorPointer btn-opacity btn-validation mb-5" >{t("Confirm")}<img src="/arrow-white.svg" /></Button>
</Row> </div>
<Row className="mt-4"> </Row>
<Col xs="12"> </div>
<Label for="title">{t("common.candidates")}</Label>
</Col>
<Col xs="12">
<CandidatesField onChange={setCandidates} />
</Col> <div className={displayBlock}>
<Col <div onClick={changeDisplay} className="btn-return-candidates"><FontAwesomeIcon icon={faArrowLeft} className="mr-2" />Retour aux candidats</div>
xs="12" <Row className="stepForm">
sm="6" <Col className="stepFormCol">
md="12" <img src="/icone-check-dark.svg" />
className="text-center text-sm-right text-md-left" <h4>Les candidats</h4>
> </Col>
<Button <Col className="stepFormCol">
color="link" <img src="/icone-two-white.svg" />
className="text-white mt-3 mb-1" <h4>Paramètres du vote</h4>
onClick={toggleAdvancedOptions} </Col>
> <Col className="stepFormCol opacity">
<FontAwesomeIcon icon={faCogs} className="mr-2" /> <img src="/icone-three-dark.svg" />
{t("resource.advancedOptions")} <h4>Confirmation</h4>
</Button>
</Col> </Col>
</Row> </Row>
<Collapse isOpen={isAdvancedOptionsOpen}> <div className="settings-modal-body ">
<Card> <div className="mobile-title">{t("Vos paramètres")}</div>
<CardBody className="text-primary"> <Row>
<Row> <Col>
<Col xs="12" md="3" lg="3"> <Row className="row-label">
<Label for="title">{t("Access to results")}</Label> <Col xs="10" lg="10">
</Col> <Label for="title">{t("Access to results")} {t("Immediately")}</Label>
<Col xs="12" md="4" lg="3">
<Label className="radio " htmlFor="restrict_result_false"> </Col>
<span className="small text-dark">{t("Immediately")}</span> <Col l xs="2" lg="2">
<input <div class="radio-group">
className="radio" <input
type="radio" className="radio"
name="restrict_result" type="radio"
id="restrict_result_false" name="restrict_result"
onClick={handleRestrictResultCheck} id="restrict_result_false"
defaultChecked={!restrictResult} onClick={handleRestrictResultCheck}
value="0" defaultChecked={!restrictResult}
/> value="0"
<span className="checkround checkround-gray" /> />
</Label> <label for="restrict_result_false" />
</Col> <input
<Col xs="12" md="4" lg="3"> className="radio"
<Label className="radio" htmlFor="restrict_result_true"> type="radio"
<span className="small"> name="restrict_result"
<span className="text-dark"> id="restrict_result_true"
{t("At the end of the election")} onClick={handleRestrictResultCheck}
</span> defaultChecked={!restrictResult}
<HelpButton className="ml-2"> value="1"
{t( />
"No one will be able to see the result until the end date is reached or until all participants have voted." <label for="restrict_result_true" />
)} <div class="radio-switch"></div>
</HelpButton> </div>
</span> </Col>
<input </Row>
className="radio" <Row>
type="radio" <Col xs="12" md="10">
name="restrict_result" <p>{t("No one will be able to see the result until the end date is reached or until all participants have voted.")}</p>
id="restrict_result_true" </Col>
onClick={handleRestrictResultCheck} </Row>
defaultChecked={restrictResult} </Col>
value="1" </Row>
/> <hr className="settings-divider" />
<span className="checkround checkround-gray" /> <div className="row-label" id="voting-time-label">
</Label>
</Col>
</Row>
<hr className="mt-2 mb-2" />
<Row> <Row>
<Col xs="12" md="3" lg="3">
<Col xs="10">
<Label for="title">{t("Voting time")}</Label> <Label for="title">{t("Voting time")}</Label>
</Col> </Col>
<Col xs="12" md="4" lg="3"> <Col l xs="2">
<Label className="radio " htmlFor="is_time_limited_false"> <div class="radio-group">
<span className="small text-dark">{t("Unlimited")}</span>
<input <input
className="radio" className="radio"
type="radio" type="radio"
name="time_limited" name="time_limited"
id="is_time_limited_false" id="is_time_limited_false"
onClick={handleIsTimeLimited} onClick={handleIsTimeLimited}
defaultChecked={!isTimeLimited} defaultChecked={isTimeLimited}
value="0" value="0"
/> /><label for="is_time_limited_false" />
<span className="checkround checkround-gray" />
</Label>
</Col>
<Col xs="12" md="4" lg="3">
<Label className="radio" htmlFor="is_time_limited_true">
<span className="small">
<span className="text-dark">{t("Defined period")}</span>
</span>
<input <input
className="radio" className="radio"
type="radio" type="radio"
@ -343,16 +365,18 @@ const CreateElection = (props) => {
defaultChecked={isTimeLimited} defaultChecked={isTimeLimited}
value="1" value="1"
/> />
<span className="checkround checkround-gray" /> <label for="is_time_limited_true" />
</Label> <div class="radio-switch"></div>
</div>
</Col> </Col>
</Row> </Row>
<div <div
className={ className={
(isTimeLimited ? "d-block " : "d-none") + " bg-light p-3" (isTimeLimited ? "d-block " : "d-none")
} }
> >
<Row> <Row className="displayNone">
<Col xs="12" md="3" lg="3"> <Col xs="12" md="3" lg="3">
<span className="label">- {t("Starting date")}</span> <span className="label">- {t("Starting date")}</span>
</Col> </Col>
@ -365,7 +389,7 @@ const CreateElection = (props) => {
setStart( setStart(
new Date( new Date(
timeMinusDate(start) + timeMinusDate(start) +
new Date(e.target.valueAsNumber).getTime() new Date(e.target.valueAsNumber).getTime()
) )
); );
}} }}
@ -379,7 +403,7 @@ const CreateElection = (props) => {
setStart( setStart(
new Date( new Date(
dateMinusTime(start).getTime() + dateMinusTime(start).getTime() +
e.target.value * 3600000 e.target.value * 3600000
) )
) )
} }
@ -390,10 +414,8 @@ const CreateElection = (props) => {
</Row> </Row>
<Row className="mt-2"> <Row className="mt-2">
<Col xs="12" md="3" lg="3">
<span className="label">- {t("Ending date")}</span> <Col xs="6" md="4" lg="3" className="time-container">
</Col>
<Col xs="6" md="4" lg="3">
<input <input
className="form-control" className="form-control"
type="date" type="date"
@ -403,13 +425,13 @@ const CreateElection = (props) => {
setFinish( setFinish(
new Date( new Date(
timeMinusDate(finish) + timeMinusDate(finish) +
new Date(e.target.valueAsNumber).getTime() new Date(e.target.valueAsNumber).getTime()
) )
); );
}} }}
/> />
</Col> </Col>
<Col xs="6" md="5" lg="3"> <Col xs="6" md="5" lg="3" className="displayNone">
<select <select
className="form-control" className="form-control"
value={getOnlyValidDate(finish).getHours()} value={getOnlyValidDate(finish).getHours()}
@ -417,7 +439,7 @@ const CreateElection = (props) => {
setFinish( setFinish(
new Date( new Date(
dateMinusTime(finish).getTime() + dateMinusTime(finish).getTime() +
e.target.value * 3600000 e.target.value * 3600000
) )
) )
} }
@ -426,103 +448,256 @@ const CreateElection = (props) => {
</select> </select>
</Col> </Col>
</Row> </Row>
</div> </div></div>
<hr className="mt-2 mb-2" /> <hr className="settings-divider" />
<Row> <Row className="componentMobile">
<Col xs="12" md="3" lg="3"> <Col>
<span className="label">{t("Grades")}</span> <Row className="row-label">
</Col> <Label>{t("Grades")}</Label>
<Col xs="10" sm="11" md="4" lg="3"> <FontAwesomeIcon onClick={toggleGrades} icon={faChevronRight} className="ml-2 my-auto" />
<select
className="form-control" </Row>
tabIndex={candidates.length + 3} <Row className="mx-0">
onChange={(e) => setNumGrades(e.target.value)} <p className="m-0">{t("You can select here the number of grades for your election")}</p>
defaultValue="5" </Row>
> </Col>
<option value="4">4</option> </Row>
<option value="5">5</option>
<option value="6">6</option> <Modal
<option value="7">7</option> isOpen={visibledGrades}
</select> toggle={toggleGrades}
</Col> className="modal-dialog-centered grades-mobile"
<Col xs="auto" className="align-self-center pl-0 "> ><ModalHeader toggle={toggleGrades}>
<HelpButton> <Label>{t("Grades")}</Label>
{t( </ModalHeader>
"You can select here the number of grades for your election" <ModalBody>
)} <p>{t("Choisissez le nombre de mentions des votes.")}</p>
<br /> <div className="numGradesContainer justify-content-center" tabIndex={candidates.length + 3}
<u>{t("For example:")}</u>{" "} onChange={(e) => setNumGrades(e.target.value)}>
<em> <Label className="numGrades numGradesMobile">
{" "} <Input type="radio" name="radio" value="5" />
{t("5 = Excellent, Very good, Good, Fair, Passable")} <div className="customCheckmarck customCheckmarckMobile numGradeFive"></div>
</em> </Label>
</HelpButton> <Label className="numGrades numGradesMobile">
</Col> <Input type="radio" checked="checked" name="radio" value="6" />
<Col <div className="customCheckmarck customCheckmarckMobile numGradeSix"></div>
xs="12" </Label>
md="9" <Label className="numGrades numGradesMobile">
lg="9" <Input type="radio" name="radio" value="7" />
className="offset-xs-0 offset-md-3 offset-lg-3" <div className="customCheckmarck customCheckmarckMobile numGradeSeven"></div>
</Label>
</div>
<p className="mt-2">{t("Voici la liste des mentions de votre vote")}</p>
{grades.map((mention, i) => {
return (
<span
key={i}
className={"badge badge-light mx-1 my-2 " + mention.class}
style={{
backgroundColor: mention.color,
color: "#fff",
opacity: i < numGrades ? 1 : 0.3,
}}
>
{mention.label}
</span>
);
})}
<Row>
<Button
type="button"
className="btn-confirm-mobile"
onClick={toggleGrades}>
<FontAwesomeIcon className="mr-2" icon={faCheck} />
{t("Valider les mentions")}
</Button>
</Row>
</ModalBody>
</Modal>
<Row className="componentDesktop">
<Col xs="9">
<Label>{t("Grades")}</Label>
<p>{t("You can select here the number of grades for your election")}</p>
</Col>
<Col xs="3">
<div className="numGradesContainer justify-content-end" tabIndex={candidates.length + 3}
onChange={(e) => setNumGrades(e.target.value)}>
<Label className="numGrades">
<Input type="radio" name="radio" value="5" />
<div className="customCheckmarck numGradeFive"></div>
</Label>
<Label className="numGrades">
<Input type="radio" checked="checked" name="radio" value="6" />
<div className="customCheckmarck numGradeSix"></div>
</Label>
<Label className="numGrades">
<Input type="radio" name="radio" value="7" />
<div className="customCheckmarck numGradeSeven"></div>
</Label>
</div>
</Col>
<Col
xs="12"
md="9"
lg="9"
>
{grades.map((mention, i) => {
return (
<span
key={i}
className={"badge badge-light mr-2 mt-2 " + mention.class}
style={{
backgroundColor: mention.color,
color: "#fff",
opacity: i < numGrades ? 1 : 0.3,
}}
>
{mention.label}
</span>
);
})}
</Col>
</Row>
<hr className="settings-divider" />
<Row>
<Col>
<Row className="row-label">
<Col xs="10" lg="10">
<Label for="title">{t("Vote privée")}</Label>
</Col>
<Col l xs="2" lg="2">
<div class="radio-group">
<input
className="radio"
type="radio"
name="restrict_result"
id="restrict_result_false"
onClick={handleRestrictResultCheck}
defaultChecked={!restrictResult}
value="0"
/>
<label for="restrict_result_false" />
<input
className="radio"
type="radio"
name="restrict_result"
id="restrict_result_true"
onClick={handleRestrictResultCheck}
defaultChecked={!restrictResult}
value="1"
/>
<label for="restrict_result_true" />
<div class="radio-switch"></div>
</div>
</Col>
</Row>
<Row className="mx-0"><p className="mx-0">{t("Uniquement les personnes invités par mail pourront participé au vote")}</p></Row>
</Col></Row>
<hr className="settings-divider" />
<Row className="componentMobile">
<Col xs="12">
<Row className="row-label">
<Label>{t("Participants")}</Label>
<FontAwesomeIcon onClick={toggleMails} icon={faChevronRight} className="ml-2 my-auto" />
</Row>
<p>{t("Copier-coller les emails des participants depuis un fichier Excel")}</p>
<Modal
isOpen={visibledMails}
toggle={toggleMails}
className="modal-dialog-centered grades-mobile"
> >
{grades.map((mention, i) => { <ModalHeader toggle={toggleMails}>
return ( <Label>{t("Ajouter des invités")}</Label>
<span </ModalHeader>
key={i} <ModalBody>
className="badge badge-light mr-2 mt-2 " <Row>
style={{ <p className="mr-2 my-auto">{t("À ")}</p>
backgroundColor: mention.color,
color: "#fff", <ReactMultiEmail
opacity: i < numGrades ? 1 : 0.3, placeholder={t("Add here participants' emails")}
emails={emails}
onChange={setEmails}
validateEmail={(email) => {
return isEmail(email); // return boolean
}}
getLabel={(email, index, removeEmail) => {
return (
<div data-tag key={index}>
{email}
<span
data-tag-handle
onClick={() => removeEmail(index)}
>
×
</span>
</div>
);
}} }}
>
{mention.label} />
</span> </Row>
<Row>
<Button
type="button"
className="btn-confirm-mobile"
onClick={toggleMails}>
<FontAwesomeIcon className="mr-2" icon={faCheck} />
{t("Valider les mails")}
</Button>
</Row>
</ModalBody>
</Modal>
</Col>
</Row>
<Row className="componentDesktop">
<Col xs="12">
<Label>{t("Participants")}</Label>
<p>{t("If you list voters' emails, only them will be able to access the election")}</p>
<ReactMultiEmail
placeholder={t("Add here participants' emails")}
emails={emails}
onChange={setEmails}
validateEmail={(email) => {
return isEmail(email); // return boolean
}}
getLabel={(email, index, removeEmail) => {
return (
<div data-tag key={index}>
{email}
<span
data-tag-handle
onClick={() => removeEmail(index)}
>
×
</span>
</div>
); );
})} }}
</Col> />
</Row> <div className="mt-2 mailMutedText">
<hr className="mt-2 mb-2" /> <small className="text-muted">
<Row> <FontAwesomeIcon icon={faExclamationCircle} className="mr-2" />
<Col xs="12" md="3" lg="3"> {t("Copier-coller les emails des participants depuis un fichier Excel")}
<span className="label">{t("Participants")}</span> </small>
</Col> </div>
<Col xs="12" md="9" lg="9"> </Col>
<ReactMultiEmail </Row>
placeholder={t("Add here participants' emails")} <hr className="settings-divider" />
emails={emails} <Col xs="12" md="3">
onChange={setEmails}
validateEmail={(email) => { </Col>
return isEmail(email); // return boolean </div>
}} <div className="justify-content-center">
getLabel={(email, index, removeEmail) => {
return (
<div data-tag key={index}>
{email}
<span
data-tag-handle
onClick={() => removeEmail(index)}
>
×
</span>
</div>
);
}}
/>
<div>
<small className="text-muted">
{t(
"If you list voters' emails, only them will be able to access the election"
)}
</small>
</div>
</Col>
</Row>
<hr className="mt-2 mb-2" />
</CardBody>
</Card>
</Collapse>
<Row className="justify-content-end mt-2">
<Col xs="12" md="3">
{check.ok ? ( {check.ok ? (
<ConfirmModal <ConfirmModal
title={title} title={title}
@ -532,24 +707,28 @@ const CreateElection = (props) => {
finish={finish} finish={finish}
emails={emails} emails={emails}
restrictResult={restrictResult} restrictResult={restrictResult}
restrictVote={restrictVote}
grades={grades.slice(0, numGrades)} grades={grades.slice(0, numGrades)}
className={"btn btn-success float-right btn-block"} className={"btn float-right btn-block"}
tabIndex={candidates.length + 1} tabIndex={candidates.length + 1}
confirmCallback={handleSubmit} confirmCallback={handleSubmit}
/> />
) : ( ) : (
<Button <div>
type="button" <Button onClick={handleSendNotReady} className="mt-5 componentDesktop btn-transparent cursorPointer btn-validation mb-5 mx-auto" >{t("Confirm")}<img src="/arrow-white.svg" /></Button>
className="btn btn-dark float-right btn-block" <Button
onClick={handleSendNotReady}
> className="componentMobile btn-confirm-mobile mb-5"
<FontAwesomeIcon icon={faCheck} className="mr-2" /> onClick={handleSendNotReady}>
{t("Confirm")} <FontAwesomeIcon className="mr-2" icon={faCheck} />
</Button> {t("Valider")}
</Button>
</div>
)} )}
</Col> </div>
</Row> </div>
</form> </form>
<Footer />
</Container> </Container>
); );
}; };

@ -0,0 +1,481 @@
import { useState, useEffect } from "react";
import Head from "next/head";
import { useRouter } from "next/router";
import { useTranslation } from "next-i18next";
import { serverSideTranslations } from "next-i18next/serverSideTranslations";
import {
Collapse,
Container,
Row,
Col,
Input,
Label,
InputGroup,
InputGroupAddon,
Button,
Card,
CardBody,
Modal, ModalHeader, ModalBody, ModalFooter, CustomInput
} from "reactstrap";
import { ReactMultiEmail, isEmail } from "react-multi-email";
import "react-multi-email/style.css";
import { toast, ToastContainer } from "react-toastify";
import "react-toastify/dist/ReactToastify.css";
import queryString from "query-string";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import {
faPlus,
faTrashAlt,
faCheck,
faCogs,
faExclamationTriangle,
faArrowLeft,
faExclamationCircle
} from "@fortawesome/free-solid-svg-icons";
import { useAppContext } from "@services/context";
import { createElection } from "@services/api";
import { translateGrades } from "@services/grades";
import HelpButton from "@components/form/HelpButton";
import Loader from "@components/wait";
import CandidatesField from "@components/form/CandidatesField";
import ConfirmModal from "@components/form/ConfirmModal";
import config from "../../next-i18next.config.js";
// Error messages
const AT_LEAST_2_CANDIDATES_ERROR = "Please add at least 2 candidates.";
const NO_TITLE_ERROR = "Please add a title.";
const isValidDate = (date) => date instanceof Date && !isNaN(date);
const getOnlyValidDate = (date) => (isValidDate(date) ? date : new Date());
// Convert a Date object into YYYY-MM-DD
const dateToISO = (date) =>
getOnlyValidDate(date).toISOString().substring(0, 10);
// Retrieve the current hour, minute, sec, ms, time into a timestamp
const hours = (date) => getOnlyValidDate(date).getHours() * 3600 * 1000;
const minutes = (date) => getOnlyValidDate(date).getMinutes() * 60 * 1000;
const seconds = (date) => getOnlyValidDate(date).getSeconds() * 1000;
const ms = (date) => getOnlyValidDate(date).getMilliseconds();
const time = (date) =>
hours(getOnlyValidDate(date)) +
minutes(getOnlyValidDate(date)) +
seconds(getOnlyValidDate(date)) +
ms(getOnlyValidDate(date));
// Retrieve the time part from a timestamp and remove the day. Return a int.
const timeMinusDate = (date) => time(getOnlyValidDate(date));
// Retrieve the day and remove the time. Return a Date
const dateMinusTime = (date) =>
new Date(getOnlyValidDate(date).getTime() - time(getOnlyValidDate(date)));
const displayClockOptions = () =>
Array(24)
.fill(1)
.map((x, i) => (
<option value={i} key={i}>
{i}h00
</option>
));
export const getStaticProps = async ({ locale }) => ({
props: {
...(await serverSideTranslations(locale, [], config)),
},
});
const CreateElection = (props) => {
const { t } = useTranslation();
// default value : start at the last hour
const now = new Date();
const [title, setTitle] = useState("");
const [candidates, setCandidates] = useState([{ label: "" }, { description: "" }]);
const [numGrades, setNumGrades] = useState(5);
const [waiting, setWaiting] = useState(false);
const [isAdvancedOptionsOpen, setAdvancedOptionsOpen] = useState(false);
const [isAddCandidateMOpen, setAddCandidateMOpen] = useState(false);
const [isTimeLimited, setTimeLimited] = useState(false);
const [restrictResult, setRestrictResult] = useState(false);
const [restrictVote, setRestrictVote] = useState(false);
const [start, setStart] = useState(
new Date(now.getTime() - minutes(now) - seconds(now) - ms(now))
);
const [finish, setFinish] = useState(
new Date(start.getTime() + 7 * 24 * 3600 * 1000)
);
const [emails, setEmails] = useState([]);
// set the title on loading
const router = useRouter();
useEffect(() => {
if (!router.isReady) return;
const { title: urlTitle } = router.query;
setTitle(urlTitle || "");
}, [router.isReady]);
const handleIsTimeLimited = (event) => {
setTimeLimited(event.target.value === "1");
};
const handleRestrictResultCheck = (event) => {
setRestrictResult(event.target.value === "1");
};
const handleRestrictVote = (event) => {
setRestrictVote(event.target.value === "1");
};
const toggleAdvancedOptions = () => {
setAdvancedOptionsOpen(!isAdvancedOptionsOpen);
};
const toggleAddCandidateM = () => {
setAddCandidateMOpen(!isAddCandidateMOpen);
};
const addCandidate = () => {
if (candidates.length < 1000) {
candidates.push({ label: "" });
setCandidates(candidates);
}
};
const checkFields = () => {
if (!candidates) {
return { ok: false, msg: AT_LEAST_2_CANDIDATES_ERROR };
}
let numCandidates = 0;
candidates.forEach((c) => {
if (c.label !== "") numCandidates += 1;
});
if (numCandidates < 2) {
return { ok: false, msg: AT_LEAST_2_CANDIDATES_ERROR };
}
if (!title || title === "") {
return { ok: false, msg: NO_TITLE_ERROR };
}
return { ok: true, msg: "OK" };
};
const handleSubmit = () => {
const check = checkFields();
if (!check.ok) {
toast.error(t(check.msg), {
position: toast.POSITION.TOP_CENTER,
});
return;
}
setWaiting(true);
createElection(
title,
candidates.map((c) => c.label).filter((c) => c !== ""),
{
mails: emails,
numGrades,
start: start.getTime() / 1000,
finish: finish.getTime() / 1000,
restrictResult: restrictResult,
restrictVote: restrictVote,
locale: router.locale.substring(0, 2).toLowerCase(),
},
(result) => {
if (result.id) {
router.push(`/new/confirm/${result.id}`);
} else {
toast.error(t("Unknown error. Try again please."), {
position: toast.POSITION.TOP_CENTER,
});
setWaiting(false);
}
}
);
};
const [visibled, setVisibility] = useState(false);
const toggle = () => setVisibility(!visibled)
const handleSendNotReady = (msg) => {
toast.error(t(msg), {
position: toast.POSITION.TOP_CENTER,
});
};
const check = checkFields();
const grades = translateGrades(t);
const [showModal, setShowModal] = useState(false);
return (
<Container className="addCandidatePage">
<Head>
<meta
key="og:title"
property="og:title"
content={t("common.application")}
/>
<meta
property="og:description"
key="og:description"
content={t("resource.valueProp")}
/>
</Head>
<ToastContainer />
{waiting ? <Loader /> : ""}
<form onSubmit={handleSubmit} autoComplete="off">
<Row className="stepForm">
<Col className="stepFormCol">
<img src="/icone-one-white.svg" />
<h4>Les candidats</h4>
</Col>
<Col className="stepFormCol">
<img src="/icone-two-dark.svg" />
<h4>Paramètres du vote</h4>
</Col>
<Col className="stepFormCol">
<img src="/icone-three-dark.svg" />
<h4>Confirmation</h4>
</Col>
</Row>
<div className="settings-modal-body">
<Row>
<Col xs="10" lg="10">
<Label for="title">{t("Access to results")} {t("Immediately")}</Label>
<p>{t("No one will be able to see the result until the end date is reached or until all participants have voted.")}</p>
</Col>
<Col l xs="2" lg="2">
<CustomInput
type="switch"
id="restrict_result_false"
name={handleRestrictResultCheck}
/>
</Col>
</Row>
<hr className="mt-2 mb-2" />
<Row>
<Col md="10">
<Label for="title">{t("Voting time")}</Label>
</Col>
<Col l md="2">
<CustomInput
type="switch"
id="is_time_limited_true"
name={handleIsTimeLimited}
value={"1"}
/>
</Col>
</Row>
<div
className={
(isTimeLimited ? "d-block " : "d-none") + " bg-light p-3"
}
>
<Row>
<Col xs="12" md="3" lg="3">
<span className="label">- {t("Starting date")}</span>
</Col>
<Col xs="6" md="4" lg="3">
<input
className="form-control"
type="date"
value={dateToISO(start)}
onChange={(e) => {
setStart(
new Date(
timeMinusDate(start) +
new Date(e.target.valueAsNumber).getTime()
)
);
}}
/>
</Col>
<Col xs="6" md="5" lg="3">
<select
className="form-control"
value={getOnlyValidDate(start).getHours()}
onChange={(e) =>
setStart(
new Date(
dateMinusTime(start).getTime() +
e.target.value * 3600000
)
)
}
>
{displayClockOptions()}
</select>
</Col>
</Row>
<Row className="mt-2">
<Col xs="12" md="3" lg="3">
<span className="label">- {t("Ending date")}</span>
</Col>
<Col xs="6" md="4" lg="3">
<input
className="form-control"
type="date"
value={dateToISO(finish)}
min={dateToISO(start)}
onChange={(e) => {
setFinish(
new Date(
timeMinusDate(finish) +
new Date(e.target.valueAsNumber).getTime()
)
);
}}
/>
</Col>
<Col xs="6" md="5" lg="3">
<select
className="form-control"
value={getOnlyValidDate(finish).getHours()}
onChange={(e) =>
setFinish(
new Date(
dateMinusTime(finish).getTime() +
e.target.value * 3600000
)
)
}
>
{displayClockOptions()}
</select>
</Col>
</Row>
</div>
<hr className="mt-2 mb-2" />
<Row>
<Col xs="9">
<Label>{t("Grades")}</Label>
<p>{t("You can select here the number of grades for your election")}</p>
</Col>
<Col xs="3">
<div className="numGradesContainer justify-content-end" tabIndex={candidates.length + 3}
onChange={(e) => setNumGrades(e.target.value)}>
<Label className="numGrades">
<Input type="radio" name="radio" value="5" />
<div className="customCheckmarck numGradeFive"></div>
</Label>
<Label className="numGrades">
<Input type="radio" checked="checked" name="radio" value="6" />
<div className="customCheckmarck numGradeSix"></div>
</Label>
<Label className="numGrades">
<Input type="radio" name="radio" value="7" />
<div className="customCheckmarck numGradeSeven"></div>
</Label>
</div>
</Col>
<Col
xs="12"
md="9"
lg="9"
>
{grades.map((mention, i) => {
return (
<span
key={i}
className="badge badge-light mr-2 mt-2 "
style={{
backgroundColor: mention.color,
color: "#fff",
opacity: i < numGrades ? 1 : 0.3,
}}
>
{mention.label}
</span>
);
})}
</Col>
</Row>
<hr className="mt-2 mb-2" />
<Row>
<Col xs="10" lg="10">
<Label for="title">{t("Vote privée")}</Label>
<p>{t("Uniquement les personnes invités par mail pourront participé au vote")}</p>
</Col>
<Col l xs="2" lg="2">
<CustomInput
type="switch"
id="restrict_vote_false"
name={handleRestrictVote}
/>
</Col>
</Row>
<hr className="mt-2 mb-2" />
<Row>
<Col xs="12">
<Label>{t("Participants")}</Label>
<p>{t("If you list voters' emails, only them will be able to access the election")}</p>
<ReactMultiEmail
placeholder={t("Add here participants' emails")}
emails={emails}
onChange={setEmails}
validateEmail={(email) => {
return isEmail(email); // return boolean
}}
getLabel={(email, index, removeEmail) => {
return (
<div data-tag key={index}>
{email}
<span
data-tag-handle
onClick={() => removeEmail(index)}
>
×
</span>
</div>
);
}}
/>
<div className="mt-2 mailMutedText">
<small className="text-muted">
<FontAwesomeIcon icon={faExclamationCircle} className="mr-2" />
{t("Copier-coller les emails des participants depuis un fichier Excel")}
</small>
</div>
</Col>
</Row>
<hr className="mt-2 mb-2" />
<Col xs="12" md="3">
</Col>
</div>
<div className="justify-content-center">
{check.ok ? (
<ConfirmModal
title={title}
candidates={candidates}
isTimeLimited={isTimeLimited}
start={start}
finish={finish}
emails={emails}
restrictResult={restrictResult}
restrictVote={restrictVote}
grades={grades.slice(0, numGrades)}
className={"btn float-right btn-block"}
tabIndex={candidates.length + 1}
confirmCallback={handleSubmit}
/>
) : (
<Button onClick={toggle} className="cursorPointer btn-validation mb-5" >{t("Confirm")}<img src="/arrow-white.svg" /></Button>
)}
</div></form>
</Container >
);
};
export default CreateElection;

@ -0,0 +1,29 @@
import dynamic from 'next/dynamic';
import plotly from 'plotly.js/dist/plotly';
import createPlotComponent from 'react-plotly.js/factory';
import React, { Component } from 'react';
//import Plot from 'react-plotly.js';
class BarChart extends Component {
render() {
return (
<div>
<Plot
data={[
{
type: 'bar',
x: ['Taubira', 'Hidalgo', 'Mélenchon'],
y: [29,150,85]
}
]}
layout={ { width: 1000, height: 500, title: 'Nombre de voix par candidat' } }
config={{
displayModeBar: false // this is the line that hides the bar.
}}
/>
</div>
)
};
}
export default BarChart;

@ -3,6 +3,7 @@ import Head from "next/head";
import { useTranslation } from "next-i18next"; import { useTranslation } from "next-i18next";
import { serverSideTranslations } from "next-i18next/serverSideTranslations"; import { serverSideTranslations } from "next-i18next/serverSideTranslations";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import Link from "next/link";
import { import {
Container, Container,
Row, Row,
@ -12,6 +13,7 @@ import {
CardHeader, CardHeader,
CardBody, CardBody,
Table, Table,
Button
} from "reactstrap"; } from "reactstrap";
import { getResults, getDetails, apiErrors } from "@services/api"; import { getResults, getDetails, apiErrors } from "@services/api";
import { grades } from "@services/grades"; import { grades } from "@services/grades";
@ -19,6 +21,9 @@ import { translateGrades } from "@services/grades";
import Facebook from "@components/banner/Facebook"; import Facebook from "@components/banner/Facebook";
import Error from "@components/Error"; import Error from "@components/Error";
import config from "../../../next-i18next.config.js"; import config from "../../../next-i18next.config.js";
import Footer from '@components/layouts/Footer'
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faChevronDown, faChevronRight, faChevronUp } from "@fortawesome/free-solid-svg-icons";
export async function getServerSideProps({ query, locale }) { export async function getServerSideProps({ query, locale }) {
const { pid, tid } = query; const { pid, tid } = query;
@ -45,6 +50,7 @@ export async function getServerSideProps({ query, locale }) {
props: { props: {
title: details.title, title: details.title,
numGrades: details.num_grades, numGrades: details.num_grades,
finish: details.finish_at,
candidates: res, candidates: res,
pid: pid, pid: pid,
...translations, ...translations,
@ -52,9 +58,12 @@ export async function getServerSideProps({ query, locale }) {
}; };
} }
const Result = ({ candidates, numGrades, title, pid, err }) => { const Result = ({ candidates, numGrades, title, pid, err, finish }) => {
const { t } = useTranslation(); const { t } = useTranslation();
const newstart = new Date(finish * 1000).toLocaleDateString("fr-FR");
if (err && err !== "") { if (err && err !== "") {
return <Error value={apiErrors(err, t)} />; return <Error value={apiErrors(err, t)} />;
} }
@ -81,6 +90,8 @@ const Result = ({ candidates, numGrades, title, pid, err }) => {
console.log("origin", origin); console.log("origin", origin);
const urlVote = new URL(`/vote/${pid}`, origin); const urlVote = new URL(`/vote/${pid}`, origin);
const collapsee = (candidates[0].title);
console.log(collapsee);
const [collapseProfiles, setCollapseProfiles] = useState(false); const [collapseProfiles, setCollapseProfiles] = useState(false);
const [collapseGraphics, setCollapseGraphics] = useState(false); const [collapseGraphics, setCollapseGraphics] = useState(false);
@ -93,241 +104,199 @@ const Result = ({ candidates, numGrades, title, pid, err }) => {
: []; : [];
return ( return (
<Container> <Container className="resultContainer resultPage">
<Head> <Head>
<title>{title}</title> <title>{title}</title>
<link rel="icon" href="/favicon.ico" /> <link rel="icon" href="/favicon.ico" />
<meta property="og:title" content={title} /> <meta property="og:title" content={title} />
</Head> </Head>
<Row> <Row className="sectionHeaderResult componentDesktop mx-0">
<Col xs="12"> <Col className="col-md-3 sectionHeaderResultLeftCol">
<Row>
<Col className="sectionHeaderResultSideCol">
<img src="/calendar.svg" />
<p>{newstart}</p></Col>
</Row>
<Row>
<Col className="sectionHeaderResultSideCol"><img src="/avatarBlue.svg" />
<p>{" " + numVotes} votants</p></Col>
</Row>
</Col>
<Col className="sectionHeaderResultMiddleCol">
<h3>{title}</h3>
</Col>
<Col className="col-md-3 sectionHeaderResultRightCol">
<Row>
<Col className="sectionHeaderResultSideCol"><img src="/arrowUpload.svg" /><p>Télécharger les résultats</p></Col>
</Row>
<Row>
<Col className="sectionHeaderResultSideCol"><img src="/arrowL.svg" /><p>Partagez les résultats</p></Col>
</Row>
</Col>
</Row>
<Row className="sectionHeaderResult componentMobile mx-0">
<Col className="px-0">
<h3>{title}</h3> <h3>{title}</h3>
</Col> </Col>
<Row>
<Col className="sectionHeaderResultSideCol">
<img src="/calendar.svg" />
<p>{newstart}</p></Col>
<Col className="sectionHeaderResultSideCol"><img src="/avatarBlue.svg" />
<p>{" " + numVotes} votants</p></Col>
</Row>
</Row> </Row>
<Row className="mt-5">
<Col> <section className="sectionContentResult mb-5">
<ol className="result"> <Row className="mt-5 componentDesktop">
<Col>
<ol className="result px-0">
{candidates.map((candidate, i) => {
const gradeValue = candidate.grade + offsetGrade;
return (
<li key={i} className="mt-2">
<span className="resultPosition">{i + 1}</span>
<span className="my-3">{candidate.name}</span>
<span
className="badge badge-light"
style={{
backgroundColor: grades.slice(0).reverse()[
candidate.grade
].color,
color: "#fff",
}}
>
{allGrades.slice(0).reverse()[gradeValue].label}
</span>
</li>
);
})}
</ol>
</Col>
</Row>
<Row className="mt-5">
<Col>
<h5>
<small>
{t("Détails des résultats")}
</small>
</h5>
{candidates.map((candidate, i) => { {candidates.map((candidate, i) => {
const gradeValue = candidate.grade + offsetGrade; const gradeValue = candidate.grade + offsetGrade;
return ( return (
<li key={i} className="mt-2"> <Card className="bg-light text-primary my-3">
<span className="mt-2 ml-2">{candidate.name}</span> <CardHeader
<span className="pointer"
className="badge badge-light ml-2 mt-2" onClick={() => setCollapseGraphics(!collapseGraphics)}
style={{
backgroundColor: grades.slice(0).reverse()[
candidate.grade
].color,
color: "#fff",
}}
> >
{allGrades.slice(0).reverse()[gradeValue].label} <h4
</span> className={
</li> "m-0 " + (collapseGraphics ? "collapsed" : "")
); }
})} >
</ol> <span key={i} className="d-flex panel-title justify-content-between">
<h5> <div className="d-flex">
<small> <span className="resultPositionCard mr-2">{i + 1}</span>
{t("resource.numVotes")} <span className="candidateName">{candidate.name}</span>
{" " + numVotes} </div>
</small> <div>
</h5> <span
</Col> className="badge badge-light"
</Row> style={{
backgroundColor: grades.slice(0).reverse()[
candidate.grade
].color,
color: "#fff",
}}
>
{allGrades.slice(0).reverse()[gradeValue].label}
</span>
<FontAwesomeIcon icon={faChevronDown} className="ml-2 openIcon" />
<FontAwesomeIcon icon={faChevronUp} className="ml-2 closeIcon" />
</div>
</span>
</h4>
</CardHeader>
<Collapse isOpen={collapseGraphics}>
<CardBody className="pt-5">
<Row className="column">
<Col>
{t("Preference profile")}
<div>
<div
className="median"
style={{ height: "40px" }}
/>
<div style={{ width: "100%" }}>
<div key={i}>
<Row className="mt-5"> {/*candidate.label*/}
<Col>
<Card className="bg-light text-primary"> <div style={{ width: "100%" }}>
<CardHeader
className="pointer" {gradeIds
onClick={() => setCollapseGraphics(!collapseGraphics)} .slice(0)
> .reverse()
<h4 .map((id, i) => {
className={ const value = candidate.profile[id];
"m-0 panel-title " + (collapseGraphics ? "collapsed" : "") if (value > 0) {
} let percent =
> (value * 100) / numVotes + "%";
{t("Graph")} if (i === 0) {
</h4> percent = "auto";
</CardHeader>
<Collapse isOpen={collapseGraphics}>
<CardBody className="pt-5">
<div>
<div
className="median"
style={{ height: candidates.length * 28 + 30 }}
/>
<table style={{ width: "100%" }}>
<tbody>
{candidates.map((candidate, i) => {
return (
<tr key={i}>
<td style={{ width: "30px" }}>{i + 1}</td>
{/*candidate.label*/}
<td>
<table style={{ width: "100%" }}>
<tbody>
<tr>
{gradeIds
.slice(0)
.reverse()
.map((id, i) => {
const value = candidate.profile[id];
if (value > 0) {
let percent =
(value * 100) / numVotes + "%";
if (i === 0) {
percent = "auto";
}
return (
<td
key={i}
style={{
width: percent,
backgroundColor:
grades[i].color,
}}
>
&nbsp;
</td>
);
} else {
return null;
} }
})} return (
</tr> <div
</tbody> key={i}
</table> style={{
</td> width: percent,
</tr> backgroundColor:
); grades[i].color,
})} }}
</tbody> >
</table> &nbsp;
</div> </div>
<div className="mt-4"> );
<small> } else {
{candidates.map((candidate, i) => { return null;
return ( }
<span key={i}> })}
{i > 0 ? ", " : ""} </div></div></div>
<b>{i + 1}</b>: {candidate.name} </div>
</span> </Col>
); <Col><p>Graph bulles</p></Col>
})}
</small> </Row>
</div> <Row className="linkResult my-3">
<div className="mt-2"> <Link href="/"><a className="mx-auto">{t("Comment interpréter les résultats")}<FontAwesomeIcon icon={faChevronRight} className="ml-2 closeIcon" /></a></Link>
<small> </Row>
{grades.map((grade, i) => { </CardBody>
return ( </Collapse>
<span </Card>
key={i} );
className="badge badge-light mr-2 mt-2" })}
style={{ </Col>
backgroundColor: grade.color, </Row>
color: "#fff", <div className="componentMobile mt-5">
}} <Row>
> <Button className="cursorPointer btn-result btn-validation mb-5 btn btn-secondary"><img src="/arrowUpload.svg" /><p>Télécharger les résultats</p></Button>
{grade.label} </Row>
</span> <Row>
); <Button className="cursorPointer btn-result btn-validation mb-5 btn btn-secondary"><img src="/arrowL.svg" /><p>Partagez les résultats</p></Button>
})} </Row>
</small> </div>
</div> </section>
</CardBody> <Footer />
</Collapse>
</Card>
</Col>
</Row>
<Row className="mt-3">
<Col>
<Card className="bg-light text-primary">
<CardHeader
className="pointer"
onClick={() => setCollapseProfiles(!collapseProfiles)}
>
<h4
className={
"m-0 panel-title " + (collapseProfiles ? "collapsed" : "")
}
>
{t("Preference profile")}
</h4>
</CardHeader>
<Collapse isOpen={collapseProfiles}>
<CardBody>
<div className="table-responsive">
<Table className="profiles">
<thead>
<tr>
<th>#</th>
{grades.map((grade, i) => {
return (
<th key={i}>
<span
className="badge badge-light"
style={{
backgroundColor: grade.color,
color: "#fff",
}}
>
{grade.label}{" "}
</span>
</th>
);
})}
</tr>
</thead>
<tbody>
{candidates.map((candidate, i) => {
return (
<tr key={i}>
<td>{i + 1}</td>
{gradeIds
.slice(0)
.reverse()
.map((id, i) => {
const value = candidate.profile[id];
const percent = (
(value / numVotes) *
100
).toFixed(1);
return <td key={i}>{percent} %</td>;
})}
</tr>
);
})}
</tbody>
</Table>
</div>
<small>
{candidates.map((candidate, i) => {
return (
<span key={i}>
{i > 0 ? ", " : ""}
<b>{i + 1}</b>: {candidate.name}
</span>
);
})}
</small>
</CardBody>
</Collapse>
</Card>
</Col>
</Row>
<Row>
<Col xs="12" className="text-center pt-2 pb-5">
<Facebook
className="btn btn-outline-light m-2"
text={t("Share results on Facebook")}
url={urlVote}
title={title}
/>
</Col>
</Row>
</Container> </Container>
); );
}; };
export default Result; export default Result;

@ -0,0 +1,620 @@
import { useState, useEffect } from "react";
import Head from "next/head";
import { useRouter } from "next/router";
import { useTranslation } from "next-i18next";
import { serverSideTranslations } from "next-i18next/serverSideTranslations";
import {
Collapse,
Container,
Row,
Col,
Input,
Label,
InputGroup,
InputGroupAddon,
Button,
Card,
CardBody,
} from "reactstrap";
import { ReactMultiEmail, isEmail } from "react-multi-email";
import "react-multi-email/style.css";
import { toast, ToastContainer } from "react-toastify";
import "react-toastify/dist/ReactToastify.css";
import queryString from "query-string";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import {
faPlus,
faTrashAlt,
faCheck,
faCogs,
faExclamationTriangle,
} from "@fortawesome/free-solid-svg-icons";
import { useAppContext } from "@services/context";
import { createElection } from "@services/api";
import { translateGrades } from "@services/grades";
import HelpButton from "@components/form/HelpButton";
import Loader from "@components/wait";
import CandidatesField from "@components/form/CandidatesField";
import ConfirmModal from "@components/form/ConfirmModal";
import config from "../../next-i18next.config.js";
import Modal from '../../components/Modal'
// Error messages
const AT_LEAST_2_CANDIDATES_ERROR = "Please add at least 2 candidates.";
const NO_TITLE_ERROR = "Please add a title.";
const isValidDate = (date) => date instanceof Date && !isNaN(date);
const getOnlyValidDate = (date) => (isValidDate(date) ? date : new Date());
// Convert a Date object into YYYY-MM-DD
const dateToISO = (date) =>
getOnlyValidDate(date).toISOString().substring(0, 10);
// Retrieve the current hour, minute, sec, ms, time into a timestamp
const hours = (date) => getOnlyValidDate(date).getHours() * 3600 * 1000;
const minutes = (date) => getOnlyValidDate(date).getMinutes() * 60 * 1000;
const seconds = (date) => getOnlyValidDate(date).getSeconds() * 1000;
const ms = (date) => getOnlyValidDate(date).getMilliseconds();
const time = (date) =>
hours(getOnlyValidDate(date)) +
minutes(getOnlyValidDate(date)) +
seconds(getOnlyValidDate(date)) +
ms(getOnlyValidDate(date));
// Retrieve the time part from a timestamp and remove the day. Return a int.
const timeMinusDate = (date) => time(getOnlyValidDate(date));
// Retrieve the day and remove the time. Return a Date
const dateMinusTime = (date) =>
new Date(getOnlyValidDate(date).getTime() - time(getOnlyValidDate(date)));
const displayClockOptions = () =>
Array(24)
.fill(1)
.map((x, i) => (
<option value={i} key={i}>
{i}h00
</option>
));
export const getStaticProps = async ({ locale }) => ({
props: {
...(await serverSideTranslations(locale, [], config)),
},
});
const CreateElection = (props) => {
const { t } = useTranslation();
// default value : start at the last hour
const now = new Date();
const [title, setTitle] = useState("");
const [candidates, setCandidates] = useState([{ label: "" }, { description: "" }]);
const [numGrades, setNumGrades] = useState(5);
const [waiting, setWaiting] = useState(false);
const [isAdvancedOptionsOpen, setAdvancedOptionsOpen] = useState(false);
const [isAddCandidateMOpen, setAddCandidateMOpen] = useState(false);
const [isTimeLimited, setTimeLimited] = useState(false);
const [restrictResult, setRestrictResult] = useState(false);
const [start, setStart] = useState(
new Date(now.getTime() - minutes(now) - seconds(now) - ms(now))
);
const [finish, setFinish] = useState(
new Date(start.getTime() + 7 * 24 * 3600 * 1000)
);
const [emails, setEmails] = useState([]);
// set the title on loading
const router = useRouter();
useEffect(() => {
if (!router.isReady) return;
const { title: urlTitle } = router.query;
setTitle(urlTitle || "");
}, [router.isReady]);
const handleIsTimeLimited = (event) => {
setTimeLimited(event.target.value === "1");
};
const handleRestrictResultCheck = (event) => {
setRestrictResult(event.target.value === "1");
};
const toggleAdvancedOptions = () => {
setAdvancedOptionsOpen(!isAdvancedOptionsOpen);
};
const toggleAddCandidateM = () => {
setAddCandidateMOpen(!isAddCandidateMOpen);
};
const addCandidate = () => {
if (candidates.length < 1000) {
candidates.push({ label: "" });
setCandidates(candidates);
}
};
const checkFields = () => {
if (!candidates) {
return { ok: false, msg: AT_LEAST_2_CANDIDATES_ERROR };
}
let numCandidates = 0;
candidates.forEach((c) => {
if (c.label !== "") numCandidates += 1;
});
if (numCandidates < 2) {
return { ok: false, msg: AT_LEAST_2_CANDIDATES_ERROR };
}
if (!title || title === "") {
return { ok: false, msg: NO_TITLE_ERROR };
}
return { ok: true, msg: "OK" };
};
const handleSubmit = () => {
const check = checkFields();
if (!check.ok) {
toast.error(t(check.msg), {
position: toast.POSITION.TOP_CENTER,
});
return;
}
setWaiting(true);
createElection(
title,
candidates.map((c) => c.label).filter((c) => c !== ""),
{
mails: emails,
numGrades,
start: start.getTime() / 1000,
finish: finish.getTime() / 1000,
restrictResult: restrictResult,
locale: router.locale.substring(0, 2).toLowerCase(),
},
(result) => {
if (result.id) {
router.push(`/new/confirm/${result.id}`);
} else {
toast.error(t("Unknown error. Try again please."), {
position: toast.POSITION.TOP_CENTER,
});
setWaiting(false);
}
}
);
};
const handleSendNotReady = (msg) => {
toast.error(t(msg), {
position: toast.POSITION.TOP_CENTER,
});
};
const check = checkFields();
const grades = translateGrades(t);
const [showModal, setShowModal] = useState(false);
return (
<Container className="addCandidatePage">
<Head>
<meta
key="og:title"
property="og:title"
content={t("common.application")}
/>
<meta
property="og:description"
key="og:description"
content={t("resource.valueProp")}
/>
</Head>
<ToastContainer />
{waiting ? <Loader /> : ""}
<form onSubmit={handleSubmit} autoComplete="off">
<Row className="stepForm">
<Col className="stepFormCol">
<img src="/icone-one-white.svg" />
<h4>Les candidats</h4>
</Col>
<Col className="stepFormCol">
<img src="/icone-two-dark.svg" />
<h4>Paramètres du vote</h4>
</Col>
<Col className="stepFormCol">
<img src="/icone-three-dark.svg" />
<h4>Confirmation</h4>
</Col>
</Row>
<Row className="mt-4">
<Col xs="12">
<CandidatesField onChange={setCandidates} />
</Col>
<Col
xs="12"
sm="6"
md="12"
className="text-center text-sm-right text-md-left"
>
<Button
color="link"
className="text-white mt-3 mb-1"
onClick={toggleAdvancedOptions}
>
<FontAwesomeIcon icon={faCogs} className="mr-2" />
{t("resource.advancedOptions")}
</Button>
</Col>
</Row>
<Collapse isOpen={isAdvancedOptionsOpen}>
<Card>
<CardBody className="text-primary">
<Row>
<Col xs="12" md="3" lg="3">
<Label for="title">{t("Access to results")}</Label>
</Col>
<Col xs="12" md="4" lg="3">
<Label className="radio " htmlFor="restrict_result_false">
<span className="small text-dark">{t("Immediately")}</span>
<input
className="radio"
type="radio"
name="restrict_result"
id="restrict_result_false"
onClick={handleRestrictResultCheck}
defaultChecked={!restrictResult}
value="0"
/>
<span className="checkround checkround-gray" />
</Label>
</Col>
<Col xs="12" md="4" lg="3">
<Label className="radio" htmlFor="restrict_result_true">
<span className="small">
<span className="text-dark">
{t("At the end of the election")}
</span>
<HelpButton className="ml-2">
{t(
"No one will be able to see the result until the end date is reached or until all participants have voted."
)}
</HelpButton>
</span>
<input
className="radio"
type="radio"
name="restrict_result"
id="restrict_result_true"
onClick={handleRestrictResultCheck}
defaultChecked={restrictResult}
value="1"
/>
<span className="checkround checkround-gray" />
</Label>
</Col>
</Row>
<hr className="mt-2 mb-2" />
<Row>
<Col xs="12" md="3" lg="3">
<Label for="title">{t("Voting time")}</Label>
</Col>
<Col xs="12" md="4" lg="3">
<Label className="radio " htmlFor="is_time_limited_false">
<span className="small text-dark">{t("Unlimited")}</span>
<input
className="radio"
type="radio"
name="time_limited"
id="is_time_limited_false"
onClick={handleIsTimeLimited}
defaultChecked={!isTimeLimited}
value="0"
/>
<span className="checkround checkround-gray" />
</Label>
</Col>
<Col xs="12" md="4" lg="3">
<Label className="radio" htmlFor="is_time_limited_true">
<span className="small">
<span className="text-dark">{t("Defined period")}</span>
</span>
<input
className="radio"
type="radio"
name="time_limited"
id="is_time_limited_true"
onClick={handleIsTimeLimited}
defaultChecked={isTimeLimited}
value="1"
/>
<span className="checkround checkround-gray" />
</Label>
</Col>
</Row>
<div
className={
(isTimeLimited ? "d-block " : "d-none") + " bg-light p-3"
}
>
<Row>
<Col xs="12" md="3" lg="3">
<span className="label">- {t("Starting date")}</span>
</Col>
<Col xs="6" md="4" lg="3">
<input
className="form-control"
type="date"
value={dateToISO(start)}
onChange={(e) => {
setStart(
new Date(
timeMinusDate(start) +
new Date(e.target.valueAsNumber).getTime()
)
);
}}
/>
</Col>
<Col xs="6" md="5" lg="3">
<select
className="form-control"
value={getOnlyValidDate(start).getHours()}
onChange={(e) =>
setStart(
new Date(
dateMinusTime(start).getTime() +
e.target.value * 3600000
)
)
}
>
{displayClockOptions()}
</select>
</Col>
</Row>
<Row className="mt-2">
<Col xs="12" md="3" lg="3">
<span className="label">- {t("Ending date")}</span>
</Col>
<Col xs="6" md="4" lg="3">
<input
className="form-control"
type="date"
value={dateToISO(finish)}
min={dateToISO(start)}
onChange={(e) => {
setFinish(
new Date(
timeMinusDate(finish) +
new Date(e.target.valueAsNumber).getTime()
)
);
}}
/>
</Col>
<Col xs="6" md="5" lg="3">
<select
className="form-control"
value={getOnlyValidDate(finish).getHours()}
onChange={(e) =>
setFinish(
new Date(
dateMinusTime(finish).getTime() +
e.target.value * 3600000
)
)
}
>
{displayClockOptions()}
</select>
</Col>
</Row>
</div>
<hr className="mt-2 mb-2" />
<Row>
<Col xs="12" md="3" lg="3">
<span className="label">{t("Grades")}</span>
</Col>
<Col xs="10" sm="11" md="4" lg="3">
<select
className="form-control"
tabIndex={candidates.length + 3}
onChange={(e) => setNumGrades(e.target.value)}
defaultValue="5"
>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select>
</Col>
<Col xs="auto" className="align-self-center pl-0 ">
<HelpButton>
{t(
"You can select here the number of grades for your election"
)}
<br />
<u>{t("For example:")}</u>{" "}
<em>
{" "}
{t("5 = Excellent, Very good, Good, Fair, Passable")}
</em>
</HelpButton>
</Col>
<Col
xs="12"
md="9"
lg="9"
className="offset-xs-0 offset-md-3 offset-lg-3"
>
{grades.map((mention, i) => {
return (
<span
key={i}
className="badge badge-light mr-2 mt-2 "
style={{
backgroundColor: mention.color,
color: "#fff",
opacity: i < numGrades ? 1 : 0.3,
}}
>
{mention.label}
</span>
);
})}
</Col>
</Row>
<hr className="mt-2 mb-2" />
<Row>
<Col xs="12" md="3" lg="3">
<span className="label">{t("Participants")}</span>
</Col>
<Col xs="12" md="9" lg="9">
<ReactMultiEmail
placeholder={t("Add here participants' emails")}
emails={emails}
onChange={setEmails}
validateEmail={(email) => {
return isEmail(email); // return boolean
}}
getLabel={(email, index, removeEmail) => {
return (
<div data-tag key={index}>
{email}
<span
data-tag-handle
onClick={() => removeEmail(index)}
>
×
</span>
</div>
);
}}
/>
<div>
<small className="text-muted">
{t(
"If you list voters' emails, only them will be able to access the election"
)}
</small>
</div>
</Col>
</Row>
<hr className="mt-2 mb-2" />
</CardBody>
</Card>
</Collapse>
<Row className="justify-content-end mt-2">
<Col xs="12" md="3">
{check.ok ? (
<ConfirmModal
title={title}
candidates={candidates}
isTimeLimited={isTimeLimited}
start={start}
finish={finish}
emails={emails}
restrictResult={restrictResult}
grades={grades.slice(0, numGrades)}
className={"btn btn-success float-right btn-block"}
tabIndex={candidates.length + 1}
confirmCallback={handleSubmit}
/>
) : (
<Button
type="button"
className="btn btn-dark float-right btn-block"
onClick={handleSendNotReady}
>
<FontAwesomeIcon icon={faCheck} className="mr-2" />
{t("Confirm")}
</Button>
)}
</Col>
</Row>
</form>
</Container>
);
};
export default CreateElection;

@ -1,9 +1,10 @@
import { useState } from "react"; import { useState, useCallback, useEffect } from "react";
import Head from "next/head"; import Head from "next/head";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import { serverSideTranslations } from "next-i18next/serverSideTranslations"; import { serverSideTranslations } from "next-i18next/serverSideTranslations";
import { useTranslation } from "next-i18next"; import { useTranslation } from "next-i18next";
import { Button, Col, Container, Row } from "reactstrap"; import { Button, Col, Container, Row, Modal, ModalHeader, ModalBody, } from "reactstrap";
import Link from "next/link";
import { toast, ToastContainer } from "react-toastify"; import { toast, ToastContainer } from "react-toastify";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faCheck } from "@fortawesome/free-solid-svg-icons"; import { faCheck } from "@fortawesome/free-solid-svg-icons";
@ -11,6 +12,10 @@ import { getDetails, castBallot, apiErrors } from "@services/api";
import Error from "@components/Error"; import Error from "@components/Error";
import { translateGrades } from "@services/grades"; import { translateGrades } from "@services/grades";
import config from "../../../next-i18next.config.js"; import config from "../../../next-i18next.config.js";
import Footer from '@components/layouts/Footer'
import useEmblaCarousel from 'embla-carousel-react'
import { DotButton, PrevButton, NextButton } from "../../../components/form/EmblaCarouselButtons";
import VoteButtonWithConfirm from "../../../components/form/VoteButtonWithConfirm";
const shuffle = (array) => array.sort(() => Math.random() - 0.5); const shuffle = (array) => array.sort(() => Math.random() - 0.5);
@ -35,7 +40,7 @@ export async function getServerSideProps({ query: { pid, tid }, locale }) {
...translations, ...translations,
invitationOnly: details.on_invitation_only, invitationOnly: details.on_invitation_only,
restrictResults: details.restrict_results, restrictResults: details.restrict_results,
candidates: details.candidates.map((name, i) => ({ id: i, label: name })), candidates: details.candidates.map((name, i, infos) => ({ id: i, label: name, description: infos })),
title: details.title, title: details.title,
numGrades: details.num_grades, numGrades: details.num_grades,
pid: pid, pid: pid,
@ -80,9 +85,7 @@ const VoteBallot = ({ candidates, title, numGrades, pid, err, token }) => {
}; };
const handleSubmitWithoutAllRate = () => { const handleSubmitWithoutAllRate = () => {
toast.error(t("You have to judge every candidate/proposal!"), { alert(t("You have to judge every candidate/proposal!"));
position: toast.POSITION.TOP_CENTER,
});
}; };
const handleSubmit = (event) => { const handleSubmit = (event) => {
@ -101,9 +104,41 @@ const VoteBallot = ({ candidates, title, numGrades, pid, err, token }) => {
router.push(`/vote/${pid}/confirm`); router.push(`/vote/${pid}/confirm`);
}); });
}; };
const toggle = () => setVisibility(!visibled)
const [visibled, setVisibility] = useState(false);
const toggleMobile = () => setVisibilityMobile(!visibledMobile)
const [visibledMobile, setVisibilityMobile] = useState(false);
const toggleDesktop = () => setVisibilityDesktop(!visibledDesktop)
const [visibledDesktop, setVisibilityDesktop] = useState(false);
const [viewportRef, embla] = useEmblaCarousel({ skipSnaps: false });
const [prevBtnEnabled, setPrevBtnEnabled] = useState(false);
const [nextBtnEnabled, setNextBtnEnabled] = useState(false);
const [selectedIndex, setSelectedIndex] = useState(0);
const [scrollSnaps, setScrollSnaps] = useState([]);
const scrollPrev = useCallback(() => embla && embla.scrollPrev(), [embla]);
const scrollNext = useCallback(() => embla && embla.scrollNext(), [embla]);
const scrollTo = useCallback((index) => embla && embla.scrollTo(index), [
embla
]);
const onSelect = useCallback(() => {
if (!embla) return;
setSelectedIndex(embla.selectedScrollSnap());
setPrevBtnEnabled(embla.canScrollPrev());
setNextBtnEnabled(embla.canScrollNext());
}, [embla, setSelectedIndex]);
useEffect(() => {
if (!embla) return;
onSelect();
setScrollSnaps(embla.scrollSnapList());
embla.on("select", onSelect);
}, [embla, setScrollSnaps, onSelect]);
return ( return (
<Container> <Container className="homePage">
<Head> <Head>
<title>{title}</title> <title>{title}</title>
@ -114,157 +149,453 @@ const VoteBallot = ({ candidates, title, numGrades, pid, err, token }) => {
key="og:description" key="og:description"
content={t("common.application")} content={t("common.application")}
/> />
</Head> </Head>
<ToastContainer /> <ToastContainer />
<form onSubmit={handleSubmit} autoComplete="off"> <Container className="homePage">
<Row> <section>
<Col> <div className="sectionOneHomeForm pb-5">
<h3>{title}</h3> <Row className="sectionOneHomeRowOne">
</Col> <Col className="sectionOneHomeContent sectionOneVoteContent">
</Row> <Row>
<Row className="cardVote d-none d-lg-flex"> <img
<Col src="/logos/logo.svg"
xs={colSizeCandidateXs} alt="logo of Mieux Voter"
md={colSizeCandidateMd} height="128"
lg={colSizeCandidateLg} className="d-block mb-5"
> />
<h5>&nbsp;</h5> </Row>
</Col> <Row>
{grades.map((grade, gradeId) => { <h2 className="mb-4 mt-5">{t("Bienvenue")}</h2>
return gradeId < numGrades ? ( </Row>
<Col <Row>
xs={colSizeGradeXs} <h4 className="mb-5">{t("Participez au vote et découvrez le vote par jugement majoritaire.")}</h4>
md={colSizeGradeMd} </Row>
lg={colSizeGradeLg}
key={gradeId} <Row>
className="text-center p-0" <Button
style={{ lineHeight: 2 }} type="submit"
> className="btn btn-block btn-secondary voteDesktop"
<small onClick={toggleDesktop}
className="nowrap bold badge" >
style={{ backgroundColor: grade.color, color: "#fff" }} {t("Je participe au vote")}
> <img src="/arrow-white.svg" className="mr-2" />
{grade.label} </Button>
</small> <Button
type="submit"
className="btn btn-block btn-secondary voteMobile"
onClick={toggleMobile}
>
{t("Je participe au vote")}
<img src="/arrow-white.svg" className="mr-2" />
</Button>
</Row>
<Row className="noAds my-0">
<p>{t("resource.noAds")}</p>
</Row>
<Row>
<Link href="/">
<Button className="btn-black mt-2 mb-5">
{t("En savoir plus sur Mieux voter")}
</Button>
</Link>
</Row>
</Col> </Col>
) : null; <Col></Col>
})} </Row>
</Row> <Row>
{candidates.map((candidate, candidateId) => { </Row>
return ( </div>
<Row key={candidateId} className="cardVote"> </section>
<Col <section className="sectionTwoHome">
xs={colSizeCandidateXs} <Row className="sectionTwoRowOne">
md={colSizeCandidateMd} <Col className="sectionTwoRowOneCol">
lg={colSizeCandidateLg} <img
> src="/urne.svg"
<h5 className="m-0">{candidate.label}</h5> alt="icone d'urne"
<hr className="d-lg-none" /> height="128"
className="d-block mx-auto"
/>
<h4>Simple</h4>
<p>Créez un vote en moins dune minute</p>
</Col>
<Col className="sectionTwoRowOneCol">
<img
src="/email.svg"
alt="icone d'enveloppe"
height="128"
className="d-block mx-auto"
/>
<h4>Gratuit</h4>
<p>Envoyez des invitations par courriel sans limite d'envoi</p>
</Col>
<Col className="sectionTwoRowOneCol">
<img
src="/respect.svg"
alt="icone de mains qui se serrent"
height="128"
className="d-block mx-auto"
/>
<h4>Respect de votre vie privée</h4>
<p>Aucune donnée personnelle n'est enregistrée</p>
</Col>
</Row>
<Row className="sectionTwoRowTwo">
<Row className="sectionTwoHomeImage">
<img src="/vote.svg" />
</Row>
<Row className="sectionTwoRowTwoCol">
<h3 className="col-md-7">Une expérience de vote démocratique et intuitive</h3>
</Row>
<Row className="sectionTwoRowTwoCol">
<Col className="sectionTwoRowTwoColText col-md-4">
<h5 className="">Exprimez toute votre opinion</h5>
<p>Au jugement majoritaire, chaque candidat est évalué sur une grille de mention. Vous naurez plus besoin de faire un vote stratégique.</p>
</Col> </Col>
{grades.map((grade, gradeId) => { <Col className="sectionTwoRowTwoColText col-md-4 offset-md-1">
console.assert(gradeId < numGrades); <h5 className="">Obtenez le meilleur consensus</h5>
const gradeValue = grade.value; <p>Le profil des mérites dresse un panorama précis de lopinion des électeurs. Le gagnant du vote est celui qui est la meilleure mention majoritaire.</p>
</Col>
</Row>
<Row className="sectionTwoRowThreeCol">
<Button
className="btn btn-block btn-secondary btn-sectionTwoHome"
>
Découvrez le jugement majoritaire
<img src="/arrow-white.svg" className="mr-2" />
</Button>
</Row>
</Row>
<Row className="sharing">
<p>Partagez lapplication Mieux voter</p>
<Link href="https://www.facebook.com/mieuxvoter.fr/"><img src="/facebook.svg" className="mr-2" /></Link>
<Link href="https://twitter.com/mieux_voter"><img src="/twitter.svg" className="mr-2" /></Link>
</Row>
</section>
<Footer />
</Container>
<Modal
isOpen={visibledDesktop}
toggle={toggleDesktop}
className="modalVote voteDesktop"
><div className="my-auto">
<ModalHeader className="modalVoteHeader">
{title}
</ModalHeader>
<ModalBody className="modalVoteBody">
<form onSubmit={handleSubmit} autoComplete="off">
{candidates.map((candidate, candidateId) => {
return ( return (
<Col <Row key={candidateId} className="cardVote">
xs={colSizeGradeXs} <Col className="cardVoteLabel">
md={colSizeGradeMd} <h5 className="m-0">{candidate.label}</h5>
lg={colSizeGradeLg} <h5 className="m-0">{candidate.infos}</h5>
key={gradeId} </Col>
className="text-lg-center" <Col className="cardVoteGrades">
> {grades.map((grade, gradeId) => {
<label console.assert(gradeId < numGrades);
htmlFor={ const gradeValue = grade.value;
"candidateGrade" + candidateId + "-" + gradeValue return (
} <Col
className="check"
> key={gradeId}
<small className="text-lg-center mx-2 voteCheck"
className="nowrap d-lg-none ml-2 bold badge" >
style={ <label
judgments.find((judgment) => { htmlFor={
return ( "candidateGrade" + candidateId + "-" + gradeValue
JSON.stringify(judgment) ===
JSON.stringify({
id: candidate.id,
value: gradeValue,
})
);
})
? { backgroundColor: grade.color, color: "#fff" }
: {
backgroundColor: "transparent",
color: "#000",
}
}
>
{grade.label}
</small>
<input
type="radio"
name={"candidate" + candidateId}
id={"candidateGrade" + candidateId + "-" + gradeValue}
data-index={candidateId}
data-id={candidate.id}
value={grade.value}
onClick={handleGradeClick}
defaultChecked={judgments.find((element) => {
return (
JSON.stringify(element) ===
JSON.stringify({
id: candidate.id,
value: gradeValue,
})
);
})}
/>
<span
className="checkmark"
style={
judgments.find(function (judgment) {
return (
JSON.stringify(judgment) ===
JSON.stringify({
id: candidate.id,
value: gradeValue,
})
);
})
? { backgroundColor: grade.color, color: "#fff" }
: {
backgroundColor: "transparent",
color: "#000",
} }
} className="check"
/> >
</label> <small
</Col> className="nowrap d-lg-none ml-2 bold badge"
style={
judgments.find((judgment) => {
return (
JSON.stringify(judgment) ===
JSON.stringify({
id: candidate.id,
value: gradeValue,
})
);
})
? { backgroundColor: grade.color, color: "#fff" }
: {
backgroundColor: "transparent",
color: "#000",
}
}
>
{grade.label}
</small>
<input
type="radio"
name={"candidate" + candidateId}
id={"candidateGrade" + candidateId + "-" + gradeValue}
data-index={candidateId}
data-id={candidate.id}
value={grade.value}
onClick={handleGradeClick}
defaultChecked={judgments.find((element) => {
return (
JSON.stringify(element) ===
JSON.stringify({
id: candidate.id,
value: gradeValue,
})
);
})}
/>
<span
className="checkmark candidateGrade "
style={
judgments.find(function (judgment) {
return (
JSON.stringify(judgment) ===
JSON.stringify({
id: candidate.id,
value: gradeValue,
})
);
})
? { backgroundColor: grade.color, color: "#fff" }
: {
backgroundColor: "#C3BFD8",
color: "#000",
}
}
>
<small
className="nowrap bold badge"
style={{ backgroundColor: "transparent", color: "#fff" }}
>
{grade.label}
</small>
</span>
</label>
</Col>
);
})}
</Col>
</Row>
); );
})} })}
</Row>
);
})}
<Row> <Row>
<Col className="text-center">
{judgments.length !== candidates.length ? (
<VoteButtonWithConfirm className="btn btn-transparent my-3" action={handleSubmitWithoutAllRate} onClick={toggle} />
) : (
<Button type="submit" className="mt-5 btn btn-transparent">
<FontAwesomeIcon icon={faCheck} className="mr-2" />
{t("Submit my vote")}
</Button>
)}
</Col>
</Row>
</form>
</ModalBody>
</div>
<Footer />
</Modal>
<Modal
isOpen={visibledMobile}
toggle={toggleMobile}
className="modalVote voteMobile"
><div className="my-auto">
<ModalHeader className="modalVoteHeader">
{title}
</ModalHeader>
<ModalBody className="modalVoteBody">
<form onSubmit={handleSubmit} autoComplete="off">
<div className="embla" ref={viewportRef}>
<div className="embla__container">
{candidates.map((candidate, candidateId) => {
return (
<div className="embla__slide">
<Row key={candidateId} className="cardVote">
<Col className="cardVoteLabel mb-3">
<h5 className="m-0">{candidate.label}</h5>
<h5 className="m-0">{candidate.id + 1}</h5>
</Col>
<Col className="cardVoteGrades">
{grades.map((grade, gradeId) => {
console.assert(gradeId < numGrades);
const gradeValue = grade.value;
return (
<Col
key={gradeId}
className="text-lg-center my-1 voteCheck"
>
<label
htmlFor={
"candidateGrade" + candidateId + "-" + gradeValue
}
className="check"
>
<small
className="nowrap d-lg-none ml-2 bold badge"
style={
judgments.find((judgment) => {
return (
JSON.stringify(judgment) ===
JSON.stringify({
id: candidate.id,
value: gradeValue,
})
);
})
? { backgroundColor: grade.color, color: "#fff" }
: {
backgroundColor: "transparent",
color: "#000",
}
}
>
{grade.label}
</small>
<input
type="radio"
name={"candidate" + candidateId}
id={"candidateGrade" + candidateId + "-" + gradeValue}
data-index={candidateId}
data-id={candidate.id}
value={grade.value}
onClick={handleGradeClick}
defaultChecked={judgments.find((element) => {
return (
JSON.stringify(element) ===
JSON.stringify({
id: candidate.id,
value: gradeValue,
})
);
})}
/>
<span
className="checkmark candidateGrade "
style={
judgments.find(function (judgment) {
return (
JSON.stringify(judgment) ===
JSON.stringify({
id: candidate.id,
value: gradeValue,
})
);
})
? { backgroundColor: grade.color, color: "#fff" }
: {
backgroundColor: "#C3BFD8",
color: "#000",
}
}
>
<small
className="nowrap bold badge"
style={{ backgroundColor: "transparent", color: "#fff" }}
>
{grade.label}
</small>
</span>
</label>
</Col>
);
})}
</Col>
</Row>
<div className="d-flex embla__nav">
<div className="embla__btn embla__prev" onClick={scrollPrev}>
{candidate.id + 1}
</div>
<div className="embla__btn embla__next" onClick={scrollNext}>
Next
</div>
</div>
</div>
);
})}
</div>
<div className="embla__dots">
{scrollSnaps.map((_, index) => (
<DotButton
key={index}
selected={index === selectedIndex}
onClick={() => scrollTo(index)}
value={index + 1}
/>
))}
</div>
</div>
</form>
</ModalBody>
</div>
<Row className="btn-background mx-0">
<Col className="text-center"> <Col className="text-center">
{judgments.length !== candidates.length ? ( {judgments.length !== candidates.length ? (
<Button <VoteButtonWithConfirm className="btn btn-transparent my-3" action={handleSubmitWithoutAllRate} onClick={toggle} />
type="button"
onClick={handleSubmitWithoutAllRate}
className="btn btn-dark "
>
<FontAwesomeIcon icon={faCheck} className="mr-2" />
{t("Submit my vote")}
</Button>
) : ( ) : (
<Button type="submit" className="btn btn-success ">
<Button type="submit" className="my-3 btn btn-transparent">
<FontAwesomeIcon icon={faCheck} className="mr-2" /> <FontAwesomeIcon icon={faCheck} className="mr-2" />
{t("Submit my vote")} {t("Submit my vote")}
</Button> </Button>
)} )}
</Col> </Col>
</Row> </Row>
</form> <Footer />
</Modal>
</Container> </Container>
); );
}; };

@ -1,13 +1,16 @@
import Head from "next/head"; import Head from "next/head";
import { Col, Container, Row } from "reactstrap"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faChevronRight } from "@fortawesome/free-solid-svg-icons";
import { Col, Container, Row, Button } from "reactstrap";
import Link from "next/link"; import Link from "next/link";
import { useTranslation } from "next-i18next"; import { useTranslation } from "next-i18next";
import { serverSideTranslations } from "next-i18next/serverSideTranslations"; import { serverSideTranslations } from "next-i18next/serverSideTranslations";
import Paypal from "@components/banner/Paypal"; import PaypalNoLogo from "@components/banner/PaypalNoLogo";
import Gform from "@components/banner/Gform"; import Gform from "@components/banner/Gform";
import Error from "@components/Error"; import Error from "@components/Error";
import { getDetails, apiErrors } from "@services/api"; import { getDetails, apiErrors } from "@services/api";
import config from "../../../next-i18next.config.js"; import config from "../../../next-i18next.config.js";
import { motion } from 'framer-motion/dist/framer-motion';
export async function getServerSideProps({ query: { pid }, locale }) { export async function getServerSideProps({ query: { pid }, locale }) {
const [details, translations] = await Promise.all([ const [details, translations] = await Promise.all([
@ -43,7 +46,7 @@ const VoteSuccess = ({ title, invitationOnly, pid, err }) => {
} }
return ( return (
<Container> <Container className="full-height-container">
<Head> <Head>
<title>{t("resource.voteSuccess")}</title> <title>{t("resource.voteSuccess")}</title>
<link rel="icon" href="/favicon.ico" /> <link rel="icon" href="/favicon.ico" />
@ -54,26 +57,127 @@ const VoteSuccess = ({ title, invitationOnly, pid, err }) => {
content={t("common.application")} content={t("common.application")}
/> />
</Head> </Head>
<Row>
<Link href="/"> <motion.div
<a className="d-block ml-auto mr-auto mb-4"> className="mx-auto"
<img src="/logos/logo-line-white.svg" alt="logo" height="128" /> initial={{ scale: 1, paddingBottom: '200px' }}
</a> animate={{ scale: 0.5, paddingBottom: '0px' }}
</Link> transition={{
</Row> type: "spring",
<Row className="mt-4"> damping: 100,
<Col className="text-center offset-lg-3" lg="6"> delay: 3
<h2>{t("resource.voteSuccess")}</h2> }}
<p>{t("resource.thanks")}</p> >
<div className="mt-3"> <Row>
<Gform className="btn btn-secondary" /> <motion.div
</div> className="main-animation"
<div className="mt-5"> initial={{ opacity: 0 }}
<Paypal btnColor="btn-success" /> animate={{ opacity: 1 }}
transition={{
type: "spring",
damping: 20,
delay: 1
}}
>
<motion.div
className="vote-animation"
initial={{ scale: 0, y: 50 }}
animate={{ scale: 1, y: 0 }}
transition={{
type: "spring",
stiffness: 260,
damping: 20,
delay: 1
}}
>
<img src="/vote.svg" />
</motion.div>
<motion.div
className="star-animation"
initial={{ scale: 0 }}
animate={{ scale: 1 }}
transition={{
type: "spring",
damping: 20,
delay: 2
}}
>
<img src="/vote-star.svg" />
</motion.div>
</motion.div>
</Row>
</motion.div>
<motion.div
className=""
initial={{ scale: 0, opacity: 0, y: 100 }}
animate={{ scale: 1, opacity: 1, y: -70 }}
transition={{
type: "spring",
damping: 100,
delay: 4
}}
>
<Row className="mt-4 px-3 confirmRowOne">
<Col className="text-center">
<h2 className="confirmH2">{t("resource.voteSuccess")}</h2>
<Button className="voteDesktop mx-auto mt-4 mb-5">
{t("Voir les résultats")}
<img src="/arrow-white.svg" className="mr-2" />
</Button>
<Button className="voteMobile mx-auto mt-4 mb-5">
{t("Voir les résultats")}
<img src="/arrow-white.svg" className="mr-2" />
</Button>
</Col>
</Row>
<Row className="confirmRowTwo justify-content-center mb-5 px-4">
<Col className="confirmLeft">
<h2 className="confirmH2 mb-4">{t("Découvrez le jugement majoritaire")}</h2>
<p>{t("créé par des chercheurs français, le jugement majoritaire est un mode de scrutin qui améliore lexpressivité des électeurs et fournit le meilleur consensus.")}</p>
<Link href="/"><div>{t("En savoir plus")}<FontAwesomeIcon icon={faChevronRight} className="ml-2" /></div></Link>
</Col>
<Col className="confirmRight">
<Row className="align-items-center">
<Col xs="8" className="pr-0">
<h2 className="confirmH2">{t("Soutenez Mieux Voter")}</h2>
</Col>
<Col xs="4" className="text-right">
<img src="/logo-red-blue.svg" alt="logo of Mieux Voter" />
</Col>
</Row>
<p className="pt-4">{t("Mieux Voter est une association transpartisane et sans but lucratif. En adhérant à lassociation, vous contribuez à financer son fonctionnement et ses activités. ")}</p>
<PaypalNoLogo />
</Col>
</Row>
<Row>
<Col className="text-center col-md-3 mx-auto my-5 thanksVote">
<h4>{t("resource.thanks")}</h4>
<p>{t("Aidez nous à améliorer lapplication en cliquant ci-dessous")}</p>
<Gform className="btn btn-secondary mt-3 mx-auto" />
</Col>
</Row>
<div className="mx-auto my-5">
<Row className="justify-content-center">
<Link href="https://www.facebook.com/mieuxvoter.fr/"><img src="/facebook.svg" className="mr-2" /></Link>
<p className="m-0">{t("Faites découvrir lapplication a vos amis")}</p>
</Row>
</div> </div>
</Col>
</Row>
</Container> </motion.div>
</Container >
); );
}; };
export default VoteSuccess; export default VoteSuccess;

@ -0,0 +1,6 @@
<svg width="207" height="206" viewBox="0 0 207 206" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="103.5" cy="63" r="63" fill="#3A9918"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 165 B

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
version="1.1"
id="svg834"
sodipodi:docname="arrow-blue.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs838" />
<sodipodi:namedview
id="namedview836"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="19.708333"
inkscape:cx="12"
inkscape:cy="12"
inkscape:window-width="1366"
inkscape:window-height="705"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg834" />
<path
d="M 5,11 H 4 v 2 h 1 z m 14,1 0.7071,0.7071 L 20.4142,12 19.7071,11.2929 Z M 12.7071,4.29289 12,3.58579 10.5858,5 11.2929,5.70711 Z M 11.2929,18.2929 10.5858,19 12,20.4142 12.7071,19.7071 Z M 5,13 H 19 V 11 H 5 Z m 6.2929,-7.29289 7,6.99999 1.4142,-1.4142 -7,-7.00001 z m 7,5.58579 -7,7 1.4142,1.4142 7,-7 z"
fill="#ffffff"
id="path832"
style="fill:#2400fd;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M19 11H20V13H19V11ZM5 12L4.29289 12.7071L3.58579 12L4.29289 11.2929L5 12ZM11.2929 4.29289L12 3.58579L13.4142 5L12.7071 5.70711L11.2929 4.29289ZM12.7071 18.2929L13.4142 19L12 20.4142L11.2929 19.7071L12.7071 18.2929ZM19 13H5V11H19V13ZM12.7071 5.70711L5.70711 12.7071L4.29289 11.2929L11.2929 4.29289L12.7071 5.70711ZM5.70711 11.2929L12.7071 18.2929L11.2929 19.7071L4.29289 12.7071L5.70711 11.2929Z" fill="#0A004C"/>
</svg>

After

Width:  |  Height:  |  Size: 525 B

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5 11H4V13H5V11ZM19 12L19.7071 12.7071L20.4142 12L19.7071 11.2929L19 12ZM12.7071 4.29289L12 3.58579L10.5858 5L11.2929 5.70711L12.7071 4.29289ZM11.2929 18.2929L10.5858 19L12 20.4142L12.7071 19.7071L11.2929 18.2929ZM5 13H19V11H5V13ZM11.2929 5.70711L18.2929 12.7071L19.7071 11.2929L12.7071 4.29289L11.2929 5.70711ZM18.2929 11.2929L11.2929 18.2929L12.7071 19.7071L19.7071 12.7071L18.2929 11.2929Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 521 B

@ -0,0 +1,3 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.3333 2.5V4.16667H4.16664V15.8333H15.8333V11.6667H17.5L17.5 17.5C17.5 17.5 4.33801 17.5 2.49997 17.5C2.49997 17.5 2.42533 2.5 2.49997 2.5H8.3333ZM14.655 4.16667H10.8333V2.5H17.5V9.16667H15.8333V5.345L9.99997 11.1783L8.82164 10L14.655 4.16667Z" fill="#8F88BA"/>
</svg>

After

Width:  |  Height:  |  Size: 375 B

@ -0,0 +1,3 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M2.5 15.8332H17.5V17.4998H2.5V15.8332ZM10.8333 10.9765L15.8925 5.9165L17.0708 7.09484L10 14.1665L2.92917 7.09567L4.1075 5.9165L9.16667 10.9748V1.6665H10.8333V10.9765Z" fill="#8F88BA"/>
</svg>

After

Width:  |  Height:  |  Size: 297 B

@ -0,0 +1,3 @@
<svg width="72" height="72" viewBox="0 0 72 72" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M36.0011 51C46.9871 51 56.5961 55.725 61.8221 62.775L56.2961 65.388C52.0421 60.348 44.5421 57 36.0011 57C27.4601 57 19.9601 60.348 15.7061 65.388L10.1831 62.772C15.4091 55.722 25.0151 51 36.0011 51ZM36.0011 6C39.9794 6 43.7947 7.58035 46.6077 10.3934C49.4208 13.2064 51.0011 17.0218 51.0011 21V30C51.0009 33.8654 49.5085 37.5815 46.8351 40.3733C44.1618 43.1652 40.5139 44.8172 36.6521 44.985L36.0011 45C32.0229 45 28.2076 43.4196 25.3945 40.6066C22.5815 37.7936 21.0011 33.9782 21.0011 30V21C21.0013 17.1346 22.4937 13.4185 25.1671 10.6267C27.8404 7.83482 31.4884 6.18276 35.3501 6.015L36.0011 6ZM36.0011 12C33.7055 11.9999 31.4966 12.877 29.8263 14.4519C28.1561 16.0267 27.1508 18.1803 27.0161 20.472L27.0011 21V30C26.9988 32.3427 27.9102 34.594 29.5414 36.2755C31.1727 37.9569 33.3953 38.9361 35.737 39.0048C38.0787 39.0735 40.3549 38.2265 42.082 36.6436C43.8091 35.0607 44.8509 32.8668 44.9861 30.528L45.0011 30V21C45.0011 18.6131 44.0529 16.3239 42.3651 14.636C40.6772 12.9482 38.3881 12 36.0011 12Z" fill="#2400FD"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" fill="white" fill-opacity="0.16"/>
<path d="M11.9998 15.333C14.4412 15.333 16.5765 16.383 17.7378 17.9497L16.5098 18.5303C15.5645 17.4103 13.8978 16.6663 11.9998 16.6663C10.1018 16.6663 8.43518 17.4103 7.48985 18.5303L6.26251 17.949C7.42385 16.3823 9.55851 15.333 11.9998 15.333ZM11.9998 5.33301C12.8839 5.33301 13.7317 5.6842 14.3569 6.30932C14.982 6.93444 15.3332 7.78229 15.3332 8.66634V10.6663C15.3331 11.5253 15.0015 12.3511 14.4074 12.9715C13.8133 13.5919 13.0027 13.9591 12.1445 13.9963L11.9998 13.9997C11.1158 13.9997 10.2679 13.6485 9.64282 13.0234C9.0177 12.3982 8.66651 11.5504 8.66651 10.6663V8.66634C8.66656 7.80737 8.99821 6.98157 9.59229 6.36116C10.1864 5.74075 10.997 5.37362 11.8552 5.33634L11.9998 5.33301ZM11.9998 6.66634C11.4897 6.66631 10.9988 6.86122 10.6277 7.2112C10.2565 7.56117 10.0331 8.03975 10.0032 8.54901L9.99985 8.66634V10.6663C9.99934 11.1869 10.2019 11.6872 10.5644 12.0609C10.9269 12.4345 11.4208 12.6521 11.9412 12.6674C12.4615 12.6827 12.9674 12.4945 13.3512 12.1427C13.735 11.791 13.9665 11.3034 13.9965 10.7837L13.9998 10.6663V8.66634C13.9998 8.13591 13.7891 7.6272 13.4141 7.25213C13.039 6.87705 12.5303 6.66634 11.9998 6.66634Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" fill="white" fill-opacity="0.16"/>
<path d="M11.9998 15.333C14.4412 15.333 16.5765 16.383 17.7378 17.9497L16.5098 18.5303C15.5645 17.4103 13.8978 16.6663 11.9998 16.6663C10.1018 16.6663 8.43518 17.4103 7.48985 18.5303L6.26251 17.949C7.42385 16.3823 9.55851 15.333 11.9998 15.333ZM11.9998 5.33301C12.8839 5.33301 13.7317 5.6842 14.3569 6.30932C14.982 6.93444 15.3332 7.78229 15.3332 8.66634V10.6663C15.3331 11.5253 15.0015 12.3511 14.4074 12.9715C13.8133 13.5919 13.0027 13.9591 12.1445 13.9963L11.9998 13.9997C11.1158 13.9997 10.2679 13.6485 9.64282 13.0234C9.0177 12.3982 8.66651 11.5504 8.66651 10.6663V8.66634C8.66656 7.80737 8.99821 6.98157 9.59229 6.36116C10.1864 5.74075 10.997 5.37362 11.8552 5.33634L11.9998 5.33301ZM11.9998 6.66634C11.4897 6.66631 10.9988 6.86122 10.6277 7.2112C10.2565 7.56117 10.0331 8.03975 10.0032 8.54901L9.99985 8.66634V10.6663C9.99934 11.1869 10.2019 11.6872 10.5644 12.0609C10.9269 12.4345 11.4208 12.6521 11.9412 12.6674C12.4615 12.6827 12.9674 12.4945 13.3512 12.1427C13.735 11.791 13.9665 11.3034 13.9965 10.7837L13.9998 10.6663V8.66634C13.9998 8.13591 13.7891 7.6272 13.4141 7.25213C13.039 6.87705 12.5303 6.66634 11.9998 6.66634Z" fill="#2400FD"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -0,0 +1,42 @@
<svg width="1440" height="900" viewBox="0 0 1440 900" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.64" clip-path="url(#clip0_78_1977)">
<rect width="1440" height="1001" fill="#0A004C"/>
<g opacity="0.08" filter="url(#filter0_f_78_1977)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1440 450.639V705.259L507.34 1637.92L0.000501283 1130.58L0.000488281 875.959L507.34 1383.3L1440 450.639Z" fill="white"/>
</g>
<g opacity="0.08" filter="url(#filter1_f_78_1977)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1440 -452V-197.38L507.34 735.281L0.000501283 227.941L0.000488281 -26.6793L507.34 480.661L1440 -452Z" fill="white"/>
</g>
<g opacity="0.08" filter="url(#filter2_f_78_1977)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1440 8.13684V262.757L507.34 1195.42L-7.66891e-07 688.075L-1.37685e-05 433.455L507.34 940.796L1440 8.13684Z" fill="white"/>
</g>
<g opacity="0.08" filter="url(#filter3_f_78_1977)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1440 -925V-670.38L507.34 262.279L-7.66821e-07 -245.062L-1.37685e-05 -499.682L507.34 7.65894L1440 -925Z" fill="white"/>
</g>
</g>
<defs>
<filter id="filter0_f_78_1977" x="-87.9995" y="362.639" width="1616" height="1363.28" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="44" result="effect1_foregroundBlur_78_1977"/>
</filter>
<filter id="filter1_f_78_1977" x="-152" y="-604" width="1744" height="1491.28" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="76" result="effect1_foregroundBlur_78_1977"/>
</filter>
<filter id="filter2_f_78_1977" x="-128" y="-119.863" width="1696" height="1443.28" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="64" result="effect1_foregroundBlur_78_1977"/>
</filter>
<filter id="filter3_f_78_1977" x="-152" y="-1077" width="1744" height="1491.28" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="76" result="effect1_foregroundBlur_78_1977"/>
</filter>
<clipPath id="clip0_78_1977">
<rect width="1440" height="1001" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

@ -0,0 +1,11 @@
<svg width="1440" height="900" viewBox="0 0 1440 900" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.16" clip-path="url(#clip0_281_8825)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M2003.06 -624.977V-217.574L510.764 1274.72L-301 462.955L-301 55.5528L510.764 867.318L2003.06 -624.977Z" fill="#0A004C"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M2003.06 -1497V-1089.6L510.765 402.696L-301 -409.071L-301 -816.473L510.765 -4.70679L2003.06 -1497Z" fill="#0A004C"/>
</g>
<defs>
<clipPath id="clip0_281_8825">
<rect width="1440" height="900" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 607 B

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

@ -0,0 +1,66 @@
<svg width="290" height="611" viewBox="0 0 290 611" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_285_8605)">
<path d="M107.149 363.653L139.096 552.5H79.098L71.6523 363.653" fill="#FF3E37"/>
<path d="M107.149 363.653L139.096 552.5H79.098L71.6523 363.653" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M192.947 585.433C188.359 582.313 182.991 580.753 177.71 578.933C162.732 573.733 149.139 564.46 138.923 552.327L79.0117 552.24V593.667C79.0117 593.927 79.0117 594.273 79.0117 594.533C79.0117 603.373 86.1976 610.567 95.0285 610.567C100.916 610.567 105.677 606.753 109.054 602.767C111.738 600.167 116.153 600.34 119.616 601.9C123.079 603.373 125.937 605.973 129.226 607.707C133.209 609.873 136.586 610.567 142.3 610.567H187.58C198.575 610.567 204.635 597.48 197.276 589.247C195.977 587.86 194.592 586.56 192.947 585.433Z" fill="#D3D715" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M138.923 552.327H132.776L118.837 570.873C117.106 573.213 117.539 576.593 119.876 578.327C120.829 579.02 121.954 579.367 123.08 579.367C124.725 579.367 126.283 578.673 127.322 577.2L142.819 556.573C141.434 555.273 140.135 553.8 138.923 552.327Z" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M142.386 575.033L150.784 563.94C148.014 561.687 145.417 559.26 142.906 556.747L133.902 568.707C132.17 571.047 132.603 574.427 134.941 576.16C135.893 576.853 137.019 577.2 138.144 577.2C139.703 577.2 141.348 576.42 142.386 575.033Z" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M149.226 574.86C150.178 575.553 151.304 575.9 152.429 575.9C154.074 575.9 155.632 575.207 156.671 573.733L159.355 570.093C156.325 568.187 153.468 566.107 150.698 563.853L148.1 567.32C146.369 569.747 146.888 573.04 149.226 574.86Z" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M200.133 594.707C196.497 597.047 192.168 598.347 187.58 598.347H142.3H141.694C134.508 598.347 129.66 597.22 124.205 594.273C122.3 593.233 120.742 592.193 119.27 591.153L119.184 591.067C110.093 584.827 99.3575 581.533 88.2756 581.533H80.0508" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M96.5003 552.24C96.8466 553.54 97.0198 554.927 97.0198 556.313C97.0198 565.673 89.401 573.3 80.0506 573.3C79.7043 573.3 79.358 573.3 79.0117 573.3" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M80.4834 592.28C83.1673 592.367 85.7646 591.5 88.2753 590.72C91.3056 589.767 94.6821 589.073 97.8854 589.68C101.089 590.287 104.032 592.887 103.513 595.573C103.253 596.96 102.041 598.173 100.569 598.953C99.0975 599.733 97.366 599.993 95.6344 600.167C92.3445 600.513 88.968 600.167 85.7646 599.387C84.1196 598.953 82.3015 598.347 80.8297 598.953" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M179.009 579.367C170.524 585.433 153.468 595.053 143.599 598.26" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M130.525 502.06H77.1064L79.0977 552.5H139.096L130.525 502.06Z" fill="white" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M88.9678 512.373L90.1798 542.187" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M119.703 512.373L124.725 542.187" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M107.669 542.187L104.639 512.373" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M18.3213 363.653L-13.5391 552.5H46.3723L53.818 363.653" fill="#FF3E37"/>
<path d="M18.3213 363.653L-13.5391 552.5H46.3723L53.818 363.653" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M-67.4766 585.433C-62.888 582.313 -57.5203 580.753 -52.239 578.933C-37.2612 573.733 -23.6686 564.46 -13.4525 552.327L46.4589 552.24V593.667C46.4589 593.927 46.4589 594.273 46.4589 594.533C46.4589 603.373 39.273 610.567 30.4422 610.567C24.5549 610.567 19.7932 606.753 16.4166 602.767C13.7328 600.167 9.31733 600.34 5.85424 601.9C2.39115 603.373 -0.465904 605.973 -3.75584 607.707C-7.73838 609.873 -11.1149 610.567 -16.829 610.567H-62.0223C-73.0176 610.567 -79.078 597.48 -71.7189 589.247C-70.5068 587.86 -69.035 586.56 -67.4766 585.433Z" fill="#D3D715" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M-13.3657 552.327H-7.21877L6.72017 570.873C8.45171 573.213 8.01882 576.593 5.68124 578.327C4.72889 579.02 3.60339 579.367 2.47788 579.367C0.832918 579.367 -0.725473 578.673 -1.7644 577.2L-17.2617 556.573C-15.9631 555.273 -14.6644 553.8 -13.3657 552.327Z" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M-74.5762 594.707C-70.9399 597.047 -66.6111 598.347 -62.0225 598.347H-16.7426H-16.1366C-8.95068 598.347 -4.10236 597.22 1.352 594.273C3.2567 593.233 4.8151 592.193 6.28691 591.153L6.37348 591.067C15.4641 584.827 26.1997 581.533 37.2815 581.533H45.5064" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M28.9706 552.24C28.6243 553.54 28.4512 554.927 28.4512 556.313C28.4512 565.673 36.07 573.3 45.4203 573.3C45.7666 573.3 46.1129 573.3 46.4592 573.3" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M44.9869 592.28C42.303 592.367 39.7057 591.5 37.1949 590.72C34.1647 589.767 30.7882 589.073 27.5848 589.68C24.3815 590.287 21.4379 592.887 21.9573 595.573C22.2171 596.96 23.4291 598.173 24.901 598.953C26.3728 599.733 28.1043 599.993 29.8359 600.167C33.1258 600.513 36.5023 600.167 39.7057 599.387C41.3506 598.953 43.1688 598.347 44.6406 598.953" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M-5.0545 502.06H48.3636L46.3723 552.5H-13.5391L-5.0545 502.06Z" fill="white" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M36.5025 512.373L35.377 542.187" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5.85448 512.373L0.833008 542.187" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M17.8887 542.187L20.8323 512.373" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M238.977 116.938C254.139 106.488 252.757 78.1388 235.891 53.6187C219.025 29.0987 193.061 17.693 177.9 28.1434C162.738 38.5939 164.12 66.9431 180.986 91.4632C197.852 115.983 223.816 127.389 238.977 116.938Z" fill="black"/>
<path d="M171.739 124.576L160.972 131.997L180.807 160.834L191.574 153.413L171.739 124.576Z" fill="black" stroke="black" stroke-width="1.7" stroke-miterlimit="9.9996" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M208.878 73.1466C201.173 61.8799 185.762 59.0199 174.507 66.8199C172.602 68.1199 170.958 69.6799 169.572 71.3266C171.823 78.5199 175.373 85.8866 180.221 92.9066C185.07 99.9266 190.697 105.907 196.584 110.587C198.662 109.893 200.653 108.853 202.558 107.553C213.813 99.7532 216.584 84.4132 208.878 73.1466Z" fill="white" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M182.299 91.4332C169.226 72.3666 164.637 49.9199 170.784 36.3999L146.369 90.0466L122.301 106.6L146.629 142.047L171.303 124.973L227.059 120.207C212.861 119.773 194.679 109.287 182.299 91.4332Z" fill="white" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M182.299 91.4332C169.226 72.3665 165.07 49.1399 171.217 35.6199L146.456 90.0465L122.387 106.6L125.677 111.367C125.158 111.627 124.638 111.973 124.119 112.32C116.933 117.26 115.115 127.053 120.05 134.247C124.985 141.44 134.768 143.26 141.954 138.32C142.473 137.973 142.993 137.54 143.426 137.193L146.802 142.047L171.477 124.973L227.232 120.207C212.861 119.773 194.679 109.287 182.299 91.4332Z" fill="#D3D715" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M207.233 192.92V193.093L186.194 127.487L154.421 140.747L150.871 129.653C149.659 125.927 145.676 123.847 141.954 125.06C138.231 126.273 136.153 130.26 137.365 133.987L141.261 146.207H141.174L150.611 176.8L117.712 191.62L128.621 250.12L177.796 230.36C192.947 224.38 208.964 219.18 208.705 202.367C208.791 198.987 208.185 195.867 207.233 192.92Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M179.269 169C175.892 170.82 171.65 169.52 169.832 166.14L154.94 134.16L167.321 127.573L182.126 159.553C183.944 162.933 182.645 167.18 179.269 169Z" fill="#D3D715" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M161.953 144.733L193.554 130C196.93 128.44 198.316 124.453 196.757 121.073L196.411 120.293C194.853 116.913 190.87 115.527 187.493 117.087L155.893 131.82C152.516 133.38 151.131 137.367 152.689 140.747L153.036 141.527C154.681 144.907 158.663 146.293 161.953 144.733Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M175.892 153.833L200.567 142.307C204.117 140.66 205.675 136.413 204.03 132.86C202.385 129.307 198.143 127.747 194.593 129.393L169.919 140.92C166.369 142.567 164.811 146.813 166.456 150.367C168.187 153.92 172.343 155.48 175.892 153.833Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M188.706 164.233L208.446 154.527C211.995 152.88 213.554 148.633 211.909 145.08C210.264 141.527 206.021 139.967 202.472 141.613L182.732 151.32C179.182 152.967 177.624 157.213 179.269 160.767C181.001 164.32 185.156 165.88 188.706 164.233Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M130.179 185.207L115.114 191.447C109.14 193.873 102.734 195.173 96.3268 195.173H57.8H57.3671H18.8403H12.0872H-4.01611L-15.1846 195.26V253.847H-4.01611V337.307H57.4537H57.8866H121.521L120.915 254.28L143.252 243.793L130.179 185.207Z" fill="#3A9918" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M28.0176 195.173L61.8693 234.78L95.721 195.173H28.0176Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M-31.8065 456.387C-8.51728 456.387 -8.51728 465.747 14.6854 465.747C37.9747 465.747 37.9747 456.387 61.1773 456.387C84.4666 456.387 84.4666 465.747 107.669 465.747C130.959 465.747 130.959 456.387 154.161 456.387L155.546 456.3L121.089 337.22H0.919628L-33.5381 456.3L-31.8065 456.387Z" fill="white" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M-31.8065 456.387C-8.51728 456.387 -8.51728 465.747 14.6854 465.747C37.9747 465.747 37.9747 456.387 61.1773 456.387C84.4666 456.387 84.4666 465.747 107.669 465.747C130.959 465.747 130.959 456.387 154.161 456.387L155.546 456.3L121.089 337.22H0.919629L-33.5381 456.3L-31.8065 456.387Z" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M24.6414 331.153C27.2387 330.113 29.0568 327.6 29.0568 324.653C29.0568 320.753 25.94 317.633 22.0441 317.633H20.1394H7.58568H-3.92909V304.72H-13.366C-13.366 304.72 -19.513 304.807 -20.2922 304.807C-34.2311 304.807 -45.4861 293.54 -45.4861 279.587C-45.4861 265.633 -34.8371 255.493 -20.2922 254.367C-13.366 253.847 -13.366 253.847 -13.366 253.847V195.26C-14.2318 195.26 -15.1841 195.26 -16.0499 195.173C-63.7539 193.353 -96.1338 231.053 -96.1338 275.34C-96.1338 319.627 -60.2908 355.507 -16.0499 355.507C-15.1841 355.507 -14.2318 355.507 -13.366 355.42V355.507H7.4991H13.04C16.936 355.507 20.0528 352.04 20.0528 348.227C20.0528 346.927 19.7065 345.713 19.0139 344.673H21.9575C25.8535 344.673 28.9702 341.553 28.9702 337.653C29.0568 334.707 27.2387 332.193 24.6414 331.153Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M24.6413 331.153H5.24805" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M20.0531 344.673H0.573242" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M81.6962 169.433L77.3673 171.427C75.5492 172.293 73.3848 171.513 72.519 169.693L72.3459 169.26C71.4801 167.44 72.2593 165.273 74.0774 164.407L78.4063 162.413C80.2244 161.547 82.3888 162.327 83.2546 164.147L83.4277 164.58C84.2935 166.4 83.5143 168.653 81.6962 169.433Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M82.9947 176.54L73.9041 156.867C71.9128 152.62 66.8914 150.8 62.6491 152.793L48.8833 159.207C44.641 161.2 42.8229 166.227 44.8142 170.387L53.9914 190.06C55.6363 193.613 60.831 195.173 60.831 195.173H77.2806V188.5L78.9256 187.72C83.1679 185.813 84.986 180.787 82.9947 176.54Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M65.8522 147.593C63.6878 142.913 58.0603 140.92 53.2985 143.173C48.5368 145.427 46.4589 150.973 48.6233 155.653C48.9696 156.52 49.4891 157.213 50.0951 157.907L48.0173 158.86C43.8616 158.253 39.5327 158.773 35.4636 160.68C24.3817 165.88 19.5334 179.053 24.728 190.233C29.9227 201.413 43.0824 206.18 54.2509 200.98C65.3327 195.78 70.1811 182.607 64.9864 171.427C63.6012 168.567 61.6965 166.053 59.4455 164.06C62.3025 161.547 64.467 158.687 65.679 155.74C66.4582 154.267 66.8046 152.533 66.718 150.887C66.718 150.8 66.718 150.713 66.718 150.627C66.6314 149.587 66.3717 148.547 65.8522 147.593Z" fill="black" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M76.2411 161.893C75.2022 160.68 73.3841 160.247 71.9122 160.94C70.3538 161.633 69.5746 163.28 69.8344 164.927" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M80.6572 176.713C81.3498 176.713 81.9559 176.453 82.3888 176.02C82.3022 175.76 82.2156 175.5 82.129 175.327L80.3975 171.687C79.0988 171.86 78.1465 172.9 78.1465 174.2C78.1465 175.587 79.272 176.713 80.6572 176.713Z" fill="black" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M85.2451 149.5L99.1841 121.247" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M97.1064 176.107L135.547 170.56" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M92.2578 163.453L116.326 146.12" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M75.1155 141.007L74.4229 128.787" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M237.621 38.5666L251.56 10.3132" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M249.482 65.1734L287.923 59.6267" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M244.634 52.5201L268.702 35.1868" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M227.491 30.0733L226.799 17.8533" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M95.7212 195.173H77.2803L87.2367 205.14L95.7212 195.173Z" fill="black" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path opacity="0.16" d="M17.7155 246.827H50.5282V264.507C50.5282 273.607 43.1692 280.973 34.0786 280.973C24.988 280.973 17.6289 273.607 17.6289 264.507L17.7155 246.827Z" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_285_8605">
<rect width="387" height="611" fill="white" transform="translate(-97)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

@ -0,0 +1,20 @@
<svg width="243" height="440" viewBox="0 0 243 440" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M61.3005 136.659L18.3594 56.0627L92.9358 34.4519L106.523 63.3707" fill="white"/>
<path d="M61.3005 136.659L18.3594 56.0627L92.9358 34.4519L106.523 63.3707" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M149.776 63.5795H159.733C166.06 63.5795 171.143 58.4639 171.143 52.0955V29.4408C171.143 23.0724 166.06 17.9568 159.733 17.9568H149.776C143.449 17.9568 138.366 23.0724 138.366 29.4408V52.1999C138.366 58.4639 143.552 63.5795 149.776 63.5795Z" fill="#FF3E37" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M165.852 10.3355C166.89 10.3355 167.927 10.4399 168.964 10.5443C170.727 4.59354 176.951 1.04395 184.211 1.04395C192.717 1.04395 199.666 7.20354 199.666 14.7203C199.666 19.6271 196.762 23.9075 192.405 26.3087C196.243 32.3639 196.866 38.5235 194.895 45.3095C189.397 64.4146 166.06 62.431 166.06 62.431C157.14 62.431 150.709 52.8263 150.709 41.6555C150.709 30.4847 141.063 22.4459 141.063 22.4459C141.063 22.4459 148.116 10.3355 165.852 10.3355Z" fill="black" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M53.5209 170.589C37.1376 170.589 23.8563 157.455 23.8563 141.253C23.8563 125.051 37.1376 111.917 53.5209 111.917C69.9042 111.917 83.1855 125.051 83.1855 141.253C83.1855 157.455 69.9042 170.589 53.5209 170.589Z" fill="#8F88BA" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M38.0658 67.3377L90.7568 51.991" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M42.8376 78.1954L95.4248 62.8486" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M47.5043 89.0528L100.195 73.7061" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M52.2761 99.9106L104.863 84.6682" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M103.1 182.491C99.8849 192.827 92.728 201.492 83.0818 206.19C78.518 208.382 73.6431 209.635 69.3905 208.173C57.0475 203.893 50.513 190.634 54.7656 178.524L54.4544 179.568L80.2813 80.7011C82.9781 70.4699 94.0764 63.0575 106.419 63.3707C135.773 64.1015 188.464 63.0575 219.995 62.9531C242.711 62.8487 250.801 69.6347 252.357 77.6735L274.761 177.48C275.902 182.595 276.109 187.815 275.176 192.931C273.309 202.745 263.351 216.943 246.03 211.41C245.096 211.097 244.059 210.679 243.126 210.261C239.08 208.487 235.45 205.772 232.338 202.536L213.772 183.431L212.216 198.569L106.419 198.464V171.738L103.1 182.491Z" fill="#A0CF1C" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M37.6514 445.161L106.523 198.673H142.204H174.772H212.216L285.963 469.695H192.302L158.488 286.682L124.674 469.695L37.6514 445.161Z" fill="#F2F0FF" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M181.411 434.616H285.963V484.415H181.411V434.616Z" fill="#F2F0FF" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M33.5025 434.616H138.055V484.415H33.5025V434.616Z" fill="#F2F0FF" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M213.565 185.31L221.033 126.846" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M106.523 197.629V122.356" stroke="black" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M203.607 227.487H168.03V254.005C168.03 262.774 176.224 269.769 186.389 269.769C196.761 269.769 205.163 262.357 204.748 253.378L203.607 227.487Z" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M147.908 227.487H112.331V254.005C112.331 262.774 120.525 269.769 130.69 269.769C141.062 269.769 149.464 262.357 149.049 253.378L147.908 227.487Z" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M178.299 301.507L202.674 419.165" stroke="#C3BFD8" stroke-width="1.7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="12 12"/>
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

@ -0,0 +1,9 @@
<svg width="230" height="261" viewBox="0 0 230 261" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M103.542 42.6504L133.437 61.4967" stroke="#0A004C" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M1.32031 187.414L54.7984 221.321L114.671 259.178L228.104 187.414V72.8543L114.671 1.09009L1.32031 72.8543V187.414Z" fill="#2400FD" stroke="#0A004C" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M228.104 73.678L174.626 107.503L114.671 145.442V259.179L174.626 221.321L228.104 187.414V73.678Z" fill="white" stroke="#0A004C" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M228.104 73.678L174.626 107.503L114.671 145.442V259.179L174.626 221.321L228.104 187.414V73.678Z" stroke="#0A004C" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M1.32031 73.678L54.7984 107.503L114.671 145.442V259.179L54.7984 221.321L1.32031 187.414V73.678Z" fill="#FF3E37" stroke="#0A004C" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M144.149 97.3791L113.009 77.7097L85.2734 60.0979" fill="white"/>
<path d="M144.149 97.3791L113.009 77.7097L85.2734 60.0979" stroke="#0A004C" stroke-width="12" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4 10.5789H20M16 3V6.78947M8 3V6.78947M20 5.84211V21H4V5.84211H20Z" stroke="#2400FD" stroke-width="2" stroke-linecap="square"/>
</svg>

After

Width:  |  Height:  |  Size: 240 B

@ -0,0 +1,6 @@
<svg width="662" height="1052" viewBox="0 0 662 1052" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M809 384.842V527.889L285.026 1051.86L0.000250641 766.836L0.000244141 623.789L285.026 908.816L809 384.842Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M809 -120.337V22.7101L285.026 546.684L6.50083e-06 261.658L0 118.611L285.026 403.637L809 -120.337Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M809 136.241V279.288L285.027 803.261L6.50082e-06 518.234L0 375.187L285.027 660.214L809 136.241Z" fill="#0A004C"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M809 -388V-244.953L285.027 279.02L6.50082e-06 -6.00677L0 -149.054L285.027 135.973L809 -388Z" fill="#0A004C"/>
</svg>

After

Width:  |  Height:  |  Size: 765 B

@ -0,0 +1,4 @@
<svg width="117" height="48" viewBox="0 0 117 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M34.0104 29.3035L22.6967 17.9898M33.6569 18.3434L22.3431 29.6571" stroke="white" stroke-width="2" stroke-linecap="square"/>
<path d="M49.088 29V17.8H56.32V19.448H51.136V22.584H55.328V24.2H51.136V29H49.088ZM60.7866 29.192C59.9866 29.192 59.2773 29.0213 58.6586 28.68C58.04 28.3387 57.5546 27.8587 57.2026 27.24C56.8506 26.6213 56.6746 25.9067 56.6746 25.096C56.6746 24.2747 56.8453 23.544 57.1866 22.904C57.5386 22.264 58.0186 21.768 58.6266 21.416C59.2453 21.0533 59.9706 20.872 60.8026 20.872C61.5813 20.872 62.2693 21.0427 62.8666 21.384C63.464 21.7253 63.928 22.1947 64.2586 22.792C64.6 23.3787 64.7706 24.0347 64.7706 24.76C64.7706 24.8773 64.7653 25 64.7546 25.128C64.7546 25.256 64.7493 25.3893 64.7386 25.528H58.7066C58.7493 26.1467 58.9626 26.632 59.3466 26.984C59.7413 27.336 60.216 27.512 60.7706 27.512C61.1866 27.512 61.5333 27.4213 61.8106 27.24C62.0986 27.048 62.312 26.8027 62.4506 26.504H64.5306C64.3813 27.0053 64.1306 27.464 63.7786 27.88C63.4373 28.2853 63.0106 28.6053 62.4986 28.84C61.9973 29.0747 61.4266 29.192 60.7866 29.192ZM60.8026 22.536C60.3013 22.536 59.8586 22.68 59.4746 22.968C59.0906 23.2453 58.8453 23.672 58.7386 24.248H62.6906C62.6586 23.7253 62.4666 23.3093 62.1146 23C61.7626 22.6907 61.3253 22.536 60.8026 22.536ZM65.9931 29V21.064H67.8171L68.0091 22.552C68.2971 22.04 68.6865 21.6347 69.1771 21.336C69.6785 21.0267 70.2651 20.872 70.9371 20.872V23.032H70.3611C69.9131 23.032 69.5131 23.1013 69.1611 23.24C68.8091 23.3787 68.5318 23.6187 68.3291 23.96C68.1371 24.3013 68.0411 24.776 68.0411 25.384V29H65.9931ZM71.8369 29V21.064H73.6449L73.8209 22.136C74.0769 21.752 74.4129 21.448 74.8289 21.224C75.2555 20.9893 75.7462 20.872 76.3009 20.872C77.5275 20.872 78.3969 21.3467 78.9089 22.296C79.1969 21.8587 79.5809 21.512 80.0609 21.256C80.5515 21 81.0849 20.872 81.6609 20.872C82.6955 20.872 83.4902 21.1813 84.0449 21.8C84.5995 22.4187 84.8769 23.3253 84.8769 24.52V29H82.8289V24.712C82.8289 24.0293 82.6955 23.5067 82.4289 23.144C82.1729 22.7813 81.7729 22.6 81.2289 22.6C80.6742 22.6 80.2262 22.8027 79.8849 23.208C79.5542 23.6133 79.3889 24.1787 79.3889 24.904V29H77.3409V24.712C77.3409 24.0293 77.2075 23.5067 76.9409 23.144C76.6742 22.7813 76.2635 22.6 75.7089 22.6C75.1649 22.6 74.7222 22.8027 74.3809 23.208C74.0502 23.6133 73.8849 24.1787 73.8849 24.904V29H71.8369ZM90.1773 29.192C89.3773 29.192 88.6679 29.0213 88.0493 28.68C87.4306 28.3387 86.9453 27.8587 86.5933 27.24C86.2413 26.6213 86.0653 25.9067 86.0653 25.096C86.0653 24.2747 86.2359 23.544 86.5773 22.904C86.9293 22.264 87.4093 21.768 88.0173 21.416C88.6359 21.0533 89.3613 20.872 90.1933 20.872C90.9719 20.872 91.6599 21.0427 92.2573 21.384C92.8546 21.7253 93.3186 22.1947 93.6493 22.792C93.9906 23.3787 94.1613 24.0347 94.1613 24.76C94.1613 24.8773 94.1559 25 94.1453 25.128C94.1453 25.256 94.1399 25.3893 94.1293 25.528H88.0973C88.1399 26.1467 88.3533 26.632 88.7373 26.984C89.1319 27.336 89.6066 27.512 90.1613 27.512C90.5773 27.512 90.9239 27.4213 91.2013 27.24C91.4893 27.048 91.7026 26.8027 91.8413 26.504H93.9213C93.7719 27.0053 93.5213 27.464 93.1693 27.88C92.8279 28.2853 92.4013 28.6053 91.8893 28.84C91.3879 29.0747 90.8173 29.192 90.1773 29.192ZM90.1933 22.536C89.6919 22.536 89.2493 22.68 88.8653 22.968C88.4813 23.2453 88.2359 23.672 88.1293 24.248H92.0813C92.0493 23.7253 91.8573 23.3093 91.5053 23C91.1533 22.6907 90.7159 22.536 90.1933 22.536ZM95.3838 29V21.064H97.2078L97.3998 22.552C97.6878 22.04 98.0771 21.6347 98.5677 21.336C99.0691 21.0267 99.6558 20.872 100.328 20.872V23.032H99.7518C99.3038 23.032 98.9038 23.1013 98.5518 23.24C98.1998 23.3787 97.9224 23.6187 97.7198 23.96C97.5278 24.3013 97.4318 24.776 97.4318 25.384V29H95.3838Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

@ -0,0 +1,3 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M22 11.0669C22 4.95335 17.0766 0 11 0C4.92339 0 0 4.95335 0 11.0669C0 16.5906 4.02254 21.1691 9.28125 22V14.2661H6.4869V11.0669H9.28125V8.62864C9.28125 5.85521 10.9224 4.32325 13.436 4.32325C14.6398 4.32325 15.8985 4.53923 15.8985 4.53923V7.26134H14.5111C13.145 7.26134 12.7188 8.11456 12.7188 8.98965V11.0669H15.7695L15.2816 14.2661H12.7188V22C17.9775 21.1691 22 16.5906 22 11.0669Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 512 B

@ -0,0 +1,83 @@
<svg width="318" height="274" viewBox="0 0 318 274" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.64" d="M5.18 13V6H7.99C8.71667 6 9.27 6.17 9.65 6.51C10.0367 6.84333 10.23 7.27333 10.23 7.8C10.23 8.24 10.11 8.59333 9.87 8.86C9.63667 9.12 9.35 9.29667 9.01 9.39C9.41 9.47 9.74 9.67 10 9.99C10.26 10.3033 10.39 10.67 10.39 11.09C10.39 11.6433 10.19 12.1 9.79 12.46C9.39 12.82 8.82333 13 8.09 13H5.18ZM6.46 8.94H7.8C8.16 8.94 8.43667 8.85667 8.63 8.69C8.82333 8.52333 8.92 8.28667 8.92 7.98C8.92 7.68667 8.82333 7.45667 8.63 7.29C8.44333 7.11667 8.16 7.03 7.78 7.03H6.46V8.94ZM6.46 11.96H7.89C8.27 11.96 8.56333 11.8733 8.77 11.7C8.98333 11.52 9.09 11.27 9.09 10.95C9.09 10.6233 8.98 10.3667 8.76 10.18C8.54 9.99333 8.24333 9.9 7.87 9.9H6.46V11.96ZM11.0886 13V6H12.3686V13H11.0886ZM13.3253 13V6H17.8953V7.03H14.6053V8.95H17.5953V9.95H14.6053V11.97H17.8953V13H13.3253ZM18.7066 13V6H19.9866L23.2766 10.93V6H24.5566V13H23.2766L19.9866 8.08V13H18.7066Z" fill="#0A004C"/>
<path d="M107.539 9L107.894 8.64761L107.747 8.5H107.539V9ZM38.0003 9.5C38.2764 9.5 38.5003 9.27614 38.5003 9C38.5003 8.72386 38.2764 8.5 38.0003 8.5V9.5ZM42.0025 8.5C41.7264 8.5 41.5025 8.72386 41.5025 9C41.5025 9.27614 41.7264 9.5 42.0025 9.5V8.5ZM43.0031 9.5C43.2792 9.5 43.5031 9.27614 43.5031 9C43.5031 8.72386 43.2792 8.5 43.0031 8.5V9.5ZM47.0053 8.5C46.7292 8.5 46.5053 8.72386 46.5053 9C46.5053 9.27614 46.7292 9.5 47.0053 9.5V8.5ZM48.0059 9.5C48.282 9.5 48.5059 9.27614 48.5059 9C48.5059 8.72386 48.282 8.5 48.0059 8.5V9.5ZM52.0081 8.5C51.732 8.5 51.5081 8.72386 51.5081 9C51.5081 9.27614 51.732 9.5 52.0081 9.5V8.5ZM53.0087 9.5C53.2848 9.5 53.5087 9.27614 53.5087 9C53.5087 8.72386 53.2848 8.5 53.0087 8.5V9.5ZM57.0109 8.5C56.7348 8.5 56.5109 8.72386 56.5109 9C56.5109 9.27614 56.7348 9.5 57.0109 9.5V8.5ZM58.0115 9.5C58.2876 9.5 58.5115 9.27614 58.5115 9C58.5115 8.72386 58.2876 8.5 58.0115 8.5V9.5ZM62.0137 8.5C61.7376 8.5 61.5137 8.72386 61.5137 9C61.5137 9.27614 61.7376 9.5 62.0137 9.5V8.5ZM63.0143 9.5C63.2904 9.5 63.5143 9.27614 63.5143 9C63.5143 8.72386 63.2904 8.5 63.0143 8.5V9.5ZM67.0165 8.5C66.7404 8.5 66.5165 8.72386 66.5165 9C66.5165 9.27614 66.7404 9.5 67.0165 9.5V8.5ZM68.0171 9.5C68.2932 9.5 68.5171 9.27614 68.5171 9C68.5171 8.72386 68.2932 8.5 68.0171 8.5V9.5ZM72.0193 8.5C71.7432 8.5 71.5193 8.72386 71.5193 9C71.5193 9.27614 71.7432 9.5 72.0193 9.5V8.5ZM73.0199 9.5C73.296 9.5 73.5199 9.27614 73.5199 9C73.5199 8.72386 73.296 8.5 73.0199 8.5V9.5ZM77.0221 8.5C76.746 8.5 76.5221 8.72386 76.5221 9C76.5221 9.27614 76.746 9.5 77.0221 9.5V8.5ZM78.0227 9.5C78.2988 9.5 78.5227 9.27614 78.5227 9C78.5227 8.72386 78.2988 8.5 78.0227 8.5V9.5ZM82.0249 8.5C81.7488 8.5 81.5249 8.72386 81.5249 9C81.5249 9.27614 81.7488 9.5 82.0249 9.5V8.5ZM83.0255 9.5C83.3016 9.5 83.5255 9.27614 83.5255 9C83.5255 8.72386 83.3016 8.5 83.0255 8.5V9.5ZM87.0277 8.5C86.7516 8.5 86.5277 8.72386 86.5277 9C86.5277 9.27614 86.7516 9.5 87.0277 9.5V8.5ZM88.0283 9.5C88.3044 9.5 88.5283 9.27614 88.5283 9C88.5283 8.72386 88.3044 8.5 88.0283 8.5V9.5ZM92.0305 8.5C91.7544 8.5 91.5305 8.72386 91.5305 9C91.5305 9.27614 91.7544 9.5 92.0305 9.5V8.5ZM93.0311 9.5C93.3072 9.5 93.5311 9.27614 93.5311 9C93.5311 8.72386 93.3072 8.5 93.0311 8.5V9.5ZM97.0333 8.5C96.7572 8.5 96.5333 8.72386 96.5333 9C96.5333 9.27614 96.7572 9.5 97.0333 9.5V8.5ZM98.0339 9.5C98.31 9.5 98.5339 9.27614 98.5339 9C98.5339 8.72386 98.31 8.5 98.0339 8.5V9.5ZM102.036 8.5C101.76 8.5 101.536 8.72386 101.536 9C101.536 9.27614 101.76 9.5 102.036 9.5V8.5ZM103.037 9.5C103.313 9.5 103.537 9.27614 103.537 9C103.537 8.72386 103.313 8.5 103.037 8.5V9.5ZM107.039 8.5C106.763 8.5 106.539 8.72386 106.539 9C106.539 9.27614 106.763 9.5 107.039 9.5V8.5ZM107.483 9.65239C107.677 9.84829 107.994 9.84933 108.19 9.65471C108.386 9.46009 108.387 9.14351 108.192 8.94761L107.483 9.65239ZM110.576 11.3476C110.382 11.1517 110.065 11.1507 109.869 11.3453C109.673 11.5399 109.672 11.8565 109.867 12.0524L110.576 11.3476ZM110.463 12.6524C110.658 12.8483 110.974 12.8493 111.17 12.6547C111.366 12.4601 111.367 12.1435 111.172 11.9476L110.463 12.6524ZM113.557 14.3476C113.362 14.1517 113.045 14.1507 112.85 14.3453C112.654 14.5399 112.653 14.8565 112.847 15.0524L113.557 14.3476ZM37.5 9.5H38.0003V8.5H37.5V9.5ZM42.0025 9.5H43.0031V8.5H42.0025V9.5ZM47.0053 9.5H48.0059V8.5H47.0053V9.5ZM52.0081 9.5H53.0087V8.5H52.0081V9.5ZM57.0109 9.5H58.0115V8.5H57.0109V9.5ZM62.0137 9.5H63.0143V8.5H62.0137V9.5ZM67.0165 9.5H68.0171V8.5H67.0165V9.5ZM72.0193 9.5H73.0199V8.5H72.0193V9.5ZM77.0221 9.5H78.0227V8.5H77.0221V9.5ZM82.0249 9.5H83.0255V8.5H82.0249V9.5ZM87.0277 9.5H88.0283V8.5H87.0277V9.5ZM92.0305 9.5H93.0311V8.5H92.0305V9.5ZM97.0333 9.5H98.0339V8.5H97.0333V9.5ZM102.036 9.5H103.037V8.5H102.036V9.5ZM107.039 9.5H107.539V8.5H107.039V9.5ZM107.185 9.35239L107.483 9.65239L108.192 8.94761L107.894 8.64761L107.185 9.35239ZM109.867 12.0524L110.463 12.6524L111.172 11.9476L110.576 11.3476L109.867 12.0524ZM112.847 15.0524L113.145 15.3524L113.855 14.6476L113.557 14.3476L112.847 15.0524Z" fill="#D3D715"/>
<path d="M97.5 149L97.8547 148.648L97.7081 148.5H97.5V149ZM58.9875 149.5C59.2636 149.5 59.4875 149.276 59.4875 149C59.4875 148.724 59.2636 148.5 58.9875 148.5V149.5ZM62.8875 148.5C62.6114 148.5 62.3875 148.724 62.3875 149C62.3875 149.276 62.6114 149.5 62.8875 149.5V148.5ZM63.8625 149.5C64.1386 149.5 64.3625 149.276 64.3625 149C64.3625 148.724 64.1386 148.5 63.8625 148.5V149.5ZM67.7625 148.5C67.4864 148.5 67.2625 148.724 67.2625 149C67.2625 149.276 67.4864 149.5 67.7625 149.5V148.5ZM68.7375 149.5C69.0136 149.5 69.2375 149.276 69.2375 149C69.2375 148.724 69.0136 148.5 68.7375 148.5V149.5ZM72.6375 148.5C72.3614 148.5 72.1375 148.724 72.1375 149C72.1375 149.276 72.3614 149.5 72.6375 149.5V148.5ZM73.6125 149.5C73.8886 149.5 74.1125 149.276 74.1125 149C74.1125 148.724 73.8886 148.5 73.6125 148.5V149.5ZM77.5125 148.5C77.2364 148.5 77.0125 148.724 77.0125 149C77.0125 149.276 77.2364 149.5 77.5125 149.5V148.5ZM78.4875 149.5C78.7636 149.5 78.9875 149.276 78.9875 149C78.9875 148.724 78.7636 148.5 78.4875 148.5V149.5ZM82.3875 148.5C82.1114 148.5 81.8875 148.724 81.8875 149C81.8875 149.276 82.1114 149.5 82.3875 149.5V148.5ZM83.3625 149.5C83.6386 149.5 83.8625 149.276 83.8625 149C83.8625 148.724 83.6386 148.5 83.3625 148.5V149.5ZM87.2625 148.5C86.9864 148.5 86.7625 148.724 86.7625 149C86.7625 149.276 86.9864 149.5 87.2625 149.5V148.5ZM88.2375 149.5C88.5136 149.5 88.7375 149.276 88.7375 149C88.7375 148.724 88.5136 148.5 88.2375 148.5V149.5ZM92.1375 148.5C91.8614 148.5 91.6375 148.724 91.6375 149C91.6375 149.276 91.8614 149.5 92.1375 149.5V148.5ZM93.1125 149.5C93.3886 149.5 93.6125 149.276 93.6125 149C93.6125 148.724 93.3886 148.5 93.1125 148.5V149.5ZM97.0125 148.5C96.7364 148.5 96.5125 148.724 96.5125 149C96.5125 149.276 96.7364 149.5 97.0125 149.5V148.5ZM97.4433 149.652C97.638 149.848 97.9545 149.849 98.1504 149.655C98.3463 149.46 98.3474 149.144 98.1527 148.948L97.4433 149.652ZM100.537 151.348C100.342 151.152 100.026 151.151 99.83 151.345C99.6341 151.54 99.633 151.856 99.8276 152.052L100.537 151.348ZM100.424 152.652C100.618 152.848 100.935 152.849 101.131 152.655C101.327 152.46 101.328 152.144 101.133 151.948L100.424 152.652ZM103.517 154.348C103.323 154.152 103.006 154.151 102.81 154.345C102.614 154.54 102.613 154.856 102.808 155.052L103.517 154.348ZM58.5 149.5H58.9875V148.5H58.5V149.5ZM62.8875 149.5H63.8625V148.5H62.8875V149.5ZM67.7625 149.5H68.7375V148.5H67.7625V149.5ZM72.6375 149.5H73.6125V148.5H72.6375V149.5ZM77.5125 149.5H78.4875V148.5H77.5125V149.5ZM82.3875 149.5H83.3625V148.5H82.3875V149.5ZM87.2625 149.5H88.2375V148.5H87.2625V149.5ZM92.1375 149.5H93.1125V148.5H92.1375V149.5ZM97.0125 149.5H97.5V148.5H97.0125V149.5ZM97.1453 149.352L97.4433 149.652L98.1527 148.948L97.8547 148.648L97.1453 149.352ZM99.8276 152.052L100.424 152.652L101.133 151.948L100.537 151.348L99.8276 152.052ZM102.808 155.052L103.106 155.352L103.815 154.648L103.517 154.348L102.808 155.052Z" fill="#C27C13"/>
<path d="M248.5 26V25.5H248.315L248.175 25.6204L248.5 26ZM242.175 32.0796C242.385 31.8999 242.409 31.5843 242.23 31.3746C242.05 31.1649 241.734 31.1407 241.525 31.3204L242.175 32.0796ZM244.325 28.9204C244.115 29.1001 244.091 29.4157 244.27 29.6254C244.45 29.8351 244.766 29.8593 244.975 29.6796L244.325 28.9204ZM245.675 29.0796C245.885 28.8999 245.909 28.5843 245.73 28.3746C245.55 28.1649 245.234 28.1407 245.025 28.3204L245.675 29.0796ZM247.825 25.9204C247.615 26.1001 247.591 26.4157 247.77 26.6254C247.95 26.8351 248.266 26.8593 248.475 26.6796L247.825 25.9204ZM249.05 26.5C249.326 26.5 249.55 26.2761 249.55 26C249.55 25.7239 249.326 25.5 249.05 25.5V26.5ZM253.45 25.5C253.174 25.5 252.95 25.7239 252.95 26C252.95 26.2761 253.174 26.5 253.45 26.5V25.5ZM254.55 26.5C254.826 26.5 255.05 26.2761 255.05 26C255.05 25.7239 254.826 25.5 254.55 25.5V26.5ZM258.95 25.5C258.674 25.5 258.45 25.7239 258.45 26C258.45 26.2761 258.674 26.5 258.95 26.5V25.5ZM241.825 32.3796L242.175 32.0796L241.525 31.3204L241.175 31.6204L241.825 32.3796ZM244.975 29.6796L245.675 29.0796L245.025 28.3204L244.325 28.9204L244.975 29.6796ZM248.475 26.6796L248.825 26.3796L248.175 25.6204L247.825 25.9204L248.475 26.6796ZM248.5 26.5H249.05V25.5H248.5V26.5ZM253.45 26.5H254.55V25.5H253.45V26.5ZM258.95 26.5H259.5V25.5H258.95V26.5Z" fill="#3A9918"/>
<path d="M244 149V148.5H243.815L243.675 148.62L244 149ZM237.675 155.08C237.885 154.9 237.909 154.584 237.73 154.375C237.55 154.165 237.234 154.141 237.025 154.32L237.675 155.08ZM239.825 151.92C239.615 152.1 239.591 152.416 239.77 152.625C239.95 152.835 240.266 152.859 240.475 152.68L239.825 151.92ZM241.175 152.08C241.385 151.9 241.409 151.584 241.23 151.375C241.05 151.165 240.734 151.141 240.525 151.32L241.175 152.08ZM243.325 148.92C243.115 149.1 243.091 149.416 243.27 149.625C243.45 149.835 243.766 149.859 243.975 149.68L243.325 148.92ZM244.387 149.5C244.664 149.5 244.887 149.276 244.887 149C244.887 148.724 244.664 148.5 244.387 148.5V149.5ZM247.488 148.5C247.211 148.5 246.988 148.724 246.988 149C246.988 149.276 247.211 149.5 247.488 149.5V148.5ZM248.262 149.5C248.539 149.5 248.762 149.276 248.762 149C248.762 148.724 248.539 148.5 248.262 148.5V149.5ZM251.363 148.5C251.086 148.5 250.863 148.724 250.863 149C250.863 149.276 251.086 149.5 251.363 149.5V148.5ZM252.137 149.5C252.414 149.5 252.637 149.276 252.637 149C252.637 148.724 252.414 148.5 252.137 148.5V149.5ZM255.237 148.5C254.961 148.5 254.737 148.724 254.737 149C254.737 149.276 254.961 149.5 255.237 149.5V148.5ZM256.012 149.5C256.289 149.5 256.512 149.276 256.512 149C256.512 148.724 256.289 148.5 256.012 148.5V149.5ZM259.112 148.5C258.836 148.5 258.612 148.724 258.612 149C258.612 149.276 258.836 149.5 259.112 149.5V148.5ZM237.325 155.38L237.675 155.08L237.025 154.32L236.675 154.62L237.325 155.38ZM240.475 152.68L241.175 152.08L240.525 151.32L239.825 151.92L240.475 152.68ZM243.975 149.68L244.325 149.38L243.675 148.62L243.325 148.92L243.975 149.68ZM244 149.5H244.387V148.5H244V149.5ZM247.488 149.5H248.262V148.5H247.488V149.5ZM251.363 149.5H252.137V148.5H251.363V149.5ZM255.237 149.5H256.012V148.5H255.237V149.5ZM259.112 149.5H259.5V148.5H259.112V149.5Z" fill="#C2B113"/>
<path opacity="0.64" d="M6.81 67V61.03H4.77V60H10.14V61.03H8.09V67H6.81ZM10.6882 67V60H13.2582C13.8182 60 14.2782 60.0967 14.6382 60.29C15.0049 60.4767 15.2782 60.7333 15.4582 61.06C15.6382 61.38 15.7282 61.7367 15.7282 62.13C15.7282 62.5567 15.6149 62.9467 15.3882 63.3C15.1682 63.6533 14.8215 63.91 14.3482 64.07L15.7982 67H14.3282L13.0282 64.24H11.9682V67H10.6882ZM11.9682 63.3H13.1782C13.6049 63.3 13.9182 63.1967 14.1182 62.99C14.3182 62.7833 14.4182 62.51 14.4182 62.17C14.4182 61.8367 14.3182 61.57 14.1182 61.37C13.9249 61.17 13.6082 61.07 13.1682 61.07H11.9682V63.3ZM16.5187 67V60H21.0887V61.03H17.7987V62.95H20.7887V63.95H17.7987V65.97H21.0887V67H16.5187ZM24.2899 67.12C23.7766 67.12 23.3233 67.0333 22.9299 66.86C22.5366 66.68 22.2266 66.4267 21.9999 66.1C21.7733 65.7667 21.6566 65.3633 21.6499 64.89H22.9999C23.0133 65.2167 23.1299 65.4933 23.3499 65.72C23.5766 65.94 23.8866 66.05 24.2799 66.05C24.6199 66.05 24.8899 65.97 25.0899 65.81C25.2899 65.6433 25.3899 65.4233 25.3899 65.15C25.3899 64.8633 25.2999 64.64 25.1199 64.48C24.9466 64.32 24.7133 64.19 24.4199 64.09C24.1266 63.99 23.8133 63.8833 23.4799 63.77C22.9399 63.5833 22.5266 63.3433 22.2399 63.05C21.9599 62.7567 21.8199 62.3667 21.8199 61.88C21.8133 61.4667 21.9099 61.1133 22.1099 60.82C22.3166 60.52 22.5966 60.29 22.9499 60.13C23.3033 59.9633 23.7099 59.88 24.1699 59.88C24.6366 59.88 25.0466 59.9633 25.3999 60.13C25.7599 60.2967 26.0399 60.53 26.2399 60.83C26.4466 61.13 26.5566 61.4867 26.5699 61.9H25.1999C25.1933 61.6533 25.0966 61.4367 24.9099 61.25C24.7299 61.0567 24.4766 60.96 24.1499 60.96C23.8699 60.9533 23.6333 61.0233 23.4399 61.17C23.2533 61.31 23.1599 61.5167 23.1599 61.79C23.1599 62.0233 23.2333 62.21 23.3799 62.35C23.5266 62.4833 23.7266 62.5967 23.9799 62.69C24.2333 62.7833 24.5233 62.8833 24.8499 62.99C25.1966 63.11 25.5133 63.25 25.7999 63.41C26.0866 63.57 26.3166 63.7833 26.4899 64.05C26.6633 64.31 26.7499 64.6467 26.7499 65.06C26.7499 65.4267 26.6566 65.7667 26.4699 66.08C26.2833 66.3933 26.0066 66.6467 25.6399 66.84C25.2733 67.0267 24.8233 67.12 24.2899 67.12ZM29.4495 67V60H32.2595C32.9862 60 33.5395 60.17 33.9195 60.51C34.3062 60.8433 34.4995 61.2733 34.4995 61.8C34.4995 62.24 34.3795 62.5933 34.1395 62.86C33.9062 63.12 33.6195 63.2967 33.2795 63.39C33.6795 63.47 34.0095 63.67 34.2695 63.99C34.5295 64.3033 34.6595 64.67 34.6595 65.09C34.6595 65.6433 34.4595 66.1 34.0595 66.46C33.6595 66.82 33.0929 67 32.3595 67H29.4495ZM30.7295 62.94H32.0695C32.4295 62.94 32.7062 62.8567 32.8995 62.69C33.0929 62.5233 33.1895 62.2867 33.1895 61.98C33.1895 61.6867 33.0929 61.4567 32.8995 61.29C32.7129 61.1167 32.4295 61.03 32.0495 61.03H30.7295V62.94ZM30.7295 65.96H32.1595C32.5395 65.96 32.8329 65.8733 33.0395 65.7C33.2529 65.52 33.3595 65.27 33.3595 64.95C33.3595 64.6233 33.2495 64.3667 33.0295 64.18C32.8095 63.9933 32.5129 63.9 32.1395 63.9H30.7295V65.96ZM35.3581 67V60H36.6381V67H35.3581ZM37.5948 67V60H42.1648V61.03H38.8748V62.95H41.8648V63.95H38.8748V65.97H42.1648V67H37.5948ZM42.9761 67V60H44.2561L47.5461 64.93V60H48.8261V67H47.5461L44.2561 62.08V67H42.9761Z" fill="#0A004C"/>
<path opacity="0.64" d="M5.18 152V145H7.77C8.33 145 8.79333 145.093 9.16 145.28C9.52667 145.467 9.8 145.723 9.98 146.05C10.16 146.377 10.25 146.743 10.25 147.15C10.25 147.537 10.1633 147.893 9.99 148.22C9.81667 148.54 9.54667 148.8 9.18 149C8.81333 149.193 8.34333 149.29 7.77 149.29H6.46V152H5.18ZM6.46 148.25H7.69C8.13667 148.25 8.45667 148.153 8.65 147.96C8.85 147.76 8.95 147.49 8.95 147.15C8.95 146.803 8.85 146.533 8.65 146.34C8.45667 146.14 8.13667 146.04 7.69 146.04H6.46V148.25ZM9.65227 152L12.2123 145H13.6523L16.2123 152H14.8523L14.2923 150.38H11.5623L10.9923 152H9.65227ZM11.9123 149.38H13.9423L12.9223 146.47L11.9123 149.38ZM19.104 152.12C18.5907 152.12 18.1373 152.033 17.744 151.86C17.3507 151.68 17.0407 151.427 16.814 151.1C16.5873 150.767 16.4707 150.363 16.464 149.89H17.814C17.8273 150.217 17.944 150.493 18.164 150.72C18.3907 150.94 18.7007 151.05 19.094 151.05C19.434 151.05 19.704 150.97 19.904 150.81C20.104 150.643 20.204 150.423 20.204 150.15C20.204 149.863 20.114 149.64 19.934 149.48C19.7607 149.32 19.5273 149.19 19.234 149.09C18.9407 148.99 18.6273 148.883 18.294 148.77C17.754 148.583 17.3407 148.343 17.054 148.05C16.774 147.757 16.634 147.367 16.634 146.88C16.6273 146.467 16.724 146.113 16.924 145.82C17.1307 145.52 17.4107 145.29 17.764 145.13C18.1173 144.963 18.524 144.88 18.984 144.88C19.4507 144.88 19.8607 144.963 20.214 145.13C20.574 145.297 20.854 145.53 21.054 145.83C21.2607 146.13 21.3707 146.487 21.384 146.9H20.014C20.0073 146.653 19.9107 146.437 19.724 146.25C19.544 146.057 19.2907 145.96 18.964 145.96C18.684 145.953 18.4473 146.023 18.254 146.17C18.0673 146.31 17.974 146.517 17.974 146.79C17.974 147.023 18.0473 147.21 18.194 147.35C18.3407 147.483 18.5407 147.597 18.794 147.69C19.0473 147.783 19.3373 147.883 19.664 147.99C20.0107 148.11 20.3273 148.25 20.614 148.41C20.9007 148.57 21.1307 148.783 21.304 149.05C21.4773 149.31 21.564 149.647 21.564 150.06C21.564 150.427 21.4707 150.767 21.284 151.08C21.0973 151.393 20.8207 151.647 20.454 151.84C20.0873 152.027 19.6373 152.12 19.104 152.12ZM24.6708 152.12C24.1574 152.12 23.7041 152.033 23.3108 151.86C22.9174 151.68 22.6074 151.427 22.3808 151.1C22.1541 150.767 22.0374 150.363 22.0308 149.89H23.3808C23.3941 150.217 23.5108 150.493 23.7308 150.72C23.9574 150.94 24.2674 151.05 24.6608 151.05C25.0008 151.05 25.2708 150.97 25.4708 150.81C25.6708 150.643 25.7708 150.423 25.7708 150.15C25.7708 149.863 25.6808 149.64 25.5008 149.48C25.3274 149.32 25.0941 149.19 24.8008 149.09C24.5074 148.99 24.1941 148.883 23.8608 148.77C23.3208 148.583 22.9074 148.343 22.6208 148.05C22.3408 147.757 22.2008 147.367 22.2008 146.88C22.1941 146.467 22.2908 146.113 22.4908 145.82C22.6974 145.52 22.9774 145.29 23.3308 145.13C23.6841 144.963 24.0908 144.88 24.5508 144.88C25.0174 144.88 25.4274 144.963 25.7808 145.13C26.1408 145.297 26.4208 145.53 26.6208 145.83C26.8274 146.13 26.9374 146.487 26.9508 146.9H25.5808C25.5741 146.653 25.4774 146.437 25.2908 146.25C25.1108 146.057 24.8574 145.96 24.5308 145.96C24.2508 145.953 24.0141 146.023 23.8208 146.17C23.6341 146.31 23.5408 146.517 23.5408 146.79C23.5408 147.023 23.6141 147.21 23.7608 147.35C23.9074 147.483 24.1074 147.597 24.3608 147.69C24.6141 147.783 24.9041 147.883 25.2308 147.99C25.5774 148.11 25.8941 148.25 26.1808 148.41C26.4674 148.57 26.6974 148.783 26.8708 149.05C27.0441 149.31 27.1308 149.647 27.1308 150.06C27.1308 150.427 27.0374 150.767 26.8508 151.08C26.6641 151.393 26.3874 151.647 26.0208 151.84C25.6541 152.027 25.2041 152.12 24.6708 152.12ZM27.3976 152L29.9576 145H31.3976L33.9576 152H32.5976L32.0376 150.38H29.3076L28.7376 152H27.3976ZM29.6576 149.38H31.6876L30.6676 146.47L29.6576 149.38ZM34.4593 152V145H37.2693C37.996 145 38.5493 145.17 38.9293 145.51C39.316 145.843 39.5093 146.273 39.5093 146.8C39.5093 147.24 39.3893 147.593 39.1493 147.86C38.916 148.12 38.6293 148.297 38.2893 148.39C38.6893 148.47 39.0193 148.67 39.2793 148.99C39.5393 149.303 39.6693 149.67 39.6693 150.09C39.6693 150.643 39.4693 151.1 39.0693 151.46C38.6693 151.82 38.1026 152 37.3693 152H34.4593ZM35.7393 147.94H37.0793C37.4393 147.94 37.716 147.857 37.9093 147.69C38.1026 147.523 38.1993 147.287 38.1993 146.98C38.1993 146.687 38.1026 146.457 37.9093 146.29C37.7226 146.117 37.4393 146.03 37.0593 146.03H35.7393V147.94ZM35.7393 150.96H37.1693C37.5493 150.96 37.8426 150.873 38.0493 150.7C38.2626 150.52 38.3693 150.27 38.3693 149.95C38.3693 149.623 38.2593 149.367 38.0393 149.18C37.8193 148.993 37.5226 148.9 37.1493 148.9H35.7393V150.96ZM40.3679 152V145H41.6479V151H44.7479V152H40.3679ZM45.4757 152V145H50.0457V146.03H46.7557V147.95H49.7457V148.95H46.7557V150.97H50.0457V152H45.4757Z" fill="#0A004C"/>
<path opacity="0.64" d="M263.73 152L266.29 145H267.73L270.29 152H268.93L268.37 150.38H265.64L265.07 152H263.73ZM265.99 149.38H268.02L267 146.47L265.99 149.38ZM273.182 152.12C272.668 152.12 272.215 152.033 271.822 151.86C271.428 151.68 271.118 151.427 270.892 151.1C270.665 150.767 270.548 150.363 270.542 149.89H271.892C271.905 150.217 272.022 150.493 272.242 150.72C272.468 150.94 272.778 151.05 273.172 151.05C273.512 151.05 273.782 150.97 273.982 150.81C274.182 150.643 274.282 150.423 274.282 150.15C274.282 149.863 274.192 149.64 274.012 149.48C273.838 149.32 273.605 149.19 273.312 149.09C273.018 148.99 272.705 148.883 272.372 148.77C271.832 148.583 271.418 148.343 271.132 148.05C270.852 147.757 270.712 147.367 270.712 146.88C270.705 146.467 270.802 146.113 271.002 145.82C271.208 145.52 271.488 145.29 271.842 145.13C272.195 144.963 272.602 144.88 273.062 144.88C273.528 144.88 273.938 144.963 274.292 145.13C274.652 145.297 274.932 145.53 275.132 145.83C275.338 146.13 275.448 146.487 275.462 146.9H274.092C274.085 146.653 273.988 146.437 273.802 146.25C273.622 146.057 273.368 145.96 273.042 145.96C272.762 145.953 272.525 146.023 272.332 146.17C272.145 146.31 272.052 146.517 272.052 146.79C272.052 147.023 272.125 147.21 272.272 147.35C272.418 147.483 272.618 147.597 272.872 147.69C273.125 147.783 273.415 147.883 273.742 147.99C274.088 148.11 274.405 148.25 274.692 148.41C274.978 148.57 275.208 148.783 275.382 149.05C275.555 149.31 275.642 149.647 275.642 150.06C275.642 150.427 275.548 150.767 275.362 151.08C275.175 151.393 274.898 151.647 274.532 151.84C274.165 152.027 273.715 152.12 273.182 152.12ZM278.749 152.12C278.235 152.12 277.782 152.033 277.389 151.86C276.995 151.68 276.685 151.427 276.459 151.1C276.232 150.767 276.115 150.363 276.109 149.89H277.459C277.472 150.217 277.589 150.493 277.809 150.72C278.035 150.94 278.345 151.05 278.739 151.05C279.079 151.05 279.349 150.97 279.549 150.81C279.749 150.643 279.849 150.423 279.849 150.15C279.849 149.863 279.759 149.64 279.579 149.48C279.405 149.32 279.172 149.19 278.879 149.09C278.585 148.99 278.272 148.883 277.939 148.77C277.399 148.583 276.985 148.343 276.699 148.05C276.419 147.757 276.279 147.367 276.279 146.88C276.272 146.467 276.369 146.113 276.569 145.82C276.775 145.52 277.055 145.29 277.409 145.13C277.762 144.963 278.169 144.88 278.629 144.88C279.095 144.88 279.505 144.963 279.859 145.13C280.219 145.297 280.499 145.53 280.699 145.83C280.905 146.13 281.015 146.487 281.029 146.9H279.659C279.652 146.653 279.555 146.437 279.369 146.25C279.189 146.057 278.935 145.96 278.609 145.96C278.329 145.953 278.092 146.023 277.899 146.17C277.712 146.31 277.619 146.517 277.619 146.79C277.619 147.023 277.692 147.21 277.839 147.35C277.985 147.483 278.185 147.597 278.439 147.69C278.692 147.783 278.982 147.883 279.309 147.99C279.655 148.11 279.972 148.25 280.259 148.41C280.545 148.57 280.775 148.783 280.949 149.05C281.122 149.31 281.209 149.647 281.209 150.06C281.209 150.427 281.115 150.767 280.929 151.08C280.742 151.393 280.465 151.647 280.099 151.84C279.732 152.027 279.282 152.12 278.749 152.12ZM281.925 152V145H286.495V146.03H283.205V147.95H286.195V148.95H283.205V150.97H286.495V152H281.925ZM287.097 152V151.02L290.317 146.07H287.127V145H291.797V145.98L288.557 150.93H291.817V152H287.097ZM294.553 152V145H297.363C298.09 145 298.643 145.17 299.023 145.51C299.41 145.843 299.603 146.273 299.603 146.8C299.603 147.24 299.483 147.593 299.243 147.86C299.01 148.12 298.723 148.297 298.383 148.39C298.783 148.47 299.113 148.67 299.373 148.99C299.633 149.303 299.763 149.67 299.763 150.09C299.763 150.643 299.563 151.1 299.163 151.46C298.763 151.82 298.197 152 297.463 152H294.553ZM295.833 147.94H297.173C297.533 147.94 297.81 147.857 298.003 147.69C298.197 147.523 298.293 147.287 298.293 146.98C298.293 146.687 298.197 146.457 298.003 146.29C297.817 146.117 297.533 146.03 297.153 146.03H295.833V147.94ZM295.833 150.96H297.263C297.643 150.96 297.937 150.873 298.143 150.7C298.357 150.52 298.463 150.27 298.463 149.95C298.463 149.623 298.353 149.367 298.133 149.18C297.913 148.993 297.617 148.9 297.243 148.9H295.833V150.96ZM300.462 152V145H301.742V152H300.462ZM302.699 152V145H307.269V146.03H303.979V147.95H306.969V148.95H303.979V150.97H307.269V152H302.699ZM308.08 152V145H309.36L312.65 149.93V145H313.93V152H312.65L309.36 147.08V152H308.08Z" fill="#0A004C"/>
<path opacity="0.64" d="M264.18 29V22H268.75V23.03H265.46V24.95H268.45V25.95H265.46V27.97H268.75V29H264.18ZM269.221 29L271.411 25.46L269.191 22H270.661L272.231 24.44L273.671 22H275.111L272.921 25.52L275.161 29H273.691L272.101 26.53L270.661 29H269.221ZM278.415 29.12C277.709 29.12 277.102 28.97 276.595 28.67C276.089 28.3633 275.699 27.94 275.425 27.4C275.152 26.8533 275.015 26.2233 275.015 25.51C275.015 24.7967 275.152 24.1667 275.425 23.62C275.699 23.0733 276.089 22.6467 276.595 22.34C277.102 22.0333 277.709 21.88 278.415 21.88C279.255 21.88 279.942 22.09 280.475 22.51C281.015 22.9233 281.352 23.5067 281.485 24.26H280.075C279.989 23.88 279.802 23.5833 279.515 23.37C279.235 23.15 278.862 23.04 278.395 23.04C277.749 23.04 277.242 23.26 276.875 23.7C276.509 24.14 276.325 24.7433 276.325 25.51C276.325 26.2767 276.509 26.88 276.875 27.32C277.242 27.7533 277.749 27.97 278.395 27.97C278.862 27.97 279.235 27.87 279.515 27.67C279.802 27.4633 279.989 27.18 280.075 26.82H281.485C281.352 27.54 281.015 28.1033 280.475 28.51C279.942 28.9167 279.255 29.12 278.415 29.12ZM282.218 29V22H286.788V23.03H283.498V24.95H286.488V25.95H283.498V27.97H286.788V29H282.218ZM287.6 29V22H288.88V28H291.98V29H287.6ZM292.707 29V22H293.987V28H297.087V29H292.707ZM297.815 29V22H302.385V23.03H299.095V24.95H302.085V25.95H299.095V27.97H302.385V29H297.815ZM303.196 29V22H304.476L307.766 26.93V22H309.046V29H307.766L304.476 24.08V29H303.196ZM311.633 29V23.03H309.593V22H314.963V23.03H312.913V29H311.633Z" fill="#0A004C"/>
<g opacity="0.8" filter="url(#filter0_d_282_10841)">
<circle cx="146.926" cy="149.437" r="38.8053" fill="#C27C13"/>
</g>
<g opacity="0.8" filter="url(#filter1_d_282_10841)">
<circle cx="205" cy="165.5" r="28.5" fill="#C2B113"/>
</g>
<g opacity="0.8" filter="url(#filter2_d_282_10841)">
<circle cx="142.673" cy="33.6789" r="30.3" fill="#D3D715"/>
</g>
<g opacity="0.8" filter="url(#filter3_d_282_10841)">
<circle cx="102.5" cy="88" r="44" fill="#A0CF1C"/>
</g>
<g opacity="0.8" filter="url(#filter4_d_282_10841)">
<circle cx="196.5" cy="88" r="63" fill="#3A9918"/>
</g>
<path d="M178.693 96.288C177.589 96.288 176.589 96.096 175.693 95.712C174.797 95.312 174.077 94.704 173.533 93.888C172.989 93.072 172.701 92.048 172.669 90.816H175.693C175.709 91.632 175.973 92.32 176.485 92.88C177.013 93.424 177.749 93.696 178.693 93.696C179.589 93.696 180.277 93.448 180.757 92.952C181.237 92.456 181.477 91.832 181.477 91.08C181.477 90.2 181.157 89.536 180.517 89.088C179.893 88.624 179.085 88.392 178.093 88.392H176.845V85.872H178.117C178.933 85.872 179.613 85.68 180.157 85.296C180.701 84.912 180.973 84.344 180.973 83.592C180.973 82.968 180.765 82.472 180.349 82.104C179.949 81.72 179.389 81.528 178.669 81.528C177.885 81.528 177.269 81.76 176.821 82.224C176.389 82.688 176.149 83.256 176.101 83.928H173.101C173.165 82.376 173.701 81.152 174.709 80.256C175.733 79.36 177.053 78.912 178.669 78.912C179.821 78.912 180.789 79.12 181.573 79.536C182.373 79.936 182.973 80.472 183.373 81.144C183.789 81.816 183.997 82.56 183.997 83.376C183.997 84.32 183.733 85.12 183.205 85.776C182.693 86.416 182.053 86.848 181.285 87.072C182.229 87.264 182.997 87.728 183.589 88.464C184.181 89.184 184.477 90.096 184.477 91.2C184.477 92.128 184.253 92.976 183.805 93.744C183.357 94.512 182.701 95.128 181.837 95.592C180.989 96.056 179.941 96.288 178.693 96.288ZM193.398 96.288C192.166 96.288 191.102 96.072 190.206 95.64C189.326 95.208 188.63 94.616 188.118 93.864C187.622 93.096 187.334 92.232 187.254 91.272H190.254C190.398 91.96 190.75 92.536 191.31 93C191.87 93.448 192.566 93.672 193.398 93.672C194.294 93.672 195.022 93.344 195.582 92.688C196.158 92.032 196.446 91.216 196.446 90.24C196.446 89.232 196.158 88.432 195.582 87.84C195.022 87.248 194.31 86.952 193.446 86.952C192.726 86.952 192.102 87.128 191.574 87.48C191.046 87.832 190.67 88.272 190.446 88.8H187.494L188.934 79.2H198.246V81.888H191.238L190.47 85.776C190.822 85.392 191.302 85.08 191.91 84.84C192.518 84.584 193.198 84.456 193.95 84.456C195.15 84.456 196.15 84.728 196.95 85.272C197.75 85.8 198.358 86.504 198.774 87.384C199.19 88.248 199.398 89.192 199.398 90.216C199.398 91.384 199.142 92.424 198.63 93.336C198.134 94.248 197.43 94.968 196.518 95.496C195.622 96.024 194.582 96.288 193.398 96.288ZM205.593 87.456C204.825 87.456 204.129 87.288 203.505 86.952C202.881 86.6 202.385 86.104 202.017 85.464C201.649 84.824 201.465 84.064 201.465 83.184C201.465 82.304 201.649 81.544 202.017 80.904C202.385 80.264 202.881 79.776 203.505 79.44C204.129 79.088 204.833 78.912 205.617 78.912C206.385 78.912 207.073 79.088 207.681 79.44C208.305 79.776 208.801 80.264 209.169 80.904C209.537 81.544 209.721 82.304 209.721 83.184C209.721 84.064 209.537 84.824 209.169 85.464C208.801 86.104 208.305 86.6 207.681 86.952C207.057 87.288 206.361 87.456 205.593 87.456ZM204.681 96L214.161 79.2H217.161L207.681 96H204.681ZM205.593 85.32C206.057 85.32 206.457 85.144 206.793 84.792C207.129 84.424 207.297 83.888 207.297 83.184C207.297 82.48 207.129 81.944 206.793 81.576C206.473 81.208 206.073 81.024 205.593 81.024C205.113 81.024 204.705 81.208 204.369 81.576C204.049 81.944 203.889 82.48 203.889 83.184C203.889 83.888 204.049 84.424 204.369 84.792C204.705 85.144 205.113 85.32 205.593 85.32ZM216.345 96.288C215.577 96.288 214.881 96.12 214.257 95.784C213.633 95.432 213.137 94.936 212.769 94.296C212.401 93.656 212.217 92.896 212.217 92.016C212.217 91.136 212.401 90.384 212.769 89.76C213.137 89.12 213.633 88.632 214.257 88.296C214.881 87.944 215.585 87.768 216.369 87.768C217.137 87.768 217.825 87.944 218.433 88.296C219.057 88.632 219.553 89.12 219.921 89.76C220.289 90.384 220.473 91.136 220.473 92.016C220.473 92.896 220.289 93.656 219.921 94.296C219.553 94.936 219.057 95.432 218.433 95.784C217.825 96.12 217.129 96.288 216.345 96.288ZM216.345 94.152C216.825 94.152 217.225 93.976 217.545 93.624C217.881 93.256 218.049 92.72 218.049 92.016C218.049 91.312 217.881 90.776 217.545 90.408C217.225 90.04 216.825 89.856 216.345 89.856C215.865 89.856 215.457 90.04 215.121 90.408C214.801 90.776 214.641 91.312 214.641 92.016C214.641 92.72 214.801 93.256 215.121 93.624C215.457 93.976 215.865 94.152 216.345 94.152Z" fill="white"/>
<path d="M130.297 155.463V153.882C131.023 153.281 131.725 152.686 132.405 152.097C133.097 151.508 133.709 150.924 134.241 150.346C134.785 149.768 135.216 149.207 135.533 148.663C135.862 148.108 136.026 147.569 136.026 147.048C136.026 146.561 135.89 146.13 135.618 145.756C135.358 145.382 134.921 145.195 134.309 145.195C133.686 145.195 133.216 145.399 132.898 145.807C132.581 146.215 132.422 146.708 132.422 147.286H130.314C130.337 146.413 130.53 145.688 130.892 145.11C131.255 144.521 131.737 144.084 132.337 143.801C132.938 143.506 133.612 143.359 134.36 143.359C135.573 143.359 136.514 143.693 137.182 144.362C137.862 145.019 138.202 145.875 138.202 146.929C138.202 147.586 138.049 148.227 137.743 148.85C137.449 149.473 137.058 150.074 136.57 150.652C136.083 151.23 135.556 151.774 134.989 152.284C134.423 152.783 133.873 153.247 133.34 153.678H138.491V155.463H130.297ZM144.48 155.667C143.607 155.667 142.854 155.514 142.219 155.208C141.596 154.902 141.103 154.483 140.74 153.95C140.389 153.406 140.185 152.794 140.128 152.114H142.253C142.355 152.601 142.604 153.009 143.001 153.338C143.398 153.655 143.891 153.814 144.48 153.814C145.115 153.814 145.63 153.582 146.027 153.117C146.435 152.652 146.639 152.074 146.639 151.383C146.639 150.669 146.435 150.102 146.027 149.683C145.63 149.264 145.126 149.054 144.514 149.054C144.004 149.054 143.562 149.179 143.188 149.428C142.814 149.677 142.548 149.989 142.389 150.363H140.298L141.318 143.563H147.914V145.467H142.95L142.406 148.221C142.655 147.949 142.995 147.728 143.426 147.558C143.857 147.377 144.338 147.286 144.871 147.286C145.721 147.286 146.429 147.479 146.996 147.864C147.563 148.238 147.993 148.737 148.288 149.36C148.583 149.972 148.73 150.641 148.73 151.366C148.73 152.193 148.549 152.93 148.186 153.576C147.835 154.222 147.336 154.732 146.69 155.106C146.055 155.48 145.319 155.667 144.48 155.667ZM153.118 149.411C152.574 149.411 152.081 149.292 151.639 149.054C151.197 148.805 150.846 148.453 150.585 148C150.324 147.547 150.194 147.008 150.194 146.385C150.194 145.762 150.324 145.223 150.585 144.77C150.846 144.317 151.197 143.971 151.639 143.733C152.081 143.484 152.58 143.359 153.135 143.359C153.679 143.359 154.166 143.484 154.597 143.733C155.039 143.971 155.39 144.317 155.651 144.77C155.912 145.223 156.042 145.762 156.042 146.385C156.042 147.008 155.912 147.547 155.651 148C155.39 148.453 155.039 148.805 154.597 149.054C154.155 149.292 153.662 149.411 153.118 149.411ZM152.472 155.463L159.187 143.563H161.312L154.597 155.463H152.472ZM153.118 147.898C153.447 147.898 153.73 147.773 153.968 147.524C154.206 147.263 154.325 146.884 154.325 146.385C154.325 145.886 154.206 145.507 153.968 145.246C153.741 144.985 153.458 144.855 153.118 144.855C152.778 144.855 152.489 144.985 152.251 145.246C152.024 145.507 151.911 145.886 151.911 146.385C151.911 146.884 152.024 147.263 152.251 147.524C152.489 147.773 152.778 147.898 153.118 147.898ZM160.734 155.667C160.19 155.667 159.697 155.548 159.255 155.31C158.813 155.061 158.462 154.709 158.201 154.256C157.94 153.803 157.81 153.264 157.81 152.641C157.81 152.018 157.94 151.485 158.201 151.043C158.462 150.59 158.813 150.244 159.255 150.006C159.697 149.757 160.196 149.632 160.751 149.632C161.295 149.632 161.782 149.757 162.213 150.006C162.655 150.244 163.006 150.59 163.267 151.043C163.528 151.485 163.658 152.018 163.658 152.641C163.658 153.264 163.528 153.803 163.267 154.256C163.006 154.709 162.655 155.061 162.213 155.31C161.782 155.548 161.289 155.667 160.734 155.667ZM160.734 154.154C161.074 154.154 161.357 154.029 161.584 153.78C161.822 153.519 161.941 153.14 161.941 152.641C161.941 152.142 161.822 151.763 161.584 151.502C161.357 151.241 161.074 151.111 160.734 151.111C160.394 151.111 160.105 151.241 159.867 151.502C159.64 151.763 159.527 152.142 159.527 152.641C159.527 153.14 159.64 153.519 159.867 153.78C160.105 154.029 160.394 154.154 160.734 154.154Z" fill="white"/>
<path d="M199.657 171.144C199.081 171.144 198.561 171.044 198.097 170.844C197.633 170.636 197.261 170.344 196.981 169.968C196.709 169.592 196.573 169.156 196.573 168.66C196.573 168.148 196.705 167.7 196.969 167.316C197.241 166.932 197.597 166.656 198.037 166.488C197.653 166.32 197.349 166.08 197.125 165.768C196.901 165.448 196.789 165.092 196.789 164.7C196.789 164.3 196.897 163.932 197.113 163.596C197.329 163.252 197.649 162.976 198.073 162.768C198.505 162.56 199.033 162.456 199.657 162.456C200.281 162.456 200.805 162.56 201.229 162.768C201.653 162.976 201.973 163.252 202.189 163.596C202.405 163.932 202.513 164.3 202.513 164.7C202.513 165.084 202.397 165.44 202.165 165.768C201.941 166.088 201.641 166.328 201.265 166.488C201.713 166.656 202.069 166.932 202.333 167.316C202.597 167.7 202.729 168.148 202.729 168.66C202.729 169.156 202.593 169.592 202.321 169.968C202.049 170.344 201.677 170.636 201.205 170.844C200.741 171.044 200.225 171.144 199.657 171.144ZM199.657 166.032C200.073 166.032 200.401 165.924 200.641 165.708C200.881 165.492 201.001 165.216 201.001 164.88C201.001 164.512 200.881 164.224 200.641 164.016C200.409 163.808 200.081 163.704 199.657 163.704C199.225 163.704 198.893 163.808 198.661 164.016C198.429 164.224 198.313 164.512 198.313 164.88C198.313 165.224 198.429 165.504 198.661 165.72C198.901 165.928 199.233 166.032 199.657 166.032ZM199.657 169.86C200.169 169.86 200.557 169.736 200.821 169.488C201.085 169.232 201.217 168.912 201.217 168.528C201.217 168.104 201.077 167.772 200.797 167.532C200.525 167.292 200.145 167.172 199.657 167.172C199.169 167.172 198.781 167.292 198.493 167.532C198.213 167.772 198.073 168.104 198.073 168.528C198.073 168.912 198.205 169.232 198.469 169.488C198.741 169.736 199.137 169.86 199.657 169.86ZM205.908 166.728C205.524 166.728 205.176 166.644 204.864 166.476C204.552 166.3 204.304 166.052 204.12 165.732C203.936 165.412 203.844 165.032 203.844 164.592C203.844 164.152 203.936 163.772 204.12 163.452C204.304 163.132 204.552 162.888 204.864 162.72C205.176 162.544 205.528 162.456 205.92 162.456C206.304 162.456 206.648 162.544 206.952 162.72C207.264 162.888 207.512 163.132 207.696 163.452C207.88 163.772 207.972 164.152 207.972 164.592C207.972 165.032 207.88 165.412 207.696 165.732C207.512 166.052 207.264 166.3 206.952 166.476C206.64 166.644 206.292 166.728 205.908 166.728ZM205.452 171L210.192 162.6H211.692L206.952 171H205.452ZM205.908 165.66C206.14 165.66 206.34 165.572 206.508 165.396C206.676 165.212 206.76 164.944 206.76 164.592C206.76 164.24 206.676 163.972 206.508 163.788C206.348 163.604 206.148 163.512 205.908 163.512C205.668 163.512 205.464 163.604 205.296 163.788C205.136 163.972 205.056 164.24 205.056 164.592C205.056 164.944 205.136 165.212 205.296 165.396C205.464 165.572 205.668 165.66 205.908 165.66ZM211.284 171.144C210.9 171.144 210.552 171.06 210.24 170.892C209.928 170.716 209.68 170.468 209.496 170.148C209.312 169.828 209.22 169.448 209.22 169.008C209.22 168.568 209.312 168.192 209.496 167.88C209.68 167.56 209.928 167.316 210.24 167.148C210.552 166.972 210.904 166.884 211.296 166.884C211.68 166.884 212.024 166.972 212.328 167.148C212.64 167.316 212.888 167.56 213.072 167.88C213.256 168.192 213.348 168.568 213.348 169.008C213.348 169.448 213.256 169.828 213.072 170.148C212.888 170.468 212.64 170.716 212.328 170.892C212.024 171.06 211.676 171.144 211.284 171.144ZM211.284 170.076C211.524 170.076 211.724 169.988 211.884 169.812C212.052 169.628 212.136 169.36 212.136 169.008C212.136 168.656 212.052 168.388 211.884 168.204C211.724 168.02 211.524 167.928 211.284 167.928C211.044 167.928 210.84 168.02 210.672 168.204C210.512 168.388 210.432 168.656 210.432 169.008C210.432 169.36 210.512 169.628 210.672 169.812C210.84 169.988 211.044 170.076 211.284 170.076Z" fill="white"/>
<path d="M132.243 37.7051V29.9491L130.633 30.3271V28.9551L132.999 27.9051H134.105V37.7051H132.243ZM135.697 37.7051V36.4031C136.295 35.9084 136.873 35.4184 137.433 34.9331C138.003 34.4477 138.507 33.9671 138.945 33.4911C139.393 33.0151 139.748 32.5531 140.009 32.1051C140.28 31.6477 140.415 31.2044 140.415 30.7751C140.415 30.3737 140.303 30.0191 140.079 29.7111C139.865 29.4031 139.505 29.2491 139.001 29.2491C138.488 29.2491 138.101 29.4171 137.839 29.7531C137.578 30.0891 137.447 30.4951 137.447 30.9711H135.711C135.73 30.2524 135.889 29.6551 136.187 29.1791C136.486 28.6937 136.883 28.3344 137.377 28.1011C137.872 27.8584 138.427 27.7371 139.043 27.7371C140.042 27.7371 140.817 28.0124 141.367 28.5631C141.927 29.1044 142.207 29.8091 142.207 30.6771C142.207 31.2184 142.081 31.7457 141.829 32.2591C141.587 32.7724 141.265 33.2671 140.863 33.7431C140.462 34.2191 140.028 34.6671 139.561 35.0871C139.095 35.4977 138.642 35.8804 138.203 36.2351H142.445V37.7051H135.697ZM145.88 32.7211C145.432 32.7211 145.026 32.6231 144.662 32.4271C144.298 32.2217 144.008 31.9324 143.794 31.5591C143.579 31.1857 143.472 30.7424 143.472 30.2291C143.472 29.7157 143.579 29.2724 143.794 28.8991C144.008 28.5257 144.298 28.2411 144.662 28.0451C145.026 27.8397 145.436 27.7371 145.894 27.7371C146.342 27.7371 146.743 27.8397 147.098 28.0451C147.462 28.2411 147.751 28.5257 147.966 28.8991C148.18 29.2724 148.288 29.7157 148.288 30.2291C148.288 30.7424 148.18 31.1857 147.966 31.5591C147.751 31.9324 147.462 32.2217 147.098 32.4271C146.734 32.6231 146.328 32.7211 145.88 32.7211ZM145.348 37.7051L150.878 27.9051H152.628L147.098 37.7051H145.348ZM145.88 31.4751C146.15 31.4751 146.384 31.3724 146.58 31.1671C146.776 30.9524 146.874 30.6397 146.874 30.2291C146.874 29.8184 146.776 29.5057 146.58 29.2911C146.393 29.0764 146.16 28.9691 145.88 28.9691C145.6 28.9691 145.362 29.0764 145.166 29.2911C144.979 29.5057 144.886 29.8184 144.886 30.2291C144.886 30.6397 144.979 30.9524 145.166 31.1671C145.362 31.3724 145.6 31.4751 145.88 31.4751ZM152.152 37.8731C151.704 37.8731 151.298 37.7751 150.934 37.5791C150.57 37.3737 150.28 37.0844 150.066 36.7111C149.851 36.3377 149.744 35.8944 149.744 35.3811C149.744 34.8677 149.851 34.4291 150.066 34.0651C150.28 33.6917 150.57 33.4071 150.934 33.2111C151.298 33.0057 151.708 32.9031 152.166 32.9031C152.614 32.9031 153.015 33.0057 153.37 33.2111C153.734 33.4071 154.023 33.6917 154.238 34.0651C154.452 34.4291 154.56 34.8677 154.56 35.3811C154.56 35.8944 154.452 36.3377 154.238 36.7111C154.023 37.0844 153.734 37.3737 153.37 37.5791C153.015 37.7751 152.609 37.8731 152.152 37.8731ZM152.152 36.6271C152.432 36.6271 152.665 36.5244 152.852 36.3191C153.048 36.1044 153.146 35.7917 153.146 35.3811C153.146 34.9704 153.048 34.6577 152.852 34.4431C152.665 34.2284 152.432 34.1211 152.152 34.1211C151.872 34.1211 151.634 34.2284 151.438 34.4431C151.251 34.6577 151.158 34.9704 151.158 35.3811C151.158 35.7917 151.251 36.1044 151.438 36.3191C151.634 36.5244 151.872 36.6271 152.152 36.6271Z" fill="white"/>
<path d="M85.7085 93V91.512C86.3912 90.9467 87.0525 90.3867 87.6925 89.832C88.3432 89.2773 88.9192 88.728 89.4205 88.184C89.9325 87.64 90.3378 87.112 90.6365 86.6C90.9458 86.0773 91.1005 85.5707 91.1005 85.08C91.1005 84.6213 90.9725 84.216 90.7165 83.864C90.4712 83.512 90.0605 83.336 89.4845 83.336C88.8978 83.336 88.4552 83.528 88.1565 83.912C87.8578 84.296 87.7085 84.76 87.7085 85.304H85.7245C85.7458 84.4827 85.9272 83.8 86.2685 83.256C86.6098 82.7013 87.0632 82.2907 87.6285 82.024C88.1938 81.7467 88.8285 81.608 89.5325 81.608C90.6738 81.608 91.5592 81.9227 92.1885 82.552C92.8285 83.1707 93.1485 83.976 93.1485 84.968C93.1485 85.5867 93.0045 86.1893 92.7165 86.776C92.4392 87.3627 92.0712 87.928 91.6125 88.472C91.1538 89.016 90.6578 89.528 90.1245 90.008C89.5912 90.4773 89.0738 90.9147 88.5725 91.32H93.4205V93H85.7085ZM99.555 93.192C98.5203 93.192 97.635 92.952 96.899 92.472C96.163 91.9813 95.5923 91.304 95.187 90.44C94.7923 89.5653 94.595 88.552 94.595 87.4C94.595 86.2587 94.7923 85.2507 95.187 84.376C95.5923 83.5013 96.163 82.824 96.899 82.344C97.635 81.8533 98.5203 81.608 99.555 81.608C100.59 81.608 101.475 81.8533 102.211 82.344C102.947 82.824 103.512 83.5013 103.907 84.376C104.312 85.2507 104.515 86.2587 104.515 87.4C104.515 88.552 104.312 89.5653 103.907 90.44C103.512 91.304 102.947 91.9813 102.211 92.472C101.475 92.952 100.59 93.192 99.555 93.192ZM99.555 91.352C100.398 91.352 101.086 91 101.619 90.296C102.152 89.592 102.419 88.6267 102.419 87.4C102.419 86.1733 102.152 85.208 101.619 84.504C101.086 83.8 100.398 83.448 99.555 83.448C98.7017 83.448 98.0083 83.8 97.475 84.504C96.9523 85.208 96.691 86.1733 96.691 87.4C96.691 88.6267 96.9523 89.592 97.475 90.296C98.0083 91 98.7017 91.352 99.555 91.352ZM108.546 87.304C108.034 87.304 107.57 87.192 107.154 86.968C106.738 86.7333 106.408 86.4027 106.162 85.976C105.917 85.5493 105.794 85.0427 105.794 84.456C105.794 83.8693 105.917 83.3627 106.162 82.936C106.408 82.5093 106.738 82.184 107.154 81.96C107.57 81.7253 108.04 81.608 108.562 81.608C109.074 81.608 109.533 81.7253 109.938 81.96C110.354 82.184 110.685 82.5093 110.93 82.936C111.176 83.3627 111.298 83.8693 111.298 84.456C111.298 85.0427 111.176 85.5493 110.93 85.976C110.685 86.4027 110.354 86.7333 109.938 86.968C109.522 87.192 109.058 87.304 108.546 87.304ZM107.938 93L114.258 81.8H116.258L109.938 93H107.938ZM108.546 85.88C108.856 85.88 109.122 85.7627 109.346 85.528C109.57 85.2827 109.682 84.9253 109.682 84.456C109.682 83.9867 109.57 83.6293 109.346 83.384C109.133 83.1387 108.866 83.016 108.546 83.016C108.226 83.016 107.954 83.1387 107.73 83.384C107.517 83.6293 107.41 83.9867 107.41 84.456C107.41 84.9253 107.517 85.2827 107.73 85.528C107.954 85.7627 108.226 85.88 108.546 85.88ZM115.714 93.192C115.202 93.192 114.738 93.08 114.322 92.856C113.906 92.6213 113.576 92.2907 113.33 91.864C113.085 91.4373 112.962 90.9307 112.962 90.344C112.962 89.7573 113.085 89.256 113.33 88.84C113.576 88.4133 113.906 88.088 114.322 87.864C114.738 87.6293 115.208 87.512 115.73 87.512C116.242 87.512 116.701 87.6293 117.106 87.864C117.522 88.088 117.853 88.4133 118.098 88.84C118.344 89.256 118.466 89.7573 118.466 90.344C118.466 90.9307 118.344 91.4373 118.098 91.864C117.853 92.2907 117.522 92.6213 117.106 92.856C116.701 93.08 116.237 93.192 115.714 93.192ZM115.714 91.768C116.034 91.768 116.301 91.6507 116.514 91.416C116.738 91.1707 116.85 90.8133 116.85 90.344C116.85 89.8747 116.738 89.5173 116.514 89.272C116.301 89.0267 116.034 88.904 115.714 88.904C115.394 88.904 115.122 89.0267 114.898 89.272C114.685 89.5173 114.578 89.8747 114.578 90.344C114.578 90.8133 114.685 91.1707 114.898 91.416C115.122 91.6507 115.394 91.768 115.714 91.768Z" fill="white"/>
<defs>
<filter id="filter0_d_282_10841" x="68.1211" y="110.632" width="157.61" height="157.611" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="40"/>
<feGaussianBlur stdDeviation="20"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.788235 0 0 0 0 0.580392 0 0 0 0 0.235294 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_282_10841"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_282_10841" result="shape"/>
</filter>
<filter id="filter1_d_282_10841" x="136.5" y="137" width="137" height="137" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="40"/>
<feGaussianBlur stdDeviation="20"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.8 0 0 0 0 0.784314 0 0 0 0 0.247059 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_282_10841"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_282_10841" result="shape"/>
</filter>
<filter id="filter2_d_282_10841" x="72.373" y="3.37891" width="140.6" height="140.6" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="40"/>
<feGaussianBlur stdDeviation="20"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.839216 0 0 0 0 0.85098 0 0 0 0 0.286275 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_282_10841"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_282_10841" result="shape"/>
</filter>
<filter id="filter3_d_282_10841" x="18.5" y="44" width="168" height="168" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="40"/>
<feGaussianBlur stdDeviation="20"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.744338 0 0 0 0 0.954167 0 0 0 0 0.159028 0 0 0 0.24 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_282_10841"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_282_10841" result="shape"/>
</filter>
<filter id="filter4_d_282_10841" x="93.5" y="25" width="206" height="206" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="40"/>
<feGaussianBlur stdDeviation="20"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.388235 0 0 0 0 0.682353 0 0 0 0 0.27451 0 0 0 0.45 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_282_10841"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_282_10841" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 46 KiB

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" fill="#0A004C"/>
<g clip-path="url(#clip0_1108_6175)">
<path d="M17.3332 8L10.1175 16L6.6665 12.6667" stroke="white" stroke-width="1.33333" stroke-linecap="square"/>
</g>
<defs>
<clipPath id="clip0_1108_6175">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 406 B

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" fill="white"/>
<g clip-path="url(#clip0_1108_7017)">
<path d="M11.5462 17V8.136L9.70619 8.568V7L12.4102 5.8H13.6742V17H11.5462Z" fill="#2400FD"/>
</g>
<defs>
<clipPath id="clip0_1108_7017">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 386 B

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" fill="#0A004C"/>
<g clip-path="url(#clip0_1108_7032)">
<path d="M11.9864 17.192C11.2504 17.192 10.5837 17.064 9.98638 16.808C9.38904 16.5413 8.90904 16.136 8.54638 15.592C8.18371 15.048 7.99171 14.3653 7.97038 13.544H9.98638C9.99704 14.088 10.173 14.5467 10.5144 14.92C10.8664 15.2827 11.357 15.464 11.9864 15.464C12.5837 15.464 13.0424 15.2987 13.3624 14.968C13.6824 14.6373 13.8424 14.2213 13.8424 13.72C13.8424 13.1333 13.629 12.6907 13.2024 12.392C12.7864 12.0827 12.2477 11.928 11.5864 11.928H10.7544V10.248H11.6024C12.1464 10.248 12.5997 10.12 12.9624 9.864C13.325 9.608 13.5064 9.22933 13.5064 8.728C13.5064 8.312 13.3677 7.98133 13.0904 7.736C12.8237 7.48 12.4504 7.352 11.9704 7.352C11.4477 7.352 11.037 7.50667 10.7384 7.816C10.4504 8.12533 10.2904 8.504 10.2584 8.952H8.25838C8.30104 7.91733 8.65838 7.10133 9.33038 6.504C10.013 5.90667 10.893 5.608 11.9704 5.608C12.7384 5.608 13.3837 5.74667 13.9064 6.024C14.4397 6.29067 14.8397 6.648 15.1064 7.096C15.3837 7.544 15.5224 8.04 15.5224 8.584C15.5224 9.21333 15.3464 9.74667 14.9944 10.184C14.653 10.6107 14.2264 10.8987 13.7144 11.048C14.3437 11.176 14.8557 11.4853 15.2504 11.976C15.645 12.456 15.8424 13.064 15.8424 13.8C15.8424 14.4187 15.693 14.984 15.3944 15.496C15.0957 16.008 14.6584 16.4187 14.0824 16.728C13.517 17.0373 12.8184 17.192 11.9864 17.192Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_1108_7032">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" fill="white"/>
<g clip-path="url(#clip0_1108_6817)">
<path d="M11.9864 17.192C11.2504 17.192 10.5837 17.064 9.98638 16.808C9.38904 16.5413 8.90904 16.136 8.54638 15.592C8.18371 15.048 7.99171 14.3653 7.97038 13.544H9.98638C9.99704 14.088 10.173 14.5467 10.5144 14.92C10.8664 15.2827 11.357 15.464 11.9864 15.464C12.5837 15.464 13.0424 15.2987 13.3624 14.968C13.6824 14.6373 13.8424 14.2213 13.8424 13.72C13.8424 13.1333 13.629 12.6907 13.2024 12.392C12.7864 12.0827 12.2477 11.928 11.5864 11.928H10.7544V10.248H11.6024C12.1464 10.248 12.5997 10.12 12.9624 9.864C13.325 9.608 13.5064 9.22933 13.5064 8.728C13.5064 8.312 13.3677 7.98133 13.0904 7.736C12.8237 7.48 12.4504 7.352 11.9704 7.352C11.4477 7.352 11.037 7.50667 10.7384 7.816C10.4504 8.12533 10.2904 8.504 10.2584 8.952H8.25838C8.30104 7.91733 8.65838 7.10133 9.33038 6.504C10.013 5.90667 10.893 5.608 11.9704 5.608C12.7384 5.608 13.3837 5.74667 13.9064 6.024C14.4397 6.29067 14.8397 6.648 15.1064 7.096C15.3837 7.544 15.5224 8.04 15.5224 8.584C15.5224 9.21333 15.3464 9.74667 14.9944 10.184C14.653 10.6107 14.2264 10.8987 13.7144 11.048C14.3437 11.176 14.8557 11.4853 15.2504 11.976C15.645 12.456 15.8424 13.064 15.8424 13.8C15.8424 14.4187 15.693 14.984 15.3944 15.496C15.0957 16.008 14.6584 16.4187 14.0824 16.728C13.517 17.0373 12.8184 17.192 11.9864 17.192Z" fill="#2400FD"/>
</g>
<defs>
<clipPath id="clip0_1108_6817">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" fill="#0A004C"/>
<g clip-path="url(#clip0_1108_7024)">
<path d="M8.24569 17V15.512C8.92835 14.9467 9.58969 14.3867 10.2297 13.832C10.8804 13.2773 11.4564 12.728 11.9577 12.184C12.4697 11.64 12.875 11.112 13.1737 10.6C13.483 10.0773 13.6377 9.57067 13.6377 9.08C13.6377 8.62133 13.5097 8.216 13.2537 7.864C13.0084 7.512 12.5977 7.336 12.0217 7.336C11.435 7.336 10.9924 7.528 10.6937 7.912C10.395 8.296 10.2457 8.76 10.2457 9.304H8.26169C8.28302 8.48267 8.46435 7.8 8.80569 7.256C9.14702 6.70133 9.60035 6.29067 10.1657 6.024C10.731 5.74667 11.3657 5.608 12.0697 5.608C13.211 5.608 14.0964 5.92267 14.7257 6.552C15.3657 7.17067 15.6857 7.976 15.6857 8.968C15.6857 9.58667 15.5417 10.1893 15.2537 10.776C14.9764 11.3627 14.6084 11.928 14.1497 12.472C13.691 13.016 13.195 13.528 12.6617 14.008C12.1284 14.4773 11.611 14.9147 11.1097 15.32H15.9577V17H8.24569Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_1108_7024">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24" fill="white"/>
<g clip-path="url(#clip0_1108_6182)">
<path d="M8.24569 17V15.512C8.92835 14.9467 9.58969 14.3867 10.2297 13.832C10.8804 13.2773 11.4564 12.728 11.9577 12.184C12.4697 11.64 12.875 11.112 13.1737 10.6C13.483 10.0773 13.6377 9.57067 13.6377 9.08C13.6377 8.62133 13.5097 8.216 13.2537 7.864C13.0084 7.512 12.5977 7.336 12.0217 7.336C11.435 7.336 10.9924 7.528 10.6937 7.912C10.395 8.296 10.2457 8.76 10.2457 9.304H8.26169C8.28302 8.48267 8.46435 7.8 8.80569 7.256C9.14702 6.70133 9.60035 6.29067 10.1657 6.024C10.731 5.74667 11.3657 5.608 12.0697 5.608C13.211 5.608 14.0964 5.92267 14.7257 6.552C15.3657 7.17067 15.6857 7.976 15.6857 8.968C15.6857 9.58667 15.5417 10.1893 15.2537 10.776C14.9764 11.3627 14.6084 11.928 14.1497 12.472C13.691 13.016 13.195 13.528 12.6617 14.008C12.1284 14.4773 11.611 14.9147 11.1097 15.32H15.9577V17H8.24569Z" fill="#2400FD"/>
</g>
<defs>
<clipPath id="clip0_1108_6182">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,5 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M32.7131 26.1312L32.7132 38.9696H36.7328V22.0742L32.7131 26.1312ZM3.29688 31.9426L3.29688 38.9696H7.4992V36.1093L3.29688 31.9426Z" fill="#FF3E37"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M36.7957 11.4741V17.4069L15.0647 39.1378L3.24316 27.3162L3.24316 21.3834L15.0647 33.205L36.7957 11.4741Z" fill="#2400FD"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M36.7957 0.763184V6.69593L15.0646 28.427L3.24316 16.6055L3.24316 10.6728L15.0646 22.4942L36.7957 0.763184Z" fill="#2400FD"/>
</svg>

After

Width:  |  Height:  |  Size: 646 B

@ -0,0 +1,5 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.1705 20.9053L26.1705 31.176H29.3862L29.3862 17.6597L26.1705 20.9053ZM2.63745 25.5544L2.63745 31.176H5.99931L5.99931 28.8877L2.63745 25.5544Z" fill="#FF3E37"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M29.4366 9.17969V13.9259L12.0519 31.3106L2.5946 21.8534L2.5946 17.1072L12.0519 26.5644L29.4366 9.17969Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M29.4366 0.61084V5.35704L12.0518 22.7419L2.5946 13.2847L2.5946 8.53854L12.0518 17.9957L29.4366 0.61084Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 653 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

@ -0,0 +1,38 @@
<svg width="201" height="92" viewBox="0 0 201 92" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M66.9161 60.004L66.9161 89.5322H76.0301V50.6729L66.9161 60.004ZM0.218262 73.3702L0.218262 89.5323H9.74653L9.74653 82.9535L0.218262 73.3702Z" fill="#FF3E37"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M76.1728 26.292V39.9373L26.9007 89.9183L0.0968026 62.7288L0.0968018 49.0834L26.9007 76.273L76.1728 26.292Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M76.1728 1.65723V15.3025L26.9005 65.2837L0.0968026 38.0943L0.0968018 24.449L26.9005 51.6384L76.1728 1.65723Z" fill="white"/>
<mask id="path-4-outside-1_62_1952" maskUnits="userSpaceOnUse" x="92.8703" y="24.9795" width="108" height="65" fill="black">
<rect fill="white" x="92.8703" y="24.9795" width="108" height="65"/>
<path d="M98.4708 55.1737V34.3265L106.598 55.1737H110.469L118.474 34.3265V55.1737H122.872V25.9795H117.44L108.604 48.8014L99.5044 25.9795H93.8703V55.1737H98.4708Z"/>
<path d="M132.916 31.3338V25.9795H127.971V31.3338H132.916ZM132.775 55.1737V34.3265H128.133V55.1737H132.775Z"/>
<path d="M146.163 55.6419C148.595 55.6419 150.601 54.9904 152.202 53.6671C153.783 52.3642 154.736 50.6744 155.08 48.5775H150.946C150.196 50.7151 148.595 51.7942 146.163 51.7942C144.501 51.7942 143.184 51.3055 142.211 50.308C141.218 49.3308 140.732 47.9871 140.732 46.2973V46.2566H155.425C155.668 42.7346 154.938 39.8233 153.256 37.5228C151.574 35.2223 149.162 34.0822 146.041 34.0822C143.103 34.0822 140.732 35.0798 138.908 37.0749C137.063 39.07 136.151 41.6759 136.151 44.913C136.151 48.2518 137.063 50.878 138.887 52.7714C140.691 54.6851 143.123 55.6419 146.163 55.6419ZM140.853 42.3681C140.934 41.0652 141.461 39.9862 142.414 39.1515C143.366 38.3168 144.521 37.9096 145.92 37.9096C147.298 37.9096 148.433 38.3168 149.345 39.1515C150.237 39.9862 150.703 41.0652 150.764 42.3681H140.853Z"/>
<path d="M166.564 55.7234C168.064 55.7234 169.34 55.3976 170.394 54.7054C171.428 54.0336 172.238 53.321 172.786 52.5474V55.1737H177.184V34.3265H172.786V44.8315C172.786 46.9285 172.279 48.5979 171.266 49.8601C170.252 51.1223 169.036 51.7534 167.597 51.7534C165.105 51.7534 163.483 50.1247 163.483 46.6231V34.3265H158.721V47.132C158.721 49.799 159.511 51.9977 160.626 53.2192C161.173 53.83 161.821 54.3186 162.571 54.7054C164.03 55.4994 165.287 55.7234 166.564 55.7234Z"/>
<path d="M185.06 55.1737L190.065 48.2518L195.051 55.1737H200.28L192.599 44.7501L200.28 34.3265H195.051L190.106 41.2484L185.06 34.3265H179.81L187.532 44.7501L179.81 55.1737H185.06Z"/>
<path d="M109.279 88.9262L120.162 59.7321H115.501L107.171 82.7576L98.8211 59.7321H94.1193L105.002 88.9262H109.279Z"/>
<path d="M129.72 89.1298C132.537 89.1298 134.929 88.1322 136.854 86.1167C138.779 84.1216 139.732 81.5768 139.732 78.5026C139.732 75.3878 138.779 72.8226 136.854 70.8071C134.929 68.7916 132.537 67.794 129.72 67.794C126.862 67.794 124.491 68.7916 122.566 70.8071C120.641 72.8226 119.668 75.3878 119.668 78.5026C119.668 81.5768 120.641 84.1216 122.566 86.1167C124.491 88.1322 126.862 89.1298 129.72 89.1298ZM129.68 84.997C127.937 84.997 126.579 84.3863 125.606 83.1648C124.613 81.9432 124.126 80.396 124.126 78.5026C124.126 76.5889 124.633 75.0213 125.626 73.7795C126.619 72.5579 127.977 71.9472 129.72 71.9472C131.483 71.9472 132.882 72.5579 133.875 73.7795C134.868 75.0213 135.374 76.6093 135.374 78.5434C135.374 80.4367 134.868 81.984 133.854 83.1851C132.841 84.3863 131.443 84.997 129.68 84.997Z"/>
<path d="M152.918 88.9262L152.958 84.997H150.141C149.148 84.997 148.479 84.7934 148.135 84.4066C147.79 84.0198 147.608 83.3073 147.608 82.2486V71.825H152.918V68.0791H147.608V61.4015H143.291V68.0791H140.069V71.825H143.291V83.3887C143.291 84.997 143.818 86.3203 144.892 87.3586C145.966 88.3969 147.324 88.9262 148.986 88.9262H152.918Z"/>
<path d="M163.712 89.3945C166.144 89.3945 168.15 88.743 169.751 87.4197C171.332 86.1167 172.285 84.427 172.629 82.3301H168.495C167.745 84.4677 166.144 85.5467 163.712 85.5467C162.05 85.5467 160.733 85.0581 159.76 84.0605C158.767 83.0833 158.281 81.7397 158.281 80.0499V80.0092H172.974C173.217 76.4871 172.487 73.5759 170.805 71.2754C169.123 68.9748 166.711 67.8348 163.59 67.8348C160.652 67.8348 158.281 68.8323 156.457 70.8275C154.612 72.8226 153.7 75.4285 153.7 78.6655C153.7 82.0043 154.612 84.6306 156.436 86.5239C158.24 88.4376 160.672 89.3945 163.712 89.3945ZM158.402 76.1207C158.483 74.8177 159.01 73.7387 159.963 72.904C160.915 72.0693 162.07 71.6622 163.469 71.6622C164.847 71.6622 165.982 72.0693 166.894 72.904C167.786 73.7387 168.252 74.8177 168.313 76.1207H158.402Z"/>
<path d="M180.749 88.9262V78.3805C180.749 74.3291 182.775 72.3136 186.808 72.3747H187.518V67.7533H186.565C185.369 67.7533 184.336 67.9569 183.424 68.3437C182.512 68.7509 181.883 69.1377 181.539 69.4838C181.194 69.8503 180.931 70.2371 180.749 70.6239V68.0791H176.472V88.9262H180.749Z"/>
</mask>
<path d="M98.4708 55.1737V34.3265L106.598 55.1737H110.469L118.474 34.3265V55.1737H122.872V25.9795H117.44L108.604 48.8014L99.5044 25.9795H93.8703V55.1737H98.4708Z" fill="white"/>
<path d="M132.916 31.3338V25.9795H127.971V31.3338H132.916ZM132.775 55.1737V34.3265H128.133V55.1737H132.775Z" fill="white"/>
<path d="M146.163 55.6419C148.595 55.6419 150.601 54.9904 152.202 53.6671C153.783 52.3642 154.736 50.6744 155.08 48.5775H150.946C150.196 50.7151 148.595 51.7942 146.163 51.7942C144.501 51.7942 143.184 51.3055 142.211 50.308C141.218 49.3308 140.732 47.9871 140.732 46.2973V46.2566H155.425C155.668 42.7346 154.938 39.8233 153.256 37.5228C151.574 35.2223 149.162 34.0822 146.041 34.0822C143.103 34.0822 140.732 35.0798 138.908 37.0749C137.063 39.07 136.151 41.6759 136.151 44.913C136.151 48.2518 137.063 50.878 138.887 52.7714C140.691 54.6851 143.123 55.6419 146.163 55.6419ZM140.853 42.3681C140.934 41.0652 141.461 39.9862 142.414 39.1515C143.366 38.3168 144.521 37.9096 145.92 37.9096C147.298 37.9096 148.433 38.3168 149.345 39.1515C150.237 39.9862 150.703 41.0652 150.764 42.3681H140.853Z" fill="white"/>
<path d="M166.564 55.7234C168.064 55.7234 169.34 55.3976 170.394 54.7054C171.428 54.0336 172.238 53.321 172.786 52.5474V55.1737H177.184V34.3265H172.786V44.8315C172.786 46.9285 172.279 48.5979 171.266 49.8601C170.252 51.1223 169.036 51.7534 167.597 51.7534C165.105 51.7534 163.483 50.1247 163.483 46.6231V34.3265H158.721V47.132C158.721 49.799 159.511 51.9977 160.626 53.2192C161.173 53.83 161.821 54.3186 162.571 54.7054C164.03 55.4994 165.287 55.7234 166.564 55.7234Z" fill="white"/>
<path d="M185.06 55.1737L190.065 48.2518L195.051 55.1737H200.28L192.599 44.7501L200.28 34.3265H195.051L190.106 41.2484L185.06 34.3265H179.81L187.532 44.7501L179.81 55.1737H185.06Z" fill="white"/>
<path d="M109.279 88.9262L120.162 59.7321H115.501L107.171 82.7576L98.8211 59.7321H94.1193L105.002 88.9262H109.279Z" fill="white"/>
<path d="M129.72 89.1298C132.537 89.1298 134.929 88.1322 136.854 86.1167C138.779 84.1216 139.732 81.5768 139.732 78.5026C139.732 75.3878 138.779 72.8226 136.854 70.8071C134.929 68.7916 132.537 67.794 129.72 67.794C126.862 67.794 124.491 68.7916 122.566 70.8071C120.641 72.8226 119.668 75.3878 119.668 78.5026C119.668 81.5768 120.641 84.1216 122.566 86.1167C124.491 88.1322 126.862 89.1298 129.72 89.1298ZM129.68 84.997C127.937 84.997 126.579 84.3863 125.606 83.1648C124.613 81.9432 124.126 80.396 124.126 78.5026C124.126 76.5889 124.633 75.0213 125.626 73.7795C126.619 72.5579 127.977 71.9472 129.72 71.9472C131.483 71.9472 132.882 72.5579 133.875 73.7795C134.868 75.0213 135.374 76.6093 135.374 78.5434C135.374 80.4367 134.868 81.984 133.854 83.1851C132.841 84.3863 131.443 84.997 129.68 84.997Z" fill="white"/>
<path d="M152.918 88.9262L152.958 84.997H150.141C149.148 84.997 148.479 84.7934 148.135 84.4066C147.79 84.0198 147.608 83.3073 147.608 82.2486V71.825H152.918V68.0791H147.608V61.4015H143.291V68.0791H140.069V71.825H143.291V83.3887C143.291 84.997 143.818 86.3203 144.892 87.3586C145.966 88.3969 147.324 88.9262 148.986 88.9262H152.918Z" fill="white"/>
<path d="M163.712 89.3945C166.144 89.3945 168.15 88.743 169.751 87.4197C171.332 86.1167 172.285 84.427 172.629 82.3301H168.495C167.745 84.4677 166.144 85.5467 163.712 85.5467C162.05 85.5467 160.733 85.0581 159.76 84.0605C158.767 83.0833 158.281 81.7397 158.281 80.0499V80.0092H172.974C173.217 76.4871 172.487 73.5759 170.805 71.2754C169.123 68.9748 166.711 67.8348 163.59 67.8348C160.652 67.8348 158.281 68.8323 156.457 70.8275C154.612 72.8226 153.7 75.4285 153.7 78.6655C153.7 82.0043 154.612 84.6306 156.436 86.5239C158.24 88.4376 160.672 89.3945 163.712 89.3945ZM158.402 76.1207C158.483 74.8177 159.01 73.7387 159.963 72.904C160.915 72.0693 162.07 71.6622 163.469 71.6622C164.847 71.6622 165.982 72.0693 166.894 72.904C167.786 73.7387 168.252 74.8177 168.313 76.1207H158.402Z" fill="white"/>
<path d="M180.749 88.9262V78.3805C180.749 74.3291 182.775 72.3136 186.808 72.3747H187.518V67.7533H186.565C185.369 67.7533 184.336 67.9569 183.424 68.3437C182.512 68.7509 181.883 69.1377 181.539 69.4838C181.194 69.8503 180.931 70.2371 180.749 70.6239V68.0791H176.472V88.9262H180.749Z" fill="white"/>
<path d="M98.4708 55.1737V34.3265L106.598 55.1737H110.469L118.474 34.3265V55.1737H122.872V25.9795H117.44L108.604 48.8014L99.5044 25.9795H93.8703V55.1737H98.4708Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M132.916 31.3338V25.9795H127.971V31.3338H132.916ZM132.775 55.1737V34.3265H128.133V55.1737H132.775Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M146.163 55.6419C148.595 55.6419 150.601 54.9904 152.202 53.6671C153.783 52.3642 154.736 50.6744 155.08 48.5775H150.946C150.196 50.7151 148.595 51.7942 146.163 51.7942C144.501 51.7942 143.184 51.3055 142.211 50.308C141.218 49.3308 140.732 47.9871 140.732 46.2973V46.2566H155.425C155.668 42.7346 154.938 39.8233 153.256 37.5228C151.574 35.2223 149.162 34.0822 146.041 34.0822C143.103 34.0822 140.732 35.0798 138.908 37.0749C137.063 39.07 136.151 41.6759 136.151 44.913C136.151 48.2518 137.063 50.878 138.887 52.7714C140.691 54.6851 143.123 55.6419 146.163 55.6419ZM140.853 42.3681C140.934 41.0652 141.461 39.9862 142.414 39.1515C143.366 38.3168 144.521 37.9096 145.92 37.9096C147.298 37.9096 148.433 38.3168 149.345 39.1515C150.237 39.9862 150.703 41.0652 150.764 42.3681H140.853Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M166.564 55.7234C168.064 55.7234 169.34 55.3976 170.394 54.7054C171.428 54.0336 172.238 53.321 172.786 52.5474V55.1737H177.184V34.3265H172.786V44.8315C172.786 46.9285 172.279 48.5979 171.266 49.8601C170.252 51.1223 169.036 51.7534 167.597 51.7534C165.105 51.7534 163.483 50.1247 163.483 46.6231V34.3265H158.721V47.132C158.721 49.799 159.511 51.9977 160.626 53.2192C161.173 53.83 161.821 54.3186 162.571 54.7054C164.03 55.4994 165.287 55.7234 166.564 55.7234Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M185.06 55.1737L190.065 48.2518L195.051 55.1737H200.28L192.599 44.7501L200.28 34.3265H195.051L190.106 41.2484L185.06 34.3265H179.81L187.532 44.7501L179.81 55.1737H185.06Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M109.279 88.9262L120.162 59.7321H115.501L107.171 82.7576L98.8211 59.7321H94.1193L105.002 88.9262H109.279Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M129.72 89.1298C132.537 89.1298 134.929 88.1322 136.854 86.1167C138.779 84.1216 139.732 81.5768 139.732 78.5026C139.732 75.3878 138.779 72.8226 136.854 70.8071C134.929 68.7916 132.537 67.794 129.72 67.794C126.862 67.794 124.491 68.7916 122.566 70.8071C120.641 72.8226 119.668 75.3878 119.668 78.5026C119.668 81.5768 120.641 84.1216 122.566 86.1167C124.491 88.1322 126.862 89.1298 129.72 89.1298ZM129.68 84.997C127.937 84.997 126.579 84.3863 125.606 83.1648C124.613 81.9432 124.126 80.396 124.126 78.5026C124.126 76.5889 124.633 75.0213 125.626 73.7795C126.619 72.5579 127.977 71.9472 129.72 71.9472C131.483 71.9472 132.882 72.5579 133.875 73.7795C134.868 75.0213 135.374 76.6093 135.374 78.5434C135.374 80.4367 134.868 81.984 133.854 83.1851C132.841 84.3863 131.443 84.997 129.68 84.997Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M152.918 88.9262L152.958 84.997H150.141C149.148 84.997 148.479 84.7934 148.135 84.4066C147.79 84.0198 147.608 83.3073 147.608 82.2486V71.825H152.918V68.0791H147.608V61.4015H143.291V68.0791H140.069V71.825H143.291V83.3887C143.291 84.997 143.818 86.3203 144.892 87.3586C145.966 88.3969 147.324 88.9262 148.986 88.9262H152.918Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M163.712 89.3945C166.144 89.3945 168.15 88.743 169.751 87.4197C171.332 86.1167 172.285 84.427 172.629 82.3301H168.495C167.745 84.4677 166.144 85.5467 163.712 85.5467C162.05 85.5467 160.733 85.0581 159.76 84.0605C158.767 83.0833 158.281 81.7397 158.281 80.0499V80.0092H172.974C173.217 76.4871 172.487 73.5759 170.805 71.2754C169.123 68.9748 166.711 67.8348 163.59 67.8348C160.652 67.8348 158.281 68.8323 156.457 70.8275C154.612 72.8226 153.7 75.4285 153.7 78.6655C153.7 82.0043 154.612 84.6306 156.436 86.5239C158.24 88.4376 160.672 89.3945 163.712 89.3945ZM158.402 76.1207C158.483 74.8177 159.01 73.7387 159.963 72.904C160.915 72.0693 162.07 71.6622 163.469 71.6622C164.847 71.6622 165.982 72.0693 166.894 72.904C167.786 73.7387 168.252 74.8177 168.313 76.1207H158.402Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
<path d="M180.749 88.9262V78.3805C180.749 74.3291 182.775 72.3136 186.808 72.3747H187.518V67.7533H186.565C185.369 67.7533 184.336 67.9569 183.424 68.3437C182.512 68.7509 181.883 69.1377 181.539 69.4838C181.194 69.8503 180.931 70.2371 180.749 70.6239V68.0791H176.472V88.9262H180.749Z" stroke="white" stroke-width="0.509302" mask="url(#path-4-outside-1_62_1952)"/>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

@ -0,0 +1,4 @@
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15 30H19M15 24H33M15 18H27" stroke="white" stroke-width="2" stroke-linecap="square" stroke-linejoin="round"/>
<path d="M0 0V-2H-2V0H0ZM48 0H50V-2H48V0ZM48 48V50H50V48H48ZM0 48H-2V50H0V48ZM0 2H48V-2H0V2ZM46 0V48H50V0H46ZM48 46H0V50H48V46ZM2 48V0H-2V48H2Z" fill="white" fill-opacity="0.16"/>
</svg>

After

Width:  |  Height:  |  Size: 403 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

@ -0,0 +1,3 @@
<svg width="184" height="184" viewBox="0 0 184 184" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M122.861 114.116L183 113.229L129.452 85.7897L171.34 42.6344L114.116 61.1386L113.229 1L85.7897 54.548L42.6344 12.6602L61.1386 69.8837L1 70.7709L54.4847 98.2103L12.6602 141.366L69.8837 122.861L70.7709 183L98.2103 129.515L141.366 171.34L122.861 114.116Z" fill="#EDE73B" stroke="#0A004C" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 489 B

@ -0,0 +1,3 @@
<svg width="22" height="18" viewBox="0 0 22 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M19.7386 4.48592C19.7526 4.68279 19.7526 4.87969 19.7526 5.07656C19.7526 11.0812 15.2158 18 6.92388 18C4.36929 18 1.99621 17.2547 0 15.961C0.362958 16.0031 0.711909 16.0172 1.08883 16.0172C3.19667 16.0172 5.13706 15.3 6.68656 14.0766C4.70432 14.0344 3.04314 12.7266 2.4708 10.9266C2.75001 10.9687 3.02918 10.9969 3.32236 10.9969C3.72717 10.9969 4.13202 10.9406 4.5089 10.8422C2.44291 10.4203 0.893367 8.59218 0.893367 6.38437V6.32814C1.4936 6.66564 2.19163 6.87657 2.93143 6.90467C1.71695 6.08902 0.921297 4.69685 0.921297 3.12184C0.921297 2.27811 1.14461 1.50467 1.53549 0.829666C3.75505 3.58591 7.09138 5.38588 10.8325 5.58279C10.7627 5.24529 10.7208 4.89376 10.7208 4.54219C10.7208 2.03904 12.731 0 15.2297 0C16.5279 0 17.7005 0.548436 18.5241 1.43437C19.5431 1.23751 20.5203 0.857802 21.3858 0.337502C21.0507 1.39221 20.3388 2.27815 19.4036 2.84061C20.3109 2.74222 21.1904 2.48904 22 2.13752C21.3859 3.03748 20.6181 3.83901 19.7386 4.48592Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

@ -0,0 +1,357 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.1"
id="svg824"
width="156.16"
height="266.56"
viewBox="0 0 156.16 266.56"
sodipodi:docname="urne-front.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs828" />
<sodipodi:namedview
id="namedview826"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="1.6844238"
inkscape:cx="78.06824"
inkscape:cy="133.28"
inkscape:window-width="1280"
inkscape:window-height="657"
inkscape:window-x="1358"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g830" />
<g
inkscape:groupmode="layer"
inkscape:label="Image"
id="g830">
<image
width="156.16"
height="266.56"
preserveAspectRatio="none"
style="image-rendering:optimizeQuality"
xlink:href="data:image/png;base64,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
"
id="image832" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@ -0,0 +1,266 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.1"
id="svg919"
width="156.16"
height="266.56"
viewBox="0 0 156.16 266.56"
sodipodi:docname="urne-letter.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs923" />
<sodipodi:namedview
id="namedview921"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="1.9507803"
inkscape:cx="78.173845"
inkscape:cy="133.53631"
inkscape:window-width="1366"
inkscape:window-height="705"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g925" />
<g
inkscape:groupmode="layer"
inkscape:label="Image"
id="g925">
<image
width="156.16"
height="266.56"
preserveAspectRatio="none"
style="image-rendering:optimizeQuality"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAegAAANBCAYAAAAr3C0DAAAACXBIWXMAAC4jAAAuIwF4pT92AAAv
3ElEQVR4nO3df3DX933g+ZfwjyTSUlQnlm8z3YLYzU7xGQVNdi5opjQQerN0TqLQ7W6xy2zgMKUd
ckjkemQjtWdoV5oJ2x4SW7ZlMYXOEsP+6EAgs+fbPQKp2gVfNwsFarebLoJct3uWE0cKkePYMdwf
8teRbeD7EZb0fX2/ejxmOtPhK6S3W4Ynn8/39Xl9627duhUAQC5zKn0AAODdBBoAEhJoAEhIoAEg
IYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQE
GgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgA
SEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAh
gQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQa
ABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABI
SKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGB
BoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoA
EhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhI
oAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEG
gIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgAS
EmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEig
ASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaA
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
gQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQa
ABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABI
SKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGB
BoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoA
EhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhI
oAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEG
gIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgAS
EmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEig
ASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaA
hAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABIS
aABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKAB
ICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCE
BBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJo
AEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEg
IYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQE
GgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgA
SEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAh
gQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQa
ABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABI
SKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGB
BoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoA
EhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhI
oAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEG
gIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIT+fzs9
6uRa9d5+AAAAAElFTkSuQmCC
"
id="image927" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

@ -0,0 +1,559 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.1"
id="svg991"
width="156.16"
height="266.56"
viewBox="0 0 156.16 266.56"
sodipodi:docname="urne-star.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs995" />
<sodipodi:namedview
id="namedview993"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="1.9507803"
inkscape:cx="78.173845"
inkscape:cy="133.53631"
inkscape:window-width="1366"
inkscape:window-height="705"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g997" />
<g
inkscape:groupmode="layer"
inkscape:label="Image"
id="g997">
<image
width="156.16"
height="266.56"
preserveAspectRatio="none"
style="image-rendering:optimizeQuality"
xlink:href="data:image/png;base64,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
AAAASUVORK5CYII=
"
id="image999" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

@ -0,0 +1,379 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.1"
id="svg1063"
width="156.16"
height="266.56"
viewBox="0 0 156.16 266.56"
sodipodi:docname="urne-vide.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1067" />
<sodipodi:namedview
id="namedview1065"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="1.9507803"
inkscape:cx="78.173845"
inkscape:cy="133.53631"
inkscape:window-width="1366"
inkscape:window-height="705"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g1069" />
<g
inkscape:groupmode="layer"
inkscape:label="Image"
id="g1069">
<image
width="156.16"
height="266.56"
preserveAspectRatio="none"
style="image-rendering:optimizeQuality"
xlink:href="data:image/png;base64,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
"
id="image1071" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 26 KiB

@ -0,0 +1,16 @@
<svg width="117" height="139" viewBox="0 0 117 139" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M53.1406 28.563L68.1916 38.0403" stroke="#0A004C" stroke-width="1.44048" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M1.6748 101.36L28.5994 118.411L58.7432 137.448L115.853 101.36V43.7512L58.7432 7.66309L1.6748 43.7512V101.36Z" fill="#2400FD" stroke="#0A004C" stroke-width="1.44048" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M115.853 44.1655L88.9288 61.1749L58.7432 80.2536V137.448L88.9288 118.411L115.853 101.36V44.1655Z" fill="white" stroke="#0A004C" stroke-width="1.44048" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M115.853 44.1655L88.9288 61.1749L58.7432 80.2536V137.448L88.9288 118.411L115.853 101.36V44.1655Z" stroke="#0A004C" stroke-width="1.44048" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M1.6748 44.1655L28.5994 61.1749L58.7432 80.2536V137.448L28.5994 118.411L1.6748 101.36V44.1655Z" fill="#FF3E37" stroke="#0A004C" stroke-width="1.44048" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M73.5848 56.084L57.9067 46.1929L43.9427 37.3364" fill="white"/>
<path d="M73.5848 56.084L57.9067 46.1929L43.9427 37.3364" stroke="#0A004C" stroke-width="7" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M73.5847 56.084L57.9066 46.1929L43.9426 37.3364V1L57.9066 9.85648L73.5847 19.7476V56.084Z" fill="white" stroke="#0A004C" stroke-width="1.44048" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M54.2696 26.4106L69.3206 35.8879" stroke="#0A004C" stroke-width="1.4" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M51.1864 24.9207C51.1864 25.7933 50.5889 26.3314 50.0468 26.3314C49.5048 26.3314 48.9073 25.7933 48.9073 24.9207C48.9073 24.0482 49.5048 23.5101 50.0468 23.5101C50.5889 23.5101 51.1864 24.0482 51.1864 24.9207Z" fill="white" stroke="#0A004C" stroke-width="1.4"/>
<path d="M54.2696 35.5151L69.3206 44.9924" stroke="#0A004C" stroke-width="1.4" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M51.1864 34.0252C51.1864 34.8978 50.5889 35.4359 50.0468 35.4359C49.5048 35.4359 48.9073 34.8978 48.9073 34.0252C48.9073 33.1527 49.5048 32.6146 50.0468 32.6146C50.5889 32.6146 51.1864 33.1527 51.1864 34.0252Z" fill="white" stroke="#0A004C" stroke-width="1.4"/>
<path d="M54.2696 17.3057L69.3206 26.7829" stroke="#0A004C" stroke-width="1.4" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M51.1864 15.8157C51.1864 16.6883 50.5889 17.2264 50.0468 17.2264C49.5047 17.2264 48.9073 16.6883 48.9073 15.8157C48.9073 14.9432 49.5048 14.4051 50.0468 14.4051C50.5889 14.4051 51.1864 14.9432 51.1864 15.8157Z" fill="white" stroke="#0A004C" stroke-width="1.4"/>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

@ -0,0 +1,555 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.1"
id="svg919"
width="397.44"
height="387.51999"
viewBox="0 0 397.44 387.51999"
sodipodi:docname="vote-star.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs923" />
<sodipodi:namedview
id="namedview921"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="1.3418663"
inkscape:cx="198.60399"
inkscape:cy="194.13261"
inkscape:window-width="1280"
inkscape:window-height="657"
inkscape:window-x="1358"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g925" />
<g
inkscape:groupmode="layer"
inkscape:label="Image"
id="g925">
<image
width="397.44"
height="387.51999"
preserveAspectRatio="none"
style="image-rendering:optimizeQuality"
xlink:href="data:image/png;base64,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
AAAgBUIbAAAAAKRAaAMAAACAFAhtAAAAAJACoQ0AAAAAUiC0AQAAAEAKhDYAAAAASIHQBgAAAAAp
ENoAAAAAIAVCGwAAAACkQGgDAAAAgBQIbQAAAACQAqENAAAAAFIgtAEAAABACoQ2AAAAAEiB0AYA
AAAAKRDaAAAAACAFQhsAAAAApEBoAwAAAIAUCG0AAAAAkAKhDQAAAABSILQBAAAAQAqENgAAAABI
gdAGAAAAACkQ2gAAAAAgBUIbAAAAAKRAaAMAAACAFAhtAAAAAJACoQ0AAAAAUiC0AQAAAEAKhDYA
AAAASIHQBgAAAAApENoAAAAAIAVCGwAAAACkQGgDAAAAgBQIbQAAAACQAqENAAAAAFIgtAEAAABA
CoQ2AAAAAEiB0AYAAAAAKRDaAAAAACAFQhsAAAAApEBoAwAAAIAUCG0AAAAAkAKhDQAAAABSILQB
AAAAQAqENgAAAABIgdAGAAAAACkQ2gAAAAAgBUIbAAAAAKRAaAMAAACAFAhtAAAAAJACoQ0AAAAA
UiC0AQAAAEAKhDYAAAAASIHQBgAAAAApENoAAAAAIAVCGwAAAACkQGgDAAAAgBQIbQAAAACQAqEN
AAAAAFIgtAEAAABACoQ2AAAAAEiB0AYAAAAAKRDaAAAAACAFQhsAAAAApEBoAwAAAIAUCG0AAAAA
kAKhDQAAAABSILQBAAAAQAqENgAAAABIgdAGAAAAACkQ2gAAAAAgBUIbAAAAAKRAaAMAAACAFAht
AAAAAJACoQ0AAAAAUiC0AQAAAEAKhDYAAAAASIHQBgAAAAApENoAAAAAIAVCGwAAAACkQGgDAAAA
gBQIbQAAAACQAqENAAAAAFIgtAEAAABACoQ2AAAAAEiB0AYAAAAAKRDaAAAAACAFQhsAAAAApEBo
AwAAAIAUCG0AAAAAkAKhDQAAAABSILQBAAAAQAqENgAAAABIgdAGAAAAACkQ2gAAAAAgBUIbAAAA
AKRAaAMAAACAFAhtAAAAAJACoQ0AAAAAUiC0AQAAAEAKhDYAAAAASIHQBgAAAAApENoAAAAAIAVC
GwAAAACkQGgDAAAAgBQIbQAAAACQAqENAAAAAFIgtAEAAABACoQ2AAAAAEiB0AYAAAAAKRDaAAAA
ACAFQhsAAAAApEBoAwAAAIAUCG0AAAAAkAKhDQAAAABSILQBAAAAQAqENgAAAABIgdAGAAAAACkQ
2gAAAAAgBUIbAAAAAKRAaAMAAACAFAhtAAAAAJACoQ0AAAAAUiC0AQAAAEAKhDYAAAAASIHQBgAA
AAApENoAAAAAIAVCGwAAAACkQGgDAAAAgBQIbQAAAACQAqENAAAAAFIgtAEAAABACoQ2AAAAAEiB
0AYAAAAAKRDaAAAAACAFQhsAAAAApEBoAwAAAIAUCG0AAAAAkAKhDQAAAABSILQBAAAAQAqENgAA
AABIgdAGAAAAACkQ2gAAAAAgBUIbAAAAAKRAaAMAAACAFAhtAAAAAJACoQ0AAAAAUiC0AQAAAEAK
hDYAAAAASIHQBgAAAAApENoAAAAAIAVCGwAAAACkQGgDAAAAgBQIbQAAAACQAqENAAAAAFIgtAEA
AABACoQ2AAAAAEiB0AYAAAAAKRDaAAAAACAFQhsAAAAApEBoAwAAAIAUCG0AAAAAkAKhDQAAAABS
ILQBAAAAQAqENgAAAABIgdAGAAAAACkQ2gAAAAAgBUIbAAAAAKRAaAMAAACAFAhtAAAAAJACoQ0A
AAAAUiC0AQAAAEAKhDYAAAAASIHQBgAAAAApENoAAAAAIAVCGwAAAACkQGgDAAAAgBQIbQAAAACQ
AqENAAAAAFIgtAEAAABACoQ2AAAAAEiB0AYAAAAAKRDaAAAAACAFQhsAAAAApEBoAwAAAIAUCG0A
AAAAkAKhDQAAAABSILQBAAAAQAqENgAAAABIgdAGAAAAACkQ2gAAAAAgBUIbAAAAAKRAaAMAAACA
FAhtAAAAAJACoQ0AAAAAUiC0AQAAAEAKhDYAAAAASIHQBgAAAAApENoAAAAAIAVCGwAAAACkQGgD
AAAAgBQIbQAAAACQAqENAAAAAFIgtAEAAABACoQ2AAAAAEiB0AYAAAAAKRDaAAAAACAFQhsAAAAA
pEBoAwAAAIAUCG0AAAAAkAKhDQAAAABSILQBAAAAQAqENgAAAABIgdAGAAAAACkQ2gAAAAAgBUIb
AAAAAKRAaAMAAACAFAhtAAAAAJACoQ0AAAAAUiC0AQAAAEAKhDYAAAAASIHQBgAAAAApENoAAAAA
IAVCGwAAAACkQGgDAAAAgBQIbQAAAACQAqENAAAAAFIgtAEAAABACoQ2AAAAAEiB0AYAAAAAKRDa
AAAAACAFQhsAAAAApEBoAwAAAIAUCG0AAAAAkAKhDQAAAABSILQBAAAAQAqENgAAAABIgdAGAAAA
ACkQ2gAAAAAgBUIbAAAAAKRAaAMAAACAFAhtAAAAAJACoQ0AAAAAUiC0AQAAAEAKhDYAAAAASIHQ
BgAAAAApENoAAAAAIAVCGwAAAACkQGgDAAAAgBQIbQAAAACQAqENAAAAAFIgtAEAAABACoQ2AAAA
AEiB0AYAAAAAKRDaAAAAACAFQhsAAAAApEBoAwAAAIAUCG0AAAAAkAKhDQAAAABSILQBAAAAQAqE
NgAAAABIgdAGAAAAACkQ2gAAAAAgBUIbAAAAAKRAaAMAAACAFAhtAAAAAJACoQ0AAAAAUiC0AQAA
AEAKhDYAAAAASIHQBgAAAAApENoAAAAAIAVCGwAAAACkQGgDAAAAgBQIbQAAAACQAqENAAAAAFIg
tAEAAABACoQ2AAAAAEiB0AYAAAAAKRDaAAAAACAFQhsAAAAApEBoAwAAAIAUCG0AAAAAkAKhDQAA
AABSILQBAAAAQAqENgAAAABIgdAGAAAAACkQ2gAAAAAgBUIbAAAAAKRAaAMAAACAFAhtAAAAAJAC
oQ0AAAAAUiC0AQAAAEAKhDYAAAAASIHQBgAAAAApENoAAAAAIAVCGwAAAACkQGgDAAAAgBQIbQAA
AACQAqEN+P+3Y8cCAAAAAIP8rSexszACAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAai
DQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqIN
AAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0A
AAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAA
AAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAA
AAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAA
BqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAG
og0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAai
DQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqIN
AAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0A
AAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAA
AAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAA
AAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAA
BqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAG
og0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAai
DQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqIN
AAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0AAAAABqINAAAAAAaiDQAAAAAGog0A
AAAABqINAAAAAAYBOX1mC7Q/IssAAAAASUVORK5CYII=
"
id="image927" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 95 KiB

@ -1,29 +1,40 @@
const colors = [ const colors = [
"#015411", "#F2F0FF",
"#019812", "#C23D13",
"#6bca24", "#C27C13",
"#ffb200", "#C2B113",
"#ff5d00", "#D3D715",
"#b20616", "#A0CF1C",
"#6f0214" "#3A9918"
]; ];
const gradeNames = [ const gradeNames = [
"Excellent", "To reject",
"Very good",
"Good",
"Fair",
"Passable",
"Insufficient", "Insufficient",
"To reject" "Passable",
"Fair",
"Good",
"Very good",
"Excellent"
];
const gradeClass = [
"to-reject",
"insufficient",
"passable",
"fair",
"good",
"very-good",
"excellent"
]; ];
const gradeValues = [6, 5, 4, 3, 2, 1, 0]; const gradeValues = [0, 1, 2, 3, 4, 5, 6, 7];
export const translateGrades = (t) => { export const translateGrades = (t) => {
return gradeNames.map((name, i) => ({ return gradeNames.map((name, i) => ({
label: t(name), label: t(name),
color: colors[i], color: colors[i],
value: gradeValues[i] value: gradeValues[i],
class: gradeClass[i]
})); }));
}; };

@ -2,24 +2,32 @@
margin: 0; margin: 0;
padding: 0; padding: 0;
list-style-type: none; list-style-type: none;
flex-basis: auto;
} }
.tacky li { .tacky col {
display: inline-block; display: inline-block;
} }
.tacky li:after { .tacky col:after {
content: "-";
margin: 0 5px; margin: 0 5px;
} }
.tacky li:last-of-type:after { .tacky col:last-of-type:after {
content: ""; content: "";
margin: 0; margin: 0;
} }
.tacky li.no-tack:after { .tacky col.no-tack:after {
content: ""; content: "";
margin: 0; margin: 0;
display: none; display: none;
} }
@media screen and (max-width: 930px) {
footer {
display: none!important;
}
}

@ -1,6 +1,21 @@
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&family=DM+Serif+Display:ital@0;1&display=swap');
h1, h2, h3 {
font-family: "DM Serif Display", serif!important;
}
body, h4, h5, p, button {
font-family: "DM Sans", sans-serif!important;
}
::placeholder {
font-family: "DM Sans", sans-serif!important;
}
.rowNoMargin {
margin-left: 0px!important;
margin-right: 0px!important;
}
// mieux voter vars // mieux voter vars
$mv-blue-color: #009900 !default; $mv-blue-color: #2400FD !default;
$mv-red-color: #000099 !default; $mv-dark-blue-color: #0A004C!default;
$mv-light-color: #efefff !default; $mv-light-color: #efefff !default;
$mv-dark-color: #333 !default; $mv-dark-color: #333 !default;
@ -10,7 +25,7 @@ $body-color: $mv-light-color !default;
$theme-colors: ( $theme-colors: (
"primary": $mv-blue-color, "primary": $mv-blue-color,
"secondary": $mv-red-color, "secondary": $mv-dark-blue-color,
"light": $mv-light-color, "light": $mv-light-color,
"dark": $mv-dark-color, "dark": $mv-dark-color,
"danger": #990000, "danger": #990000,
@ -42,15 +57,11 @@ body,
} }
main { main {
background-image: url("/background-mv.png");
background-size: 100%; background-size: 100%;
background-attachment: fixed; background-attachment: fixed;
background-repeat: no-repeat; background-repeat: no-repeat;
background-color: $mv-blue-color; background-color: $mv-dark-blue-color;
min-height: calc(100% - 128px); overflow: hidden;
overflow: auto;
padding-top: 72px;
padding-bottom: 100px;
} }
header { header {
@ -60,13 +71,15 @@ header {
} }
footer { footer {
background-color: $body-bg; background-color: $mv-blue-color;
color: $mv-light-color; color: $mv-light-color;
padding: 25px; padding: 16px;
min-height: 7vh;
} }
footer a { footer a {
color: $mv-light-color; color: $mv-light-color;
font-size: 14px;
} }
footer a:hover { footer a:hover {
@ -104,7 +117,8 @@ li.sortable {
margin: 1em 0; margin: 1em 0;
color: $mv-dark-color; color: $mv-dark-color;
border-radius: 0.15em; border-radius: 0.15em;
padding: 1em 0; padding: 16px;
justify-content: space-between;
} }
.cardVote .nowrap { .cardVote .nowrap {
white-space: nowrap; white-space: nowrap;
@ -114,9 +128,7 @@ li.sortable {
margin: 10px 0; margin: 10px 0;
} }
.cardVote.row:hover {
background-color: $mv-light-color-hover;
}
/* checkbox */ /* checkbox */
/* The radio */ /* The radio */
@ -239,23 +251,21 @@ li.sortable {
} }
/* Create the checkmark/indicator (hidden when not checked) */ /* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after { .checkmark:before {
content: ""; content: "";
position: absolute;
display: none; display: none;
} }
/* Show the checkmark when checked */ /* Show the checkmark when checked */
.check input:checked ~ .checkmark:after { .check input:checked ~ .checkmark:before {
display: block; display: block;
} }
/* Style the checkmark/indicator */ /* Style the checkmark/indicator */
.check .checkmark:after { .check .checkmark:before {
left: 5px;
top: 1px;
width: 10px; width: 10px;
height: 15px; height: 15px;
margin: 8px;
border: solid; border: solid;
border-color: #fff; border-color: #fff;
border-width: 0 3px 3px 0; border-width: 0 3px 3px 0;
@ -280,16 +290,7 @@ li.sortable {
transform-style: 2s; transform-style: 2s;
} }
/** collapse **/
.panel-title:after {
content: "+";
float: right;
font-size: 28px;
font-weight: 900;
}
.panel-title.collapsed:after {
content: "-";
}
/** table profiles **/ /** table profiles **/
.profiles thead, .profiles thead,
@ -302,17 +303,6 @@ li.sortable {
color: $mv-blue-color; color: $mv-blue-color;
} }
.median {
border-width: 0 3px 0 0;
border-style: dashed;
border-color: #000;
min-height: 30px;
width: 1px;
position: absolute;
left: 50%;
margin-top: -15px;
margin-left: 13px;
}
/** react multi email **/ /** react multi email **/
.react-multi-email > span[data-placeholder] { .react-multi-email > span[data-placeholder] {
@ -338,20 +328,206 @@ li.sortable {
top: 0; top: 0;
} }
/** result **/
ol.result > li{
font-size:1rem;
font-weight:normal;
/** GLOBALS **/
section {
width: 100%;
}
p {
font-size: 16px;
}
h2 {
font-size: 56px;
line-height: 56px;
}
h3 {
font-size: 40px;
} }
ol.result > li:nth-child(1){ h4 {
font-size:1.75rem; font-size: 24px;
font-weight:bold; line-height: 32px;
}
h5 {
font-size: 18px;
font-weight: bold;
}
.btn {
width: 165px;
padding: 16px 24px;
background: $mv-blue-color;
border: 2px solid #FFFFFF;
border-radius: 0px;
box-sizing: border-box;
box-shadow: 0px 4px 0px #FFFFFF;
font-family: DM Sans;
font-style: normal;
font-weight: bold;
font-size: 16px;
line-height: 24px;
letter-spacing: -0.5px;
color: #FFFFFF;
display: flex;
justify-content: center;
align-items: center;
}
.btn img {
width: 24px!important;
height: 24px!important;
margin: 0px 16px;
} }
ol.result > li:nth-child(2){ .footerRow > .col {
font-size:1.5rem; flex-basis: auto!important;
width: auto!important;
align-self: center;
}
.footerLogo {
padding-right: 0px;
}
.footerButton {
padding-right: 0px;
}
.btn-footer {
width: auto;
padding: 7px;
border: none;
box-shadow: none;
background: #4A2FEF;
color: white;
font-size: 14px;
width: 100%;
}
.cursorPointer {
cursor: pointer;
}
.ReactFlagsSelect-module_selectFlag__2q5gC {
display: none!important;
}
.ReactFlagsSelect-module_selectBtn__19wW7 {
border: none!important;
}
.menu-flags {
width: fit-content!important;
margin-left: 0px!important;
padding-bottom: 0px!important;
}
.footerRow div {
margin: auto 8px;
}
.btn-opacity:hover {
background-color: transparent;
border-color: white;
opacity: 1;
}
.btn-opacity {
background-color: transparent;
width: fit-content;
opacity: 0.4;
transition: 0.5s;
}
.btn-transparent:hover {
background-color: transparent;
border-color: white;
}
.btn-transparent {
background-color: transparent;
width: fit-content;
transition: 0.5s;
margin: auto;
}
.btn-secondary {
width: fit-content;
} }
ol.result > li:nth-child(3){
font-size:1.25rem;
.sectionAjouterCandidat {
display: flex;
flex-direction: column;
} }
.ajouterCandidat {
width: 50%;
margin: 10px auto;
}
.input-group-text {
display: flex;
align-items: center;
padding: 0.375rem 0.75rem;
margin-bottom: 0;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #495057;
text-align: center;
white-space: nowrap;
background-color: transparent;
border: none;
border-radius: 0px;
}
.form-control {
height: auto;
background: transparent;
color: white;
border: none;
}
.form-control::placeholder {
color: white;
}
.btnTrash {
background-color: transparent;
color: white;
border: none;
}
.btnValidateCandidate {
background: transparent;
width: auto;
opacity: 0.4;
margin: 250px auto 0px;
}
@media screen and (min-width: 931px) {
header {
display: none!important;
}
}
.result {
display: flex;
margin: auto;
justify-content: space-around;
}
ol.result > li {
text-align: center;
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save