diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.github/images/bmc-button.png b/.github/images/bmc-button.png new file mode 100644 index 0000000..a0f5988 Binary files /dev/null and b/.github/images/bmc-button.png differ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..568954f --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# Fresh build directory +_fresh/ +# npm dependencies +node_modules/ + +.direnv/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..1ba4a93 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Alexandre Negrel + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..ec0e33e --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# Fresh project + +Your new Fresh project is ready to go. You can follow the Fresh "Getting +Started" guide here: https://fresh.deno.dev/docs/getting-started + +### Usage + +Make sure to install Deno: https://deno.land/manual/getting_started/installation + +Then start the project: + +``` +deno task start +``` + +This will watch the project directory and restart as necessary. diff --git a/components/AlertList.tsx b/components/AlertList.tsx new file mode 100644 index 0000000..f50b60e --- /dev/null +++ b/components/AlertList.tsx @@ -0,0 +1,38 @@ +import { ComponentChildren } from "preact"; + +function AlertList( + { icon, title, list, className, children }: { + icon?: ComponentChildren; + title: string; + list: string[]; + className?: string; + children?: ComponentChildren; + }, +) { + return ( +
+ {title} +
+
+ + File name + + |
+
+ + Initial size + + |
+
+ + Compressed size + + |
+
+ + Compression rate + + |
+
---|---|---|---|
+ + {p.file.name} + + |
+
+ + {formatBytes(p.initialSize)} + + |
+
+ + {formatBytes(p.compressedSize)} + + |
+
+ + {Math.round( + (1 - (p.compressedSize / p.initialSize)) * 100, + )}% + + |
+