From b8b0c5440f270a885e3cb0b4e5a2e5f967fcd084 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?=
Date: Tue, 30 Apr 2024 22:40:50 +0200
Subject: [PATCH] =?UTF-8?q?N=C4=9Bjak=C3=BD=20z=C3=A1klad=20nov=C3=A9=20ve?=
=?UTF-8?q?rze=20CSSek?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
mamweb/static/css/layout.css | 277 +++++++++---------
mamweb/static/css/modules.css | 132 +++++----
.../templates/odevzdavatko/detail.html | 4 +-
.../templates/personalni/udaje/gdpr.html | 24 +-
seminar/templates/seminar/novinky.html | 2 +-
5 files changed, 217 insertions(+), 222 deletions(-)
diff --git a/mamweb/static/css/layout.css b/mamweb/static/css/layout.css
index 08fa63a7..efd74c07 100644
--- a/mamweb/static/css/layout.css
+++ b/mamweb/static/css/layout.css
@@ -14,11 +14,10 @@ div.kontejner {
min-height: 100vh;
position: relative;
padding: 0;
-}
-
-.org-logged-in div.kontejner {
- margin-top: var(--login-bar-height);
+ .org-logged-in & {
+ margin-top: var(--login-bar-height);
+ }
}
div.kontent-wrapper {
@@ -34,10 +33,9 @@ div.kontent {
.full_width {
width: 100vw;
margin-left: calc(-50vw + 485px);
-}
-/* Na úzkém displeji nechceme nic dělat. */
-@media(max-width: 860px) {
- .full_width{
+
+ /* Na úzkém displeji nechceme nic dělat. */
+ @media(max-width: 860px) {
margin-left: 0;
width: unset;
}
@@ -69,15 +67,15 @@ div.kontent {
background: url("../images/header/vikendovka.jpg") no-repeat center top; /* poměr 350:970, TODO: aby to nemuselo být přesně na pixely */
background-size: 100%;
top: 58px;
-}
-#header img.logo {
- width: 100%;
- filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4));
-}
+ img.logo {
+ width: 100%;
+ filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4));
+ }
-#header img.logo-mobile {
- display: none;
+ img.logo-mobile {
+ display: none;
+ }
}
.no-mobile {
@@ -96,29 +94,27 @@ div.kontent {
background-size: 100%;
filter: drop-shadow(5px 0px 5px rgba(0, 0, 0, 0.4));
padding-top: 3.5%;
-}
-#footer p.license {
- text-align: center;
- font-weight: 400;
- bottom: 0;
-}
+ p.license {
+ text-align: center;
+ font-weight: 400;
+ bottom: 0;
-#footer p.license a {
- color: #333;
+ a {
+ color: #333;
+ }
+ }
+
+ @media (max-width: 650px) {
+ display: none;
+ }
}
p.license-mobile {
display: none;
margin-bottom: 0;
-}
-@media (max-width: 650px) {
- #footer {
- display: none;
- }
-
- p.license-mobile {
+ @media (max-width: 650px) {
position: relative;
display: block;
font-size: 90%;
@@ -143,10 +139,10 @@ div.login-bar {
padding-left: 5px;
padding-right: 5px;
-}
-div.login-bar div {
- display: inline;
+ div {
+ display: inline;
+ }
}
a.login-ref-admin {
@@ -158,11 +154,11 @@ a.login-ref-admin {
display: inline;
color: var(--barva-pozadi);
float: right;
-}
-.napis-webarum a {
- color: var(--svetla-oranzova);
- text-decoration: underline;
+ a {
+ color: var(--svetla-oranzova);
+ text-decoration: underline;
+ }
}
/*******************/
@@ -250,30 +246,34 @@ ul.menu {
margin-top: -5px; /* posune celé menu nahoru (pak potřeba zvětšit mezeru mezi menu a submenu) */
font-variant: small-caps;
-}
-ul.menu a {
- text-decoration: none;
- font-weight: bold;
- font-size: 105%;
-}
+ a {
+ text-decoration: none;
+ font-weight: bold;
+ font-size: 105%;
+ }
-ul.menu li {
- margin: 0;
- display: inline-block;
- width: 16.666667%;
- text-align: center;
+ li {
+ margin: 0;
+ display: inline-block;
+ width: 16.666667%;
+ text-align: center;
- font-size: 140%;
- font-weight: 400;
-}
+ font-size: 140%;
+ font-weight: 400;
-ul.menu li>a:hover {
- color: black;
-}
+ >a:hover {
+ color: black;
+ }
-ul.menu li>a:active { /* TODO: nefunfuje */
- color: black;
+ >a:active { /* TODO: nefunfuje */
+ color: black;
+ }
+
+ &.active>a {
+ color: var(--svetla-oranzova);
+ }
+ }
}
ul.submenu {
@@ -284,31 +284,25 @@ ul.submenu {
padding-top: 10px;
padding-bottom: 5px;
filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4));
-}
-ul.submenu {
- background-color: var(--hlavni-oranzova);
z-index: 50;
font-weight: 400;
-}
-ul.submenu li {
- width: auto;
- padding: 0 20px 0 20px;
- display: inline-block;
-}
-ul.submenu li>a {
- color: var(--svetla-oranzova);
- text-decoration: none;
- text-shadow: none;
-}
+ li {
+ width: auto;
+ padding: 0 20px 0 20px;
+ display: inline-block;
-ul.submenu li>a:hover {
- color: black;
-}
+ >a {
+ color: var(--svetla-oranzova);
+ text-decoration: none;
+ text-shadow: none;
-ul.menu li.active>a {
- color: var(--svetla-oranzova);
+ :hover {
+ color: black;
+ }
+ }
+ }
}
ul.submenu li.active>a, .parentactive ul li:first-child>a {
@@ -316,22 +310,21 @@ ul.submenu li.active>a, .parentactive ul li:first-child>a {
}
@media (max-width: 970px) {
-
ul.menu {
font-size: 90%;
margin-top: -7px;
- }
- ul.menu li {
- margin-top: 10px; /* posunutí textu hlavního menu níže */
- }
-
- ul.submenu li {
- margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */
+ li {
+ margin-top: 10px; /* posunutí textu hlavního menu níže */
+ }
}
ul.submenu {
margin-top: 8px; /* mezera mezi hlavním menu a submenu */
+
+ li {
+ margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */
+ }
}
}
@@ -339,18 +332,18 @@ ul.submenu li.active>a, .parentactive ul li:first-child>a {
ul.menu {
font-size: 80%;
margin-top: -2px;
- }
- ul.menu li {
- margin-top: 10px; /* posunutí textu hlavního menu níže */
- }
-
- ul.submenu li {
- margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */
+ li {
+ margin-top: 10px; /* posunutí textu hlavního menu níže */
+ }
}
ul.submenu {
margin-top: 8px; /* mezera mezi hlavním menu a submenu */
+
+ li {
+ margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */
+ }
}
}
@@ -370,31 +363,33 @@ ul.submenu li.active>a, .parentactive ul li:first-child>a {
padding-top: 3px;
padding-bottom: 3px;
padding-left: 12px;
- }
- ul.menu_mobile a:active,
- ul.menu_mobile a:hover,
- ul.menu_mobile a:focus {
- text-decoration: none;
- color: black;
- }
+ a {
+ &:active, &:hover, &:focus {
+ text-decoration: none;
+ color: black;
+ }
+ }
- ul.menu_mobile ul {
- list-style-type: none;
- font-size: 90%;
- color: black; /*černé šipky submenu*/
- }
+ ul {
+ list-style-type: none;
+ font-size: 90%;
+ color: black; /*černé šipky submenu*/
- ul.menu_mobile ul li > a {
- color: black;
- }
+ li {
+ > a {
+ color: black;
+ }
- ul.menu_mobile ul li::before {
- content: ' \276D '; /*https://www.w3schools.com/cssref/css_entities.asp*/
- }
+ &::before {
+ content: ' \276D '; /*https://www.w3schools.com/cssref/css_entities.asp*/
+ }
+ }
+ }
- ul.menu_mobile br {
- display: none;
+ br {
+ display: none;
+ }
}
nav.nav-button {
@@ -442,27 +437,23 @@ ul.submenu li.active>a, .parentactive ul li:first-child>a {
/**** ROZLIŠENÍ MEZI LOKÁLNÍM, TESTOVACÍM A PRODUKČNÍM WEBEM ****/
-body.localweb:before, body.localweb:after,
-body.testweb:before, body.testweb:after,
-body.suprodweb:before, body.suprodweb:after {
- content: "";
- position: fixed;
- width: 20px;
- height: 100%;
- top: 0;
- z-index: -1000;
-}
+body.localweb, body.testweb, body.suprodweb {
+ &:before, &:after {
+ content: "";
+ position: fixed;
+ width: 20px;
+ height: 100%;
+ top: 0;
+ z-index: -1000;
+ }
-body.localweb:before, body.testweb:before, body.suprodweb:before {
- left: 0;
-}
-body.localweb:after, body.testweb:after, body.suprodweb:after {
- right: 0;
+ &:before { left: 0; }
+ &:after { right: 0; }
}
-body.localweb:before, body.localweb:after { background: greenyellow; }
-body.testweb:before, body.testweb:after { background: darkorange; }
-body.suprodweb:before, body.suprodweb:after { background: red; }
+body.localweb { &:before, &:after { background: greenyellow; } }
+body.testweb { &:before, &:after { background: darkorange; } }
+body.suprodweb { &:before, &:after { background: red; } }
/****************************************************************/
@@ -473,19 +464,15 @@ body.suprodweb:before, body.suprodweb:after { background: red; }
.titulnistrana {
display: flex;
text-align: justify;
-}
-.titulnistrana h1 {
- text-align: center;
+ h1 { text-align: center; }
}
.zjistit_vic{
text-align: center;
margin-bottom: 30px;
-}
-.zjistit_vic hr {
- display: none;
+ hr { display: none; }
}
.graf-svg {
@@ -513,18 +500,20 @@ body.suprodweb:before, body.suprodweb:after { background: red; }
padding: 10px;
}
-.novinka_obrazek {
- margin: 10px 0 10px 0;
- width: 100%;
-}
+.novinka {
+ .novinka_obrazek {
+ margin: 10px 0 10px 0;
+ width: 100%;
+ }
-.novinka_datum {
- font-weight: bold;
-}
+ .novinka_datum {
+ font-weight: bold;
+ }
-.novinka_autor {
- text-align: right;
- font-style: italic;
+ .novinka_autor {
+ text-align: right;
+ font-style: italic;
+ }
}
div.org-text {
diff --git a/mamweb/static/css/modules.css b/mamweb/static/css/modules.css
index 706eb040..c6ac5ea4 100644
--- a/mamweb/static/css/modules.css
+++ b/mamweb/static/css/modules.css
@@ -15,15 +15,15 @@
padding: 10px;
margin: 10px -10px;
border: var(--orgovska-fialova) 2px dashed;
-}
-.mam-org-only .mam-org-only {
- border: 0;
-}
+ & .mam-org-only {
+ border: 0;
+ }
-li.mam-org-only {
- padding: 3px 0;
- margin: -2px 0;
+ &li {
+ padding: 3px 0;
+ margin: -2px 0;
+ }
}
/**********************************/
@@ -208,24 +208,24 @@ div.org_email {
.tabulka_oramovane_sloupce {
border: solid 2px;
-}
-.tabulka_oramovane_sloupce td:first-child, .tabulka_oramovane_sloupce th:first-child {
- border-left: none;
- border-right: solid 1px;
-}
+ td, th {
+ &:first-child, &:first-child {
+ border-left: none;
+ border-right: solid 1px;
+ }
-.tabulka_oramovane_sloupce td:nth-child(2), .tabulka_oramovane_sloupce th:nth-child(2) {
- border-left: none;
-}
+ &:nth-child(2), &:nth-child(2) {
+ border-left: none;
+ }
-.tabulka_oramovane_sloupce td, .tabulka_oramovane_sloupce th {
- padding: 0.1em 0.3em;
- border-left: solid 1px;
-}
+ padding: 0.1em 0.3em;
+ border-left: solid 1px;
+ }
-.tabulka_oramovane_sloupce thead th, .tabulka_oramovane_sloupce thead td {
- border-bottom: solid 1px;
+ thead { th, td {
+ border-bottom: solid 1px;
+ } }
}
/***********************************/
@@ -233,25 +233,26 @@ div.org_email {
/** Tabulka se střídajícími se barvami řádků **/
/* Skoro jakákoliv tabulka kromě výsledkovek */
-.barevna_tabulka td th {
- padding: 1px 10px 1px 10px;
-}
+.barevna_tabulka {
+ td th {
+ padding: 1px 10px 1px 10px;
+ }
-.barevna_tabulka tbody tr:nth-child(even), .barevna_tabulka thead tr {
- background: var(--svetlounka-oranzova);
-}
+ tbody tr:nth-child(even), thead tr {
+ background: var(--svetlounka-oranzova);
+ }
-.barevna_tabulka tbody tr:nth-child(odd) {
- background: var(--barva-pozadi);
+ tbody tr:nth-child(odd) {
+ background: var(--barva-pozadi);
+ }
}
/**********************************************/
/** Tabulka, kde první řádek a sloupec je pořád vidět **/
/* Např. tabulka odevzdaných řešení, nebo výsledkovky */
-
-/* Omezí výšku a šířku, aby bylo příjemné na scrollování a zapne scrollování */
.tabulka_s_uchycenym_radkem_a_sloupcem {
+ /* Omezí výšku a šířku, aby bylo příjemné na scrollování a zapne scrollování */
display: block;
width: fit-content; /* display: block; roztahuje na celou šířku */
max-height: 80vh;
@@ -261,21 +262,21 @@ div.org_email {
border-collapse: separate; /* Pokud má tabulka orámování, je potřeba ho separovat, aby dodrželo position: sticky; */
border-spacing: 0;
-}
-/* Uchytí první řádek */
-.tabulka_s_uchycenym_radkem_a_sloupcem thead tr {
- position: sticky;
- top: 0;
- z-index: 2;
-}
+ /* Uchytí první řádek */
+ thead tr {
+ position: sticky;
+ top: 0;
+ z-index: 2;
+ }
-/* Uchytí první sloupec */
-.tabulka_s_uchycenym_radkem_a_sloupcem td:first-child, .tabulka_s_uchycenym_radkem_a_sloupcem th:first-child {
- position: sticky;
- left: 0;
- background: inherit; /* (Snad) zneprůhlední první sloupec */
- z-index: 1;
+ /* Uchytí první sloupec */
+ td, th { &:first-child {
+ position: sticky;
+ left: 0;
+ background: inherit; /* (Snad) zneprůhlední první sloupec */
+ z-index: 1;
+ } }
}
/* (Snad) zneprůhlednění prvního řádku (a sloupce) FIXME: tohle je trochu hack a potenciálně může něco rozbít */
@@ -294,11 +295,11 @@ div.org_email {
/** Tabulka mající všechna ohraničení **/
.plne_ohranicena_tabulka {
border-collapse: collapse;
-}
-.plne_ohranicena_tabulka tr th, .plne_ohranicena_tabulka tr td {
- border: 1px solid black;
- padding: 1px 10px 1px 10px;
+ tr { th, td {
+ border: 1px solid black;
+ padding: 1px 10px 1px 10px;
+ } }
}
/***************************************/
@@ -329,8 +330,13 @@ div.org_email {
/** Tabulka mých (řešitelových) řešení **/
-.moje_reseni tr th, .moje_reseni tr td { text-align: center; }
-.moje_reseni tr td.problem { text-align: left; }
+.moje_reseni tr {
+ th, td {
+ text-align: center;
+ }
+
+ td.problem { text-align: left; }
+}
/* Různá šířka problému */
.odevzdanareseni_mid, .odevzdanareseni_small, .odevzdanareseni_mini { display: none; }
@@ -355,20 +361,19 @@ div.org_email {
/** Detail řešení **/
.bodovani>input {
width: 4em;
-}
-.bodovani>input::placeholder {
- color: lightgray;
- opacity: 1;
-}
+ &::placeholder {
+ color: lightgray;
+ opacity: 1;
+ }
-.bodovani>input::-webkit-input-placeholder { /* Edge */
- color: lightgray;
+ &::-webkit-input-placeholder { /* Edge */
+ color: lightgray;
+ }
}
/* td obsahující křížek v detailu řešení se nesmí smrštit na 0 */
-/* FIXME až bude firefox příčetný, nahradit td:has(.smazat_hodnoceni) */
-.has_smazat_hodnoceni {
+.td:has(.smazat_hodnoceni) {
min-width: 20px;
padding: 3px;
}
@@ -453,12 +458,13 @@ label.field-required {
ul.form li{
margin-bottom: 3px;
}
-p.gdpr {
- font-size: 6pt;
- margin-bottom: .66em;
-}
div.gdpr {
font-size: 6pt;
+
+ p {
+ font-size: 6pt;
+ margin-bottom: .66em;
+ }
}
/* registrace */
diff --git a/odevzdavatko/templates/odevzdavatko/detail.html b/odevzdavatko/templates/odevzdavatko/detail.html
index 6ea9acc6..616ec8e0 100644
--- a/odevzdavatko/templates/odevzdavatko/detail.html
+++ b/odevzdavatko/templates/odevzdavatko/detail.html
@@ -119,7 +119,7 @@
{{ subform.body_neprepocitane_celkem }} |
{{ subform.deadline_body }} |
{{ subform.feedback }} |
- |
+ |
{% endfor %}
@@ -138,7 +138,7 @@
{{ form.empty_form.body_neprepocitane_celkem }} |
{{ form.empty_form.deadline_body }} |
{{ form.empty_form.feedback }} |
- |
+ |
diff --git a/personalni/templates/personalni/udaje/gdpr.html b/personalni/templates/personalni/udaje/gdpr.html
index 5d9af535..71f76edd 100644
--- a/personalni/templates/personalni/udaje/gdpr.html
+++ b/personalni/templates/personalni/udaje/gdpr.html
@@ -4,37 +4,37 @@ K tomu, abychom mohli zpracovávat Tvá data (uložit si tvou adresu, zobrazit T
Pokud se zpracováváním souhlasíš dle níže uvedených podmínek, zaškrtni políčko níže.
-
+
Získáváme od Tebe údaje vyplněné v přihlášce do semináře (jméno, příjmení, poštovní a e-mailovou adresu, školu, kterou navštěvuješ a rok maturity), případně v přihlášce na soustředění (navíc datum narození, telefonní číslo). Také uchováváme všechna řešení, která nám pošleš, a jejich hodnocení.
-
+
Slibujeme Ti, že Tvá osobní data nezneužijeme k ničemu, co by nesouviselo s M&M nebo s dalšími aktivitami Matfyzu, a nikdy je nepředáme nikomu cizímu. Údaje využíváme k zajištění chodu semináře a také je sdílíme s ostatními propagačními akcemi Matfyzu, abychom mohli vyhodnocovat úspěšnost akcí. Pokud budeš mít zájem, budeme Ti také posílat zajímavé zprávy a novinky týkajíci se Matfyzu.
-
+
Veřejně vystavujeme pouze seznam přezdívek (pro výběr spoluřešitelů k řešení) a výsledkové listiny, které také uchováváme pro archivní účely. Pokud ale z nějakého důvodu nebudeš chtít mít své jméno či školu uvedené ve výsledkové listině, není problém to zařídit, napiš nám. Z tištěných materiálů samozřejmě údaje už odstranit nemůžeme.
-
+
Na soustředěních a dalších akcích semináře navíc pořizujeme fotografie a videozáznamy a používáme je ke zpravodajským a propagačním účelům. Pro propagační účely si od Tebe vyžádáme samostatný souhlas na začátku akce.
-
+
Souhlas se zpracováním osobních údajů pro potřeby chodu semináře
-
+
Tímto uděluji souhlas Univerzitě Karlově, se sídlem Ovocný trh 560/5, 116 36 Praha 1, IČO 00216208 (dále jen UK), která je správcem osobních údajů všech fakult a součástí UK, ke zpracování osobních údajů pro potřeby Korespondenčního semináře M&M a Matematicko-fyzikální fakulty UK (dále jen M&M a MFF UK).
-
+
Tento souhlas uděluji pro všechny výše uvedené osobní údaje, a to po dobu účasti v semináři a 10 let poté, a dále souhlasím s uchováváním potřebných dat pro archivní účely i po této lhůtě (vystavené výsledkové listiny aj.).
-
+
MFF UK tyto údaje zpracovává za účelem evidence řešitelů a účastníků M&M, k zajištění celoročního fungování semináře, analýze účinnosti jednotlivých propagačních akcí MFF UK a zpravodajským účelům. Osobám, které o to projeví zájem v nastavení svého účtu, bude MFF UK také zasílat propagační materiály.
-
+
Údaje nebudou předány třetí osobě ani využívány k jiným účelům, než ke kterým byly poskytnuty.
-
+
Tento souhlas uděluji ze své vlastní a svobodné vůle a beru na vědomí, že jej mohu kdykoliv odvolat zasláním e-mailu na adresu mam@matfyz.cz. Stejně tak může být požadováno vymazání i z archivních údajů M&M, pokud to bude technicky možné. Beru na vědomí, že údaje z tištěných publikací není možné zpětně odstranit.
-
+
Dále máte právo:
@@ -44,7 +44,7 @@ Dále máte právo:
- požadovat, aby byly vaše osobní údaje předány jinému správci,
- podat stížnost u dozorového úřadu.
-
+
V případě jakéhokoliv dotazu nebo uplatnění svých práv můžete kontaktovat pověřence pro ochranu osobních údajů na e-mailové adrese gdpr@cuni.cz.
diff --git a/seminar/templates/seminar/novinky.html b/seminar/templates/seminar/novinky.html
index c1e5b663..535349a5 100644
--- a/seminar/templates/seminar/novinky.html
+++ b/seminar/templates/seminar/novinky.html
@@ -1,6 +1,6 @@
{% for novinka in object_list %}
{# pripravene div-y na stylovani#}
-
+
{% if not novinka.zverejneno and user.je_org %}