diff --git a/cmd/server/main.go b/cmd/server/main.go
index 12e860b..e705a1a 100644
--- a/cmd/server/main.go
+++ b/cmd/server/main.go
@@ -168,7 +168,29 @@ func main() {
}
}()
- // Dashboard route (protected)
+ // Bookshelf route (protected) - new default for logged-in users
+ protected.GET("/bookshelf", func(c echo.Context) error {
+ userID := c.Get("user_id").(string)
+ userEmail := c.Get("user_email").(string)
+ userUsername := c.Get("user_username").(string)
+ userRole := c.Get("user_role").(string)
+
+ user := templates.User{
+ ID: userID,
+ Email: userEmail,
+ Username: userUsername,
+ Role: userRole,
+ }
+
+ var buf bytes.Buffer
+ err := templates.BookShelf(user).Render(c.Request().Context(), &buf)
+ if err != nil {
+ return err
+ }
+ return c.HTML(http.StatusOK, buf.String())
+ })
+
+ // Dashboard route (protected) - keep for backward compatibility
protected.GET("/dashboard", func(c echo.Context) error {
userID := c.Get("user_id").(string)
userEmail := c.Get("user_email").(string)
diff --git a/cmd/server/tests/edge_cases_test.go b/cmd/server/tests/edge_cases_test.go
index 7c7b07f..f80545d 100644
--- a/cmd/server/tests/edge_cases_test.go
+++ b/cmd/server/tests/edge_cases_test.go
@@ -465,7 +465,7 @@ func TestHTMXRequests(t *testing.T) {
w.Write([]byte(`
Registration successful! Redirecting...
`))
} else {
json.NewEncoder(w).Encode(map[string]interface{}{
diff --git a/internal/handlers/auth.go b/internal/handlers/auth.go
index 4f40ddd..5b07257 100644
--- a/internal/handlers/auth.go
+++ b/internal/handlers/auth.go
@@ -256,7 +256,7 @@ localStorage.setItem('token', '%s');
localStorage.setItem('refreshToken', '%s');
localStorage.setItem('user', JSON.stringify(%s));
document.cookie = 'token=%s; path=/; max-age=3600';
-window.location.href = '/api/dashboard';
+window.location.href = '/bookshelf';
`, accessToken, refreshToken, fmt.Sprintf(`{"id":"%s","email":"%s","username":"%s"}`, uuid.UUID(user.ID.Bytes).String(), user.Email, user.Username), accessToken)
return c.HTML(http.StatusCreated, html)
}
@@ -412,7 +412,7 @@ localStorage.setItem('token', '%s');
localStorage.setItem('refreshToken', '%s');
localStorage.setItem('user', JSON.stringify(%s));
document.cookie = 'token=%s; path=/; max-age=3600';
-window.location.href = '/api/dashboard';
+window.location.href = '/bookshelf';
`, accessToken, refreshToken, fmt.Sprintf(`{"id":"%s","email":"%s","username":"%s","first_name":"%s","last_name":"%s"}`, uuid.UUID(user.ID.Bytes).String(), user.Email, user.Username, user.FirstName.String, user.LastName.String), accessToken)
return c.HTML(http.StatusOK, html)
}