-
+// Source: src/img/icons/custom/hashtag-line.svg, src/img/icons/custom/hashtag-solid.svg
+export function hashtagIconTemplate({ filled = false } = {}) {
+ return html`
+ ${filled
+ ? html`
`
+ : html`
`}
`;
}
diff --git a/src/js/templates/icons/feedIcon.template.js b/src/js/templates/icons/listIcon.template.js
similarity index 95%
rename from src/js/templates/icons/feedIcon.template.js
rename to src/js/templates/icons/listIcon.template.js
index 859a9739..1cc5d5f1 100644
--- a/src/js/templates/icons/feedIcon.template.js
+++ b/src/js/templates/icons/listIcon.template.js
@@ -1,8 +1,8 @@
import { html } from "/js/lib/lit-html.js";
import { classnames } from "/js/utils.js";
-export function feedIconTemplate({ filled = false } = {}) {
- return html`
+export function listIconTemplate({ filled = false } = {}) {
+ return html`
${filled
? html`
- ${dragHandle}
+ ${editControls}
`;
}
if (item.type === "list") {
@@ -108,7 +140,7 @@ class FeedsView extends View {
`
: ""}
- ${dragHandle}
+ ${editControls}
`;
}
const feedGenerator = item.data;
@@ -136,14 +168,15 @@ class FeedsView extends View {
`
: ""}
- ${dragHandle}
+ ${editControls}
`;
}
pageEffect(root, () => {
const currentUser = dataLayer.derived.$currentUser.get();
const pinnedItems = dataLayer.derived.$hydratedPinnedItems.get();
- const draftOrder = state.$draftOrder.get();
+ const draftOrder = state.$draftOrder;
+ const draftUnpinned = state.$draftUnpinned;
const isEditing = state.$isEditing.get();
const isSaving = state.$isSaving.get();
@@ -151,7 +184,7 @@ class FeedsView extends View {
let persistedOrder = null;
if (pinnedItems) {
persistedOrder = pinnedItems.map(valueForPinnedItem);
- if (draftOrder) {
+ if (draftOrder.length > 0) {
const byValue = new Map(
pinnedItems.map((it) => [valueForPinnedItem(it), it]),
);
@@ -159,6 +192,11 @@ class FeedsView extends View {
.map((value) => byValue.get(value))
.filter(Boolean);
}
+ if (draftUnpinned.size > 0) {
+ orderedItems = orderedItems.filter(
+ (it) => !draftUnpinned.has(valueForPinnedItem(it)),
+ );
+ }
}
const canEdit = (pinnedItems?.length ?? 0) >= 2;
@@ -169,7 +207,6 @@ class FeedsView extends View {
title: "Feeds",
subtitle: "",
rightItemTemplate: () => {
- if (!canEdit) return null;
if (isEditing) {
return html`