From eb618954a334d49a8bc7b91f85b405809706e77e Mon Sep 17 00:00:00 2001 From: Matjaz Date: Fri, 11 Feb 2022 21:36:43 +0100 Subject: [PATCH] =?UTF-8?q?Izdelano=20objavljanje=20sporo=C4=8Dil.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- database/socialbot.db | Bin 45056 -> 45056 bytes lib/index.js | 28 ++++++++++++++++++++++++++++ public/stylesheets/style.css | 20 ++++++++++++++++++++ routes/index.js | 21 ++++++--------------- routes/message.js | 13 +++++++++++++ views/index.ejs | 16 +++++++--------- views/partials/_toot.ejs | 30 +++++++++++++++++------------- 7 files changed, 91 insertions(+), 37 deletions(-) create mode 100644 lib/index.js diff --git a/database/socialbot.db b/database/socialbot.db index 6c5902b227f36b9e54f2f2b4d9679b4a2764fe3c..c74d7824ec7128fe4ea55afe2a324f0a2b7af755 100644 GIT binary patch literal 45056 zcmeI5O>7&-6@ZsN;y=0m5g-IX(8-S>3l{0!7%;S3X>1*{4B{j3%)H@_8oDf_t;VD7{!SxG45W?^o zY%jr%cW?lyYiNJMF6c;HeI+V>D1-v<3F0O3t=Pk{W^^Xv3$?;O54;!BCR~W8kpL1v z0!RP}Ac4;w0r5lcH)kGs#C5pX(JKwQN-e8ywyZ%KTv#dQ%SBSo7p@h_`r!0BIlEpr z)=6opT)bRdAJI-rX@iO3bvChKwCtNmh!NiYvvX zh2kn%XPK;iwdTn6C33NNtq2ug$geKsFBaLEwPjZL;0%=8ugN`i4{H3MsUK!~*0v7{ z8Yy*dE*Meubv2Hiu8{{p$+cE9qTf-P{$-_tC!)F7|c3Fg`*Egue@(uO_ z=8z_tVK%i@m-)-pl3=UA`WWH5&73>ux@i;W_i~Hg?$TD3Iu55s zcsPV-TY8hu!NIUu}BQ`j2kJfWU#++xo9!EDEvbI!udaXEo z&zsA-eKU)*lg8l@?YHESLl1nV2(YgeQTTYo*97r>@rUAT;x0Rf8xlYQNB{{S0VIF~ zkN^@u0!RP}AOR%s2@!ZgkrenRrRB7iRMdEH`XS!zO@}__aWD2WWEDx3HEEEcKarN$ zvL16E*)oJ$}a}_?IP$l9N-pq?*V|GC3znISB#)K1#aoVtV7H(xTqk((l5$errqL zhF|K#!BgFxM!mJ2ux01`j~NB{{S z0VIF~kN^@u0!RP}Ab|&!fcSgiWY4yU$McA5@H&d=pvyDkVlP&)+z~ej1~2YlLI0tk zEnw^a)1H3`;`ha`i0;^%u`kC0(ZlFe~H|71dcNsF`h6Iqn zXNAD^X`e7#DhXfGtsT9k6N@&Zp}~BjEEAYaOv0q0mdK15kV?DW+F*GNbFVcInRnXU+)L&j6b~<3EzLqjYGxPgx2t1y zxcTqXj8VKwDyOQ6w4CMQbxIGFlYZfaZNPie?9R3+*%;3 zOwzO^`3`H34bsr9&U~+pH+75X?RI^a8ogF7F>bAGav5wY%{HN(LDnntU zR3yHq1GEw8;nE54$;UqrKFPXRgLas6J3Gm>(bHo#bQr8x}aHNvdXZXOMwdtW)>B5=;j- zwCrw7_3gd}a4iZt2zx`61zBp$;fb|l=O}cce zfdaJ~Y-Fy(pa#SKK54=m4KI)-+tXldhmi`#^^Gq4Mwi{v9PN~3<;iM>-%bwcX2d7l z?3V}5+}*hl4YBc&`Sdp2%$N=R`xwd1jg};5a>+E5&L7;J(&eyEn1hm5?WM^_``egC zSxICwX|C;{aYVWl@(E`^<5hi&?C9jKp>JJq=u77`c6Xnk&mnz2=ob#AKw%z+|IKZa zY#S!oG2eN;u|)}mK5FflZS(Dy>kV_B7&_Ul8};TqdHZF%-y5{i-J(tdQaMdcq@*Oj zLJsM30iWfO?}DrRHro!8+@S*NYHY&-Js17<^$JdPMrP&nKJ%8~R>Cu7U|x-KkQ`DM@e>zKhEa>GD+1 z@$zh7Z39?nDW{PVTq7l<34@zcy6W`_=fOzkcmTpMH*}~r$z2@cFK2Tq_^Xu2@Vt*B zz3K4@PlD1#6RNz^-W_(g(XPiXPUqxgLP~NRnk|}mbuef{yL>mZKXrp01>Zm;g8Au6P;dmd@&P;S zY{d1fkx9{XT9v4>Xx^E_VBes$O0oR#?B2Qd%7?HXUQo+96K`m92RW&We zsibD&DwWgmO0_1(v)PPlWT`4=HG^ySQklTRnDiupilo#h$sP8my_?IX64D&GOsm`G zc}0>X_$QM~^){`Ucg{26kmc;D4JIryFqg%d&frK7(t*C=E;L;;Z7+a_YaV(86z$0DK%bElX6_G8L7BlO)7D! zrleGoR;p6%Q$=pa>L(P9<1EZ_7Rf&(JxKWmhHIIsN~LT%u4Pl;p-BoJDofzws-fys zuBK@<^XVZ^GcVWDiDZ^D?F(!aoT=7fy#hfQ+~y0VIF~kN^@u0!RP}Ac6lCfrV*UC3e}b#$vyy?XBeZ;?uH| zBFXINwPUG!df_xri5+mJDx5FPy$44K{W+GpPZv&slAyzqURYH&#aSE#B~Iz7!b!dk zR+P$Fz3b^1k)AA^;Ol_Enn^3ay|9~O>4}2K(_zPzWFs&hpiJUnM=u;p0|h@{hXgg2`ToJ8 z3x=isf{&*I7XQ_RoZ&|{v2cQ6sjo1_(a{SLfcY10tc6oLRq#4>u=x`^ULea0Lf}Zf z1rJY$9T=dbIXsvSht#v+1|1_K8Ox>SG+4Rk^?i=i?Jl^O68rsr{o#;hgPDnJBAJ|E zh(qdTKLwZ;+k*Hf@pteJfcM0A#h-~kh5rlSd*U17x8SXSuZgdSUlk9^IdQ^H zMA1%SF*}Jy?IaShlW^EhLLoZ|2JIveuoJ)EPJBK)nVPZ_uh&jIo?f|b_mtNa47%<3 z|JWOX_?EaYYO%kY5C-7OMWcp`n^;IfBF0i=b?9Y>ZOXmlb@|fK;*44Hv6JUfEiMpJ zBBV)2#+7Pw-fsG!7McPJ&-Oz?i5D22yg%7Ngcl9H1gr#Pkph>f zTVTL{!1y;9+RU&87ufYe3qvSO%s>cC3Fnl6%NVi$f&>;#6CyCX{1tyt^&6#j0MrTq zg8>4AWfSZ%>SNFYV0yqUUxY(co^`c2a28?H@}fKXnb&F$>hH-C$v+poY85{KqknZ% diff --git a/lib/index.js b/lib/index.js new file mode 100644 index 0000000..7fb7b3e --- /dev/null +++ b/lib/index.js @@ -0,0 +1,28 @@ +var db = require('../models'); +var User = db.User; +var Session = db.Session; + +async function getAuthUser(sessionId) { + var session; + var user; + if(sessionId != undefined) { + session = await Session.findOne({ + include: User, + where: { + sessionid: sessionId + } + }); + if(session) { + user = session.User; + return user; + } else { + return; + } + } else { + return; + } +} + +module.exports = { + getAuthUser, +}; \ No newline at end of file diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css index 6668550..ac469cc 100644 --- a/public/stylesheets/style.css +++ b/public/stylesheets/style.css @@ -823,6 +823,11 @@ Ensure the default browser behavior of the `hidden` attribute. line-height: 2rem; } +.text-xs { + font-size: 0.75rem; + line-height: 1rem; +} + .font-bold { font-weight: 700; } @@ -847,6 +852,21 @@ Ensure the default browser behavior of the `hidden` attribute. color: rgb(37 99 235 / var(--tw-text-opacity)); } +.text-gray-300 { + --tw-text-opacity: 1; + color: rgb(209 213 219 / var(--tw-text-opacity)); +} + +.text-gray-800 { + --tw-text-opacity: 1; + color: rgb(31 41 55 / var(--tw-text-opacity)); +} + +.text-gray-500 { + --tw-text-opacity: 1; + color: rgb(107 114 128 / var(--tw-text-opacity)); +} + .shadow { --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); diff --git a/routes/index.js b/routes/index.js index 4c06968..43ae4d6 100644 --- a/routes/index.js +++ b/routes/index.js @@ -3,29 +3,20 @@ var router = express.Router(); var db = require('../models'); var User = db.User; var Session = db.Session; +var lib = require('../lib'); /* GET home page. */ router.get('/', async function(req, res, next) { console.log(req.cookies.sessionid); var sessionId = req.cookies.sessionid; - var session; - var user; - if(sessionId != undefined) { - session = await Session.findOne({ - include: User, - where: { - sessionid: sessionId - } - }); - if(session) { - user = session.User; - res.render('index', { auth: user }); - } else { - res.redirect('/login'); - } + var user = await lib.getAuthUser(sessionId); + if(user) { + var messages = await user.getMessages(); + res.render('index', { auth:user, messages:messages }); } else { res.redirect('/login'); } + }); module.exports = router; diff --git a/routes/message.js b/routes/message.js index c6721a6..f4c4b73 100644 --- a/routes/message.js +++ b/routes/message.js @@ -3,6 +3,8 @@ const db = require('../models'); var router = express.Router(); var Message = db.Message; var User = db.User; +var lib = require('../lib'); + /* GET users listing. */ router.get('/get', async function(req, res, next) { var messages = await Message.findAll(); @@ -55,4 +57,15 @@ router.get('/new2', async function(req, res, next) { res.send(message); }); +router.post('/add', async function(req, res, next) { + var sessionId = req.cookies.sessionid; + var user = await lib.getAuthUser(sessionId); + if(user) { + user.createMessage({ body: req.body.body }); + res.redirect('/'); + } else { + res.redirect('/login'); + } +}); + module.exports = router; diff --git a/views/index.ejs b/views/index.ejs index 428fa16..b847a32 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -32,7 +32,7 @@
- John Doe + <%= auth.name %>
<%= auth.name %>
<%= auth.email %>
@@ -67,10 +67,10 @@
-
+ + name="body" id="body" cols="20" placeholder="What's on your mind?">
- <% for(var i=0; i < 8; i++) {%> - <%- include('partials/_toot') %> - <% } %> + <%- include('partials/_toot', {auth:auth, messages:messages}) %>
diff --git a/views/partials/_toot.ejs b/views/partials/_toot.ejs index 8df4ace..4c1abae 100644 --- a/views/partials/_toot.ejs +++ b/views/partials/_toot.ejs @@ -1,18 +1,22 @@ -
+<% for(var i=messages.length - 1; i>= 0; i--) {%> + +
- John Doe + <%= auth.name %>
-
John Doe
+
+
+ <%= auth.name %> +
-

There are so many programs configurable in #Lua. I am making a list.

- -

I revisited the tiling window manager topic. #awesomewm is configurable in Lua, but for now I think I will rewrite my #bspwm config in Lua and learn how to do more advanced customization with conditionals.

- -

Found out that #conky's visualizations are done in Lua with the Cairo graphics library. That looks really cool and I hope to do some with that soon.

- -

Set terminal text and bspwm to #gruvbox colors.

- -

#RetroEdgeTechStack

+

+ <%= messages[i].body%> +

+
+
Posted on: <%= messages[i].createdAt %> +
-
\ No newline at end of file +
+ + <% } %> \ No newline at end of file