summaryrefslogtreecommitdiff
path: root/public/assets/js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/js')
-rw-r--r--public/assets/js/lib/views/stream/hootstream.js20
-rw-r--r--public/assets/js/util/icons.js6
2 files changed, 20 insertions, 6 deletions
diff --git a/public/assets/js/lib/views/stream/hootstream.js b/public/assets/js/lib/views/stream/hootstream.js
index 1ab9725..cd25719 100644
--- a/public/assets/js/lib/views/stream/hootstream.js
+++ b/public/assets/js/lib/views/stream/hootstream.js
@@ -388,6 +388,10 @@ var HootStream = View.extend({
thread = thread[0];
const isViewingKeyword = query.keyword === thread.keyword;
const isViewingThread = query.thread === thread.id;
+ const isCompleteThread = !!(
+ thread.file_count === files.length + images.length &&
+ thread.comment_count === comments.length
+ );
// console.log(thread, comments, files, images);
const postedToday = +new Date() / 1000 - thread.lastmodified < 86400;
const age_opacity = get_age_opacity(thread.lastmodified);
@@ -412,15 +416,19 @@ var HootStream = View.extend({
const sortedFiles = this.sortFiles(files, thread.settings?.sort);
const actions = [
- hasAudio && { action: "play", label: "Play music" },
- !isViewingThread && { action: "expand", label: "Expand" },
- { action: "post", label: "Post" },
+ hasAudio && { action: "play", label: "play music", icon: "play" },
+ !isViewingThread &&
+ !isCompleteThread && {
+ action: "expand",
+ label: "expand",
+ icon: "expand",
+ },
+ { action: "post", label: "post", icon: "edit" },
]
.filter((action) => !!action)
.map(
- ({ action, label }) =>
- "<div>&middot;</div>" +
- `<div class="action" data-action="${action}">${label}</div>`
+ ({ action, icon, label }) =>
+ `<div class="action" data-action="${action}" title="${label}">${ICONS[icon]}</div>`
)
.join("");
diff --git a/public/assets/js/util/icons.js b/public/assets/js/util/icons.js
new file mode 100644
index 0000000..27afb90
--- /dev/null
+++ b/public/assets/js/util/icons.js
@@ -0,0 +1,6 @@
+const ICONS = {
+ edit: '<svg class="icon" focusable="false" aria-hidden="true" viewBox="0 0 24 24"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"></path></svg>',
+ play: '<svg class="icon" focusable="false" aria-hidden="true" viewBox="0 0 24 24"><path d="M8 5v14l11-7z"></path></svg>',
+ expand:
+ '<svg class="icon" focusable="false" aria-hidden="true" viewBox="0 0 24 24"><path d="M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"></path></svg>',
+};