Add features:
- manifest.json with PNG icon set. - reset option against QuickLinks storage - 'Preferences' store, ready for preferences page - including location boolean... Important! - Minor service-worker improvements for better offline fallbacks
This commit is contained in:
@@ -11,14 +11,18 @@ const MAX_ENTRIES: number = RETURNED_LENGTH * 4;
|
||||
class QuickLinksService {
|
||||
#links = $state<QuickLink[]>([]);
|
||||
|
||||
constructor() {
|
||||
if (typeof window !== 'undefined') {
|
||||
const saved = localStorage.getItem('ql');
|
||||
if (saved) {
|
||||
this.#links = JSON.parse(saved);
|
||||
}
|
||||
}
|
||||
}
|
||||
constructor() {
|
||||
if (typeof window !== 'undefined') {
|
||||
const saved = localStorage.getItem('ql');
|
||||
if (saved) {
|
||||
try {
|
||||
this.#links = JSON.parse(saved);
|
||||
} catch {
|
||||
this.#links = [];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
get list(): QuickLink[] {
|
||||
return this.#links.slice(0, RETURNED_LENGTH);
|
||||
@@ -53,8 +57,17 @@ class QuickLinksService {
|
||||
|
||||
this.#links = sorted.slice(0, MAX_ENTRIES);
|
||||
|
||||
localStorage.setItem('ql', JSON.stringify(this.#links));
|
||||
if (typeof window !== 'undefined') {
|
||||
localStorage.setItem('ql', JSON.stringify(this.#links));
|
||||
}
|
||||
}
|
||||
|
||||
reset() {
|
||||
this.#links = [];
|
||||
if (typeof window !== 'undefined') {
|
||||
localStorage.removeItem('ql');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const quickLinks = new QuickLinksService();
|
||||
|
||||
Reference in New Issue
Block a user