feat: 🍔 add random food emoji to header

This commit is contained in:
m5ka 2024-03-25 22:52:53 +00:00
parent 28e21ffb3e
commit 9abbde9f40
7 changed files with 30 additions and 13 deletions

View file

@ -9,7 +9,7 @@
</head>
<body>
<header>
<h1>moku.blog<sup>beta</sup></h1>
<h1>{{ header_emoji }} moku.blog<sup>beta</sup></h1>
<nav>
<ul>
{% if request.user.is_authenticated %}

View file

@ -4,8 +4,10 @@ from django.shortcuts import redirect
from django.utils.translation import gettext as _
from django.urls import reverse_lazy
from moku.views.base import View
class LoginView(BaseLoginView):
class LoginView(View, BaseLoginView):
template_name = "moku/login.jinja"
def get(self, request, *args, **kwargs):

15
moku/views/base.py Normal file
View file

@ -0,0 +1,15 @@
import random
from django.views import generic
class View(generic.TemplateView):
def get_context_data(self, **kwargs):
return {
**super().get_context_data(**kwargs),
"header_emoji": random.choice(["🍔", "🍕", "🍟", "🥪", "🥘", "🍰", "🍻", "🧁", "🍞", "🥯", "🥐"])
}
class FormView(View, generic.FormView):
pass

View file

@ -2,13 +2,13 @@ from django.contrib import messages
from django.core.exceptions import PermissionDenied
from django.shortcuts import redirect
from django.utils.translation import gettext as _
from django.views.generic import FormView
from moku.constants import EMOJI_CATEGORIES, Verbs
from moku.forms.post import PostForm
from moku.images import process_post_image
from moku.models.post import Post
from moku.models.recipe import Recipe
from moku.views.base import FormView
class FeedView(FormView):

View file

@ -1,15 +1,15 @@
from django.contrib import messages
from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin
from django.shortcuts import get_object_or_404, redirect
from django.views.generic import FormView, TemplateView
from django.utils.functional import cached_property
from django.utils.translation import gettext as _
from moku.forms.recipe import RecipeForm, RecipeStepForm
from moku.models.recipe import Recipe, RecipeStep
from moku.views.base import FormView, View
class DeleteRecipeView(LoginRequiredMixin, UserPassesTestMixin, TemplateView):
class DeleteRecipeView(LoginRequiredMixin, UserPassesTestMixin, View):
def get(self, request, *args, **kwargs):
self.recipe.delete()
messages.success(self.request, _("recipe deleted successfully!"))
@ -26,7 +26,7 @@ class DeleteRecipeView(LoginRequiredMixin, UserPassesTestMixin, TemplateView):
return self.request.user.id == self.recipe.created_by.id
class DeleteStepView(LoginRequiredMixin, UserPassesTestMixin, TemplateView):
class DeleteStepView(LoginRequiredMixin, UserPassesTestMixin, View):
def get(self, request, *args, **kwargs):
if self.step.order != (self.step.recipe.steps.count() - 1):
messages.error(self.request, _("sorry! you can only delete the last step."))
@ -71,7 +71,7 @@ class EditStepView(LoginRequiredMixin, UserPassesTestMixin, FormView):
return self.request.user.id == self.step.recipe.created_by.id
class IndexRecipeView(LoginRequiredMixin, TemplateView):
class IndexRecipeView(LoginRequiredMixin, View):
template_name = "moku/recipe/index.jinja"
def get_context_data(self, **kwargs):

View file

@ -1,13 +1,13 @@
from django.views.generic import TemplateView
from moku.views.base import View
class ChangelogView(TemplateView):
class ChangelogView(View):
template_name = "moku/changelog.jinja"
class PrivacyView(TemplateView):
class PrivacyView(View):
template_name = "moku/privacy.jinja"
class TermsView(TemplateView):
class TermsView(View):
template_name = "moku/terms.jinja"

View file

@ -3,11 +3,11 @@ from django.contrib.auth.mixins import LoginRequiredMixin
from django.db import IntegrityError
from django.shortcuts import redirect
from django.utils.translation import gettext as _
from django.views.generic import FormView, TemplateView
from moku.images import process_avatar_image
from moku.forms.user import ProfileForm, UserForm, UserSettingsForm
from moku.models.user import User
from moku.views.base import FormView, View
class EditProfileView(LoginRequiredMixin, FormView):
@ -45,7 +45,7 @@ class EditSettingsView(LoginRequiredMixin, FormView):
return super().get_form()
class ProfileView(TemplateView):
class ProfileView(View):
template_name = "moku/profile/show.jinja"
def get_context_data(self, **kwargs):