Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b75c3461f7 | ||
|
|
a10b29a0ea |
@@ -1,9 +1,9 @@
|
||||
<data-menu categories=input.categories selected=(input.selected || {}) user=input.user on-open("open") />
|
||||
<main class="data-file-page">
|
||||
<h1 class="file-list-headers color-primary">Your Private Files</h1>
|
||||
<h1 if(state.privates && state.privates.length > 0) class="file-list-headers color-primary">Your Private Files</h1>
|
||||
<file-list user=input.user files=state.privates on-removed("fileRemoved") on-edited("fileEdited") on-nicks("fileNicksChanged") />
|
||||
|
||||
<h1 class="file-list-headers color-primary">Public Files</h1>
|
||||
<h1 if(state.publics && state.publics.length > 0) class="file-list-headers color-primary">Public Files</h1>
|
||||
<file-list user=input.user files=state.publics on-removed("fileRemoved") on-edited("fileEdited") on-nicks("fileNicksChanged") />
|
||||
</main>
|
||||
<add-channel-modal enabled=(state.modal === "channel.add") user=input.user on-close("close") />
|
||||
|
||||
@@ -14,6 +14,7 @@ module.exports = class {
|
||||
channelName: "",
|
||||
date: "",
|
||||
data: "",
|
||||
sessionThresholdHours: 12,
|
||||
},
|
||||
timezones: tz.names(),
|
||||
}
|
||||
@@ -58,12 +59,24 @@ module.exports = class {
|
||||
return
|
||||
}
|
||||
} else if (input.importer === "MircLike") {
|
||||
this.state.error = "Date is required for mIRC-like logs"
|
||||
this.state.error = "Date is required for mIRC-like logs."
|
||||
return
|
||||
} else {
|
||||
input.date = null;
|
||||
}
|
||||
|
||||
if (input.importer === "IRCCloudLog") {
|
||||
const hours = parseFloat(input.sessionThresholdHours)
|
||||
if (Number.isNaN(hours)) {
|
||||
this.state.error = "The session change threshold must be a number."
|
||||
return
|
||||
}
|
||||
|
||||
input.sessionThresholdMs = Math.floor(hours * 3600000)
|
||||
}
|
||||
|
||||
delete input.sessionThresholdHours
|
||||
|
||||
if (input.channelName.length < 2 || input.channelName.includes(" ") || input.channelName.includes(" ") || input.channelName.charAt(0) !== "#") {
|
||||
this.state.error = "A valid channelName name is required"
|
||||
return
|
||||
|
||||
@@ -10,6 +10,7 @@ import moment from "moment"
|
||||
<select key="importer" autofocus class="big" placeholder="Kind" on-change("change", "importer") value=state.values.importer>
|
||||
<option value="MircLike" selected=(state.values.importer === "MircLike")>mIRC-Like log</option>
|
||||
<option value="ForumLog" selected=(state.values.importer === "ForumLog")>Forum Log</option>
|
||||
<option value="IrcCloud" selected=(state.values.importer === "IrcCloud")>IRCCloud log export</option>
|
||||
</select>
|
||||
|
||||
<label>Timezone</label>
|
||||
@@ -25,6 +26,11 @@ import moment from "moment"
|
||||
<input key="date" class="big" placeholder="(Required)" on-change("change", "date") value=state.values.date />
|
||||
</if>
|
||||
|
||||
<if(state.values.importer === "IrcCloud")>
|
||||
<label>Session Change Threshold (Hours)</label>
|
||||
<input key="sessionThreshold" class="big" placeholder="(Required)" on-change("change", "sessionThresholdHours") value=state.values.sessionThresholdHours />
|
||||
</if>
|
||||
|
||||
<label>Content</label>
|
||||
<textarea key="data" placeholder="(Required)" class="tall" on-change("change", "data") value=state.values.data />
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@ const filesTemplate = require("../../marko/page/data/files.marko")
|
||||
|
||||
router.get("/", async(req, res) => {
|
||||
let privates = []
|
||||
if (res.locals.user) {
|
||||
if (res.locals.user && res.locals.user.loggedIn) {
|
||||
privates = fileApi.list({public: false}, {token: generateToken(res.locals.user.name)})
|
||||
}
|
||||
|
||||
res.markoAsync(filesTemplate, {
|
||||
privates: privates,
|
||||
publics: fileApi.list(),
|
||||
publics: fileApi.list({public: true}),
|
||||
selected: {files: true},
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user