Compare commits

..
9 Commits
14 changed files with 46 additions and 22 deletions
+1
View File
@@ -5,6 +5,7 @@ const config = {
playgroundEndpoint: "http://127.0.0.1:17000/playground",
port: 8080,
root: "http://localhost:8080",
trustedProxy: null,
auth0: {
secret: "INVALID_SECRET",
clientId: "",
+1 -1
View File
@@ -7,7 +7,7 @@ div.overlay {
padding-top: 1em;
z-index: 999;
background-color: rgba(0, 0, 0, 0.90);
background-color: rgba(0, 0, 0, 0.95);
overflow-y: scroll;
@@ -16,12 +16,13 @@
so you can still read it (or back it up) before leaving the page.
</p>
</annotation>
<post for(post in state.log.posts)
<post for(post in state.log.posts | status-var=loop)
key=post.id
on-move("movePost", post)
on-remove("removePost", post)
on-edited("postEdited")
user=input.user
prev=(state.log.posts[loop.getIndex() - 1] || {})
post=post
characters=state.log.characters
last=(post.position === state.log.posts.length)
@@ -1,6 +1,6 @@
div.logs-content {
width: 90%;
max-width: 75ch;
max-width: 95ch;
margin: auto;
div.header {
@@ -1,4 +1,6 @@
<div if(!state.removed) class=["post", component.kindClass("post-type")]>
$ const multipart = (input.post.nick == input.prev.nick && input.prev.multipart !== false);
<div if(!state.removed) class=["post", component.kindClass("post-type"), multipart ? "multipart" : null]>
<div class="post-meta-row">
<div class="options color-menu">
<if-permitted user=input.user permission="post.move">
@@ -24,7 +26,8 @@
<markdown class="post-content post-scene" source=state.text />
</div>
<div if(input.post.kind === "action") class="post-body color-text">
<markdown class="post-content post-action" source=(state.shortName + state.nameSuffix + " " + state.text) />
$ const prefix = (!multipart ? state.shortName + state.nameSuffix + " " : "");
<markdown class="post-content post-action" source=(prefix + state.text) />
</div>
<div if(input.post.kind === "text") class="post-body color-text">
<markdown class="post-content post-text" source=state.text />
@@ -10,7 +10,7 @@ div.post {
position: absolute;
text-align: right;
width: calc(100% - 35.5ch);
max-width: 75ch;
max-width: 95ch;
a {
display: inline-block;
@@ -53,4 +53,14 @@ div.post {
margin-top: 0;
padding-top: 0;
}
}
div.post.multipart {
margin-top: -1.25em;
div.post-meta {
span {
display: none;
}
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
<include("../layout", {title: "Logs", site: "logs"})>
<@body>
<background src="/assets/images/bg.png" opacity=0.25 />
<background src="/assets/images/bg.png" opacity=0.125 />
<page log=input.log user=input.user selected=input.selected />
</@body>
</include>
@@ -16,7 +16,7 @@
position: absolute;
text-align: right;
width: calc(100% - 35.5ch);
max-width: 75ch;
max-width: 95ch;
pointer-events: none;
@@ -1,6 +1,6 @@
.story-content {
width: 90%;
max-width: 75ch;
max-width: 95ch;
margin: auto;
h1 {
+1 -1
View File
@@ -1,6 +1,6 @@
<include("../layout", {title: "Stories", site: "story"})>
<@body>
<background src="/assets/images/bg.png" opacity=0.25 />
<background src="/assets/images/bg.png" opacity=0.125 />
<page story=input.story categories=input.categories user=input.user selected=input.selected />
</@body>
</include>
@@ -9,7 +9,7 @@ div.tags-page {
}
div.groups {
column-count: 4;
column-count: 5;
padding: 0.5em;
div.group {
@@ -43,7 +43,15 @@ div.tags-page {
}
}
@media screen and (max-width: 1900px) {
@media screen and (max-width: 2000px) {
div.tags-page {
div.groups {
column-count: 4;
}
}
}
@media screen and (max-width: 1400px) {
div.tags-page {
div.groups {
column-count: 3;
@@ -51,7 +59,7 @@ div.tags-page {
}
}
@media screen and (max-width: 1300px) {
@media screen and (max-width: 1000px) {
div.tags-page {
div.groups {
column-count: 2;
@@ -59,7 +67,7 @@ div.tags-page {
}
}
@media screen and (max-width: 1000px) {
@media screen and (max-width: 900px) {
div.tags-page {
div.groups {
column-count: 1;
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@gisle/rpdata-frontend",
"version": "1.0.2",
"version": "1.0.7",
"description": "RPData (www.aiterp.net) frontend/proxy",
"main": "./index.js",
"scripts": {
+1 -5
View File
@@ -17,11 +17,7 @@ router.get("/login", saveReferer, passport.authenticate("auth0", {scope: "openid
res.redirect("/")
})
router.get("/error", (req, res) => {
res.render("Login error")
})
router.get("/callback", passport.authenticate("auth0", { failureRedirect: "/auth/error" }), (req, res) => {
router.get("/callback", passport.authenticate("auth0"), (req, res) => {
if (req.user == null) {
throw new Error("user null");
}
+7 -2
View File
@@ -33,7 +33,7 @@ lasso.configure({
outputDir: "./.static", // Place all generated JS/CSS/etc. files into the "static" dir
bundlingEnabled: isProduction, // Only enable bundling in production
minify: isProduction, // Only minify JS and CSS code in production
fingerprintsEnabled: true, // Only add fingerprints to URLs in production
fingerprintsEnabled: isProduction, // Only add fingerprints to URLs in production
require: {
builtins: {
@@ -54,6 +54,11 @@ lasso.configure({
}
})
// Set trusted proxy
if (config.trustedProxy != null) {
app.set('trust proxy', config.trustedProxy)
}
// Apply middleware
app.use(markoExpress())
app.use(session)
@@ -83,7 +88,7 @@ app.use("/story/by-author/", require("./routes/story/by-author"))
app.use("/story/tag-list/", require("./routes/story/tag-list"))
app.use("/story/:id(S[0-9a-z]{15})/", require("./routes/story-content"))
app.use("/logs/", require("./routes/logs"))
app.use("/logs/:id([0-9]{4}-[0-1][0-9]-[0-3][0-9]_[0-9]{9}_[A-Za-z\,\']{2,})/", require("./routes/logs-content"))
app.use("/logs/:id([0-9]{4}-[0-1][0-9]-[0-3][0-9]_[0-9]{9}_[A-Za-z0-9\,\']{2,})/", require("./routes/logs-content"))
app.use("/logs/:id(L[0-9]{0,7})/", require("./routes/logs-content"))
app.use("/data/", require("./routes/data"))
app.use("/data/characters/", require("./routes/data/characters"))