Mercurial Hosting > lang
diff src/lib/Shared.luan @ 2:78708fa556a0
add login
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 08 Jul 2025 15:55:34 -0600 |
parents | 1c87f785eb42 |
children | b1adec083e44 |
line wrap: on
line diff
--- a/src/lib/Shared.luan Tue Jul 08 14:18:25 2025 -0600 +++ b/src/lib/Shared.luan Tue Jul 08 15:55:34 2025 -0600 @@ -1,6 +1,12 @@ local Luan = require "luan:Luan.luan" local error = Luan.error local Time = require "luan:Time.luan" +local Thread = require "luan:Thread.luan" +local thread_run = Thread.run or error() +local Mail = require "luan:mail/Mail.luan" +local User = require "site:/lib/User.luan" +local current_user = User.current or error() +local Config = require "site:/private/Config.luan" local Shared = {} @@ -10,6 +16,7 @@ function Shared.head() %> <meta name="viewport" content="width=device-width, initial-scale=1"> + <title>Lang</title> <style> @import "/site.css?s=<%=started%>"; </style> @@ -18,10 +25,35 @@ end function Shared.header() + local user = current_user() %> <div header> + <span> + <a href="/">Lang</a> + </span> + <span> +<% if user == nil then %> + <a href="/login.html">Login / Register</a> +<% else %> + <a href="/account.html"><%= user.email %></a> +<% end %> + </span> </div> <% end +local default_from = "Lang <lang@luan.software>" +local send_mail0 = Mail.sender(Config.mail_server).send +function Shared.send_mail(mail) + mail.From = mail.From or default_from + send_mail0(mail) +end + +function Shared.send_mail_async(mail) + mail.From = mail.From or default_from + thread_run( function() + send_mail0(mail) + end ) +end + return Shared