4e54075078
CI / test (push) Has been cancelled
CI / verify (push) Has been cancelled
Clients CI / build-server (push) Has been cancelled
Clients CI / test-python (push) Has been cancelled
Clients CI / test-javascript (push) Has been cancelled
Clients CI / test-nim (push) Has been cancelled
Clients CI / test-rust (push) Has been cancelled
51 lines
1.1 KiB
Nim
51 lines
1.1 KiB
Nim
#? stdtmpl(subsChar = '$', metaChar = '#')
|
|
#import xmltree
|
|
#import ../model
|
|
#import user
|
|
#
|
|
#proc `$!`(text: string): string = escape(text)
|
|
#end proc
|
|
#
|
|
#proc renderMain*(body: string): string =
|
|
# result = ""
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Tweeter written in Nim</title>
|
|
<link rel="stylesheet" type="text/css" href="style.css">
|
|
</head>
|
|
|
|
<body>
|
|
${body}
|
|
</body>
|
|
|
|
</html>
|
|
#end proc
|
|
#
|
|
#proc renderLogin*(): string =
|
|
# result = ""
|
|
<div id="login">
|
|
<span>Login</span>
|
|
<span class="small">Please type in your username...</span>
|
|
<form action="login" method="post">
|
|
<input type="text" name="username">
|
|
<input type="submit" value="Login">
|
|
</form>
|
|
</div>
|
|
#end proc
|
|
#
|
|
#proc renderTimeline*(username: string, messages: openArray[Message]): string =
|
|
# result = ""
|
|
<div id="user">
|
|
<h1>${$!username} timeline</h1>
|
|
</div>
|
|
<div id="newMessage">
|
|
<span>New message</span>
|
|
<form action="createMessage" method="post">
|
|
<input type="text" name="message">
|
|
<input type="hidden" name="username" value="${$!username}">
|
|
<input type="submit" value="Tweet">
|
|
</form>
|
|
</div>
|
|
${renderMessages(messages)}
|
|
#end proc |