From 90431f824ad0f6a16650dc57be1b69aa45d6ddbd Mon Sep 17 00:00:00 2001 From: Dmytro Kondakov Date: Sat, 22 Feb 2025 16:41:52 +0100 Subject: [PATCH] add biome --- .vscode/settings.json | 10 +++++ biome.json | 12 ++++++ bun.lockb | Bin 98014 -> 101508 bytes package.json | 5 ++- src/App.tsx | 66 ++++++++++++++++---------------- src/components/FolderPicker.tsx | 1 + src/components/TitleBar.tsx | 10 ++--- 7 files changed, 65 insertions(+), 39 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 biome.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..3d4dd46 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,10 @@ +{ + "editor.defaultFormatter": "biomejs.biome", + "[typescript]": { + "editor.defaultFormatter": "biomejs.biome" + }, + "[typescriptreact]": { + "editor.defaultFormatter": "biomejs.biome" + }, + "editor.formatOnSave": true +} diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..decb4ed --- /dev/null +++ b/biome.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.5.3/schema.json", + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + } +} diff --git a/bun.lockb b/bun.lockb index 03048d9c54bdb48f5d61e479778c7c23d4d5c67b..9521d2313b718e3596a60af2e8b3a1c9ac3fca5f 100755 GIT binary patch delta 15670 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 delta 13406 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%0Di$V+DU78I4qkh(+_r0ivJh&UZw z0tyy(U04Cl|Lbe{a-Nn0_wq!a6xJ-mxHCLE#U5VMxIs(!h~-C7d*TaOU7B|j#PSq$ zb66auzOITZ0IP9ZIK}7AnI<#-1Lso&pY}~0wZc=eqZ`+Y`%lVumET_Uid(_BfP843 z*%Dvpd)Hl4Ats@z)wr=-*sJE%g655?+zPwIDk!j1;zNMX8GQQEvocP+m&Q7Z>uGRv zn21bg;gRZJ-H^EAVQR;cKlKdy`M2+NQ2@2J75HGFrEp^4b8kPrHo`Iwd_(YaLI(Oh r3QjxqD)<2K`?5y%SEjf9`Uw4@0#DZpu|1u&-g+aQP3y-acP#xodcTOL diff --git a/package.json b/package.json index 02432f0..f3a7498 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,9 @@ "dev": "vite", "build": "vite build", "serve": "vite preview", - "tauri": "tauri" + "tauri": "tauri", + "lint": "bunx @biomejs/biome lint .", + "format": "bunx @biomejs/biome format . --write" }, "license": "MIT", "dependencies": { @@ -18,6 +20,7 @@ "solid-js": "^1.9.3" }, "devDependencies": { + "@biomejs/biome": "^1.9.4", "@tauri-apps/cli": "^2", "autoprefixer": "^10.4.20", "postcss": "^8.5.3", diff --git a/src/App.tsx b/src/App.tsx index 83f5be7..6d150fa 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,45 +1,45 @@ +import { TitleBar } from "./components/TitleBar"; import { FolderPicker } from "./components/FolderPicker"; import { listen } from "@tauri-apps/api/event"; import { createEffect, createSignal } from "solid-js"; -import { TitleBar } from "./components/TitleBar"; function App() { - const [latestImage, setLatestImage] = createSignal(null); + const [latestImage, setLatestImage] = createSignal(null); - createEffect(() => { - // Listen for PNG processing events - const unlisten = listen("png-processed", (event) => { - console.log("Received processed PNG"); - const base64Data = event.payload as string; - setLatestImage(`data:image/png;base64,${base64Data}`); - }); + createEffect(() => { + // Listen for PNG processing events + const unlisten = listen("png-processed", (event) => { + console.log("Received processed PNG"); + const base64Data = event.payload as string; + setLatestImage(`data:image/png;base64,${base64Data}`); + }); - return () => { - unlisten.then((fn) => fn()); // Cleanup listener - }; - }); + return () => { + unlisten.then((fn) => fn()); // Cleanup listener + }; + }); - return ( - <> - -
-

Pick screenshots folder

- + return ( + <> + +
+

Pick screenshots folder

+ - {/* Display the latest processed image */} - {latestImage() && ( -
-

Latest Processed Image:

- Latest processed -
- )} -
- - ); + {/* Display the latest processed image */} + {latestImage() && ( +
+

Latest Processed Image:

+ Latest processed +
+ )} +
+ + ); } export default App; diff --git a/src/components/FolderPicker.tsx b/src/components/FolderPicker.tsx index 20ed44b..585fbbe 100644 --- a/src/components/FolderPicker.tsx +++ b/src/components/FolderPicker.tsx @@ -29,6 +29,7 @@ export function FolderPicker() { return (