From 1239f6033c6805068418d337815f7524b1addb6a Mon Sep 17 00:00:00 2001 From: John O'Keefe Date: Thu, 22 Jan 2026 17:05:17 -0500 Subject: [PATCH] =?UTF-8?q?Add=20Catppuccin=20themes:=20Mocha,=20Macchiato?= =?UTF-8?q?,=20Frapp=C3=A9,=20Latte=20variants?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +- backend/templates/base.html | 137 ++++++++++++++++++++++++++++++++ backend/templates/index.html | 97 ++++++++++++++++++++++ backend/templates/login.html | 65 +++++++++++++++ backend/templates/register.html | 33 ++++++++ bruno/auth/Update Theme.bru | 2 +- 6 files changed, 335 insertions(+), 3 deletions(-) create mode 100644 backend/templates/base.html create mode 100644 backend/templates/index.html create mode 100644 backend/templates/login.html create mode 100644 backend/templates/register.html diff --git a/README.md b/README.md index 6cf58f2..a54611c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A self-hosted ebook management system built with Go, PostgreSQL, HTMX, and Tailw - **🔒 Multi-User Authentication**: Complete user system with registration/login, JWT-based sessions, and bcrypt password hashing - **✅ Server-Side Validation**: Comprehensive input validation with detailed error messages -- **🌙 Multiple Themes**: 7 popular dark themes (Tokyo Night, Dracula, Nord, Solarized Dark, Monokai, One Dark Pro, Material Dark) with user preferences saved to database +- **🌙 Multiple Themes**: 11 beautiful themes including Tokyo Night, Dracula, Nord, Solarized Dark, Monokai, One Dark Pro, Material Dark, and Catppuccin variants (Mocha, Macchiato, Frappé, Latte) with user preferences saved to database - **🎨 Theme Persistence**: User theme choices sync between browser and server - **📖 Reading Progress**: User-specific reading progress tracking - **🔧 RESTful API**: Clean API endpoints with JWT authentication @@ -119,7 +119,7 @@ Use the included Bruno collection in the `bruno/` directory for testing the API: - **Enhanced Security**: JWT authentication with theme persistence ### Frontend Redesign -- **Multiple Themes**: 7 beautiful dark themes (Tokyo Night default) with CSS variables +- **Multiple Themes**: 11 beautiful themes including Tokyo Night, Dracula, Nord, Solarized Dark, Monokai, One Dark Pro, Material Dark, and Catppuccin variants (Mocha, Macchiato, Frappé, Latte) with CSS variables - **HTMX Forms**: Real-time form submissions and updates without JavaScript frameworks - **Theme Switcher**: Dropdown selector that saves preferences to database - **Responsive Design**: Tailwind CSS for mobile-first responsive layouts diff --git a/backend/templates/base.html b/backend/templates/base.html new file mode 100644 index 0000000..2e1360a --- /dev/null +++ b/backend/templates/base.html @@ -0,0 +1,137 @@ + + + + + + {{block "title" .}}Bookmann{{end}} + + + + + + {{block "content" .}}{{end}} + + + \ No newline at end of file diff --git a/backend/templates/index.html b/backend/templates/index.html new file mode 100644 index 0000000..ab1a6e7 --- /dev/null +++ b/backend/templates/index.html @@ -0,0 +1,97 @@ +{{template "base.html" .}} + +{{define "title"}}Bookmann - Home{{end}} + +{{define "content"}} +
+
+

Welcome to Bookmann

+ +
+ +
+
+

Login

+
+
+ + +
+
+ + +
+ +
+
+ +
+

Register

+
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+ +
+
+ +{{end}} \ No newline at end of file diff --git a/backend/templates/login.html b/backend/templates/login.html new file mode 100644 index 0000000..371a05c --- /dev/null +++ b/backend/templates/login.html @@ -0,0 +1,65 @@ +{{template "base.html" .}} + +{{define "title"}}Login{{end}} + +{{define "content"}} +
+
+

Login

+ +
+ +
+
+ + +
+
+ + +
+ +
+ +
+ +

+ Don't have an account? Register +

+
+ +{{end}} \ No newline at end of file diff --git a/backend/templates/register.html b/backend/templates/register.html new file mode 100644 index 0000000..5fca1fa --- /dev/null +++ b/backend/templates/register.html @@ -0,0 +1,33 @@ +{{template "base.html" .}} + +{{define "title"}}Register{{end}} + +{{define "content"}} +
+

Register

+ +
+
+ + +
+
+ + +
+
+ + +
+ +
+ +
+ +

+ Already have an account? Login +

+
+{{end}} \ No newline at end of file diff --git a/bruno/auth/Update Theme.bru b/bruno/auth/Update Theme.bru index 8f3e47e..941e8bb 100644 --- a/bruno/auth/Update Theme.bru +++ b/bruno/auth/Update Theme.bru @@ -28,7 +28,7 @@ docs { **Authentication:** Required (Bearer token) **Request Body:** - - `theme` (string): Theme name (tokyo-night, dracula, nord, solarized-dark, monokai, one-dark-pro, material-dark) + - `theme` (string): Theme name (tokyo-night, dracula, nord, solarized-dark, monokai, one-dark-pro, material-dark, catppuccin-mocha, catppuccin-macchiato, catppuccin-frappe, catppuccin-latte) **Response:** - `message` (string): Success message