add author page

This commit is contained in:
William Bell committed 2023-11-16 23:12:41 +00:00
1 parent c99b940068
commit 8919bf3f1b
4 files changed
+77

No files matched your search

+1
View File
@@ -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"
+1
View File
@@ -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)
+15
View File
@@ -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)
+60
View File
@@ -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>