diff --git a/innovedus_cms/base/static/css/newsletter.css b/innovedus_cms/base/static/css/newsletter.css
new file mode 100644
index 0000000..111fe39
--- /dev/null
+++ b/innovedus_cms/base/static/css/newsletter.css
@@ -0,0 +1,173 @@
+.newsletter-page {
+ background: #0e1b42 url("../img/newsletter_bg.png") center center / cover no-repeat fixed;
+}
+
+.newsletter-page .site-main > .site-container {
+ padding-top: 64px;
+ padding-bottom: 64px;
+ min-height: 400px;
+}
+
+.newsletter-status {
+ max-width: 640px;
+ margin: 0 auto;
+ padding: 24px;
+ color: #ffffff;
+}
+
+.newsletter-status h1 {
+ font-size: 32px;
+ margin-top: 0;
+}
+
+.newsletter-status p {
+ margin: 0;
+ font-size: 20px;
+ line-height: 1.5;
+}
+
+.newsletter-status-message {
+ margin-bottom: 16px;
+}
+
+.newsletter-unsubscribe-form label {
+ display: block;
+ margin-bottom: 8px;
+}
+
+.newsletter-unsubscribe-form input[type="email"],
+.newsletter-unsubscribe-form input[type="text"] {
+ width: 300px;
+ padding: 8px;
+ border: 0;
+ background: #ffffff4d;
+ color: #ffffff;
+}
+
+.newsletter-unsubscribe-form button {
+ width: 131px;
+ height: 49px;
+ border: 0;
+ background: #ffffff;
+ font-size: 14px;
+ font-weight: 500;
+ color: #000000;
+ padding: 10px 16px;
+ cursor: pointer;
+ margin-top: 12px;
+}
+
+.newsletter-back-link {
+ display: inline-flex;
+ align-items: center;
+ gap: 16px;
+ margin-top: 20px;
+ color: #ffffff;
+ text-decoration: none;
+}
+
+.newsletter-back-link__icon {
+ position: relative;
+ width: 52px;
+ height: 52px;
+ background: #ffffff80;
+}
+
+.newsletter-back-link__icon::before,
+.newsletter-back-link__icon::after {
+ content: "";
+ position: absolute;
+ left: 18px;
+ width: 15px;
+ height: 1.5px;
+ background: #0e1b42;
+}
+
+.newsletter-back-link__icon::before {
+ top: 21px;
+ transform: rotate(-45deg);
+}
+
+.newsletter-back-link__icon::after {
+ top: 31px;
+ transform: rotate(45deg);
+}
+
+.newsletter-back-link__text {
+ font-size: 16px;
+ line-height: 1.2;
+}
+
+@media (min-width: 575px) and (max-width: 767px) {
+ .newsletter-page .site-main > .site-container {
+ min-height: 360px;
+ }
+
+ .newsletter-status {
+ padding: 16px;
+ }
+
+ .newsletter-status h1 {
+ font-size: 24px;
+ }
+
+ .newsletter-status p {
+ font-size: 16px;
+ }
+
+ .newsletter-unsubscribe-form input[type="email"],
+ .newsletter-unsubscribe-form input[type="text"] {
+ width: 240px;
+ }
+}
+
+@media (max-width: 574px) {
+ .newsletter-page .site-main > .site-container {
+ min-height: 320px;
+ }
+
+ .newsletter-status {
+ padding: 16px;
+ }
+
+ .newsletter-status h1 {
+ font-size: 20px;
+ }
+
+ .newsletter-status p {
+ font-size: 14px;
+ }
+
+ .newsletter-unsubscribe-form input[type="email"],
+ .newsletter-unsubscribe-form input[type="text"] {
+ width: 260px;
+ }
+
+ .newsletter-unsubscribe-form button {
+ width: 90px;
+ height: 31px;
+ padding: 4px 16px;
+ }
+
+ .newsletter-back-link__icon {
+ width: 40px;
+ height: 40px;
+ }
+
+ .newsletter-back-link__icon::before {
+ top: 15px;
+ }
+
+ .newsletter-back-link__icon::after {
+ top: 25px;
+ }
+
+ .newsletter-back-link__icon::before,
+ .newsletter-back-link__icon::after {
+ left: 12px;
+ }
+
+ .newsletter-back-link__text {
+ font-size: 14px;
+ }
+}
\ No newline at end of file
diff --git a/innovedus_cms/base/static/img/newsletter_bg.png b/innovedus_cms/base/static/img/newsletter_bg.png
new file mode 100644
index 0000000..d2c80e0
Binary files /dev/null and b/innovedus_cms/base/static/img/newsletter_bg.png differ
diff --git a/innovedus_cms/base/templates/base/newsletter/status.html b/innovedus_cms/base/templates/base/newsletter/status.html
index 9b3bf80..278bb5a 100644
--- a/innovedus_cms/base/templates/base/newsletter/status.html
+++ b/innovedus_cms/base/templates/base/newsletter/status.html
@@ -1,9 +1,19 @@
{% extends "base.html" %}
+{% load static %}
+
+{% block body_class %}template-darkbackground newsletter-page{% endblock %}
+
+{% block extra_css %}
+
+{% endblock %}
{% block content %}
{% endblock %}
diff --git a/innovedus_cms/base/templates/base/newsletter/unsubscribe.html b/innovedus_cms/base/templates/base/newsletter/unsubscribe.html
index 18c65a5..df874d2 100644
--- a/innovedus_cms/base/templates/base/newsletter/unsubscribe.html
+++ b/innovedus_cms/base/templates/base/newsletter/unsubscribe.html
@@ -1,14 +1,20 @@
{% extends "base.html" %}
+{% load static %}
+
+{% block body_class %}template-darkbackground newsletter-page{% endblock %}
+
+{% block extra_css %}
+
+{% endblock %}
{% block content %}
{% endblock %}
diff --git a/innovedus_cms/base/views.py b/innovedus_cms/base/views.py
index ba1bc72..2b3c3a3 100644
--- a/innovedus_cms/base/views.py
+++ b/innovedus_cms/base/views.py
@@ -191,8 +191,8 @@ def newsletter_subscribe(request):
request,
"base/newsletter/status.html",
_build_context(
- title="請前往信箱確認",
- message="我們已寄出確認信,請點擊信中的連結完成訂閱。",
+ title="訂閱確認已送出!",
+ message="感謝您的訂閱
下一步,請前往訂閱的信箱收取確認信函
在信函中點擊連結",
success=True,
),
)
@@ -209,7 +209,7 @@ def newsletter_confirm(request):
request,
"base/newsletter/status.html",
_build_context(
- title="訂閱確認失敗",
+ title="訂閱認證失敗",
message=template_settings.confirm_failure_template,
success=False,
),
@@ -222,7 +222,7 @@ def newsletter_confirm(request):
request,
"base/newsletter/status.html",
_build_context(
- title="訂閱確認成功",
+ title="訂閱認證成功!",
message=template_settings.confirm_success_template,
success=True,
),
@@ -232,7 +232,7 @@ def newsletter_confirm(request):
request,
"base/newsletter/status.html",
_build_context(
- title="訂閱確認失敗",
+ title="訂閱認證失敗",
message=template_settings.confirm_failure_template,
success=False,
),
diff --git a/innovedus_cms/home/static/img/default_cover.jpg b/innovedus_cms/home/static/img/default_cover.jpg
deleted file mode 100644
index 61cb38d..0000000
Binary files a/innovedus_cms/home/static/img/default_cover.jpg and /dev/null differ
diff --git a/innovedus_cms/home/static/img/default_cover_1.png b/innovedus_cms/home/static/img/default_cover_1.png
new file mode 100644
index 0000000..d039c62
Binary files /dev/null and b/innovedus_cms/home/static/img/default_cover_1.png differ
diff --git a/innovedus_cms/home/static/img/default_cover_2.png b/innovedus_cms/home/static/img/default_cover_2.png
new file mode 100644
index 0000000..1e8436b
Binary files /dev/null and b/innovedus_cms/home/static/img/default_cover_2.png differ
diff --git a/innovedus_cms/home/static/img/default_cover_3.png b/innovedus_cms/home/static/img/default_cover_3.png
new file mode 100644
index 0000000..83e3e27
Binary files /dev/null and b/innovedus_cms/home/static/img/default_cover_3.png differ
diff --git a/innovedus_cms/home/templates/home/article_page.html b/innovedus_cms/home/templates/home/article_page.html
index 528c3ef..6979947 100644
--- a/innovedus_cms/home/templates/home/article_page.html
+++ b/innovedus_cms/home/templates/home/article_page.html
@@ -1,5 +1,5 @@
{% extends "base.html" %}
-{% load wagtailcore_tags wagtailimages_tags static %}
+{% load wagtailcore_tags wagtailimages_tags static home_tags %}
{% block extra_css %}
@@ -89,7 +89,8 @@
{% image related.cover_image max-194x133 as related_cover %}
{% else %}
-
+ {% random_default_cover as default_cover %}
+
{% endif %}
+ {% random_default_cover as default_cover %}
+
+ {% random_default_cover as default_cover %}
+
+ {% random_default_cover as default_cover %}
+
+ {% random_default_cover as default_cover %}
+
+ {% random_default_cover as default_cover %}
+
+ {% random_default_cover as default_cover %}
+