diff --git a/aircox/admin/page.py b/aircox/admin/page.py
index cb227af..eb8c075 100644
--- a/aircox/admin/page.py
+++ b/aircox/admin/page.py
@@ -50,7 +50,9 @@ class BasePageAdmin(admin.ModelAdmin):
change_form_template = "admin/aircox/page_change_form.html"
def cover_thumb(self, obj):
- return mark_safe(''.format(obj.cover.icons["64"])) if obj.cover else ""
+ if obj.cover and obj.cover.thumbnails:
+ return mark_safe('
'.format(obj.cover.icons["64"]))
+ return ""
def get_changeform_initial_data(self, request):
data = super().get_changeform_initial_data(request)
@@ -95,6 +97,7 @@ class PageAdmin(BasePageAdmin):
@admin.register(StaticPage)
class StaticPageAdmin(BasePageAdmin):
list_display = BasePageAdmin.list_display + ("attach_to",)
+ list_editable = BasePageAdmin.list_editable + ("attach_to",)
fieldsets = deepcopy(BasePageAdmin.fieldsets)
fieldsets[1][1]["fields"] += ("attach_to",)
diff --git a/aircox/models/log.py b/aircox/models/log.py
index f8659ae..cec8db8 100644
--- a/aircox/models/log.py
+++ b/aircox/models/log.py
@@ -170,7 +170,7 @@ class Log(Renderable, models.Model):
"""
if isinstance(logs, models.QuerySet):
logs = list(logs.order_by("-date"))
- diffs = diffs.on_air().before().order_by("-start")
+ diffs = diffs.on_air().order_by("-start")
if diff_count:
diffs = diffs[:diff_count]
diffs = deque(diffs)
diff --git a/aircox/models/page.py b/aircox/models/page.py
index 062c1ae..3cb4e15 100644
--- a/aircox/models/page.py
+++ b/aircox/models/page.py
@@ -257,7 +257,8 @@ class StaticPage(BasePage):
detail_url_name = "static-page-detail"
class Target(models.TextChoices):
- HOME = "", _("Home Page")
+ NONE = "", _("None")
+ HOME = "home", _("Home Page")
TIMETABLE = "timetable-list", _("Timetable")
PROGRAMS = "program-list", _("Programs list")
EPISODES = "episode-list", _("Episodes list")
@@ -346,13 +347,13 @@ class NavItem(models.Model):
def render(self, request, css_class="", active_class=""):
url = self.get_url()
- text = self.get_text()
+ label = self.get_label()
if active_class and request.path.startswith(url):
css_class += " " + active_class
if not url:
- return text
+ return label
elif not css_class:
- return format_html('{}', url, text)
+ return format_html('{}', url, label)
else:
- return format_html('{}', url, css_class, text)
+ return format_html('{}', url, css_class, label)
diff --git a/aircox/static/aircox/css/public.css b/aircox/static/aircox/css/public.css
index d68702e..129465b 100644
--- a/aircox/static/aircox/css/public.css
+++ b/aircox/static/aircox/css/public.css
@@ -7495,6 +7495,7 @@ a.tag:hover {
}
.nav .burger {
display: none;
+ background-color: var(--highlight-color);
}
.nav .nav-item {
padding: 0.6rem;
@@ -7513,7 +7514,7 @@ a.tag:hover {
vertical-align: top;
display: inline-block;
}
-.nav .nav-item.active, .nav .nav-item:hover {
+.nav .nav-item.active {
background-color: var(--highlight-color-2);
color: var(--highlight-color);
}
@@ -7547,14 +7548,10 @@ a.tag:hover {
white-space: nowrap;
}
.nav.secondary {
- position: absolute;
- width: 100%;
- z-index: 100;
- box-shadow: 0em 0.5em 0.5em rgba(0, 0, 0, 0.05);
+ background-color: var(--highlight-color-alpha);
justify-content: right;
- display: none;
}
-.nav-item:hover + .nav.secondary, .nav.secondary:hover {
+.nav.primary:hover + .nav.secondary, .nav.secondary:hover {
display: flex;
top: var(--nav-primary-height);
left: 0rem;
@@ -7565,9 +7562,12 @@ a.tag:hover {
.breadcrumbs {
text-align: right;
- height: 2.2rem;
+ padding: 0.6rem 0rem;
margin-bottom: 0.4rem;
}
+.breadcrumbs:empty {
+ display: none;
+}
.breadcrumbs a + a:before {
content: "/";
margin: 0 0.4rem;
diff --git a/aircox/templates/aircox/base.html b/aircox/templates/aircox/base.html
index b2d6f91..bb2353f 100644
--- a/aircox/templates/aircox/base.html
+++ b/aircox/templates/aircox/base.html
@@ -61,22 +61,6 @@ Usefull context:
aria-label="{% translate "Main menu" %}">