feat: add footer, header and improve layout
This commit is contained in:
parent
72bf6bffb8
commit
6fd74833a3
17 changed files with 305 additions and 30 deletions
65
base/models.py
Normal file
65
base/models.py
Normal file
|
@ -0,0 +1,65 @@
|
|||
from django.db import models
|
||||
from modelcluster.models import ClusterableModel
|
||||
from wagtail.admin.panels import (
|
||||
FieldPanel,
|
||||
MultiFieldPanel,
|
||||
PublishingPanel
|
||||
)
|
||||
from wagtail.fields import RichTextField
|
||||
from wagtail.models import (
|
||||
DraftStateMixin,
|
||||
PreviewableMixin,
|
||||
RevisionMixin,
|
||||
TranslatableMixin,
|
||||
)
|
||||
from wagtail.snippets.models import register_snippet
|
||||
|
||||
from wagtail.contrib.settings.models import (
|
||||
BaseGenericSetting,
|
||||
register_setting,
|
||||
)
|
||||
|
||||
@register_setting
|
||||
class NavigationSettings(BaseGenericSetting):
|
||||
linkedin_url = models.URLField(verbose_name="LinkedIn URL", blank=True)
|
||||
github_url = models.URLField(verbose_name="GitHub URL", blank=True)
|
||||
mastodon_url = models.URLField(verbose_name="Mastodon URL", blank=True)
|
||||
|
||||
panels = [
|
||||
MultiFieldPanel(
|
||||
[
|
||||
FieldPanel("linkedin_url"),
|
||||
FieldPanel("github_url"),
|
||||
FieldPanel("mastodon_url"),
|
||||
],
|
||||
"Social settings",
|
||||
)
|
||||
]
|
||||
|
||||
@register_snippet
|
||||
class FooterText(
|
||||
DraftStateMixin,
|
||||
RevisionMixin,
|
||||
PreviewableMixin,
|
||||
TranslatableMixin,
|
||||
models.Model,
|
||||
):
|
||||
|
||||
body = RichTextField()
|
||||
|
||||
panels = [
|
||||
FieldPanel("body"),
|
||||
PublishingPanel(),
|
||||
]
|
||||
|
||||
def __str__(self):
|
||||
return "Footer text"
|
||||
|
||||
def get_preview_template(self, request, mode_name):
|
||||
return "base.html"
|
||||
|
||||
def get_preview_context(self, request, mode_name):
|
||||
return {"footer_text": self.body}
|
||||
|
||||
class Meta(TranslatableMixin.Meta):
|
||||
verbose_name_plural = "Footer Text"
|
Loading…
Add table
Add a link
Reference in a new issue