Editorialisation des pages de règle
Un icône pour le destinataire Une belle section référence mettant en valeur les URL officiellespull/6/head
parent
16c5fb1303
commit
2d1d9fc0ff
|
@ -0,0 +1,15 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>Syso</title>
|
||||
<link href='https://fonts.googleapis.com/css?family=Open+Sans:200,300,400,500,600,700' rel='stylesheet' type='text/css'>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="js"></div>
|
||||
<script src="https://use.fontawesome.com/1da10bbdec.js"></script>
|
||||
<script type="text/javascript" src="/dist/bundle.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -8,7 +8,7 @@
|
|||
</head>
|
||||
|
||||
<body>
|
||||
<div id="js">lOl</div>
|
||||
<div id="js"></div>
|
||||
<script src="https://use.fontawesome.com/1da10bbdec.js"></script>
|
||||
<script type="text/javascript" src="/dist/bundle.js"></script>
|
||||
</body>
|
||||
|
|
|
@ -68,7 +68,7 @@
|
|||
},
|
||||
"scripts": {
|
||||
"start": "node source/server.js",
|
||||
"compile": "NODE_ENV='production' webpack --config source/webpack.config.js --optimize-minimize --optimize-dedupe --optimize-occurrence-order",
|
||||
"compile": "NODE_ENV='production' webpack --config source/webpack.config.js",
|
||||
"surge": "npm run compile && surge --domain scientific-wish.surge.sh -p ./ && rm -rf dist/"
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
|
@ -0,0 +1,193 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="148.59375"
|
||||
height="49.4925"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.4 r9939"
|
||||
sodipodi:docname="URSSAF Logo.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<clipPath
|
||||
id="clipPath3069"
|
||||
clipPathUnits="userSpaceOnUse">
|
||||
<path
|
||||
id="path3071"
|
||||
d="m 0,595.02 420,0 0,-594.96 -420,0 0,594.96 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
id="clipPath3063"
|
||||
clipPathUnits="userSpaceOnUse">
|
||||
<path
|
||||
id="path3065"
|
||||
d="m 3.1e-5,595.276 420.944999,0 0,-595.276 L 3.1e-5,0 l 0,595.276 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
id="clipPath3047"
|
||||
clipPathUnits="userSpaceOnUse">
|
||||
<path
|
||||
id="path3049"
|
||||
d="m 138.718,575.398 -118.875,0 0,-39.594 118.875,0 0,39.594 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
id="clipPath3011"
|
||||
clipPathUnits="userSpaceOnUse">
|
||||
<path
|
||||
id="path3013"
|
||||
d="m 0,595.02 420,0 0,-594.96 -420,0 0,594.96 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
id="clipPath3005"
|
||||
clipPathUnits="userSpaceOnUse">
|
||||
<path
|
||||
id="path3007"
|
||||
d="m 3.1e-5,595.276 420.944999,0 0,-595.276 L 3.1e-5,0 l 0,595.276 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
id="clipPath2999"
|
||||
clipPathUnits="userSpaceOnUse">
|
||||
<path
|
||||
id="path3001"
|
||||
clip-rule="evenodd"
|
||||
d="m 19.843,79.371 0,428.579 379.842,0 0,-324.71 c 0,-55.06 -50.358,-103.869 -104.139,-103.869 l -275.703,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="5.6568543"
|
||||
inkscape:cx="70.87545"
|
||||
inkscape:cy="22.649501"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Calque 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-107.30373,-181.59718)">
|
||||
<g
|
||||
id="g3392">
|
||||
<g
|
||||
transform="matrix(1.25,0,0,-1.25,137.90873,214.94968)"
|
||||
id="g3019">
|
||||
<path
|
||||
id="path3021"
|
||||
style="fill:#0061aa;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 0,0 c -2.925,0 -4.447,1.895 -4.447,5.158 l 0,6.865 1.775,0 0,-6.815 c 0,-2.232 0.93,-3.432 2.706,-3.432 1.86,0 2.739,1.15 2.739,3.314 l 0,6.933 1.776,0 0,-6.899 C 4.549,1.81 2.942,0 0,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.25,0,0,-1.25,157.45998,202.01343)"
|
||||
id="g3023">
|
||||
<path
|
||||
id="path3025"
|
||||
style="fill:#0061aa;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 0,0 -3.45,0 0,-3.804 3.45,0 c 1.184,0 2.012,0.608 2.012,1.893 C 2.012,-0.676 1.201,0 0,0 z m 1.201,-5.326 2.417,-4.837 -2.045,0 -2.351,4.685 -2.672,0 0,-4.685 -1.741,0 0,11.837 5.191,0 c 2.063,0 3.805,-1.099 3.805,-3.534 0,-1.894 -0.998,-3.061 -2.604,-3.466"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.25,0,0,-1.25,173.71248,214.94968)"
|
||||
id="g3027">
|
||||
<path
|
||||
id="path3029"
|
||||
style="fill:#0061aa;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 0,0 c -1.725,0 -3.213,0.744 -4.21,1.91 l 1.268,1.235 c 0.794,-0.862 1.961,-1.403 3.077,-1.403 1.658,0 2.452,0.574 2.452,1.724 0,0.913 -0.693,1.37 -2.672,1.962 -2.502,0.744 -3.703,1.37 -3.703,3.484 0,2.046 1.725,3.297 3.906,3.297 1.607,0 2.825,-0.592 3.873,-1.607 L 2.74,9.334 c -0.744,0.761 -1.59,1.133 -2.757,1.133 -1.386,0 -1.978,-0.676 -1.978,-1.471 0,-0.828 0.541,-1.234 2.587,-1.843 C 2.926,6.442 4.38,5.699 4.38,3.585 4.38,1.455 3.027,0 0,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.25,0,0,-1.25,190.57873,214.94968)"
|
||||
id="g3031">
|
||||
<path
|
||||
id="path3033"
|
||||
style="fill:#0061aa;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 0,0 c -1.724,0 -3.213,0.744 -4.21,1.91 l 1.269,1.235 c 0.794,-0.862 1.961,-1.403 3.077,-1.403 1.657,0 2.452,0.574 2.452,1.724 0,0.913 -0.693,1.37 -2.672,1.962 -2.503,0.744 -3.703,1.37 -3.703,3.484 0,2.046 1.724,3.297 3.906,3.297 1.606,0 2.824,-0.592 3.872,-1.607 L 2.74,9.334 c -0.744,0.761 -1.59,1.133 -2.757,1.133 -1.386,0 -1.978,-0.676 -1.978,-1.471 0,-0.828 0.541,-1.234 2.587,-1.843 C 2.926,6.442 4.38,5.699 4.38,3.585 4.38,1.455 3.028,0 0,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.25,0,0,-1.25,209.66498,205.81843)"
|
||||
id="g3035">
|
||||
<path
|
||||
id="path3037"
|
||||
style="fill:#0061aa;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 0,0 c -0.287,0.846 -0.761,2.215 -0.896,2.723 -0.135,-0.508 -0.558,-1.86 -0.862,-2.74 l -0.948,-2.706 3.654,0 L 0,0 z m 2.487,-7.119 -0.999,2.807 -4.734,0 -0.981,-2.807 -1.843,0 4.26,11.837 1.878,0 4.312,-11.837 -1.893,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.25,0,0,-1.25,223.90998,202.09843)"
|
||||
id="g3039">
|
||||
<path
|
||||
id="path3041"
|
||||
style="fill:#0061aa;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 0,0 0,-3.094 3.399,0 0,-1.742 -3.399,0 0,-5.259 -1.776,0 0,11.837 7.627,0 L 5.851,0 0,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.25,0,0,-1.25,82.49998,900.84468)"
|
||||
id="g3043">
|
||||
<g
|
||||
clip-path="url(#clipPath3047)"
|
||||
id="g3045">
|
||||
<g
|
||||
transform="translate(19.843,553.957)"
|
||||
id="g3051">
|
||||
<path
|
||||
id="path3053"
|
||||
style="fill:#0061aa;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 0,0 6.072,0 c 0,0 1.287,-6.764 6.046,-11.635 4.761,-4.873 8.57,-6.519 8.57,-6.519 0,0 -7.022,-0.031 -14.396,6.64 C 0.767,-6.51 0,0 0,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(114.819,575.382)"
|
||||
id="g3055">
|
||||
<path
|
||||
id="path3057"
|
||||
style="fill:#00a886;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 0,0 c 0,0 12.581,0.682 19.324,-6.784 4.423,-4.904 4.575,-9.208 4.575,-9.208 l -6.622,-0.151 c 0,0 -0.483,4.682 -3.334,8.715 C 8.814,-0.172 0,0 0,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7.5 KiB |
|
@ -0,0 +1,9 @@
|
|||
OPCA:
|
||||
nom: Organisme paritaire collecteur agréé
|
||||
lien: https://fr.wikipedia.org/wiki/Organisme_paritaire_collecteur_agréé
|
||||
URSSAF:
|
||||
image: URSSAF.png
|
||||
lien: https://fr.wikipedia.org/wiki/URSSAF
|
||||
salarié:
|
||||
nom: Le salarié
|
||||
image: salarié.png
|
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
Binary file not shown.
After Width: | Height: | Size: 3.4 KiB |
Binary file not shown.
After Width: | Height: | Size: 7.8 KiB |
|
@ -0,0 +1,8 @@
|
|||
# Associtions d'URL de références avec leur logo
|
||||
|
||||
service-public.fr:
|
||||
image: marianne.png
|
||||
urssaf.fr:
|
||||
image: URSSAF.png
|
||||
gouv.fr:
|
||||
image: marianne.png
|
|
@ -1,8 +1,10 @@
|
|||
- Cotisation: CIF CDD
|
||||
attache: Salariat . CDD
|
||||
description: Contribution au financement du congé individuel de formation spécifique aux CDD
|
||||
description: Contribution au financement du congé individuel de formation spécifique aux CDD.
|
||||
attributs:
|
||||
collecteur: OPCA
|
||||
destinataire: OPCA
|
||||
dû par: employeur
|
||||
|
||||
références:
|
||||
Code du travail - Article L6322-37 : https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000022234996&cidTexte=LEGITEXT000006072050
|
||||
|
||||
|
|
|
@ -1,14 +1,17 @@
|
|||
- Indemnité: compensation des congés payés
|
||||
attache: Salariat . CDD
|
||||
attributs:
|
||||
destinataire: salarié
|
||||
dû par: employeur
|
||||
description: |
|
||||
Le salarié en CDD bénéficie des mêmes droits à congés payés que le salarié en CDI. Il acquiert et prend ses congés payés dans les mêmes conditions.
|
||||
|
||||
Il est cependant courant que le salarié ne puisse pas prendre tous ses congés avant le terme de son contrat, il bénéficie d'une indemnité compensatrice de congés payés.
|
||||
|
||||
references:
|
||||
fiche (service-public.gouv.fr): https://www.service-public.fr/particuliers/vosdroits/F2931
|
||||
Fiche service-public.gouv.fr: https://www.service-public.fr/particuliers/vosdroits/F2931
|
||||
Code du travail - Article L3141-24: https://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006072050&idArticle=LEGIARTI000006902661&dateTexte=&categorieLien=cid
|
||||
Congés payés et contrat CDD: https://www.easycdd.com/LEGISLATION-CDD/L-embauche-le-suivi-du-contrat-CDD-les-incidents-frequents/Conges-payes-et-contrat-CDD
|
||||
Code du travail Article L3141-24: https://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006072050&idArticle=LEGIARTI000006902661&dateTexte=&categorieLien=cid
|
||||
|
||||
non applicable si:
|
||||
l'une de ces conditions:
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
attache: Salariat . CDD
|
||||
attributs:
|
||||
type: indemnité
|
||||
destinataire: salarié
|
||||
|
||||
alias: prime de précarité
|
||||
description: Somme versée en fin de CDD comme compensation de précarité.
|
||||
notes: Attention, les exceptions sont légion. Conventions collectives.
|
||||
|
@ -43,8 +45,8 @@
|
|||
|
||||
références:
|
||||
Code du travail - Article L1243-8: https://www.legifrance.gouv.fr/affichCode.do?idSectionTA=LEGISCTA000006189459&cidTexte=LEGITEXT000006072050
|
||||
Fin du CDD (service-public.gouv.fr): https://www.service-public.fr/particuliers/vosdroits/F40
|
||||
La prime de précarité est-elle due [...] (service-public.gouv.fr): https://www.service-public.fr/particuliers/vosdroits/F803
|
||||
Saisonnier (travail-emploi.gouv.fr): http://travail-emploi.gouv.fr/droit-du-travail/contrats-et-carriere/contrats-de-travail/article/le-travail-saisonnier
|
||||
La prime de précarité n'est pas due si [...] (easycdd.com): https://www.easycdd.com/LEGISLATION-CDD/Fin-ou-rupture-du-contrat-CDD/La-prime-de-precarite/La-prime-de-precarite-n-est-pas-due-si
|
||||
Pourusuite de l'activité après la fin du CDD (easycdd.com): https://www.easycdd.com/LEGISLATION-CDD/Fin-ou-rupture-du-contrat-CDD/Poursuite-de-l-activite-apres-la-fin-du-contrat-CDD
|
||||
Fiche Fin du CDD: https://www.service-public.fr/particuliers/vosdroits/F40
|
||||
Fiche La prime de précarité est-elle due: https://www.service-public.fr/particuliers/vosdroits/F803
|
||||
Le travail saisonnier: http://travail-emploi.gouv.fr/droit-du-travail/contrats-et-carriere/contrats-de-travail/article/le-travail-saisonnier
|
||||
La prime de précarité n'est pas due si: https://www.easycdd.com/LEGISLATION-CDD/Fin-ou-rupture-du-contrat-CDD/La-prime-de-precarite/La-prime-de-precarite-n-est-pas-due-si
|
||||
Poursuite de l'activité après la fin du CDD: https://www.easycdd.com/LEGISLATION-CDD/Fin-ou-rupture-du-contrat-CDD/Poursuite-de-l-activite-apres-la-fin-du-contrat-CDD
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
attributs:
|
||||
dû par: employeur
|
||||
type: majoration
|
||||
destinataire: URSSAF
|
||||
|
||||
description: Majoration des contributions patronales d’assurance chômage pour les contrats à durée déterminée courts (CDD)
|
||||
non applicable si:
|
||||
|
@ -21,8 +22,8 @@
|
|||
durée contrat <= 3: 0.5%
|
||||
|
||||
références:
|
||||
Circulaire Unédic (unedic.fr): http://www.unedic.org/sites/default/files/ci201317_1.pdf
|
||||
La mojoration de la contribution chômage (urssaf.fr): https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/lassurance-chomage-et-lags/la-majoration-de-la-contribution.html
|
||||
La mojoration de la contribution chômage: https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/lassurance-chomage-et-lags/la-majoration-de-la-contribution.html
|
||||
Circulaire Unédic: http://www.unedic.org/sites/default/files/ci201317_1.pdf
|
||||
|
||||
notes: |
|
||||
- L'URSSAF liste à la fois des conditions pour "Les CDD concernés par l’application de la majoration" et pour "Les contrats de travail exclus de la majoration". Un doute persiste : difficile de savoir si les premières suffisent au calcul (donc que les deuxièmes sont là pour enlever les doutes) ou si les deuxièmes peuvent faire exception...
|
||||
|
|
|
@ -43,23 +43,89 @@
|
|||
display: flex;
|
||||
justify-content: flex-start;
|
||||
min-height: 5em;
|
||||
margin-left: 1%;
|
||||
}
|
||||
|
||||
#rule-meta > div {
|
||||
margin-right: 5%;
|
||||
}
|
||||
|
||||
#meta-paragraph {
|
||||
background: rgba(51, 51, 80, 0.03);
|
||||
margin: 0 3em;
|
||||
/*background: rgba(51, 51, 80, 0.03);*/
|
||||
/*margin: 0 3em;*/
|
||||
padding: 1em;
|
||||
width: 40%;
|
||||
|
||||
}
|
||||
#meta-paragraph p {
|
||||
/*border-left: 3px solid #333350;*/
|
||||
padding-left: 1em;
|
||||
color: #444;
|
||||
font-size: 95%;
|
||||
}
|
||||
|
||||
#rule-meta #rule-references {
|
||||
#destinataire a {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
#destinataire img {
|
||||
width: 130px;
|
||||
display: block;
|
||||
}
|
||||
#destinataireName {
|
||||
width: 130px;
|
||||
text-align: center;
|
||||
font-size: 70%;
|
||||
line-height: 1em;
|
||||
margin-top: .3em;
|
||||
}
|
||||
#destinataire #calligraphy {
|
||||
color: #5B5B73;
|
||||
border: 2px solid #5B5B73;
|
||||
border-radius: .4em;
|
||||
width: 130px;
|
||||
line-height: 2em;
|
||||
font-size: 130%;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
#references {
|
||||
font-size: 85%;
|
||||
list-style: none;
|
||||
padding-left: 1em;
|
||||
color: #333350;
|
||||
}
|
||||
#rule-meta #rule-references li i {
|
||||
margin: 0 1em;
|
||||
color: #333350
|
||||
#references a {
|
||||
color: inherit;
|
||||
/*text-decoration: none;*/
|
||||
}
|
||||
#references li {
|
||||
margin-bottom: .15em;
|
||||
}
|
||||
#references .meta {
|
||||
text-align: right;
|
||||
width: 16em;
|
||||
margin-right: 1.5em;
|
||||
display: inline-block;
|
||||
font-size: 75%;
|
||||
}
|
||||
#references .url {
|
||||
font-weight: 600;
|
||||
color: white;
|
||||
background: #333350;
|
||||
border-radius: .4em;
|
||||
font-style: italic;
|
||||
padding: .05em .6em;
|
||||
}
|
||||
#references img {
|
||||
vertical-align: sub;
|
||||
height: 1.2em;
|
||||
border-radius: .3em;
|
||||
margin-left: .6em;
|
||||
}
|
||||
|
||||
#rule-rules {
|
||||
display: inline-flex;
|
||||
justify-content: start;
|
||||
|
@ -84,6 +150,7 @@
|
|||
border: none;
|
||||
font-size: 120%;
|
||||
padding: .5em;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
#rule-rules section {
|
||||
|
|
|
@ -10,6 +10,8 @@ import {formValueSelector} from 'redux-form'
|
|||
import mockSituation from '../engine/mockSituation.yaml'
|
||||
import {START_CONVERSATION} from '../actions'
|
||||
import classNames from 'classnames'
|
||||
import destinataires from '../../règles/destinataires/destinataires.yaml'
|
||||
import references from '../../règles/références/références.yaml'
|
||||
|
||||
// situationGate function useful for testing :
|
||||
let testingSituationGate = v => // eslint-disable-line no-unused-vars
|
||||
|
@ -54,6 +56,10 @@ export default class Rule extends Component {
|
|||
situationExists = !R.isEmpty(form),
|
||||
showValues = situationExists && this.state.showValues
|
||||
|
||||
let destinataire = R.path(['attributs', 'destinataire'])(rule),
|
||||
destinataireData = destinataires[destinataire]
|
||||
|
||||
|
||||
return (
|
||||
<div id="rule">
|
||||
<PageTypeIcon type="comprendre"/>
|
||||
|
@ -61,23 +67,28 @@ export default class Rule extends Component {
|
|||
<span className="rule-type">{rule.type}</span>
|
||||
<span className="rule-name">{name}</span>
|
||||
</h1>
|
||||
<section id="rule-meta" style={{display: 'none'}}>
|
||||
<section id="rule-meta">
|
||||
<div id="meta-paragraph">
|
||||
<p>
|
||||
{rule.description}
|
||||
</p>
|
||||
</div>
|
||||
<div id="destinataire">
|
||||
<h2>Destinataire</h2>
|
||||
<a href={destinataireData.lien} target="_blank">
|
||||
{destinataireData.image &&
|
||||
<img src={require('../../règles/destinataires/' + destinataireData.image)} /> }
|
||||
{!destinataireData.image &&
|
||||
<div id="calligraphy">{destinataire}</div>
|
||||
}
|
||||
</a>
|
||||
{destinataireData.nom && <div id="destinataireName">{destinataireData.nom}</div>}
|
||||
</div>
|
||||
<div>
|
||||
<h2>Propriétés</h2>
|
||||
<JSONView o={{
|
||||
...rule.attributs,
|
||||
'contexte': rule['attache']
|
||||
}} />
|
||||
<h2>Références</h2>
|
||||
{this.renderReferences(rule)}
|
||||
</div>
|
||||
</section>
|
||||
<p>Pourquoi cette règle me concerne ? Comment est-elle calculée ? C'est pas très lisible pour l'instant, mais ça le deviendra</p>
|
||||
<section id="rule-rules" className={classNames({showValues})}>
|
||||
{ do {
|
||||
let [,cond] =
|
||||
|
@ -107,22 +118,32 @@ export default class Rule extends Component {
|
|||
)
|
||||
}
|
||||
|
||||
renderReferences(rule) {
|
||||
renderReferences({'références': refs}) {
|
||||
if (!refs) return <p>Cette règle manque de références.</p>
|
||||
|
||||
return (
|
||||
rule['référence'] && <div>{rule['référence']}</div>)
|
||||
|| (
|
||||
rule['références'] && <ul id="rule-references">
|
||||
{R.toPairs(rule['références']).map(
|
||||
([name, link]) =>
|
||||
<li key={name}>
|
||||
{link.indexOf('legifrance.gouv') >= 0 &&
|
||||
<i className="fa fa-gavel" aria-hidden="true"></i>
|
||||
}
|
||||
<ul id="references">
|
||||
{R.toPairs(refs).map(
|
||||
([name, link]) => {
|
||||
let refkey = Object.keys(references).find(r => link.indexOf(r) > -1),
|
||||
refData = refkey && references[refkey] || {},
|
||||
domain = (link.indexOf("://") > -1
|
||||
? link.split('/')[2]
|
||||
: link.split('/')[0]).replace('www.', '')
|
||||
|
||||
return <li key={name}>
|
||||
<span className="meta">
|
||||
<span className="url">
|
||||
{domain}
|
||||
{refData.image &&
|
||||
<img src={require('../../règles/références/' + refData.image)}/> }
|
||||
</span>
|
||||
</span>
|
||||
<a href={link} target="_blank">
|
||||
{name}
|
||||
</a>
|
||||
</li>
|
||||
)}
|
||||
})}
|
||||
</ul>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
- https://thenounproject.com/search/?q=employee&i=859814
|
Loading…
Reference in New Issue