login

<     >

2023-08-04 11:57:28 (UTC-03:00)

Marcel Rodrigues <marcelgmr@gmail.com>

add project page

diff --git a/skopos.lua b/skopos.lua
index d7d5b54..ac19462 100644
--- a/skopos.lua
+++ b/skopos.lua
@@ -141,6 +141,16 @@ function App:routes()
         local env = {title=self.title, user=user, projs=projs}
         return lud.template.render_file("view/projs.html", env)
     end},
+    {"GET", "/p/([-_%w]+)",
+    function (req, name)
+        local user = self:get_user(req)
+        if user == nil then return "/login", 303 end
+        local proj = self.model:get_user_project(user.id, name)
+        if proj == nil then return "not found", 404 end
+        local columns = self.model:get_board(user.id, proj.id)
+        local env = {title=self.title, user=user, proj=proj, columns=columns}
+        return lud.template.render_file("view/proj.html", env)
+    end},
     {"GET", "/new/project",
     function (req)
         local user = self:get_user(req)

diff --git a/view/home.html b/view/home.html
index d302042..e19ac1a 100644
--- a/view/home.html
+++ b/view/home.html
@@ -11,7 +11,6 @@
 </head>
 <body>
   <div class="centered menu">
-    <a href="/new/ticket">new ticket</a>
     <a href="/p">projects</a>
     <a href="/invites">invites</a>
   </div>

diff --git a/view/proj.html b/view/proj.html
new file mode 100644
index 0000000..f1a8d6e
--- /dev/null
+++ b/view/proj.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <title>{{$title}}</title>
+  <style>
+    .centered { text-align: center; }
+    .menu a { margin: 7px; }
+    % include view/board.css
+  </style>
+</head>
+<body>
+  <div class="centered menu">
+    <a href="/p/{{$proj.name}}/new/ticket">new ticket</a>
+  </div>
+  <br>
+  <h1 class="centered">{{$proj.name}} Board</h1>
+  <div class="kanban-board">
+    % for column in $columns do
+    <div class="kanban-column">
+      <h2>{{$column[0].name}}</h2>
+      % for card in $column do
+      <div class="kanban-card">
+        <p>{{$card.title}}</p>
+        <div class="buttons">
+          <button disabled>←</button>
+          <button>→</button>
+        </div>
+      </div>
+      % end
+    </div>
+    % end
+  </div>
+</body>
+</html>