comparison src/lib/Shared.luan @ 3:2c63b10781e1

add login
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 24 Oct 2024 21:43:44 -0600
parents ee1f91e67509
children f9e6a4cc4f7d
comparison
equal deleted inserted replaced
2:ee1f91e67509 3:2c63b10781e1
2 local error = Luan.error 2 local error = Luan.error
3 local ipairs = Luan.ipairs or error() 3 local ipairs = Luan.ipairs or error()
4 local parse = Luan.parse or error() 4 local parse = Luan.parse or error()
5 local Io = require "luan:Io.luan" 5 local Io = require "luan:Io.luan"
6 local uri = Io.uri or error() 6 local uri = Io.uri or error()
7 local Time = require "luan:Time.luan"
8 local Thread = require "luan:Thread.luan"
9 local thread_run = Thread.run or error()
10 local Mail = require "luan:mail/Mail.luan"
7 local User = require "site:/lib/User.luan" 11 local User = require "site:/lib/User.luan"
8 local current_user = User.current or error() 12 local current_user = User.current or error()
9 13
10 14
11 local Shared = {} 15 local Shared = {}
12 16
17 local started = Time.now()
18
13 function Shared.head() 19 function Shared.head()
14 %> 20 %>
15 <meta name="viewport" content="width=device-width, initial-scale=1"> 21 <meta name="viewport" content="width=device-width, initial-scale=1">
22 <title>Web Chat</title>
16 <style> 23 <style>
17 @import "/site.css"; 24 @import "/site.css?s=<%=started%>";
18 </style> 25 </style>
26 <script src="/site.js?s=<%=started%>"></script>
19 <% 27 <%
20 end 28 end
21 29
22 local function header(crumbs) 30 local function header(crumbs)
23 local user = current_user() 31 local user = current_user()
64 } 72 }
65 } 73 }
66 end 74 end
67 end 75 end
68 76
77 local send_mail = Mail.sender(Shared.config.mail_server).send
78
79 function Shared.send_mail_async(mail)
80 thread_run( function()
81 send_mail(mail)
82 end )
83 end
84
69 return Shared 85 return Shared