Compare commits
2 Commits
4bcc3884cf
...
a94c612af7
| Author | SHA1 | Date |
|---|---|---|
|
|
a94c612af7 | |
|
|
e0a02a34a3 |
|
|
@ -1,7 +1,10 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from tinymce.models import HTMLField
|
|
||||||
from admin_ordering.models import OrderableModel
|
from admin_ordering.models import OrderableModel
|
||||||
from filebrowser.fields import FileBrowseField
|
from filebrowser.fields import FileBrowseField
|
||||||
|
from django.urls.base import reverse_lazy
|
||||||
|
|
||||||
|
from db.calendar.models import Calendar
|
||||||
|
from db.membership.models import Membership
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
|
|
||||||
|
|
@ -14,6 +17,18 @@ class Button(OrderableModel):
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.title or '-'
|
return self.title or '-'
|
||||||
|
|
||||||
|
@property
|
||||||
|
def link(self):
|
||||||
|
h = self.href
|
||||||
|
c = None
|
||||||
|
|
||||||
|
if h == reverse_lazy('calendar'):
|
||||||
|
c = Calendar.get_current()
|
||||||
|
elif h in reverse_lazy('membership'):
|
||||||
|
c = Membership.get_current()
|
||||||
|
|
||||||
|
return h + (('#' + str(c.year)) if c is not None else '')
|
||||||
|
|
||||||
class Meta(OrderableModel.Meta):
|
class Meta(OrderableModel.Meta):
|
||||||
verbose_name = 'Przycisk nawigacji (zielony)'
|
verbose_name = 'Przycisk nawigacji (zielony)'
|
||||||
verbose_name_plural = 'Przyciski nawigacji (zielone)'
|
verbose_name_plural = 'Przyciski nawigacji (zielone)'
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,11 @@
|
||||||
<!---->
|
<!---->
|
||||||
{% load static tailwind_tags wysiwyg %} {% block content %}
|
{% load static tailwind_tags wysiwyg %} {% block content %}
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<article class="max-w-full mx-auto scrollable">{% content atu %}</article>
|
<article class="max-w-full mx-auto scrollable">
|
||||||
|
{% content atu %}
|
||||||
|
<div class="flex flex-wrap gap-4 items-center justify-center">
|
||||||
|
{% buttons atu.buttons %}
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@
|
||||||
<li>
|
<li>
|
||||||
<a
|
<a
|
||||||
class="nbutton home {% if button.href == '/' %}{{ home }}{% elif button.href in request.path %}active{% endif %}"
|
class="nbutton home {% if button.href == '/' %}{{ home }}{% elif button.href in request.path %}active{% endif %}"
|
||||||
href="{{ button.href }}"
|
href="{{ button.link }}"
|
||||||
target="{% if button.blank %}_blank{% else %}_self{% endif %}"
|
target="{% if button.blank %}_blank{% else %}_self{% endif %}"
|
||||||
>{{ button.title }}</a
|
>{{ button.title }}</a
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
<!---->
|
<!---->
|
||||||
|
|
||||||
{% if calendars %}
|
{% if calendars %}
|
||||||
|
|
||||||
<ul class="flex justify-center gap-4">
|
<ul class="flex justify-center gap-4">
|
||||||
{% for calendar in calendars %}
|
{% for calendar in calendars %}
|
||||||
<li>
|
<li>
|
||||||
|
|
@ -18,11 +19,20 @@
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="flex flex-col items-center gap-4">
|
<div class="flex flex-col items-center">
|
||||||
{% for calendar in calendars %}
|
{% for calendar in calendars %}
|
||||||
<article class="w-full py-4 hidden target:block" id="{{ calendar.year }}">
|
<div class="w-full">
|
||||||
{% content calendar %}
|
<span
|
||||||
</article>
|
class="peer absolute top-0 inset-x-0 float-right"
|
||||||
|
id="{{ calendar.year }}"
|
||||||
|
></span>
|
||||||
|
<article class="w-full py-4 hidden peer-target:block">
|
||||||
|
{% content calendar %}
|
||||||
|
<div class="flex flex-wrap gap-4 items-center justify-center">
|
||||||
|
{% buttons calendar.buttons %}
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
{% empty %}
|
{% empty %}
|
||||||
<span class="py-4 text-xl">Brak kalendarzy</span>
|
<span class="py-4 text-xl">Brak kalendarzy</span>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
|
||||||
|
|
@ -3,5 +3,10 @@
|
||||||
{% block title %}Grand Prix Białegostoku | pdlzbs{% endblock %}
|
{% block title %}Grand Prix Białegostoku | pdlzbs{% endblock %}
|
||||||
<!---->
|
<!---->
|
||||||
{% load static tailwind_tags wysiwyg %} {% block content %}
|
{% load static tailwind_tags wysiwyg %} {% block content %}
|
||||||
<article class="w-full">{% content gpb %}</article>
|
<article class="w-full">
|
||||||
|
{% content gpb %}
|
||||||
|
<div class="flex flex-wrap gap-4 items-center justify-center">
|
||||||
|
{% buttons gpb.buttons %}
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@
|
||||||
<h1 class="font-medium text-center">{{ focus.title }}</h1>
|
<h1 class="font-medium text-center">{{ focus.title }}</h1>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div>{% content focus %}</div>
|
<div>{% content focus %}</div>
|
||||||
|
<div class="flex flex-wrap gap-4 items-center justify-center">
|
||||||
|
{% buttons focus.buttons %}
|
||||||
|
</div>
|
||||||
</article>
|
</article>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,9 @@
|
||||||
<h2 class="font-medium">{{ post.title }}</h2>
|
<h2 class="font-medium">{{ post.title }}</h2>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div>{% readmore post %}</div>
|
<div>{% readmore post %}</div>
|
||||||
|
<div class="flex flex-wrap gap-4 items-center justify-center">
|
||||||
|
{% buttons post.buttons %}
|
||||||
|
</div>
|
||||||
</article>
|
</article>
|
||||||
{% if not forloop.last %}
|
{% if not forloop.last %}
|
||||||
<hr class="w-36 border-b border-stone-200" />
|
<hr class="w-36 border-b border-stone-200" />
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,9 @@
|
||||||
{% if article.show_title %}
|
{% if article.show_title %}
|
||||||
<h2 class="font-normal">{{ article.title }}</h2>
|
<h2 class="font-normal">{{ article.title }}</h2>
|
||||||
{% endif %} {% content article %}
|
{% endif %} {% content article %}
|
||||||
|
<div class="flex flex-wrap gap-4 items-center justify-center">
|
||||||
|
{% buttons article.buttons %}
|
||||||
|
</div>
|
||||||
</article>
|
</article>
|
||||||
{% if not forloop.last %}
|
{% if not forloop.last %}
|
||||||
<hr class="w-36 border-b border-stone-200" />
|
<hr class="w-36 border-b border-stone-200" />
|
||||||
|
|
|
||||||
|
|
@ -20,11 +20,20 @@
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="flex flex-col items-center gap-4">
|
<div class="flex flex-col items-center">
|
||||||
{% for membership in memberships %}
|
{% for membership in memberships %}
|
||||||
<article class="w-full py-4 hidden target:block" id="{{ membership.year }}">
|
<div class="w-full">
|
||||||
{% content membership %}
|
<span
|
||||||
</article>
|
class="peer absolute top-0 inset-x-0 float-right"
|
||||||
|
id="{{ membership.year }}"
|
||||||
|
></span>
|
||||||
|
<article class="w-full py-4 hidden peer-target:block">
|
||||||
|
{% content membership %}
|
||||||
|
<div class="flex flex-wrap gap-4 items-center justify-center">
|
||||||
|
{% buttons membership.buttons %}
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
{% empty %}
|
{% empty %}
|
||||||
<span class="py-4 text-xl">Brak dokumentów</span>
|
<span class="py-4 text-xl">Brak dokumentów</span>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,9 @@ def readmore(context, value: str):
|
||||||
res = value.content.split('<!-- pagebreak -->')
|
res = value.content.split('<!-- pagebreak -->')
|
||||||
cntnt = res[0]
|
cntnt = res[0]
|
||||||
if len(res) > 1:
|
if len(res) > 1:
|
||||||
cntnt += f'<br /><br /><p class="text-center">...</p><a href="{reverse_view_url}" style="float: right;" class="button mt-4">Czytaj dalej</a>'
|
cntnt += '<br /><br /><p class="text-center">...</p>'
|
||||||
|
cntnt += f'<a href="{reverse_view_url}" style="float: right;" class="button mt-4">Czytaj dalej</a>'
|
||||||
|
cntnt += '<hr class="not-prose" style="border-color: white; margin: 3rem 0;" />'
|
||||||
|
|
||||||
return mark_safe(tableoverflow(cntnt))
|
return mark_safe(tableoverflow(cntnt))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 4.0.5 on 2022-09-28 20:25
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('atu', '0002_alter_atu_content'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='atu',
|
||||||
|
name='buttons',
|
||||||
|
field=models.TextField(blank=True, default='', help_text='Tutaj można wpisać dowolną ilość przycisków w następującym formacie:<br /> <code><br /> tekst1 -> link<br /> teskt2 | link<br /> ...<br /> </code><br /> Symbol <code>-></code> oznacza, że link będzie otwarty w nowej karcie<br /> Symbol <code>|</code> oznacza, że link będzie otwarty w tej samej karcie<br /> Na przykład:<br /> <code><br /> pzbs -> https://pzbs.pl<br /> fotogaleria | https://galeria.podlaskizbs.pl<br /> cezar -> https://www.msc.com.pl/cezar<br /> </code><br /> PZBS i Cezar zostaną otwarte w nowej karcie<br /> <b>UWAGA !!</b><br /> Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link<br /> Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:<br /> <code><br /> -> link do wyników<br /> fotogaleria -> link do fotogalerii<br /> </code><br /> Wtedy pokaże się <b>tylko przycisk fotogalerii</b>, a zdjęcie przekieruje nas do wyników!<br /> ', verbose_name='Przyciski'),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -4,9 +4,36 @@ from core.utils import SingletonModel
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
|
|
||||||
|
buttons_help_text = """Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
|
||||||
|
<code>
|
||||||
|
tekst1 -> link
|
||||||
|
teskt2 | link
|
||||||
|
...
|
||||||
|
</code>
|
||||||
|
Symbol <code>-></code> oznacza, że link będzie otwarty w nowej karcie
|
||||||
|
Symbol <code>|</code> oznacza, że link będzie otwarty w tej samej karcie
|
||||||
|
Na przykład:
|
||||||
|
<code>
|
||||||
|
pzbs -> https://pzbs.pl
|
||||||
|
fotogaleria | https://galeria.podlaskizbs.pl
|
||||||
|
cezar -> https://www.msc.com.pl/cezar
|
||||||
|
</code>
|
||||||
|
PZBS i Cezar zostaną otwarte w nowej karcie
|
||||||
|
<b>UWAGA !!</b>
|
||||||
|
Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
|
||||||
|
Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
|
||||||
|
<code>
|
||||||
|
-> link do wyników
|
||||||
|
fotogaleria -> link do fotogalerii
|
||||||
|
</code>
|
||||||
|
Wtedy pokaże się <b>tylko przycisk fotogalerii</b>, a zdjęcie przekieruje nas do wyników!
|
||||||
|
""".replace('\n', '<br />')
|
||||||
|
|
||||||
|
|
||||||
class Atu(SingletonModel):
|
class Atu(SingletonModel):
|
||||||
content = HTMLField('Tekst', default='', blank=True)
|
content = HTMLField('Tekst', default='', blank=True)
|
||||||
|
buttons = models.TextField(
|
||||||
|
'Przyciski', default='', blank=True, help_text=buttons_help_text)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return 'Stowarzyszenie Brydżowe ATU'
|
return 'Stowarzyszenie Brydżowe ATU'
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 4.0.5 on 2022-09-28 20:25
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('calendar', '0003_calendar_published'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='calendar',
|
||||||
|
name='buttons',
|
||||||
|
field=models.TextField(blank=True, default='', help_text='Tutaj można wpisać dowolną ilość przycisków w następującym formacie:<br /> <code><br /> tekst1 -> link<br /> teskt2 | link<br /> ...<br /> </code><br /> Symbol <code>-></code> oznacza, że link będzie otwarty w nowej karcie<br /> Symbol <code>|</code> oznacza, że link będzie otwarty w tej samej karcie<br /> Na przykład:<br /> <code><br /> pzbs -> https://pzbs.pl<br /> fotogaleria | https://galeria.podlaskizbs.pl<br /> cezar -> https://www.msc.com.pl/cezar<br /> </code><br /> PZBS i Cezar zostaną otwarte w nowej karcie<br /> <b>UWAGA !!</b><br /> Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link<br /> Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:<br /> <code><br /> -> link do wyników<br /> fotogaleria -> link do fotogalerii<br /> </code><br /> Wtedy pokaże się <b>tylko przycisk fotogalerii</b>, a zdjęcie przekieruje nas do wyników!<br /> ', verbose_name='Przyciski'),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 4.0.5 on 2022-09-28 20:47
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('calendar', '0004_calendar_buttons'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='calendar',
|
||||||
|
name='current',
|
||||||
|
field=models.BooleanField(default=False, verbose_name='Aktualny kalendarz (pokazywany przy przekierowaniu na stronę)'),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -2,12 +2,49 @@ from django.db import models
|
||||||
from tinymce.models import HTMLField
|
from tinymce.models import HTMLField
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
|
buttons_help_text = """Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
|
||||||
|
<code>
|
||||||
|
tekst1 -> link
|
||||||
|
teskt2 | link
|
||||||
|
...
|
||||||
|
</code>
|
||||||
|
Symbol <code>-></code> oznacza, że link będzie otwarty w nowej karcie
|
||||||
|
Symbol <code>|</code> oznacza, że link będzie otwarty w tej samej karcie
|
||||||
|
Na przykład:
|
||||||
|
<code>
|
||||||
|
pzbs -> https://pzbs.pl
|
||||||
|
fotogaleria | https://galeria.podlaskizbs.pl
|
||||||
|
cezar -> https://www.msc.com.pl/cezar
|
||||||
|
</code>
|
||||||
|
PZBS i Cezar zostaną otwarte w nowej karcie
|
||||||
|
<b>UWAGA !!</b>
|
||||||
|
Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
|
||||||
|
Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
|
||||||
|
<code>
|
||||||
|
-> link do wyników
|
||||||
|
fotogaleria -> link do fotogalerii
|
||||||
|
</code>
|
||||||
|
Wtedy pokaże się <b>tylko przycisk fotogalerii</b>, a zdjęcie przekieruje nas do wyników!
|
||||||
|
""".replace('\n', '<br />')
|
||||||
|
|
||||||
|
|
||||||
class Calendar(models.Model):
|
class Calendar(models.Model):
|
||||||
published = models.BooleanField('Kalendarz opublikowany', default=True)
|
published = models.BooleanField('Kalendarz opublikowany', default=True)
|
||||||
year = models.IntegerField('Rok', primary_key=True)
|
year = models.IntegerField('Rok', primary_key=True)
|
||||||
content = HTMLField('Kalendarz', default='', blank=True)
|
content = HTMLField('Kalendarz', default='', blank=True)
|
||||||
|
buttons = models.TextField(
|
||||||
|
'Przyciski', default='', blank=True, help_text=buttons_help_text)
|
||||||
|
|
||||||
|
current = models.BooleanField(
|
||||||
|
'Aktualny kalendarz (pokazywany przy przekierowaniu na stronę)', default=False)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_current():
|
||||||
|
return Calendar.objects.filter(current=True).first()
|
||||||
|
|
||||||
|
def update(self, *args, **kwargs):
|
||||||
|
if self.current is True:
|
||||||
|
Calendar.objects.exclude(year=self.year).update(current=False)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f'Kalendarz {self.year}'
|
return f'Kalendarz {self.year}'
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 4.0.5 on 2022-09-28 20:25
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('gpb', '0002_alter_grandprixb_content'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='grandprixb',
|
||||||
|
name='buttons',
|
||||||
|
field=models.TextField(blank=True, default='', help_text='Tutaj można wpisać dowolną ilość przycisków w następującym formacie:<br /> <code><br /> tekst1 -> link<br /> teskt2 | link<br /> ...<br /> </code><br /> Symbol <code>-></code> oznacza, że link będzie otwarty w nowej karcie<br /> Symbol <code>|</code> oznacza, że link będzie otwarty w tej samej karcie<br /> Na przykład:<br /> <code><br /> pzbs -> https://pzbs.pl<br /> fotogaleria | https://galeria.podlaskizbs.pl<br /> cezar -> https://www.msc.com.pl/cezar<br /> </code><br /> PZBS i Cezar zostaną otwarte w nowej karcie<br /> <b>UWAGA !!</b><br /> Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link<br /> Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:<br /> <code><br /> -> link do wyników<br /> fotogaleria -> link do fotogalerii<br /> </code><br /> Wtedy pokaże się <b>tylko przycisk fotogalerii</b>, a zdjęcie przekieruje nas do wyników!<br /> ', verbose_name='Przyciski'),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -3,10 +3,36 @@ from tinymce.models import HTMLField
|
||||||
from core.utils import SingletonModel
|
from core.utils import SingletonModel
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
|
buttons_help_text = """Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
|
||||||
|
<code>
|
||||||
|
tekst1 -> link
|
||||||
|
teskt2 | link
|
||||||
|
...
|
||||||
|
</code>
|
||||||
|
Symbol <code>-></code> oznacza, że link będzie otwarty w nowej karcie
|
||||||
|
Symbol <code>|</code> oznacza, że link będzie otwarty w tej samej karcie
|
||||||
|
Na przykład:
|
||||||
|
<code>
|
||||||
|
pzbs -> https://pzbs.pl
|
||||||
|
fotogaleria | https://galeria.podlaskizbs.pl
|
||||||
|
cezar -> https://www.msc.com.pl/cezar
|
||||||
|
</code>
|
||||||
|
PZBS i Cezar zostaną otwarte w nowej karcie
|
||||||
|
<b>UWAGA !!</b>
|
||||||
|
Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
|
||||||
|
Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
|
||||||
|
<code>
|
||||||
|
-> link do wyników
|
||||||
|
fotogaleria -> link do fotogalerii
|
||||||
|
</code>
|
||||||
|
Wtedy pokaże się <b>tylko przycisk fotogalerii</b>, a zdjęcie przekieruje nas do wyników!
|
||||||
|
""".replace('\n', '<br />')
|
||||||
|
|
||||||
|
|
||||||
class GrandPrixB(SingletonModel):
|
class GrandPrixB(SingletonModel):
|
||||||
content = HTMLField('Tekst GPB', default='', blank=True)
|
content = HTMLField('Tekst GPB', default='', blank=True)
|
||||||
|
buttons = models.TextField(
|
||||||
|
'Przyciski', default='', blank=True, help_text=buttons_help_text)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return 'Grand Prix Białegostoku'
|
return 'Grand Prix Białegostoku'
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
# Generated by Django 4.0.5 on 2022-09-28 20:25
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('main', '0005_post_published_post_show_title'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='grandprixw',
|
||||||
|
name='buttons',
|
||||||
|
field=models.TextField(blank=True, default='', help_text='Tutaj można wpisać dowolną ilość przycisków w następującym formacie:<br /> <code><br /> tekst1 -> link<br /> teskt2 | link<br /> ...<br /> </code><br /> Symbol <code>-></code> oznacza, że link będzie otwarty w nowej karcie<br /> Symbol <code>|</code> oznacza, że link będzie otwarty w tej samej karcie<br /> Na przykład:<br /> <code><br /> pzbs -> https://pzbs.pl<br /> fotogaleria | https://galeria.podlaskizbs.pl<br /> cezar -> https://www.msc.com.pl/cezar<br /> </code><br /> PZBS i Cezar zostaną otwarte w nowej karcie<br /> <b>UWAGA !!</b><br /> Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link<br /> Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:<br /> <code><br /> -> link do wyników<br /> fotogaleria -> link do fotogalerii<br /> </code><br /> Wtedy pokaże się <b>tylko przycisk fotogalerii</b>, a zdjęcie przekieruje nas do wyników!<br /> ', verbose_name='Przyciski'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='post',
|
||||||
|
name='buttons',
|
||||||
|
field=models.TextField(blank=True, default='', help_text='Tutaj można wpisać dowolną ilość przycisków w następującym formacie:<br /> <code><br /> tekst1 -> link<br /> teskt2 | link<br /> ...<br /> </code><br /> Symbol <code>-></code> oznacza, że link będzie otwarty w nowej karcie<br /> Symbol <code>|</code> oznacza, że link będzie otwarty w tej samej karcie<br /> Na przykład:<br /> <code><br /> pzbs -> https://pzbs.pl<br /> fotogaleria | https://galeria.podlaskizbs.pl<br /> cezar -> https://www.msc.com.pl/cezar<br /> </code><br /> PZBS i Cezar zostaną otwarte w nowej karcie<br /> <b>UWAGA !!</b><br /> Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link<br /> Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:<br /> <code><br /> -> link do wyników<br /> fotogaleria -> link do fotogalerii<br /> </code><br /> Wtedy pokaże się <b>tylko przycisk fotogalerii</b>, a zdjęcie przekieruje nas do wyników!<br /> ', verbose_name='Przyciski'),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -6,6 +6,30 @@ from admin_ordering.models import OrderableModel
|
||||||
from core.utils import SingletonModel
|
from core.utils import SingletonModel
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
|
buttons_help_text = """Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
|
||||||
|
<code>
|
||||||
|
tekst1 -> link
|
||||||
|
teskt2 | link
|
||||||
|
...
|
||||||
|
</code>
|
||||||
|
Symbol <code>-></code> oznacza, że link będzie otwarty w nowej karcie
|
||||||
|
Symbol <code>|</code> oznacza, że link będzie otwarty w tej samej karcie
|
||||||
|
Na przykład:
|
||||||
|
<code>
|
||||||
|
pzbs -> https://pzbs.pl
|
||||||
|
fotogaleria | https://galeria.podlaskizbs.pl
|
||||||
|
cezar -> https://www.msc.com.pl/cezar
|
||||||
|
</code>
|
||||||
|
PZBS i Cezar zostaną otwarte w nowej karcie
|
||||||
|
<b>UWAGA !!</b>
|
||||||
|
Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
|
||||||
|
Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
|
||||||
|
<code>
|
||||||
|
-> link do wyników
|
||||||
|
fotogaleria -> link do fotogalerii
|
||||||
|
</code>
|
||||||
|
Wtedy pokaże się <b>tylko przycisk fotogalerii</b>, a zdjęcie przekieruje nas do wyników!
|
||||||
|
""".replace('\n', '<br />')
|
||||||
|
|
||||||
|
|
||||||
class Post(OrderableModel):
|
class Post(OrderableModel):
|
||||||
|
|
@ -13,6 +37,8 @@ class Post(OrderableModel):
|
||||||
show_title = models.BooleanField('Pokaż tytuł', default=True)
|
show_title = models.BooleanField('Pokaż tytuł', default=True)
|
||||||
title = models.CharField('Tytuł', default='', blank=True, max_length=250)
|
title = models.CharField('Tytuł', default='', blank=True, max_length=250)
|
||||||
content = HTMLField('Treść', default='', blank=True)
|
content = HTMLField('Treść', default='', blank=True)
|
||||||
|
buttons = models.TextField(
|
||||||
|
'Przyciski', default='', blank=True, help_text=buttons_help_text)
|
||||||
created_at = models.DateTimeField(auto_now_add=True)
|
created_at = models.DateTimeField(auto_now_add=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
|
|
@ -30,6 +56,8 @@ class Post(OrderableModel):
|
||||||
|
|
||||||
class GrandPrixW(SingletonModel):
|
class GrandPrixW(SingletonModel):
|
||||||
content = HTMLField('Tekst GPW', default='', blank=True)
|
content = HTMLField('Tekst GPW', default='', blank=True)
|
||||||
|
buttons = models.TextField(
|
||||||
|
'Przyciski', default='', blank=True, help_text=buttons_help_text)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return 'Grand Prix Województwa'
|
return 'Grand Prix Województwa'
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 4.0.5 on 2022-09-28 20:25
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('mbkb', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='mbkb',
|
||||||
|
name='buttons',
|
||||||
|
field=models.TextField(blank=True, default='', help_text='Tutaj można wpisać dowolną ilość przycisków w następującym formacie:<br /> <code><br /> tekst1 -> link<br /> teskt2 | link<br /> ...<br /> </code><br /> Symbol <code>-></code> oznacza, że link będzie otwarty w nowej karcie<br /> Symbol <code>|</code> oznacza, że link będzie otwarty w tej samej karcie<br /> Na przykład:<br /> <code><br /> pzbs -> https://pzbs.pl<br /> fotogaleria | https://galeria.podlaskizbs.pl<br /> cezar -> https://www.msc.com.pl/cezar<br /> </code><br /> PZBS i Cezar zostaną otwarte w nowej karcie<br /> <b>UWAGA !!</b><br /> Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link<br /> Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:<br /> <code><br /> -> link do wyników<br /> fotogaleria -> link do fotogalerii<br /> </code><br /> Wtedy pokaże się <b>tylko przycisk fotogalerii</b>, a zdjęcie przekieruje nas do wyników!<br /> ', verbose_name='Przyciski'),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -4,12 +4,39 @@ from admin_ordering.models import OrderableModel
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
|
|
||||||
|
buttons_help_text = """Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
|
||||||
|
<code>
|
||||||
|
tekst1 -> link
|
||||||
|
teskt2 | link
|
||||||
|
...
|
||||||
|
</code>
|
||||||
|
Symbol <code>-></code> oznacza, że link będzie otwarty w nowej karcie
|
||||||
|
Symbol <code>|</code> oznacza, że link będzie otwarty w tej samej karcie
|
||||||
|
Na przykład:
|
||||||
|
<code>
|
||||||
|
pzbs -> https://pzbs.pl
|
||||||
|
fotogaleria | https://galeria.podlaskizbs.pl
|
||||||
|
cezar -> https://www.msc.com.pl/cezar
|
||||||
|
</code>
|
||||||
|
PZBS i Cezar zostaną otwarte w nowej karcie
|
||||||
|
<b>UWAGA !!</b>
|
||||||
|
Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
|
||||||
|
Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
|
||||||
|
<code>
|
||||||
|
-> link do wyników
|
||||||
|
fotogaleria -> link do fotogalerii
|
||||||
|
</code>
|
||||||
|
Wtedy pokaże się <b>tylko przycisk fotogalerii</b>, a zdjęcie przekieruje nas do wyników!
|
||||||
|
""".replace('\n', '<br />')
|
||||||
|
|
||||||
|
|
||||||
class MBKB(OrderableModel):
|
class MBKB(OrderableModel):
|
||||||
published = models.BooleanField('Wpis opublikowany', default=True)
|
published = models.BooleanField('Wpis opublikowany', default=True)
|
||||||
show_title = models.BooleanField('Pokaż tytuł', default=True)
|
show_title = models.BooleanField('Pokaż tytuł', default=True)
|
||||||
title = models.CharField('Tytuł', default='', blank=True, max_length=250)
|
title = models.CharField('Tytuł', default='', blank=True, max_length=250)
|
||||||
content = HTMLField('Tekst', default='', blank=True)
|
content = HTMLField('Tekst', default='', blank=True)
|
||||||
|
buttons = models.TextField(
|
||||||
|
'Przyciski', default='', blank=True, help_text=buttons_help_text)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.title or '(brak tytułu)'
|
return self.title or '(brak tytułu)'
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 4.0.5 on 2022-09-28 20:25
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('membership', '0003_membership_published'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='membership',
|
||||||
|
name='buttons',
|
||||||
|
field=models.TextField(blank=True, default='', help_text='Tutaj można wpisać dowolną ilość przycisków w następującym formacie:<br /> <code><br /> tekst1 -> link<br /> teskt2 | link<br /> ...<br /> </code><br /> Symbol <code>-></code> oznacza, że link będzie otwarty w nowej karcie<br /> Symbol <code>|</code> oznacza, że link będzie otwarty w tej samej karcie<br /> Na przykład:<br /> <code><br /> pzbs -> https://pzbs.pl<br /> fotogaleria | https://galeria.podlaskizbs.pl<br /> cezar -> https://www.msc.com.pl/cezar<br /> </code><br /> PZBS i Cezar zostaną otwarte w nowej karcie<br /> <b>UWAGA !!</b><br /> Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link<br /> Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:<br /> <code><br /> -> link do wyników<br /> fotogaleria -> link do fotogalerii<br /> </code><br /> Wtedy pokaże się <b>tylko przycisk fotogalerii</b>, a zdjęcie przekieruje nas do wyników!<br /> ', verbose_name='Przyciski'),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 4.0.5 on 2022-09-28 20:47
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('membership', '0004_membership_buttons'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='membership',
|
||||||
|
name='current',
|
||||||
|
field=models.BooleanField(default=False, verbose_name='Aktualne składki (pokazywane przy przekierowaniu na stronę)'),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -3,11 +3,51 @@ from tinymce.models import HTMLField
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
|
|
||||||
|
buttons_help_text = """Tutaj można wpisać dowolną ilość przycisków w następującym formacie:
|
||||||
|
<code>
|
||||||
|
tekst1 -> link
|
||||||
|
teskt2 | link
|
||||||
|
...
|
||||||
|
</code>
|
||||||
|
Symbol <code>-></code> oznacza, że link będzie otwarty w nowej karcie
|
||||||
|
Symbol <code>|</code> oznacza, że link będzie otwarty w tej samej karcie
|
||||||
|
Na przykład:
|
||||||
|
<code>
|
||||||
|
pzbs -> https://pzbs.pl
|
||||||
|
fotogaleria | https://galeria.podlaskizbs.pl
|
||||||
|
cezar -> https://www.msc.com.pl/cezar
|
||||||
|
</code>
|
||||||
|
PZBS i Cezar zostaną otwarte w nowej karcie
|
||||||
|
<b>UWAGA !!</b>
|
||||||
|
Klikając na zdjęcie zawsze zostaniemy przekierowani na pierwszy podany link
|
||||||
|
Gdy nie podamy tekstu przyciku, nie pokaże on się, można to wykorzystać w taki sposób:
|
||||||
|
<code>
|
||||||
|
-> link do wyników
|
||||||
|
fotogaleria -> link do fotogalerii
|
||||||
|
</code>
|
||||||
|
Wtedy pokaże się <b>tylko przycisk fotogalerii</b>, a zdjęcie przekieruje nas do wyników!
|
||||||
|
""".replace('\n', '<br />')
|
||||||
|
|
||||||
|
|
||||||
class Membership(models.Model):
|
class Membership(models.Model):
|
||||||
published = models.BooleanField('Wpis opublikowany', default=True)
|
published = models.BooleanField('Wpis opublikowany', default=True)
|
||||||
year = models.IntegerField('Rok', primary_key=True)
|
year = models.IntegerField('Rok', primary_key=True)
|
||||||
content = HTMLField('Treść', default='', blank=True)
|
content = HTMLField('Treść', default='', blank=True)
|
||||||
|
buttons = models.TextField(
|
||||||
|
'Przyciski', default='', blank=True, help_text=buttons_help_text)
|
||||||
|
|
||||||
|
current = models.BooleanField(
|
||||||
|
'Aktualne składki (pokazywane przy przekierowaniu na stronę)', default=False)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_current():
|
||||||
|
return Membership.objects.filter(current=True).first()
|
||||||
|
|
||||||
|
def save(self, *args, **kwargs):
|
||||||
|
if self.current is True:
|
||||||
|
Membership.objects.exclude(year=self.year).update(current=False)
|
||||||
|
|
||||||
|
super(Membership, self).save(*args, **kwargs)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f'Składki członkowskie {self.year}'
|
return f'Składki członkowskie {self.year}'
|
||||||
|
|
|
||||||
|
|
@ -1262,6 +1262,19 @@ select {
|
||||||
position: sticky;
|
position: sticky;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.inset-x-0 {
|
||||||
|
left: 0px;
|
||||||
|
right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-0 {
|
||||||
|
top: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.float-right {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
.m-4 {
|
.m-4 {
|
||||||
margin: 1rem;
|
margin: 1rem;
|
||||||
}
|
}
|
||||||
|
|
@ -1467,16 +1480,16 @@ select {
|
||||||
border-color: rgb(148 163 184 / var(--tw-border-opacity));
|
border-color: rgb(148 163 184 / var(--tw-border-opacity));
|
||||||
}
|
}
|
||||||
|
|
||||||
.border-stone-200 {
|
|
||||||
--tw-border-opacity: 1;
|
|
||||||
border-color: rgb(231 229 228 / var(--tw-border-opacity));
|
|
||||||
}
|
|
||||||
|
|
||||||
.border-stone-300 {
|
.border-stone-300 {
|
||||||
--tw-border-opacity: 1;
|
--tw-border-opacity: 1;
|
||||||
border-color: rgb(214 211 209 / var(--tw-border-opacity));
|
border-color: rgb(214 211 209 / var(--tw-border-opacity));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.border-stone-200 {
|
||||||
|
--tw-border-opacity: 1;
|
||||||
|
border-color: rgb(231 229 228 / var(--tw-border-opacity));
|
||||||
|
}
|
||||||
|
|
||||||
.bg-white {
|
.bg-white {
|
||||||
--tw-bg-opacity: 1;
|
--tw-bg-opacity: 1;
|
||||||
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
|
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
|
||||||
|
|
@ -1519,16 +1532,16 @@ select {
|
||||||
padding-bottom: 0.75rem;
|
padding-bottom: 0.75rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.py-4 {
|
|
||||||
padding-top: 1rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.py-2 {
|
.py-2 {
|
||||||
padding-top: 0.5rem;
|
padding-top: 0.5rem;
|
||||||
padding-bottom: 0.5rem;
|
padding-bottom: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.py-4 {
|
||||||
|
padding-top: 1rem;
|
||||||
|
padding-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
.pb-1 {
|
.pb-1 {
|
||||||
padding-bottom: 0.25rem;
|
padding-bottom: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
@ -1791,10 +1804,6 @@ h4 {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.last\:hidden:last-child {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.target\:block:target {
|
.target\:block:target {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
@ -1805,6 +1814,10 @@ h4 {
|
||||||
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
|
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.peer:target ~ .peer-target\:block {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.prose-h2\:mb-2 :is(:where(h2):not(:where([class~="not-prose"] *))) {
|
.prose-h2\:mb-2 :is(:where(h2):not(:where([class~="not-prose"] *))) {
|
||||||
margin-bottom: 0.5rem;
|
margin-bottom: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1262,6 +1262,19 @@ select {
|
||||||
position: sticky;
|
position: sticky;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.inset-x-0 {
|
||||||
|
left: 0px;
|
||||||
|
right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-0 {
|
||||||
|
top: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.float-right {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
.m-4 {
|
.m-4 {
|
||||||
margin: 1rem;
|
margin: 1rem;
|
||||||
}
|
}
|
||||||
|
|
@ -1467,16 +1480,16 @@ select {
|
||||||
border-color: rgb(148 163 184 / var(--tw-border-opacity));
|
border-color: rgb(148 163 184 / var(--tw-border-opacity));
|
||||||
}
|
}
|
||||||
|
|
||||||
.border-stone-200 {
|
|
||||||
--tw-border-opacity: 1;
|
|
||||||
border-color: rgb(231 229 228 / var(--tw-border-opacity));
|
|
||||||
}
|
|
||||||
|
|
||||||
.border-stone-300 {
|
.border-stone-300 {
|
||||||
--tw-border-opacity: 1;
|
--tw-border-opacity: 1;
|
||||||
border-color: rgb(214 211 209 / var(--tw-border-opacity));
|
border-color: rgb(214 211 209 / var(--tw-border-opacity));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.border-stone-200 {
|
||||||
|
--tw-border-opacity: 1;
|
||||||
|
border-color: rgb(231 229 228 / var(--tw-border-opacity));
|
||||||
|
}
|
||||||
|
|
||||||
.bg-white {
|
.bg-white {
|
||||||
--tw-bg-opacity: 1;
|
--tw-bg-opacity: 1;
|
||||||
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
|
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
|
||||||
|
|
@ -1519,16 +1532,16 @@ select {
|
||||||
padding-bottom: 0.75rem;
|
padding-bottom: 0.75rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.py-4 {
|
|
||||||
padding-top: 1rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.py-2 {
|
.py-2 {
|
||||||
padding-top: 0.5rem;
|
padding-top: 0.5rem;
|
||||||
padding-bottom: 0.5rem;
|
padding-bottom: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.py-4 {
|
||||||
|
padding-top: 1rem;
|
||||||
|
padding-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
.pb-1 {
|
.pb-1 {
|
||||||
padding-bottom: 0.25rem;
|
padding-bottom: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
@ -1791,10 +1804,6 @@ h4 {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.last\:hidden:last-child {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.target\:block:target {
|
.target\:block:target {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
@ -1805,6 +1814,10 @@ h4 {
|
||||||
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
|
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.peer:target ~ .peer-target\:block {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.prose-h2\:mb-2 :is(:where(h2):not(:where([class~="not-prose"] *))) {
|
.prose-h2\:mb-2 :is(:where(h2):not(:where([class~="not-prose"] *))) {
|
||||||
margin-bottom: 0.5rem;
|
margin-bottom: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue