login

<     >

2023-08-12 17:33:33 (UTC-03:00)

Marcel Rodrigues <marcelgmr@gmail.com>

add menu and improve style

diff --git a/skopos.lua b/skopos.lua
index c9d74c7..cd23207 100644
--- a/skopos.lua
+++ b/skopos.lua
@@ -118,7 +118,7 @@ function App:routes()
         local user = self:get_user(req)
         if user == nil then return "/login?after=/i", 303 end
         local invites = self.model:get_invites(user.id)
-        local env = {title=self.title, invites=invites}
+        local env = {title=self.title, user=user, invites=invites}
         return lud.template.render_file("view/invites.html", env)
     end},
     {"POST", "/i",

diff --git a/view/archive.html b/view/archive.html
index db2ca8a..6e538cc 100644
--- a/view/archive.html
+++ b/view/archive.html
@@ -5,13 +5,13 @@
   <title>{{$title}} - Archive</title>
   <style>
     .centered { text-align: center; }
+    % include view/menu.css
     % include view/table.css
   </style>
 </head>
 <body>
-  <h1 class="centered">
-    <a href="/p/{{$proj.name}}">{{$proj.name}}</a> - Archived Tickets
-  </h1>
+  % include view/menu.html
+  <h1 class="centered">{{$proj.name}} - archived tickets</h1>
   <table class="center">
     <tr>
       <th>code</th>

diff --git a/view/board.html b/view/board.html
index be910c1..4a5c0e1 100644
--- a/view/board.html
+++ b/view/board.html
@@ -6,24 +6,19 @@
   <style>
     .centered { text-align: center; }
     .menu a { margin: 7px; }
+    % include view/menu.css
     % include view/board.css
   </style>
 </head>
 <body>
-  <div class="centered menu">
+  % include view/menu.html
   % if $proj == nil then
     % set proj_name = "global"
     % set from = "home"
-    <a href="/p">projects</a>
-    <a href="/i">invites</a>
   % else
     % set proj_name = $proj.name
     % set from = "proj"
-    <a href="/p/{{$proj.name}}/t/new">new ticket</a>
-    <a href="/p/{{$proj.name}}/a">archive</a>
   % end
-  </div>
-  <br>
   <h1 class="centered">{{$proj_name}} board</h1>
   <div class="kanban-board">
     % set state_id = 1

diff --git a/view/comment_form.html b/view/comment_form.html
index 05b714c..0a76891 100644
--- a/view/comment_form.html
+++ b/view/comment_form.html
@@ -5,11 +5,13 @@
   <title>{{$title}}</title>
   <style>
     .centered { text-align: center; }
+    % include view/menu.css
     % include view/form.css
   </style>
 </head>
 <body>
-  <h1 class="centered">Comment</h1>
+  % include view/menu.html
+  <h1 class="centered">comment</h1>
   % set action = "/p/" .. $proj.name .. "/t/" .. $tick.code .. "/c"
   % if $comm == nil then
   %   set action = $action

diff --git a/view/invites.html b/view/invites.html
index fa36d61..e4009c5 100644
--- a/view/invites.html
+++ b/view/invites.html
@@ -6,15 +6,13 @@
   <style>
     .centered { text-align: center; }
     .mono { font-family: monospace; }
+    % include view/menu.css
     % include view/table.css
   </style>
 </head>
 <body>
-  <h1 class="centered">Invites</h1>
-  <form class="centered" action="/i" method="post">
-    <button type="submit">new</button>
-  </form>
-  <br>
+  % include view/menu.html
+  <h1 class="centered">invites</h1>
   <table class="center">
     <tr>
       <th>invite</th>
@@ -33,5 +31,9 @@
       </tr>
     % end
   </table>
+  <br>
+  <form class="centered" action="/i" method="post">
+    <button type="submit">add invite</button>
+  </form>
 </body>
 </html>

diff --git a/view/join.html b/view/join.html
index c777f5b..bf0a857 100644
--- a/view/join.html
+++ b/view/join.html
@@ -10,7 +10,7 @@
   </style>
 </head>
 <body>
-  <h1 class="centered">Join</h1>
+  <h1 class="centered">join</h1>
   <form action="/join" method="post">
     <ul class="centered ul-form">
       % if #$uuid == 0 then

diff --git a/view/login.html b/view/login.html
index 0719c97..089985c 100644
--- a/view/login.html
+++ b/view/login.html
@@ -10,7 +10,7 @@
 </head>
 <body>
   <br>
-  <h1 class="centered">Login</h1>
+  <h1 class="centered">login</h1>
   % if $after ~= nil then
     % set query = "?after=" .. $after
   % else

diff --git a/view/menu.css b/view/menu.css
new file mode 100644
index 0000000..13e608b
--- /dev/null
+++ b/view/menu.css
@@ -0,0 +1,24 @@
+body {
+    margin: 0;
+    padding: 0;
+}
+
+.menu-bar {
+    display: flex;
+    justify-content: space-between;
+    width: 100%;
+    background-color: #f2f2f2;
+    padding: 10px 0;
+}
+
+.menu-bar a {
+    margin: 0 10px;
+    color: black;
+    font-family: sans-serif;
+    font-weight: bold;
+    text-decoration: none;
+}
+
+.menu-bar a:hover {
+    text-decoration: underline;
+}

diff --git a/view/menu.html b/view/menu.html
new file mode 100644
index 0000000..7027ca6
--- /dev/null
+++ b/view/menu.html
@@ -0,0 +1,22 @@
+  <nav class="menu-bar">
+    <div class="left-menu">
+      <a href="/">home</a>
+      <a href="/p">projects</a>
+    % if $proj ~= nil then
+      <a href="/p/{{$proj.name}}">{{$proj.name}}</a>
+      <a href="/p/{{$proj.name}}/a">archive</a>
+      % if $tick ~= nil then
+      <a href="/p/{{$proj.name}}/t/{{$tick.code}}/c/new">new comment</a>
+      % else
+      <a href="/p/{{$proj.name}}/t/new">new ticket</a>
+      % end
+    % else
+      <a href="/p/new">new project</a>
+    % end
+    </div>
+    <div class="right-menu">
+      <a href="/i">invites</a>
+      <a href="/u/{{$user.nick}}">profile</a>
+      <a href="/logout">logout</a>
+    </div>
+  </nav>

diff --git a/view/proj_form.html b/view/proj_form.html
index e856365..5534527 100644
--- a/view/proj_form.html
+++ b/view/proj_form.html
@@ -5,11 +5,13 @@
   <title>{{$title}}</title>
   <style>
     .centered { text-align: center; }
+    % include view/menu.css
     % include view/form.css
   </style>
 </head>
 <body>
-  <h1 class="centered">Project</h1>
+  % include view/menu.html
+  <h1 class="centered">project</h1>
   % if $proj == nil then
   %   set action = "/p"
   %   set proj = {name="", desc="", goal="", color="#000000", priority=0}

diff --git a/view/projs.html b/view/projs.html
index 03f1c52..1834e3d 100644
--- a/view/projs.html
+++ b/view/projs.html
@@ -6,13 +6,13 @@
   <style>
     .centered { text-align: center; }
     .archived { background-color: #FFFF90; }
+    % include view/menu.css
     % include view/table.css
   </style>
 </head>
 <body>
-  <h1 class="centered">Projects</h1>
-  <div class="centered"><a href="/p/new">new</a></div>
-  <br>
+  % include view/menu.html
+  <h1 class="centered">projects</h1>
   <table class="center">
     <tr>
       <th>name</th>
@@ -50,5 +50,7 @@
       </tr>
     % end
   </table>
+  <br>
+  <div class="centered"><a href="/p/new">new project</a></div>
 </body>
 </html>

diff --git a/view/ticket.html b/view/ticket.html
index c2c75c0..82cd015 100644
--- a/view/ticket.html
+++ b/view/ticket.html
@@ -6,13 +6,13 @@
   <style>
     .centered { text-align: center; }
     .menu a { margin: 7px; }
+    % include view/menu.css
     % include view/ticket.css
   </style>
 </head>
 <body>
-  <h1 class="centered">
-    <a href="/p/{{$proj.name}}">{{$proj.name}}</a> - ticket #{{$tick.code}}
-  </h1>
+  % include view/menu.html
+  <h1 class="centered">{{$proj.name}} - ticket #{{$tick.code}}</h1>
   <div class="ticket-details">
     <h1>{{$tick.title}}</h1>
     <div class="header-details">

diff --git a/view/ticket_form.html b/view/ticket_form.html
index f717446..5f021b3 100644
--- a/view/ticket_form.html
+++ b/view/ticket_form.html
@@ -5,11 +5,13 @@
   <title>{{$title}}</title>
   <style>
     .centered { text-align: center; }
+    % include view/menu.css
     % include view/form.css
   </style>
 </head>
 <body>
-  <h1 class="centered">Ticket</h1>
+  % include view/menu.html
+  <h1 class="centered">ticket</h1>
   % set action = "/p/" .. $proj.name .. "/t"
   % if $tick == nil then
   %   set action = $action