diff --git a/private/js/modules/notifications.js b/private/js/modules/notifications.js index 17f5a1c..76b10f7 100644 --- a/private/js/modules/notifications.js +++ b/private/js/modules/notifications.js @@ -1,8 +1,20 @@ $(function() { var $body = $('body'); + var cookie_name = 'last_notification_update'; + var last_notification = getCookie(cookie_name); + + var $header_button_notification = $('.header__button--notification'); + var current_notification = $header_button_notification.attr('data-updated'); + + if (last_notification !== current_notification) { + $header_button_notification.addClass('new'); + } + $body.on('click', '.header__button--notification', function(event) { event.preventDefault(); + setCookie(cookie_name, current_notification, 90); + $(this).removeClass('new'); $body.toggleClass('notification_open'); }); diff --git a/private/scss/modules/_header.scss b/private/scss/modules/_header.scss index fc28181..14af82b 100644 --- a/private/scss/modules/_header.scss +++ b/private/scss/modules/_header.scss @@ -368,9 +368,11 @@ .header__button--notification { font-size: 0; padding-left: 0; - .header__button__icon { - transform-origin: 50% 30%; - animation: ring 2s $easeOutQuad infinite; + &.new { + .header__button__icon { + transform-origin: 50% 30%; + animation: ring 2s $easeOutQuad infinite; + } } svg { transform: none; diff --git a/private/scss/modules/_notification.scss b/private/scss/modules/_notification.scss index 0a70f13..7bf43e6 100644 --- a/private/scss/modules/_notification.scss +++ b/private/scss/modules/_notification.scss @@ -9,7 +9,7 @@ box-shadow: 0 0 em(30px) rgba($black, 0.2); transform: scale(0); opacity: 0; - transform-origin: 23% 5%; + transform-origin: 50% 5%; transition: transform 0.3s $easeOutQuad, opacity 0.3s $easeOutQuad; &:before { content: ''; @@ -18,7 +18,7 @@ z-index: -2; position: absolute; top: em(-10px); - right: em(187px); + right: em(122px); width: em(20px); height: em(20px); transform: rotate(45deg); @@ -32,9 +32,9 @@ margin-top: 46px; } @media screen and (max-width: $small_breakpoint) { - transform-origin: 36% 5%; + transform-origin: 58% 5%; &:before { - right: em(157px); + right: em(102px); } } } diff --git a/src/memberzone/admin.py b/src/memberzone/admin.py index fc1a392..2fd52f8 100644 --- a/src/memberzone/admin.py +++ b/src/memberzone/admin.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- from aldryn_forms.utils import get_user_model from django.contrib import admin from django.utils.translation import ugettext_lazy as _ diff --git a/src/memberzone/forms.py b/src/memberzone/forms.py index f5c72ba..d8c4c18 100644 --- a/src/memberzone/forms.py +++ b/src/memberzone/forms.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- from django import forms from django.contrib.auth.forms import AuthenticationForm diff --git a/src/memberzone/models.py b/src/memberzone/models.py index 2c0bcdf..15650b0 100644 --- a/src/memberzone/models.py +++ b/src/memberzone/models.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- from cms.models.fields import PlaceholderField import os from django.contrib.auth import get_user_model @@ -5,7 +6,7 @@ from django.contrib.auth.models import Group from django.core.files.storage import default_storage from django.conf import settings from django.db import models -from django.urls import reverse_lazy +from django.core.urlresolvers import reverse_lazy from django.utils import timezone from django.utils.translation import ugettext_lazy as _ from image_cropping import ImageRatioField diff --git a/src/memberzone/storage.py b/src/memberzone/storage.py index bb3be4b..1ed4620 100644 --- a/src/memberzone/storage.py +++ b/src/memberzone/storage.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- import re from aldryn_django.storage import S3MediaStorage from django.conf import settings diff --git a/src/memberzone/urls.py b/src/memberzone/urls.py index d81e415..1baaf0f 100644 --- a/src/memberzone/urls.py +++ b/src/memberzone/urls.py @@ -2,7 +2,7 @@ from django.conf.urls import url from django.contrib.auth.decorators import login_required from django.contrib.auth.views import LoginView, LogoutView, PasswordChangeView -from django.urls import reverse_lazy +from django.core.urlresolvers import reverse_lazy from django.utils.translation import ugettext_lazy as _ from django.views.generic import TemplateView @@ -30,9 +30,9 @@ urlpatterns = [ template_name='memberzone/change_success.html' ), login_url=reverse_lazy('memberzone:login')), name='profile_edit_done'), - url(_(r'^task/(?P\d+)/$'), login_required(MemberTaskDetailView.as_view( + url(_(r'^info/(?P\d+)/$'), login_required(MemberTaskDetailView.as_view( ), login_url=reverse_lazy('memberzone:login')), name='task'), - url(_(r'^overview/$'), login_required(OverviewView.as_view(), login_url=reverse_lazy('memberzone:login')), + url(_(r'^$'), login_required(OverviewView.as_view(), login_url=reverse_lazy('memberzone:login')), name='overview'), ] diff --git a/src/memberzone/views.py b/src/memberzone/views.py index f5f1312..2d02dca 100644 --- a/src/memberzone/views.py +++ b/src/memberzone/views.py @@ -1,6 +1,6 @@ +# -*- coding: utf-8 -*- from django.shortcuts import redirect -from django.urls import reverse_lazy -from django.utils import timezone +from django.core.urlresolvers import reverse_lazy from django.utils.translation import ugettext_lazy as _ from django.views.generic import UpdateView, ListView, DetailView diff --git a/src/project/models.py b/src/project/models.py index 6fa527d..30c66b4 100644 --- a/src/project/models.py +++ b/src/project/models.py @@ -285,8 +285,8 @@ class Partner(CMSPlugin): url = models.URLField(verbose_name='URL', blank=True, null=True) class Meta(CMSPlugin.Meta): - verbose_name = 'Slider Item' - verbose_name_plural = 'Slider Items' + verbose_name = 'Partner' + verbose_name_plural = 'Partner' def __str__(self): return self.name diff --git a/src/project/templates/main.html b/src/project/templates/main.html index afedab5..03f0389 100644 --- a/src/project/templates/main.html +++ b/src/project/templates/main.html @@ -80,8 +80,16 @@ {% block header_items %} + + {% trans 'Suche' %} + + {% include 'project/assets/search.svg' %} + + + {% if notification %} - + {% trans 'Aktuell' %} {% include 'project/assets/bell.svg' %} @@ -89,13 +97,6 @@ {% endif %} - - {% trans 'Suche' %} - - {% include 'project/assets/search.svg' %} - - - {% url 'search' as search_url %} {% with request.get_full_path as current_url %}