diff --git a/app/static/css/partition_editor.css b/app/static/css/partition_editor.css index 63071608..e6b8762f 100644 --- a/app/static/css/partition_editor.css +++ b/app/static/css/partition_editor.css @@ -1 +1,208 @@ -// Editeur de partitions \ No newline at end of file +.wait { + position: fixed; + width: 50px; + height: 10px; + background: #424242; + top: calc(50% - 50px); + left: 50%; + margin-left: -25px; + animation: wait 0.6s ease-out alternate infinite; +} + +@keyframes wait { + 100% { + transform: translateY(-30px) rotate(360deg) + } +} + +main { + font-family: Verdana, Geneva, Tahoma, sans-serif; + display: flex; + flex-wrap: wrap; + gap: 32px; +} + +main h2 { + border-bottom: 4px solid #09c; +} + +main h2, +main h3 { + font-weight: 400; +} + +/*****************************/ +/* Zone Choix */ +/*****************************/ +.filtres>div { + background: #ddd; + padding: 8px; + border-radius: 8px; + margin-bottom: 8px; +} + +.filtres>div>div { + display: flex; + flex-wrap: wrap; + gap: 4px; + row-gap: 2px; + margin: 4px 0; +} + +.filtres>div>div>div { + background: #09c; + color: #FFF; + border-radius: 4px; + padding: 8px 32px; + box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25); + cursor: pointer; +} + +.filtres>div>div>div:hover { + box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6); +} + +.filtres>div>div>div:active { + box-shadow: 0 0 0 #000; + transform: translateY(2px); +} + +.filtres>div>div>.unselect { + background: rgba(0, 153, 204, 0.5); +} + +#zoneChoix .etudiants>div { + background: #FFF; + border: 1px solid #aaa; + border-radius: 4px; + padding: 4px 8px; + margin: 4px 0; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + gap: 8px; +} + +#zoneChoix .etudiants .nom { + flex: 1; +} + +#zoneChoix small { + color: #444; + font-style: italic; +} + +#zoneChoix .etudiants .partition { + display: flex; + flex-wrap: wrap; + gap: 4px; + margin-bottom: 4px; +} + +#zoneChoix label { + cursor: pointer; +} + +#zoneChoix .etudiants .partition>div, +#zoneChoix .etudiants .partition span { + display: block; + padding: 4px 8px; + border: 1px solid #aaa; + border-radius: 4px; +} + +#zoneChoix .etudiants .partition input { + display: none; +} + +#zoneChoix .etudiants .partition input:checked:not([value=aucun])+span { + background: #c09; + border-color: #c09; + color: #fff; +} + +#zoneChoix .etudiants .partition>:nth-child(1) { + background: #09c; + border-color: #09c; + color: #fff; +} + +.hide { + display: none !important; +} + +.saved+span { + position: relative; +} + +.saving+span { + outline: 2px solid orange; +} + +.saved+span::before { + content: '✔️'; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + align-items: center; + justify-content: center; + background: rgba(0, 0, 0, 0.5); + border-radius: 4px; +} + +/*****************************/ +/* Zone Groupes */ +/*****************************/ +#zoneGroupes { + flex: 1; +} + +#zoneGroupes .groupes { + display: flex; + flex-wrap: wrap; + align-items: flex-start; + gap: 16px; +} + +#zoneGroupes .partition { + background: #ddd; + padding: 8px; + border-radius: 8px; + display: flex; + flex-direction: column; + gap: 8px; +} + +h3 { + margin: 0; +} + +#zoneGroupes .groupe { + background: #FFF; + border-radius: 8px; +} + +#zoneGroupes .groupe>div { + padding: 8px 16px; +} + +#zoneGroupes .groupe>div:nth-child(1) { + color: #09c; + border-bottom: 1px solid #aaa; +} + +#zoneGroupes .etudiants { + counter-reset: cpt; +} + +#zoneGroupes .etudiants>*::before { + counter-increment: cpt; + content: counter(cpt) " - "; +} + +#zoneGroupes [data-idgroupe=aucun] { + background: #b5c2c3 !important; +} \ No newline at end of file diff --git a/app/templates/scolar/partition_editor.html b/app/templates/scolar/partition_editor.html index a5800ca4..475c6204 100644 --- a/app/templates/scolar/partition_editor.html +++ b/app/templates/scolar/partition_editor.html @@ -1,6 +1,266 @@ {# -*- mode: jinja-html -*- #} -