diff --git a/templates/side/base.htm b/templates/side/base.htm
new file mode 100644
index 0000000..2125542
--- /dev/null
+++ b/templates/side/base.htm
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% block meta %}{% endblock %}
+ {% block title %}🦊🐲 Yiprawr{% endblock %}
+ {% block head %}{% endblock %}
+
+
+ {% include 'elements/navigation.htm' %}
+ {% block content %}{% endblock %}
+
+ {% block script %}{% endblock %}
+
+
diff --git a/templates/side/elements/navigation.htm b/templates/side/elements/navigation.htm
new file mode 100644
index 0000000..c8824fd
--- /dev/null
+++ b/templates/side/elements/navigation.htm
@@ -0,0 +1,22 @@
+{% from 'macro/submenu.htm' import render_submenu %}
+{% from 'macro/left_submenu.htm' import render_submenu_left %}
+
+
diff --git a/templates/side/macro/left_submenu.htm b/templates/side/macro/left_submenu.htm
new file mode 100644
index 0000000..1dd4dd7
--- /dev/null
+++ b/templates/side/macro/left_submenu.htm
@@ -0,0 +1,13 @@
+{% macro render_submenu_left(id, icon, label, items) %}
+
+{% endmacro %}
diff --git a/templates/side/macro/submenu.htm b/templates/side/macro/submenu.htm
new file mode 100644
index 0000000..c2c7a77
--- /dev/null
+++ b/templates/side/macro/submenu.htm
@@ -0,0 +1,13 @@
+{% macro render_submenu(id, icon, label, items) %}
+
+{% endmacro %}
diff --git a/templates/side/views/basics/blocked_access.htm b/templates/side/views/basics/blocked_access.htm
new file mode 100644
index 0000000..8cdc317
--- /dev/null
+++ b/templates/side/views/basics/blocked_access.htm
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+ Access Denied
+
+
+
+
403 - Access Denied
+
Your IP address {{ remote_addr }} has been blocked from accessing this site.
+
+
+
diff --git a/templates/side/views/basics/error.htm b/templates/side/views/basics/error.htm
new file mode 100644
index 0000000..17bf022
--- /dev/null
+++ b/templates/side/views/basics/error.htm
@@ -0,0 +1,25 @@
+{% extends "base.htm" %}
+
+{% block title %}🦊🐲 Yiprawr - {{ title }}{% endblock %}
+{% block head %}
+
+{% endblock %}
+
+{% block content %}
+
+ {{ header.title }}
+ {{ header.message }}
+
+
+
+
+ Go Back to the Home Page
+
+{% endblock %}
diff --git a/templates/side/views/webpage/files_list.htm b/templates/side/views/webpage/files_list.htm
new file mode 100644
index 0000000..23c82c0
--- /dev/null
+++ b/templates/side/views/webpage/files_list.htm
@@ -0,0 +1,280 @@
+{% extends "base.htm" %}
+
+{% block title %}NanoShare - Files{% endblock %}
+
+{% block meta %}
+
+
+
+{% endblock %}
+
+{% block head %}
+
+{% endblock %}
+
+{% block content %}
+
+
+ Files
+ Your uploaded files at a glance. Click a filename to open, or use the actions on the right.
+
+
+
+
+
+ | Filename |
+ Note |
+ Size |
+ Uploaded |
+ Expires |
+ Actions |
+
+
+
+ {% for file in files %}
+
+ |
+ {{ file.file_name }}
+ |
+ {{ file.note }} |
+ {{ file.file_size }} |
+ |
+ |
+
+
+
+
+
+
+ |
+
+ {% endfor %}
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/templates/side/views/webpage/index.htm b/templates/side/views/webpage/index.htm
new file mode 100644
index 0000000..33f27ac
--- /dev/null
+++ b/templates/side/views/webpage/index.htm
@@ -0,0 +1,82 @@
+{% extends "base.htm" %}
+
+{% block title %}NanoShare{% endblock %}
+
+{% block meta %}
+
+
+
+{% endblock %}
+
+{% block head %}
+
+{% endblock %}
+
+{% block content %}
+
+
+
+
NanoShare
+
This instance is private. Please sign in to continue.
+
+
+
+ 🔒 OAuth protected · ⚡ Lightweight · 🚀 Async
+
+
+
+
+ 🔗
Direct links
Clean URLs—no ads or gates.
+ 🧰
Any file type
No re-encoding. Originals preserved.
+ ⏱️
Expirations
Auto-expire links or set to never.
+ 🛡️
Private by default
Access gated behind OAuth login.
+
+
+
+
+{% endblock %}
diff --git a/templates/side/views/webpage/upload.htm b/templates/side/views/webpage/upload.htm
new file mode 100644
index 0000000..a42099e
--- /dev/null
+++ b/templates/side/views/webpage/upload.htm
@@ -0,0 +1,462 @@
+{% extends "base.htm" %}
+
+{% block title %}NanoShare - Upload{% endblock %}
+
+{% block meta %}
+
+
+
+{% endblock %}
+
+{% block head %}
+
+{% endblock %}
+
+{% block content %}
+
+
+ Upload
+ Drop a file, paste from clipboard, or paste text. Configure expiry & add a note before uploading.
+
+
+
+
+
📤
+
Choose a file or drag it here
+
Tip: Paste an image/file or text from clipboard (⌘/Ctrl + V)
+
+
+
+
+ — or paste text below —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+✅ Uploaded successfully!
+
+
+{% endblock %}