mirror of
https://github.com/Open-Argon/isotope-server.git
synced 2026-10-28 09:43:51 +00:00
add author page
This commit is contained in:
1 parent
c99b940068
commit
8919bf3f1b
4 files changed
+77
No files matched your search
@@ -23,6 +23,7 @@ import "routes/website/package/create"
|
||||
import "routes/website/account/auth"
|
||||
import "routes/website/account/login"
|
||||
import "routes/website/account/logout"
|
||||
import "routes/website/account/profile"
|
||||
import "routes/website/account/account"
|
||||
import "routes/website/account/register"
|
||||
|
||||
|
||||
@@ -20,5 +20,6 @@ let download(req, res) = do
|
||||
let filename = currentVersion.get_value("filename")
|
||||
let p = path.join([program.cwd, "data","packages", name, filename])
|
||||
package.downloads = package.get_value("downloads", 0) + 1
|
||||
makeChange()
|
||||
res.sendFile(p)
|
||||
app.get("/isotope-download", download)
|
||||
@@ -0,0 +1,15 @@
|
||||
import "server" as *
|
||||
import "database" as *
|
||||
import "url.ar" as url
|
||||
import "bleach.ar" as bleach
|
||||
|
||||
let accountpage(req, res) = do
|
||||
let acc = account.getById(req.query.get_value("id", ""))
|
||||
if (not acc) return res.next()
|
||||
let keys = packages.keys()
|
||||
keys.sort()
|
||||
let packages = keys.filter((key) = packages[key].owner == acc.id).map((key) = packages[key])
|
||||
packages.sort(false,(package)=package.get_value("downloads", 0))
|
||||
let rendered = packages.map((package) = "<a href='/package?"+url.queryStr({name:package.name})+"'><h1>"+bleach.clean(package.name)+"</h1><p>"+bleach.clean(package.get_value("short-description",""))+"</p></a>")
|
||||
res.renderTemplate("profile.html", {username:acc.username, packages:rendered.join("")})
|
||||
app.get("/author", accountpage)
|
||||
@@ -0,0 +1,60 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Isotope</title>
|
||||
<link rel="stylesheet" type="text/css" href="/styles.css" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
|
||||
/>
|
||||
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="180x180"
|
||||
href="/apple-touch-icon.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="/favicon-32x32.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="194x194"
|
||||
href="/favicon-194x194.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="192x192"
|
||||
href="/android-chrome-192x192.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="16x16"
|
||||
href="/favicon-16x16.png"
|
||||
/>
|
||||
<link rel="manifest" href="/site.webmanifest" />
|
||||
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#0b1d28" />
|
||||
<meta name="apple-mobile-web-app-title" content="Isotope" />
|
||||
<meta name="application-name" content="Isotope" />
|
||||
<meta name="msapplication-TileColor" content="#0b1d28" />
|
||||
<meta name="msapplication-TileImage" content="/mstile-144x144.png" />
|
||||
<meta name="theme-color" content="#0b1d28" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="content">
|
||||
{{%navbar}}
|
||||
<div>
|
||||
<h1>{{username}}</h1>
|
||||
<div class="split"></div>
|
||||
<h2>Packages</h2>
|
||||
<div class="results">{{%packages}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user