@pronto-tools-and-more/custom-js-functions 11.6.0 → 11.7.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/main.js +70 -1
- package/package.json +1 -1
- package/src/parts/BookmarksKey/BookmarksKey.ts +1 -0
- package/src/parts/DisableBookmark/DisableBookmark.ts +18 -0
- package/src/parts/EnableBookmark/EnableBookmark.ts +12 -0
- package/src/parts/GetBookmarks/GetBookmarks.ts +17 -0
- package/src/parts/Globals/Globals.ts +2 -0
- package/src/parts/IsBookmarked/IsBookmarked.ts +11 -0
- package/src/parts/ToggleBookmarkArticle/ToggleBookmarkArticle.ts +11 -0
package/dist/main.js
CHANGED
@@ -481,7 +481,9 @@
|
|
481
481
|
var Globals_exports = {};
|
482
482
|
__export(Globals_exports, {
|
483
483
|
fixRender: () => fixRender,
|
484
|
-
|
484
|
+
isBookmarked: () => isBookmarked,
|
485
|
+
nativeShare: () => nativeShare,
|
486
|
+
toggleBookmarkArticle: () => toggleBookmarkArticle
|
485
487
|
});
|
486
488
|
|
487
489
|
// src/parts/FixRender/FixRender.ts
|
@@ -576,6 +578,73 @@
|
|
576
578
|
}
|
577
579
|
};
|
578
580
|
|
581
|
+
// src/parts/BookmarksKey/BookmarksKey.ts
|
582
|
+
var bookmarksKey = "bookmarks";
|
583
|
+
|
584
|
+
// src/parts/GetBookmarks/GetBookmarks.ts
|
585
|
+
var getBookmarks = () => {
|
586
|
+
const bookmarks = localStorage.getItem(bookmarksKey) || "";
|
587
|
+
if (!bookmarks) {
|
588
|
+
return [];
|
589
|
+
}
|
590
|
+
try {
|
591
|
+
const parsed = JSON.parse(bookmarks);
|
592
|
+
if (!Array.isArray(parsed)) {
|
593
|
+
return [];
|
594
|
+
}
|
595
|
+
return parsed;
|
596
|
+
} catch {
|
597
|
+
return [];
|
598
|
+
}
|
599
|
+
};
|
600
|
+
|
601
|
+
// src/parts/IsBookmarked/IsBookmarked.ts
|
602
|
+
var isBookmarked = (id2) => {
|
603
|
+
const bookmarks = getBookmarks();
|
604
|
+
for (const item of bookmarks) {
|
605
|
+
if (item && item.id && item.id === id2) {
|
606
|
+
return true;
|
607
|
+
}
|
608
|
+
}
|
609
|
+
return false;
|
610
|
+
};
|
611
|
+
|
612
|
+
// src/parts/DisableBookmark/DisableBookmark.ts
|
613
|
+
var disableBookmark = (info) => {
|
614
|
+
const bookmarks = getBookmarks();
|
615
|
+
const newBookmarks = bookmarks.filter((item) => {
|
616
|
+
if (item.id === info.id) {
|
617
|
+
return false;
|
618
|
+
}
|
619
|
+
return true;
|
620
|
+
});
|
621
|
+
localStorage.setItem(bookmarksKey, JSON.stringify(newBookmarks));
|
622
|
+
const $Element = document.querySelector(`[data-article-id="${info.id}"]`);
|
623
|
+
if ($Element && $Element instanceof HTMLElement) {
|
624
|
+
$Element.dataset.bookmarked = "false";
|
625
|
+
}
|
626
|
+
};
|
627
|
+
|
628
|
+
// src/parts/EnableBookmark/EnableBookmark.ts
|
629
|
+
var enableBookmark = (info) => {
|
630
|
+
const bookmarks = getBookmarks();
|
631
|
+
const newBookmarks = [...bookmarks, info];
|
632
|
+
localStorage.setItem(bookmarksKey, JSON.stringify(newBookmarks));
|
633
|
+
const $Element = document.querySelector(`[data-article-id="${info.id}"]`);
|
634
|
+
if ($Element && $Element instanceof HTMLElement) {
|
635
|
+
$Element.dataset.bookmarked = "true";
|
636
|
+
}
|
637
|
+
};
|
638
|
+
|
639
|
+
// src/parts/ToggleBookmarkArticle/ToggleBookmarkArticle.ts
|
640
|
+
var toggleBookmarkArticle = (info) => {
|
641
|
+
if (isBookmarked(info.id)) {
|
642
|
+
disableBookmark(info);
|
643
|
+
} else {
|
644
|
+
enableBookmark(info);
|
645
|
+
}
|
646
|
+
};
|
647
|
+
|
579
648
|
// src/parts/Main/Main.ts
|
580
649
|
var main = () => {
|
581
650
|
const ref = window.$functions || {};
|
package/package.json
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
export const bookmarksKey = "bookmarks";
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { bookmarksKey } from "../BookmarksKey/BookmarksKey.ts";
|
2
|
+
import { getBookmarks } from "../GetBookmarks/GetBookmarks.ts";
|
3
|
+
|
4
|
+
export const disableBookmark = (info) => {
|
5
|
+
const bookmarks = getBookmarks();
|
6
|
+
const newBookmarks = bookmarks.filter((item) => {
|
7
|
+
if (item.id === info.id) {
|
8
|
+
return false;
|
9
|
+
}
|
10
|
+
return true;
|
11
|
+
});
|
12
|
+
localStorage.setItem(bookmarksKey, JSON.stringify(newBookmarks));
|
13
|
+
const $Element = document.querySelector(`[data-article-id="${info.id}"]`);
|
14
|
+
|
15
|
+
if ($Element && $Element instanceof HTMLElement) {
|
16
|
+
$Element.dataset.bookmarked = "false";
|
17
|
+
}
|
18
|
+
};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { bookmarksKey } from "../BookmarksKey/BookmarksKey.ts";
|
2
|
+
import { getBookmarks } from "../GetBookmarks/GetBookmarks.ts";
|
3
|
+
|
4
|
+
export const enableBookmark = (info) => {
|
5
|
+
const bookmarks = getBookmarks();
|
6
|
+
const newBookmarks = [...bookmarks, info];
|
7
|
+
localStorage.setItem(bookmarksKey, JSON.stringify(newBookmarks));
|
8
|
+
const $Element = document.querySelector(`[data-article-id="${info.id}"]`);
|
9
|
+
if ($Element && $Element instanceof HTMLElement) {
|
10
|
+
$Element.dataset.bookmarked = "true";
|
11
|
+
}
|
12
|
+
};
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { bookmarksKey } from "../BookmarksKey/BookmarksKey.ts";
|
2
|
+
|
3
|
+
export const getBookmarks = () => {
|
4
|
+
const bookmarks = localStorage.getItem(bookmarksKey) || "";
|
5
|
+
if (!bookmarks) {
|
6
|
+
return [];
|
7
|
+
}
|
8
|
+
try {
|
9
|
+
const parsed = JSON.parse(bookmarks);
|
10
|
+
if (!Array.isArray(parsed)) {
|
11
|
+
return [];
|
12
|
+
}
|
13
|
+
return parsed;
|
14
|
+
} catch {
|
15
|
+
return [];
|
16
|
+
}
|
17
|
+
};
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { getBookmarks } from "../GetBookmarks/GetBookmarks.ts";
|
2
|
+
|
3
|
+
export const isBookmarked = (id: string): boolean => {
|
4
|
+
const bookmarks = getBookmarks();
|
5
|
+
for (const item of bookmarks) {
|
6
|
+
if (item && item.id && item.id === id) {
|
7
|
+
return true;
|
8
|
+
}
|
9
|
+
}
|
10
|
+
return false;
|
11
|
+
};
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { disableBookmark } from "../DisableBookmark/DisableBookmark.ts";
|
2
|
+
import { enableBookmark } from "../EnableBookmark/EnableBookmark.ts";
|
3
|
+
import { isBookmarked } from "../IsBookmarked/IsBookmarked.ts";
|
4
|
+
|
5
|
+
export const toggleBookmarkArticle = (info) => {
|
6
|
+
if (isBookmarked(info.id)) {
|
7
|
+
disableBookmark(info);
|
8
|
+
} else {
|
9
|
+
enableBookmark(info);
|
10
|
+
}
|
11
|
+
};
|