From d895cd0636b05d83161a0e256771bdba21ac610b Mon Sep 17 00:00:00 2001 From: "Pavel \"LEdoian\" Turinsky" Date: Wed, 12 Jun 2024 02:02:37 +0200 Subject: [PATCH 01/12] =?UTF-8?q?V=C3=ADc=20org=C5=AF=20k=20jednomu=20PDF?= =?UTF-8?q?=20v=20korekturov=C3=A1tku?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- korektury/admin.py | 5 ++- korektury/migrations/0024_vic_orgu_k_pdf.py | 41 +++++++++++++++++++++ korektury/models.py | 7 ++-- korektury/views.py | 6 +-- 4 files changed, 50 insertions(+), 9 deletions(-) create mode 100644 korektury/migrations/0024_vic_orgu_k_pdf.py diff --git a/korektury/admin.py b/korektury/admin.py index 5f92c542..a116e260 100644 --- a/korektury/admin.py +++ b/korektury/admin.py @@ -36,12 +36,13 @@ class KorekturovanePDFAdmin(VersionAdmin): fieldsets = [ (None, {'fields': - ['pdf', 'cas', 'org', 'stran', 'nazev', 'komentar', 'poslat_mail']}), + ['pdf', 'cas', 'stran', 'nazev', 'orgove', 'komentar', 'poslat_mail']}), # (u'PDF', {'fields': ['pdf']}), ] - list_display = ['nazev', 'cas', 'stran', 'org'] + list_display = ['nazev', 'cas', 'stran'] list_filter = [] search_fields = [] + filter_horizontal = ['orgove'] def save_model(self, request, obj, form, change): """ diff --git a/korektury/migrations/0024_vic_orgu_k_pdf.py b/korektury/migrations/0024_vic_orgu_k_pdf.py new file mode 100644 index 00000000..b0776303 --- /dev/null +++ b/korektury/migrations/0024_vic_orgu_k_pdf.py @@ -0,0 +1,41 @@ +# Generated by Django 4.2.13 on 2024-06-11 23:53 + +from django.db import migrations, models + +def pridej_orgy(apps, schema_editor): + PDF = apps.get_model('korektury', 'KorekturovanePDF') + for pdf in PDF.objects.all(): # Tohle by asi mělo jít udělat pomocí update, ale moc práce a rychlé hledání taky nepomohlo. + pdf.orgove.add(pdf.org) + pdf.save() # ig? + +def vyber_orga(apps, schema_editor): + PDF = apps.get_model('korektury', 'KorekturovanePDF') + for pdf in PDF.objects.all(): + orgove = pdf.orgove.all() + if len(orgove) > 1: + raise migrations.exceptions.IrreversibleError(f'PDF {pdf.id} má víc než jednoho zodpovědného orga, nejde odmigrovat na verzi, která umí jen jednoho.') + if len(orgove) == 0: + pdf.org = None + else: + pdf.org = orgove[0] + pdf.save() + +class Migration(migrations.Migration): + + dependencies = [ + ('personalni', '0011_osloveni_vsechny_choices'), + ('korektury', '0023_personalni_post_migrate'), + ] + + operations = [ + migrations.AddField( + model_name='korekturovanepdf', + name='orgove', + field=models.ManyToManyField(blank=True, default=None, help_text='Zodpovědní organizátoři za obsah (chodí jim maily o nových korekturách)', to='personalni.organizator'), + ), + migrations.RunPython(pridej_orgy, vyber_orga), + migrations.RemoveField( + model_name='korekturovanepdf', + name='org', + ), + ] diff --git a/korektury/models.py b/korektury/models.py index ca1bb877..9f2f82f7 100644 --- a/korektury/models.py +++ b/korektury/models.py @@ -40,7 +40,6 @@ def generate_filename(self, filename): clean) return os.path.join(settings.KOREKTURY_PDF_DIR, fname) - #@reversion.register(ignore_duplicates=True) class KorekturovanePDF(models.Model): class Meta: @@ -60,9 +59,9 @@ class KorekturovanePDF(models.Model): pdf = models.FileField(u'PDF', upload_to = generate_filename) - org = models.ForeignKey(Organizator, blank=True, - help_text='Zodpovědný organizátor za obsah', - null=True, default=None, on_delete=models.SET_NULL) + orgove = models.ManyToManyField(Organizator, blank=True, + help_text='Zodpovědní organizátoři za obsah (chodí jim maily o nových korekturách)', + default=None) stran = models.IntegerField(u'počet stran', help_text='Počet stran PDF', default=0) diff --git a/korektury/views.py b/korektury/views.py index 1bdfaa92..4408254a 100644 --- a/korektury/views.py +++ b/korektury/views.py @@ -188,9 +188,9 @@ class KorekturyView(generic.TemplateView): if email_komentujiciho: emails.add(email_komentujiciho) - # zodpovedny org - if oprava.pdf.org: - email_zobpovedny = oprava.pdf.org.osoba.email + # zodpovedni orgove + for org in oprava.pdf.orgove.all(): + email_zobpovedny = org.osoba.email if email_zobpovedny: emails.add(email_zobpovedny) From 8a5659420d0ac959fe244210847c26218e215bbc Mon Sep 17 00:00:00 2001 From: "Pavel \"LEdoian\" Turinsky" Date: Wed, 12 Jun 2024 02:25:01 +0200 Subject: [PATCH 02/12] =?UTF-8?q?Na=20v=C3=BDb=C4=9Br=20org=C5=AF=20pro=20?= =?UTF-8?q?PDF=20chceme=20autocomplete?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- korektury/admin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/korektury/admin.py b/korektury/admin.py index a116e260..459932a3 100644 --- a/korektury/admin.py +++ b/korektury/admin.py @@ -42,7 +42,7 @@ class KorekturovanePDFAdmin(VersionAdmin): list_display = ['nazev', 'cas', 'stran'] list_filter = [] search_fields = [] - filter_horizontal = ['orgove'] + autocomplete_fields = ['orgove'] def save_model(self, request, obj, form, change): """ From 2304a8282c4d69881146d3553b790848c3e61a1b Mon Sep 17 00:00:00 2001 From: "Pavel \"LEdoian\" Turinsky" Date: Sat, 15 Jun 2024 22:50:20 +0200 Subject: [PATCH 03/12] =?UTF-8?q?PDF=20nemus=C3=AD=20m=C3=ADt=20zodpov?= =?UTF-8?q?=C4=9Bdn=C3=A9ho=20orga!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- korektury/migrations/0024_vic_orgu_k_pdf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/korektury/migrations/0024_vic_orgu_k_pdf.py b/korektury/migrations/0024_vic_orgu_k_pdf.py index b0776303..96af9d93 100644 --- a/korektury/migrations/0024_vic_orgu_k_pdf.py +++ b/korektury/migrations/0024_vic_orgu_k_pdf.py @@ -5,7 +5,7 @@ from django.db import migrations, models def pridej_orgy(apps, schema_editor): PDF = apps.get_model('korektury', 'KorekturovanePDF') for pdf in PDF.objects.all(): # Tohle by asi mělo jít udělat pomocí update, ale moc práce a rychlé hledání taky nepomohlo. - pdf.orgove.add(pdf.org) + if pdf.org is not None: pdf.orgove.add(pdf.org) pdf.save() # ig? def vyber_orga(apps, schema_editor): From 592ae29d35f3446d91e625df6db90197e31a6f70 Mon Sep 17 00:00:00 2001 From: ticvac Date: Tue, 22 Oct 2024 19:05:41 +0200 Subject: [PATCH 04/12] =?UTF-8?q?ghoul=20font=20na=20posledn=C3=ADch=207?= =?UTF-8?q?=20dn=C3=AD=20=C5=99=C3=ADjna=202024?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mamweb/static/css/mamweb.css | 13 ++++++++++--- mamweb/static/fonts/ghoul/ghoul.ttf | Bin 0 -> 14968 bytes mamweb/static/fonts/ghoul/ghoulheadline.ttf | Bin 0 -> 24980 bytes mamweb/templates/base.html | 12 ++++++++++++ various/context_processors.py | 13 +++++++++++++ 5 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 mamweb/static/fonts/ghoul/ghoul.ttf create mode 100644 mamweb/static/fonts/ghoul/ghoulheadline.ttf diff --git a/mamweb/static/css/mamweb.css b/mamweb/static/css/mamweb.css index 0d699d5c..c931aee8 100644 --- a/mamweb/static/css/mamweb.css +++ b/mamweb/static/css/mamweb.css @@ -2,9 +2,16 @@ @import url("rozliseni.css"); @font-face { -font-family: 'OpenSans'; -src: url("../fonts/OpenSans/OpenSans-Regular.ttf"); -font-weight: normal; + font-family: 'OpenSans'; + src: url("../fonts/OpenSans/OpenSans-Regular.ttf"); + font-weight: normal; +} + +@font-face { + font-family: 'GhoulFace'; + src: url("../fonts/ghoul/ghoulheadline.ttf"), + url("../fonts/ghoul/ghoul.woff"); + font-weight: normal; } p { diff --git a/mamweb/static/fonts/ghoul/ghoul.ttf b/mamweb/static/fonts/ghoul/ghoul.ttf new file mode 100644 index 0000000000000000000000000000000000000000..64bab4789ae256a70f2af1ad00fc1edab5efbf27 GIT binary patch literal 14968 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 Y@QR^}vZk22sUkhC>N;K+&?x->0hVL~RsaA1 literal 0 HcmV?d00001 diff --git a/mamweb/static/fonts/ghoul/ghoulheadline.ttf b/mamweb/static/fonts/ghoul/ghoulheadline.ttf new file mode 100644 index 0000000000000000000000000000000000000000..90d4f7c126d0c67a754e622812a3b83f5929fade GIT binary patch literal 24980 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 + {% if halloween == 2024 %} + + {% endif %} + diff --git a/various/context_processors.py b/various/context_processors.py index a1e4478a..331780b1 100644 --- a/various/context_processors.py +++ b/various/context_processors.py @@ -15,6 +15,19 @@ def april(req): return {'april': today.year} return {} +def halloween(req): + if 'X-Halloween' in req.headers: + try: + year = int(req.headers['X-Halloween']) + return {'halloween': year} + except: + pass # Fall-back to regular behaviour + + import datetime + today = datetime.date.today() + if today.month == 10 and today.day >= 25: + return {'halloween': today.year} + return {} def rozliseni(request): ltp = settings.LOCAL_TEST_PROD From 8dca676edce92b907bece2d08fa9a9ed46bd71b8 Mon Sep 17 00:00:00 2001 From: ticvac Date: Tue, 22 Oct 2024 19:29:28 +0200 Subject: [PATCH 05/12] script presunut dolu pod april --- mamweb/templates/base.html | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/mamweb/templates/base.html b/mamweb/templates/base.html index c3fe697c..cc6a1fc4 100644 --- a/mamweb/templates/base.html +++ b/mamweb/templates/base.html @@ -35,18 +35,6 @@ {# script specifický pro stránku #} {% block script %}{% endblock %} - - {% if halloween == 2024 %} - - {% endif %} - @@ -217,6 +205,17 @@ walkText(document.body); {% endif %} + + {% if halloween == 2024 %} + + {% endif %} {% block js %}{% endblock %} From 227b83b70100272b4386d76ee97886cc92861ff3 Mon Sep 17 00:00:00 2001 From: ticvac Date: Tue, 22 Oct 2024 20:10:27 +0200 Subject: [PATCH 06/12] halloween do settings --- mamweb/settings_common.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mamweb/settings_common.py b/mamweb/settings_common.py index f737be1e..a9b38c9a 100644 --- a/mamweb/settings_common.py +++ b/mamweb/settings_common.py @@ -87,6 +87,7 @@ TEMPLATES = [ 'header_fotky.context_processors.vzhled', 'various.context_processors.rozliseni', 'various.context_processors.april', + 'various.context_processors.halloween', ) }, }, From 2ae906495dc51f53300d9a9945ac7588a095c11f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Wed, 23 Oct 2024 11:49:48 +0200 Subject: [PATCH 07/12] Opravil jsem font (aby fungovala diakritika apod.) --- mamweb/static/css/base.css | 4 ++-- mamweb/static/fonts/ghoul/ghoul.ttf | Bin 14968 -> 57984 bytes mamweb/static/fonts/ghoul/ghoulheadline.ttf | Bin 24980 -> 0 bytes 3 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 mamweb/static/fonts/ghoul/ghoulheadline.ttf diff --git a/mamweb/static/css/base.css b/mamweb/static/css/base.css index a7febafc..a4433d55 100644 --- a/mamweb/static/css/base.css +++ b/mamweb/static/css/base.css @@ -8,10 +8,10 @@ font-weight: normal; } +/* https://fontzone.net/font-details/qtghoulface-regular doplněný o diakritiku pomocí FontForge*/ @font-face { font-family: 'GhoulFace'; - src: url("../fonts/ghoul/ghoulheadline.ttf"), - url("../fonts/ghoul/ghoul.woff"); + src: url("../fonts/ghoul/ghoul.ttf"); font-weight: normal; } diff --git a/mamweb/static/fonts/ghoul/ghoul.ttf b/mamweb/static/fonts/ghoul/ghoul.ttf index 64bab4789ae256a70f2af1ad00fc1edab5efbf27..dcb13354068ccbaf4ec42a37b7ffc4e7d5c200c3 100644 GIT binary patch literal 57984 zcmbrn2bdh!btYQ(R=AZ@S9MO)-P4n2FgaryX)p*x&WQksoCtsk%o$9A#3V?fC{dIp z+SHm{`AM?%WG!vW3YIO0r7d}7t+Wnnuh+J0t)J{C>l4}Uzg0aTD9dm6?L*H@r|Rme zI_W?EIp;zkf*^SKBMI*O{I(m837v-o;m?oY)%@y}tLB9c;k|FlBN-#at<4eZ>- z_Wn(`-&$UG>$)Eag7P%BS$gdJ@v}ew?E}x@c@5hiIezBOV+-YULlD&eDhO|`KXLTX zk?()-7k>@g=JEd63A~`L6|q0E4bN*Q&fa=yj5_P_{0G>7@yyLP9Xk4#g9ikG{Q+L{ z&mOvTo@6QZO)g>k^0`B2k3RhA#BU42ca~uL|8oB3TW)>rhCiwc!uMQk^W^!9N6-IA zBtDMkacr*&{Mz6*^}_rA@4u==@h!sNM6VDk2{LY!evv+j zSKb%jldlLvM2xohH~uU;bL%bGSNR9Dbqt~K?;ePbiGP6pNEqPvWJT+@B;?7EP^51P zS=uG!>8}ZS(GW_)V?vs&!h5T5{{taIMIj;lx{$?VNBAotLB1s@^v6ODzkh?@Q}~^0 z{r2I08GfI@?-YJJgntoI(Put^&;0;J|-qFgf^ zfpF_ywD84!;kt;DtT0v64b!q6*YguWm`tTJ*<8L*ES1|T)mnSKqqD2Kr?;J9h5cy=U*f{ReJ5c!+<~ zar{OeM-a~9;W_@=&HT@K{wMm!9rpk1-{GIV!O`gDV}fu34^HCu)K6{KkY!1vLhtRX z%AXe7S5*(4NLNoBT-n!q?RosPT>gCX*C+g6YLKyszTR^A(~SxL(`1al*w;%wJ%4+7 zH9k3i=tOxJ-%)kq)3lv$aCBmKUxSbn#Wl_C@LTtb-)??ec#kkbf7tvTVH0jP z{Uzaun5QXWt*}QJ5uOsP$Rhgj-sj+DZlRxVzCrS&CS0Z8Y`!8=Iz#`Mey{l%;RWF( zp$@IxDIB05fxdoD_yYFwfbd~*mUIXYG`~)tg+0AQKO=mi`7(XIc~$rf{X+9Af+tjj zRpigeUkV55O@d55D||=zjPOPJ6?(k+wdO_o3(e<*FEw9kKHvPHFfVLu9&TQN1^jvQ zQ^E>iwXmW2O!J)ZW#OyzH<~ZPcmF~2b^0T^vH8#RAL%iAtME0tz4k{0Dln`QL?d^KYBq7bf8w9>=+EZ~l7o=Y&r;|FQW$=pFQd=3fc>goDB{=)@^{ zvH2rHw*IR(oZC>@@YfqZx@p^{&u-qeMcDGj)}L&j*|Bfu zJ-fcR`-gky_g&uq#RES)SUa@g@VT2FI`Z+OzkKW`Cq_>E!O1$m;kr;B^XS*%Q$>LZ zvyB{+n4rjv$dV#brYJ<9;4~(aUxtX~cGBESj4F46}w`TA&xa9v(1-WO~ zYx6qrJ3wC;c!w*JH=)T`LrNq z(u&lnjEz?-*1+AQ(E76Yy9V$r-*Ugjzs`M&c>W}QgnrWBk1w7r$UP)bLKZNE*`(T0 z$E}}q)JI3gW=Va3j*O2Dj}H$eQ%Nykw#X`cgZk+B$QWKEf~4CiQPEvhQyfumV@XBV zZ6e#*v$pH%ezz&7b!I!3EVrddHC0Mp0)>uoS_I+}73U z6!I=b##0*dVQMU zbnCJzDxMS?ge5Xb?^hIEqpBGwT;=}6kOEmQdQU;D_5(&abVgAXXd z0Q>$^Z$9)e3ljk=rT?0(SXM4c%O8Azu|Irs_`Co4JM5R%ytww&Z~e;W*33`;#p>DV znZNzjpS!y2=QiDQ_pU#G<{iPRD+tTFmcc}yvVut^6y};eT%nW}V-_Hnh zxLkA5HA~?yG_yi9M@3;umPD>eX1|pmw7j<0BpQDyvrT$-p61z9}BzLwFPKam^eccnr0KVy1?NQpw@5 zVLZkwBlTG_(ocGT54e_cVV1}cm)`)XcZ@G3c*-@o2-!LWI}VD3i*Ktk zlnVGwDR9%kH{cbSe|eSR;FYjMiUh9?jm;7ISxqr5t)e-yMkUc@L1!RKwoVjTtvIqs zRYrA*5+X5IBC=>uCy~HwR95{q+wdgCmkml3sxZ?wsYFHBb#^mmDNL3PSXY^dL?MJ| z%-5`L*G|Z?XU+$ns1t)RQMA|gVdPkrF(l@9h=ioG_-Uc17! zsKYEs-1o^(d}zbQH9L3he^NPn=JeV%%D%n(U-*zBc&?(U+qUK`QzR?i<#yoZxub^- z@jsEdaZ5rFcxw)>IJ&{;zQw(gJG1zQ+ZTR+>PPq)1{Zno*H*|q?QqScWh&fh!49f; zTICO7cMWTR{zuB6f-j#Ysi8T%H_G3JQE`hJgN4jS54m%Xd_IH8rdYsDCjKeFw%{16 z+z#VgmBCiAMZkB9ATd&}RuE12M~26T5-`4M1ug*ZMSo#5)Uy+pL&m6PNQU81Bc;03 z*j}Ty?^;HNnXVG5o~ybhG(*t~T{CmJoWZOQX(T}tiHGGNMX0AqG->DqP&8GMB&zC~ z&2%*-8@lCE%L*+hJX^EmOI?mdb*g%%YVW8gGmfOVP$ykB-1a*&Vc9I|X{*-_(tf3l zlByW^j+D+C9%Bi+#4KIvWuan8nkD(hNV*=(t;uLZZGL~MS}o~$(NZKsR$QIR30-15 zI_N58hLSK+_gZ!$q>irY1xeF&oOLjnlx0md_sx<+ZjWtfzJ%A`elk^?D*L)wF_f}q z$~}v^{099P{X8J^ozUke8!Hd&XkRcZ#?|aU8gVhbWh%;oDwc7%QqKXr%0AxQ%-_lIP=y(?EksHhek%Kx~P>c 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 literal 14968 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 Y@QR^}vZk22sUkhC>N;K+&?x->0hVL~RsaA1 diff --git a/mamweb/static/fonts/ghoul/ghoulheadline.ttf b/mamweb/static/fonts/ghoul/ghoulheadline.ttf deleted file mode 100644 index 90d4f7c126d0c67a754e622812a3b83f5929fade..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24980 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 Date: Wed, 23 Oct 2024 12:22:46 +0200 Subject: [PATCH 08/12] =?UTF-8?q?Novinky=20byly=20b=C5=AFhv=C3=AD=20pro?= =?UTF-8?q?=C4=8D=20BigAutoField?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- novinky/migrations/0004_alter_novinky_id.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 novinky/migrations/0004_alter_novinky_id.py diff --git a/novinky/migrations/0004_alter_novinky_id.py b/novinky/migrations/0004_alter_novinky_id.py new file mode 100644 index 00000000..a4a48490 --- /dev/null +++ b/novinky/migrations/0004_alter_novinky_id.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.16 on 2024-10-23 10:22 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('novinky', '0003_novinky_post'), + ] + + operations = [ + migrations.AlterField( + model_name='novinky', + name='id', + field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'), + ), + ] From 788e8d22a29f89127e6ea0c34e3fb9489001f993 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Fri, 25 Oct 2024 12:57:07 +0200 Subject: [PATCH 09/12] =?UTF-8?q?Pokus=20o=20opravu=20styl=C5=AF=20na=20st?= =?UTF-8?q?ar=C3=BDch=20iOSech?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mamweb/static/css/base.css | 2 + mamweb/static/css/mamweb_legacy.css | 728 ++++++++++++++++++++++++++++ mamweb/templates/base.html | 2 +- 3 files changed, 731 insertions(+), 1 deletion(-) create mode 100644 mamweb/static/css/mamweb_legacy.css diff --git a/mamweb/static/css/base.css b/mamweb/static/css/base.css index a4433d55..c562cb5b 100644 --- a/mamweb/static/css/base.css +++ b/mamweb/static/css/base.css @@ -1,5 +1,7 @@ @charset "utf-8"; /* vynuť utf-8 */ +@import "mamweb_legacy.css" supports((-webkit-touch-callout: none) and (not (offset-position: normal))); + /* Obecné styly pro html tagy */ @font-face { diff --git a/mamweb/static/css/mamweb_legacy.css b/mamweb/static/css/mamweb_legacy.css new file mode 100644 index 00000000..4da02fba --- /dev/null +++ b/mamweb/static/css/mamweb_legacy.css @@ -0,0 +1,728 @@ +@charset "utf-8"; /* vynuť utf-8 */ + +.button { + margin: 10px 0 10px 0; + padding: 4px 0; /*vertikální centování textu*/ + text-align: center; + background-color: var(--hlavni-oranzova); + color: var(--barva-pozadi); + font-size: 150%; + font-weight: bold; + font-variant: small-caps; + filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4)); +} +.button:hover { + position: relative; + top: 2px; + left: 2px; + background-color: #df490e; +} +/******************/ + + + + + +/* Rozložení webu a jeho prvky (hlavička, menu, footer) */ + +/**** KONTEJNER ****/ +div.kontejner { /* Ne container, aby se to netlouklo s bootstrapem. */ + width: 970px; + margin: auto; + min-height: 100vh; + position: relative; + padding: 0; +} + +.org-logged-in div.kontejner { + margin-top: var(--login-bar-height); +} + +div.kontejner div.kontent-wrapper { + padding-bottom: var(--footer-height); +} + +div.kontejner div.kontent-wrapper div.kontent { + padding: 15px 30px; +} + +/* Roztáhne obsah z containeru na celou šířku obrazovky: */ +.full_width { + width: 100vw; + margin-left: calc(-50vw + 485px); +} + +/* Na úzkém displeji nechceme nic dělat. */ +@media(max-width: 860px) { + .full_width { + margin-left: 0; + width: unset; + } +} +/*******************/ + + +/**** HLAVIČKA ****/ +#header { + position: relative; + 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)); +} + +#header img.logo-mobile { + display: none; +} + +#header .no-mobile { + background-size: contain; +} +/******************/ + + +/**** Footer ****/ +#footer { + position: absolute; + bottom: 0; + width: 100%; + background: url("../images/mozaika-footer.svg") no-repeat top center; + height: var(--footer-height); + 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; +} + +#footer p.license a { + color: #333; +} + +@media (max-width: 650px) { + #footer { + display: none; + } +} + +p.license-mobile { + display: none; + margin-bottom: 0; +} + +@media (max-width: 650px) { + p.license-mobile { + position: relative; + display: block; + font-size: 90%; + background-color: var(--hlavni-oranzova); + padding: 5%; + text-align: justify; + } +} +/****************/ + + +/**** LOGIN BAR ****/ +div.login-bar { + background: var(--orgovska-fialova); + color: var(--svetla-oranzova); + width: 100%; + + position: fixed; + margin-top: calc(-1 * var(--login-bar-height)); + min-height: var(--login-bar-height); + z-index: 4086; + + padding-left: 5px; + padding-right: 5px; +} + +div.login-bar div { + display: inline; +} + +div.login-bar a.LOGIN-ref-admin { + display: inline; + color: var(--barva-pozadi); +} + +div.login-bar .LOGIN_napis-webarum { + display: inline; + color: var(--barva-pozadi); + float: right; +} + +div.login-bar .LOGIN_napis-webarum a { + color: var(--svetla-oranzova); + text-decoration: underline; +} +/*******************/ + + +/* stránka přes celý displej */ +@media (max-width: 970px) { + #header { + background-size: 100%; + } + + #header img.logo { + width: 100%; + } +} + +/* malý tablet, mobil */ +@media (max-width: 650px) { + #header { + width: 100%; + top: 0; + background-image: none; + } + + #header img.logo { + display: none; + } + + #header img.logo-mobile { + display: block; + top: 0; + left: 0; + width: 100%; + filter: drop-shadow(0px 0 5px rgba(0, 0, 0, 0.4)); + margin-bottom: 3px; + } + + #header .no-mobile{ + display: none; + } +} + + + + + +/**** MENU ****/ + +ul.menu { + width: 100%; + padding: 0; + 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%; +} + +ul.menu li { + margin: 0; + display: inline-block; + width: 16.666667%; + text-align: center; + + font-size: 140%; + font-weight: 400; +} + +ul.menu li >a:hover, >a:active { + color: black; +} + +ul.menu li.active>a { + color: var(--svetla-oranzova); +} + +ul.menu ul.submenu { + background-color: var(--hlavni-oranzova); + margin-top: 10px; /* mezera mezi hlavním menu a submenu */ + margin-bottom: 10px; + padding-top: 10px; + padding-bottom: 5px; + filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4)); + + z-index: 50; + font-weight: 400; +} + +ul.menu ul.submenu li { + width: auto; + padding: 0 20px 0 20px; + display: inline-block; +} + +ul.menu ul.submenu li >a { + color: var(--svetla-oranzova); + text-decoration: none; + text-shadow: none; +} + +ul.menu ul.submenu li >a :hover { + color: black; +} + +ul.menu ul.submenu li.active>a, .parentactive ul li:first-child>a { + color: black; +} + +@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 { + margin-top: 8px; /* mezera mezi hlavním menu a submenu */ + } + + ul.submenu li { + margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */ + } +} + +@media(max-width: 800px) { + ul.menu { + font-size: 80%; + margin-top: -2px; + } + + ul.menu li { + margin-top: 10px; /* posunutí textu hlavního menu níže */ + } + + ul.submenu { + margin-top: 8px; /* mezera mezi hlavním menu a submenu */ + } + ul.submenu li { + margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */ + } +} + +@media (max-width: 650px) { + ul.menu { + display: none; + } + + ul.menu_mobile { + display: block; + z-index: 10; + position: sticky; + font-variant: small-caps; + font-size: 150%; + font-weight: bold; + list-style-type: none; + 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; + } + + ul.menu_mobile ul { + list-style-type: none; + font-size: 90%; + color: black; /*černé šipky submenu*/ + } + + ul.menu_mobile ul li > a { + color: black; + } + + ul.menu_mobile ul li::before { + content: ' \276D '; /*https://www.w3schools.com/cssref/css_entities.asp*/ + } + + ul.menu_mobile br { + display: none; + } +} /* konec @media */ +/**************/ + +/**** ZBYTEK ****/ +/* (konkrétní stránky) */ + +/* Titulní stránka */ +.titulnistrana { + display: flex; + text-align: justify; + +@media(max-width: 800px){ + .titulnistrana { + display: block; + } +} + +.titulnistrana h1 { text-align: center; } + +.titulnistrana .TITULNI_STRANA_zjistit_vic { + text-align: center; + margin-bottom: 30px; +} + +.titulnistrana .TITULNI_STRANA_zjistit_vic hr { + display: none; +} + +@media(max-width: 800px){ + .titulnistrana .TITULNI_STRANA_zjistit_vic hr { + display: flex; + } +} + +@media(max-width: 800px) { + .titulnistrana .TITULNI_STRANA_graf { + padding-top: 40px; + } +} + +.titulnistrana .TITULNI_STRANA_graf .TITULNI_STRANA_graf-svg { + display: flex; +} + +.titulnistrana .TITULNI_STRANA_graf .TITULNI_STRANA_graf-svg #svg-graf { + width: 100%; + height: auto; + margin: 30px; +} + +@media(max-width: 800px){ + .titulnistrana .TITULNI_STRANA_graf .TITULNI_STRANA_graf-svg #svg-graf { + max-width: 500px; + padding: 10px; + margin: auto; + } +} + +.titulnistrana .TITULNI_STRANA_obsah { + width: 66%; +} + +@media(max-width: 800px){ + .titulnistrana .TITULNI_STRANA_obsah { + width: 100%; + } +} + +.titulnistrana .TITULNI_STRANA_vitej_titulka, .TITULNI_STRANA_temata_titulka { + width: 49%; + padding: 10px; + display: table-cell; +} + +@media (max-width: 650px) { + .titulnistrana .TITULNI_STRANA_vitej_titulka, .TITULNI_STRANA_temata_titulka { + width: 100%; + display: block; + } +} + +.titulnistrana .TITULNI_STRANA_novinky { + width: 33%; + padding: 10px; +} + +@media(max-width: 800px){ + .titulnistrana .TITULNI_STRANA_novinky { + width: 100%; + max-width: 500px; + margin: auto; + } +} + + +/* Stránky Aktuální ročník */ +.stranka_aktualni_zadani { + text-align: center; +} + +.stranka_aktualni_zadani #AKTUALNI_ZADADNI_obrazek { + margin-top: 15px; +} + +.stranka_aktualni_zadani div.AKTUALNI_ZADANI_termin { + text-align: center; + font-size: large; + font-weight: bold; +} + +@media (max-width: 420px) { + .stranka_aktualni_zadani div.AKTUALNI_ZADANI_termin { + font-size: small; + } +} + +.stranka_aktualni_zadani .AKTUALNI_ZADANI_datum { + color: var(--hlavni-oranzova); + margin: 0; + } +} + +/* Stránka Jak řešit */ +.jakresit svg { + width: 33%; + padding: 10px; + filter: none; +} + +@media(max-width: 860px) { + .jakresit svg { + margin: auto; + display: grid; + width: 100%; + max-width: 360px; + } +} + + + + + + + + + +/**** OZNAČENÍ NE-PUBLIC ČÁSTÍ ****/ +.mam-org-only { + background: var(--orgovska-svetla-fialova); + padding: 10px; + margin: 10px -10px; + border: var(--orgovska-fialova) 2px dashed; +} + +.mam-org-only .mam-org-only { + border: 0; +} + +.mam-org-only li { + padding: 3px 0; + margin: -2px 0; +} +/**********************************/ + + + +/**** OTÁČECÍ KARTY ****/ +/* (orgové, archiv) */ +.flip-card { + perspective: 1000px; /* Remove this if you don't want the 3D effect */ + margin-left: auto; + margin-right: auto; +} + + /* This container is needed to position the front and back side */ +.flip-card .flip-card-inner { + position: relative; + width: 100%; + height: 100%; + transition: transform 0.8s; + transform-style: preserve-3d; +} + + /* Do an horizontal flip when you move the mouse over the flip box container */ +.flip-card:hover .flip-card-inner { + transform: rotateY(180deg); +} + + /* Position the front and back side */ +.flip-card .flip-card-front, .flip-card-back { + position: absolute; + width: 100%; + height: 100%; + -webkit-backface-visibility: hidden; /* Safari */ + backface-visibility: hidden; +} + +.flip-card div.flip-card-foto, div.flip-card-foto img { + width: 100%; + height: 100%; + + /* Pokud je na přední straně něco proklikávacího (třeba celá fotka), tak na dotykových zařízeních nemůže proklikávat, aby se dalo otáčet */ +@media(hover: none) { + .flip-card div.flip-card-foto, div.flip-card-foto img a { pointer-events: none; } +} + + /* Style the back side */ + .flip-card-back { + transform: rotateY(180deg); + padding: 10px; + padding-top: 20px; + } +} +/***********************/ + + +/**** TABULKY ****/ + +/** Tabulka s čárami mezi sloupci **/ +/* Např. výsledkovky */ + +.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; +} + +.tabulka_oramovane_sloupce td:nth-child(2), .tabulka_oramovane_sloupce th:nth-child(2) { + border-left: none; +} + +.tabulka_oramovane_sloupce td, .tabulka_oramovane_sloupce th { + padding: 0.1em 0.3em; + border-left: solid 1px; +} + +.tabulka_oramovane_sloupce thead th, .tabulka_oramovane_sloupce thead td { + border-bottom: solid 1px; +} +/***********************************/ + + +/** 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 tbody tr:nth-child(even), thead tr { + background: var(--svetlounka-oranzova); +} + +.barevna_tabulka 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 */ +.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; + overflow: auto; + max-width: 90%; /* (FIXME asi není potřeba u tabulek, co nejsou na celou obrazovku) */ + margin-left: 5%; /* Vystředování (FIXME není potřeba u tabulek, co nejsou na celou obrazovku) */ + + 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í 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; +} +/*******************************************************/ + +/** 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; +} +/***************************************/ + +/** Výsledkovky **/ +.vysledkovka, .tabulka_oramovane_sloupce td:first-child, .vysledkovka, .tabulka_oramovane_sloupce th:first-child { position: unset; } +.vysledkovka, .tabulka_oramovane_sloupce td:nth-child(2), .vysledkovka, .tabulka_oramovane_sloupce th:nth-child(2) { + border-right: solid 1px; + + position: sticky; + left: 0; + background: inherit; /* (Snad) zneprůhlední druhý sloupec */ + z-index: 1; +} +.vysledkovka, .tabulka_oramovane_sloupce td:nth-child(3), .vysledkovka, .tabulka_oramovane_sloupce th:nth-child(3) { + border-left: none; +} +/*****************/ + + +/** 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; } +/****************************************/ + + +/** Detail řešení **/ +.bodovani>input { + width: 4em; +} + +.bodovani>input::placeholder { + color: lightgray; + opacity: 1; +} + +.bodovani>input::-webkit-input-placeholder { /* Edge */ + color: lightgray; +} + +/*******************/ +/*****************/ + + +.novinka .novinka_obrazek { + margin: 10px 0 10px 0; + width: 100%; +} + +.novinka .novinka_datum { + font-weight: bold; +} + +.novinka .novinka_autor { + text-align: right; + font-style: italic; +} + +/**** FORMULÁŘE ****/ +div.gdpr { + font-size: 6pt; +} + +div.gdpr p { + font-size: 6pt; + margin-bottom: .66em; +} + +/*******************/ + + diff --git a/mamweb/templates/base.html b/mamweb/templates/base.html index 1a4c22ab..60447467 100644 --- a/mamweb/templates/base.html +++ b/mamweb/templates/base.html @@ -10,7 +10,7 @@ {% block custom_css %}{% endblock %} - + From e0dc75763cd7a902dc428becbf3179ac79663fcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Fri, 25 Oct 2024 13:31:50 +0200 Subject: [PATCH 10/12] =?UTF-8?q?Jin=C3=BD=20pokus=20o=20opravu=20styl?= =?UTF-8?q?=C5=AF=20na=20star=C3=BDch=20iOSech?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mamweb/static/css/base.css | 2 -- mamweb/static/css/mamweb_legacy.css | 3 +++ mamweb/templates/base.html | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/mamweb/static/css/base.css b/mamweb/static/css/base.css index c562cb5b..a4433d55 100644 --- a/mamweb/static/css/base.css +++ b/mamweb/static/css/base.css @@ -1,7 +1,5 @@ @charset "utf-8"; /* vynuť utf-8 */ -@import "mamweb_legacy.css" supports((-webkit-touch-callout: none) and (not (offset-position: normal))); - /* Obecné styly pro html tagy */ @font-face { diff --git a/mamweb/static/css/mamweb_legacy.css b/mamweb/static/css/mamweb_legacy.css index 4da02fba..fd360d45 100644 --- a/mamweb/static/css/mamweb_legacy.css +++ b/mamweb/static/css/mamweb_legacy.css @@ -1,5 +1,7 @@ @charset "utf-8"; /* vynuť utf-8 */ +@supports (-webkit-touch-callout: none) and (not (offset-position: normal)) { + .button { margin: 10px 0 10px 0; padding: 4px 0; /*vertikální centování textu*/ @@ -726,3 +728,4 @@ div.gdpr p { /*******************/ +} diff --git a/mamweb/templates/base.html b/mamweb/templates/base.html index 60447467..4ad7fd0a 100644 --- a/mamweb/templates/base.html +++ b/mamweb/templates/base.html @@ -10,7 +10,8 @@ {% block custom_css %}{% endblock %} - + + From 46a8f136fa5b7c73a73aaeda80b73d4dbf710a1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Fri, 25 Oct 2024 20:21:47 +0200 Subject: [PATCH 11/12] Fix formularOKView (TemplateDoesNotExist) --- various/views/pomocne.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/various/views/pomocne.py b/various/views/pomocne.py index 42547467..e25ed9df 100644 --- a/various/views/pomocne.py +++ b/various/views/pomocne.py @@ -13,7 +13,7 @@ from django.urls import reverse # Interní, nemá se nikdy objevit v urls (jinak to účastníci vytrolí) def formularOKView(request, text='', dalsi_odkazy: Sequence[tuple[str, str]] = ()): - template_name = 'seminar/formular_ok.html' + template_name = 'various/formular_ok.html' odkazy = list(dalsi_odkazy) + [ # (Text, odkaz) ('Vrátit se na titulní stránku', reverse('titulni_strana')), From ce83247fe0487e19784f5af03fbd7c9b052dbd8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=C3=A1=C5=A1=20Havelka?= Date: Mon, 28 Oct 2024 12:29:08 +0100 Subject: [PATCH 12/12] =?UTF-8?q?Dopln=C4=9Bn=C3=AD=20nepovinn=C3=A9ho=20n?= =?UTF-8?q?esting=20selektoru=20&,=20abychom=20roz=C5=A1=C3=AD=C5=99ili=20?= =?UTF-8?q?support=20na=20star=C5=A1=C3=AD=20prohl=C3=AD=C5=BEe=C4=8De?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mamweb/static/css/layout.css | 88 +++++++++++++++++------------------ mamweb/static/css/modules.css | 43 +++++++++-------- mamweb/templates/base.html | 12 ++--- 3 files changed, 71 insertions(+), 72 deletions(-) diff --git a/mamweb/static/css/layout.css b/mamweb/static/css/layout.css index bab8ea39..bd139780 100644 --- a/mamweb/static/css/layout.css +++ b/mamweb/static/css/layout.css @@ -19,10 +19,10 @@ div.kontejner {/* Ne container, aby se to netlouklo s bootstrapem. */ margin-top: var(--login-bar-height); } - div.kontent-wrapper { + & div.kontent-wrapper { padding-bottom: var(--footer-height); - div.kontent { + & div.kontent { padding: 15px 30px; } } @@ -67,16 +67,16 @@ div.kontejner {/* Ne container, aby se to netlouklo s bootstrapem. */ background-size: 100%; top: 58px; - img.logo { + & img.logo { width: 100%; filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4)); } - img.logo-mobile { + & img.logo-mobile { display: none; } - .no-mobile { + & .no-mobile { background-size: contain; } } @@ -94,12 +94,12 @@ div.kontejner {/* Ne container, aby se to netlouklo s bootstrapem. */ filter: drop-shadow(5px 0px 5px rgba(0, 0, 0, 0.4)); padding-top: 3.5%; - p.license { + & p.license { text-align: center; font-weight: 400; bottom: 0; - a { + & a { color: #333; } } @@ -139,21 +139,21 @@ div.login-bar { padding-left: 5px; padding-right: 5px; - div { + & div { display: inline; } - a.LOGIN-ref-admin { + & a.LOGIN-ref-admin { display: inline; color: var(--barva-pozadi); } - .LOGIN_napis-webarum { + & .LOGIN_napis-webarum { display: inline; color: var(--barva-pozadi); float: right; - a { + & a { color: var(--svetla-oranzova); text-decoration: underline; } @@ -176,7 +176,7 @@ div.login-bar { #header { background-size: 100%; - img.logo { + & img.logo { width: 100%; } } @@ -202,11 +202,11 @@ div.login-bar { top: 0; background-image: none; - img.logo { + & img.logo { display: none; } - img.logo-mobile { + & img.logo-mobile { display: block; top: 0; left: 0; @@ -215,7 +215,7 @@ div.login-bar { margin-bottom: 3px; } - .no-mobile{ + & .no-mobile{ display: none; } } @@ -241,13 +241,13 @@ ul.menu { font-variant: small-caps; - a { + & a { text-decoration: none; font-weight: bold; font-size: 105%; } - li { + & li { margin: 0; display: inline-block; width: 16.666667%; @@ -256,7 +256,7 @@ ul.menu { font-size: 140%; font-weight: 400; - >a:hover, >a:active { + &>a:hover, &>a:active { color: black; } @@ -265,7 +265,7 @@ ul.menu { } } - ul.submenu { + & ul.submenu { background-color: var(--hlavni-oranzova); margin-top: 10px; /* mezera mezi hlavním menu a submenu */ @@ -277,24 +277,24 @@ ul.menu { z-index: 50; font-weight: 400; - li { + & li { width: auto; padding: 0 20px 0 20px; display: inline-block; - >a { + &>a { color: var(--svetla-oranzova); text-decoration: none; text-shadow: none; - :hover { + &:hover { color: black; } } } } - ul.submenu li.active>a, .parentactive ul li:first-child>a { + & ul.submenu li.active>a, & .parentactive ul li:first-child>a { color: black; } } @@ -304,7 +304,7 @@ ul.menu { font-size: 90%; margin-top: -7px; - li { + & li { margin-top: 10px; /* posunutí textu hlavního menu níže */ } } @@ -312,7 +312,7 @@ ul.menu { ul.submenu { margin-top: 8px; /* mezera mezi hlavním menu a submenu */ - li { + & li { margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */ } } @@ -323,7 +323,7 @@ ul.menu { font-size: 80%; margin-top: -2px; - li { + & li { margin-top: 10px; /* posunutí textu hlavního menu níže */ } } @@ -331,7 +331,7 @@ ul.menu { ul.submenu { margin-top: 8px; /* mezera mezi hlavním menu a submenu */ - li { + & li { margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */ } } @@ -354,20 +354,20 @@ ul.menu { padding-bottom: 3px; padding-left: 12px; - a { + & a { &:active, &:hover, &:focus { text-decoration: none; color: black; } } - ul { + & ul { list-style-type: none; font-size: 90%; color: black; /*černé šipky submenu*/ - li { - > a { + & li { + &>a { color: black; } @@ -377,7 +377,7 @@ ul.menu { } } - br { + & br { display: none; } } @@ -459,13 +459,13 @@ body.suprodweb { &:before, &:after { background: red; } } display: block; } - h1 { text-align: center; } + & h1 { text-align: center; } - .TITULNI_STRANA_zjistit_vic{ + & .TITULNI_STRANA_zjistit_vic{ text-align: center; margin-bottom: 30px; - hr { + & hr { display: none; @media(max-width: 800px){ @@ -474,15 +474,15 @@ body.suprodweb { &:before, &:after { background: red; } } } } - .TITULNI_STRANA_graf { + & .TITULNI_STRANA_graf { @media(max-width: 800px) { padding-top: 40px; } - .TITULNI_STRANA_graf-svg { + & .TITULNI_STRANA_graf-svg { display: flex; - #svg-graf { + & #svg-graf { width: 100%; height: auto; margin: 30px; @@ -496,7 +496,7 @@ body.suprodweb { &:before, &:after { background: red; } } } } - .TITULNI_STRANA_obsah { + & .TITULNI_STRANA_obsah { width: 66%; @media(max-width: 800px){ @@ -504,7 +504,7 @@ body.suprodweb { &:before, &:after { background: red; } } } } - .TITULNI_STRANA_vitej_titulka, .TITULNI_STRANA_temata_titulka { + & .TITULNI_STRANA_vitej_titulka, & .TITULNI_STRANA_temata_titulka { width: 49%; padding: 10px; display: table-cell; @@ -515,7 +515,7 @@ body.suprodweb { &:before, &:after { background: red; } } } } - .TITULNI_STRANA_novinky { + & .TITULNI_STRANA_novinky { width: 33%; padding: 10px; @@ -540,11 +540,11 @@ div.odpocet { .stranka_aktualni_zadani { text-align: center; - #AKTUALNI_ZADADNI_obrazek { + & #AKTUALNI_ZADADNI_obrazek { margin-top: 15px; } - div.AKTUALNI_ZADANI_termin { + & div.AKTUALNI_ZADANI_termin { text-align: center; font-size: large; font-weight: bold; @@ -553,7 +553,7 @@ div.odpocet { font-size: small; } - .AKTUALNI_ZADANI_datum { + & .AKTUALNI_ZADANI_datum { color: var(--hlavni-oranzova); margin: 0; } diff --git a/mamweb/static/css/modules.css b/mamweb/static/css/modules.css index 2b823349..e7096a6e 100644 --- a/mamweb/static/css/modules.css +++ b/mamweb/static/css/modules.css @@ -20,7 +20,7 @@ border: 0; } - &li { + & li { padding: 3px 0; margin: -2px 0; } @@ -57,7 +57,7 @@ margin-right: auto; /* This container is needed to position the front and back side */ - .flip-card-inner { + & .flip-card-inner { position: relative; width: 100%; height: 100%; @@ -71,7 +71,7 @@ } /* Position the front and back side */ - .flip-card-front, .flip-card-back { + & .flip-card-front, & .flip-card-back { position: absolute; width: 100%; height: 100%; @@ -79,18 +79,18 @@ backface-visibility: hidden; } - div.flip-card-foto, div.flip-card-foto img { + & div.flip-card-foto, & div.flip-card-foto img { width: 100%; height: 100%; /* Pokud je na přední straně něco proklikávacího (třeba celá fotka), tak na dotykových zařízeních nemůže proklikávat, aby se dalo otáčet */ @media(hover: none) { - a { pointer-events: none; } + & a { pointer-events: none; } } } /* Style the back side */ - .flip-card-back { + & .flip-card-back { transform: rotateY(180deg); padding: 10px; padding-top: 20px; @@ -203,7 +203,7 @@ div.org_email { .tabulka_oramovane_sloupce { border: solid 2px; - td, th { + & td, & th { &:first-child, &:first-child { border-left: none; border-right: solid 1px; @@ -217,7 +217,7 @@ div.org_email { border-left: solid 1px; } - thead { th, td { + & thead { & th, & td { border-bottom: solid 1px; } } } @@ -228,15 +228,15 @@ div.org_email { /* Skoro jakákoliv tabulka kromě výsledkovek */ .barevna_tabulka { - td th { + & td th { padding: 1px 10px 1px 10px; } - tbody tr:nth-child(even), thead tr { + & tbody tr:nth-child(even), & thead tr { background: var(--svetlounka-oranzova); } - tbody tr:nth-child(odd) { + & tbody tr:nth-child(odd) { background: var(--barva-pozadi); } } @@ -258,14 +258,14 @@ div.org_email { border-spacing: 0; /* Uchytí první řádek */ - thead tr { + & thead tr { position: sticky; top: 0; z-index: 2; } /* Uchytí první sloupec */ - td, th { &:first-child { + & td, & th { &:first-child { position: sticky; left: 0; background: inherit; /* (Snad) zneprůhlední první sloupec */ @@ -290,7 +290,7 @@ div.org_email { .plne_ohranicena_tabulka { border-collapse: collapse; - tr { th, td { + & tr { & th, & td { border: 1px solid black; padding: 1px 10px 1px 10px; } } @@ -305,7 +305,7 @@ div.org_email { /** Výsledkovky **/ .vysledkovka, .tabulka_oramovane_sloupce { - td, th { + & td, & th { &:first-child { position: unset; } &:nth-child(2) { @@ -327,11 +327,11 @@ div.org_email { /** Tabulka mých (řešitelových) řešení **/ .moje_reseni tr { - th, td { + & th, & td { text-align: center; } - td.problem { text-align: left; } + & td.problem { text-align: left; } } /* Různá šířka problému */ @@ -378,16 +378,16 @@ div.org_email { .novinka { - .novinka_obrazek { + & .novinka_obrazek { margin: 10px 0 10px 0; width: 100%; } - .novinka_datum { + & .novinka_datum { font-weight: bold; } - .novinka_autor { + & .novinka_autor { text-align: right; font-style: italic; } @@ -413,7 +413,6 @@ table#reseni.form td, table#reseni.form tr { } @media(max-width: 800px) { - table#reseni.form td, table#reseni.form tr { display: inline-grid; max-width: 300px; @@ -473,7 +472,7 @@ ul.form li{ div.gdpr { font-size: 6pt; - p { + & p { font-size: 6pt; margin-bottom: .66em; } diff --git a/mamweb/templates/base.html b/mamweb/templates/base.html index 4ad7fd0a..8021b507 100644 --- a/mamweb/templates/base.html +++ b/mamweb/templates/base.html @@ -8,12 +8,12 @@ {% block custom_css %}{% endblock %} - - - - - - + + + + + +