diff --git a/tubearchivist/home/templates/home/login.html b/tubearchivist/home/templates/home/login.html
new file mode 100644
index 0000000..ea625d7
--- /dev/null
+++ b/tubearchivist/home/templates/home/login.html
@@ -0,0 +1,41 @@
+{% load static %}
+
+
+
+
+ {% if colors == 'dark' %}
+
+ {% endif %}
+ {% if colors == 'light' %}
+
+ {% endif %}
+
Tube Archivist
+
Your Self Hosted YouTube Media Server
+
+
Github Donate
+
+
+
+
\ No newline at end of file
diff --git a/tubearchivist/home/urls.py b/tubearchivist/home/urls.py
index 6ff1670..b10a947 100644
--- a/tubearchivist/home/urls.py
+++ b/tubearchivist/home/urls.py
@@ -7,6 +7,7 @@ from home.views import (
ChannelView,
DownloadView,
HomeView,
+ LoginView,
SettingsView,
VideoView,
)
@@ -15,6 +16,7 @@ from . import views
urlpatterns = [
path("", HomeView.as_view(), name="home"),
+ path("login/", LoginView.as_view(), name="login"),
path("about/", AboutView.as_view(), name="about"),
path("downloads/", DownloadView.as_view(), name="downloads"),
path("settings/", SettingsView.as_view(), name="settings"),
diff --git a/tubearchivist/home/views.py b/tubearchivist/home/views.py
index b465ba0..b1c6fd9 100644
--- a/tubearchivist/home/views.py
+++ b/tubearchivist/home/views.py
@@ -126,6 +126,27 @@ class HomeView(View):
return redirect(search_url, permanent=True)
+class LoginView(View):
+ """resolves to /login/
+ Greeting and login page
+ """
+
+ def get(self, request):
+ """handle get requests"""
+ colors = self.read_config()
+ context = {
+ "colors": colors,
+ }
+ return render(request, "home/login.html", context)
+
+ @staticmethod
+ def read_config():
+ """read needed values from redis"""
+ config_handler = AppConfig().config
+ colors = config_handler["application"]["colors"]
+ return colors
+
+
class AboutView(View):
"""resolves to /about/
show helpful how to information
diff --git a/tubearchivist/static/css/style.css b/tubearchivist/static/css/style.css
index 875c573..b987ec7 100644
--- a/tubearchivist/static/css/style.css
+++ b/tubearchivist/static/css/style.css
@@ -514,6 +514,63 @@ button:hover {
margin-bottom: 10px;
}
+/* login */
+.login-page {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+ text-align: center;
+ align-content: center;
+}
+
+.login-page > * {
+ width: 100%;
+}
+
+.login-page img {
+ width: 100%;
+ max-width: 200px;
+ max-height: 200px;
+ margin-bottom: 40px;
+}
+
+.login-page form {
+ margin: 30px 0;
+}
+
+.login-page input {
+ min-width: 200px;
+}
+
+.login-links a {
+ text-decoration: underline;
+ margin: 30px 0;
+ padding: 20px;
+}
+
+.footer-colors {
+ grid-row-start: 2;
+ grid-row-end: 3;
+ display: flex;
+}
+
+.footer-colors div {
+ padding: 20px 0;
+ width: 33.33%;
+}
+
+.col-1 {
+ background-color: var(--highlight-bg);
+}
+
+.col-2 {
+ background-color: var(--accent-font-dark);
+}
+
+.col-3 {
+ background-color: var(--accent-font-light);
+}
+
/* video page */
.video-main video {
max-height: 70vh;
diff --git a/tubearchivist/static/img/logo-tube-archivist-dark.png b/tubearchivist/static/img/logo-tube-archivist-dark.png
new file mode 100644
index 0000000..08e5185
Binary files /dev/null and b/tubearchivist/static/img/logo-tube-archivist-dark.png differ
diff --git a/tubearchivist/static/img/logo-tube-archivist-light.png b/tubearchivist/static/img/logo-tube-archivist-light.png
new file mode 100644
index 0000000..61b0672
Binary files /dev/null and b/tubearchivist/static/img/logo-tube-archivist-light.png differ