From 37a30ea509d546efd17f5b9c26b0ad270ae1818b Mon Sep 17 00:00:00 2001 From: Idrees Hassan Date: Sun, 16 Nov 2025 11:05:44 -0500 Subject: [PATCH] Add Vencord save support --- dist/extension.zip | Bin 149002 -> 149044 bytes dist/extension/birb.js | 11 +++++++++-- dist/obsidian/main.js | 7 +++++++ dist/userscript/birb.user.js | 7 +++++++ dist/vencord/birb.js | 25 ++++++++++++++++--------- dist/web/birb.js | 7 +++++++ preview/index.html | 2 +- src/context.js | 31 +++++++++++++++++++++++++++++-- src/platforms/vencord/vencord.js | 4 ++-- src/stylesheet.css | 7 +++++++ 10 files changed, 85 insertions(+), 16 deletions(-) diff --git a/dist/extension.zip b/dist/extension.zip index 5106474d8fcd805bb6423e1f5cde07fab9820ace..a144f70da8e07d7864c244d60cbdcac2fddc74c3 100644 GIT binary patch delta 24716 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.^F(qs!^VS0?j#Cj*0V$Pg{{H& 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 KFmYra0{$OFIB>QA diff --git a/dist/extension/birb.js b/dist/extension/birb.js index 98b5112..e0bbfb6 100644 --- a/dist/extension/birb.js +++ b/dist/extension/birb.js @@ -976,9 +976,9 @@ // @ts-expect-error if (chrome.runtime.lastError) { // @ts-expect-error - console.error(chrome.runtime.lastError); + error(chrome.runtime.lastError); } else { - console.log("Settings saved successfully"); + log("Settings saved successfully"); } }); } @@ -1693,6 +1693,13 @@ border: none !important; } +.birb-sticky-note-input::placeholder { + font-family: "Monocraft", monospace !important; + font-size: 14px !important; + background-color: transparent !important; + color: rgba(0, 0, 0, 0.35) !important; +} + .birb-sticky-note-input:focus { outline: none !important; box-shadow: none !important; diff --git a/dist/obsidian/main.js b/dist/obsidian/main.js index 21fbfde..dcead4d 100644 --- a/dist/obsidian/main.js +++ b/dist/obsidian/main.js @@ -1736,6 +1736,13 @@ module.exports = class PocketBird extends Plugin { border: none !important; } +.birb-sticky-note-input::placeholder { + font-family: "Monocraft", monospace !important; + font-size: 14px !important; + background-color: transparent !important; + color: rgba(0, 0, 0, 0.35) !important; +} + .birb-sticky-note-input:focus { outline: none !important; box-shadow: none !important; diff --git a/dist/userscript/birb.user.js b/dist/userscript/birb.user.js index 80f2cf2..1f84ab5 100644 --- a/dist/userscript/birb.user.js +++ b/dist/userscript/birb.user.js @@ -1698,6 +1698,13 @@ border: none !important; } +.birb-sticky-note-input::placeholder { + font-family: "Monocraft", monospace !important; + font-size: 14px !important; + background-color: transparent !important; + color: rgba(0, 0, 0, 0.35) !important; +} + .birb-sticky-note-input:focus { outline: none !important; box-shadow: none !important; diff --git a/dist/vencord/birb.js b/dist/vencord/birb.js index 9680483..d951702 100644 --- a/dist/vencord/birb.js +++ b/dist/vencord/birb.js @@ -950,15 +950,15 @@ export const Birb = () => { } } - class LocalContext extends Context { - + class VencordContext extends Context { + /** * @override * @returns {Promise} */ async getSaveData() { - log("Loading save data from localStorage"); - return JSON.parse(localStorage.getItem(SAVE_KEY) ?? "{}"); + // @ts-expect-error + return await Vencord.Api.DataStore.get(SAVE_KEY) ?? {}; } /** @@ -966,14 +966,14 @@ export const Birb = () => { * @param {BirbSaveData} saveData */ async putSaveData(saveData) { - log("Saving data to localStorage"); - localStorage.setItem(SAVE_KEY, JSON.stringify(saveData)); + // @ts-expect-error + await Vencord.Api.DataStore.set(SAVE_KEY, saveData); } /** @override */ resetSaveData() { - log("Resetting save data in localStorage"); - localStorage.removeItem(SAVE_KEY); + // @ts-expect-error + Vencord.Api.DataStore.del(SAVE_KEY); } } @@ -1679,6 +1679,13 @@ export const Birb = () => { border: none !important; } +.birb-sticky-note-input::placeholder { + font-family: "Monocraft", monospace !important; + font-size: 14px !important; + background-color: transparent !important; + color: rgba(0, 0, 0, 0.35) !important; +} + .birb-sticky-note-input:focus { outline: none !important; box-shadow: none !important; @@ -2616,7 +2623,7 @@ export const Birb = () => { }); } - initializeApplication(new LocalContext()); + initializeApplication(new VencordContext()); })(); diff --git a/dist/web/birb.js b/dist/web/birb.js index 4af8e0b..e0c26be 100644 --- a/dist/web/birb.js +++ b/dist/web/birb.js @@ -1678,6 +1678,13 @@ border: none !important; } +.birb-sticky-note-input::placeholder { + font-family: "Monocraft", monospace !important; + font-size: 14px !important; + background-color: transparent !important; + color: rgba(0, 0, 0, 0.35) !important; +} + .birb-sticky-note-input:focus { outline: none !important; box-shadow: none !important; diff --git a/preview/index.html b/preview/index.html index 7a16e7a..e74e7ea 100644 --- a/preview/index.html +++ b/preview/index.html @@ -26,6 +26,6 @@
- + \ No newline at end of file diff --git a/src/context.js b/src/context.js index d52f166..a135e6f 100644 --- a/src/context.js +++ b/src/context.js @@ -181,9 +181,9 @@ export class BrowserExtensionContext extends Context { // @ts-expect-error if (chrome.runtime.lastError) { // @ts-expect-error - console.error(chrome.runtime.lastError); + error(chrome.runtime.lastError); } else { - console.log("Settings saved successfully"); + log("Settings saved successfully"); } }); } @@ -276,6 +276,33 @@ export class ObsidianContext extends Context { } } +export class VencordContext extends Context { + + /** + * @override + * @returns {Promise} + */ + async getSaveData() { + // @ts-expect-error + return await Vencord.Api.DataStore.get(SAVE_KEY) ?? {}; + } + + /** + * @override + * @param {BirbSaveData} saveData + */ + async putSaveData(saveData) { + // @ts-expect-error + await Vencord.Api.DataStore.set(SAVE_KEY, saveData); + } + + /** @override */ + resetSaveData() { + // @ts-expect-error + Vencord.Api.DataStore.del(SAVE_KEY); + } +} + /** * Parse URL parameters into a key-value map * @param {string} url diff --git a/src/platforms/vencord/vencord.js b/src/platforms/vencord/vencord.js index 9b0133f..85645ad 100644 --- a/src/platforms/vencord/vencord.js +++ b/src/platforms/vencord/vencord.js @@ -1,4 +1,4 @@ import { initializeApplication } from "../../application.js"; -import { LocalContext } from "../../context.js"; +import { VencordContext } from "../../context.js"; -initializeApplication(new LocalContext()); \ No newline at end of file +initializeApplication(new VencordContext()); \ No newline at end of file diff --git a/src/stylesheet.css b/src/stylesheet.css index 9ccdd24..fd82706 100644 --- a/src/stylesheet.css +++ b/src/stylesheet.css @@ -357,6 +357,13 @@ border: none !important; } +.birb-sticky-note-input::placeholder { + font-family: "Monocraft", monospace !important; + font-size: 14px !important; + background-color: transparent !important; + color: rgba(0, 0, 0, 0.35) !important; +} + .birb-sticky-note-input:focus { outline: none !important; box-shadow: none !important;