Merge branch 'develop'
6
.github/workflows/release.yml
vendored
@@ -28,7 +28,7 @@ jobs:
|
||||
- name: setup node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: lts/*
|
||||
node-version: 20.10.0
|
||||
|
||||
- name: install Rust stable
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
@@ -46,7 +46,7 @@ jobs:
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 9.3.0
|
||||
version: 9.4.0
|
||||
|
||||
- name: install frontend dependencies
|
||||
run: pnpm install
|
||||
@@ -57,7 +57,7 @@ jobs:
|
||||
with:
|
||||
tagName: nuxtor-v__VERSION__
|
||||
releaseName: Nuxtor v__VERSION__
|
||||
releaseBody: Choose a bundle generated from the Tauri build for your system
|
||||
releaseBody: After installing the Apple app you have to run "xattr -c /Applications/nuxtor.app" once before launching
|
||||
releaseDraft: false
|
||||
prerelease: false
|
||||
args: ${{ matrix.args }}
|
||||
|
27
README.md
@@ -1,9 +1,9 @@
|
||||
<p align="center">
|
||||
<img width="150" src="./src/assets/logo.svg" alt="logo">
|
||||
<img width="150" src="./src/public/logo.png" alt="logo">
|
||||
</p>
|
||||
<h1 align="center">NUXTOR</h1>
|
||||
<p align="center">
|
||||
A spiritual successor of <a href="https://github.com/NicolaSpadari/vitauri">ViTauri</a>, made with <a href="https://nuxt.com">Nuxt 3</a> and <a href="https://tauri.app">Tauri 2</a>
|
||||
A spiritual successor of <a href="https://github.com/NicolaSpadari/vitauri">ViTauri</a>, made with <a href="https://nuxt.com">Nuxt 3</a> and <a href="https://v2.tauri.app">Tauri 2</a>
|
||||
<br>
|
||||
Build super fast desktop applications!
|
||||
</p>
|
||||
@@ -12,12 +12,15 @@ Build super fast desktop applications!
|
||||
|
||||
<br />
|
||||
|
||||
<img src="https://img.shields.io/github/license/NicolaSpadari/nuxtor" />
|
||||
<p float="left">
|
||||
<img src="https://img.shields.io/github/package-json/v/NicolaSpadari/nuxtor" />
|
||||
<img src="https://img.shields.io/github/license/NicolaSpadari/nuxtor" />
|
||||
</p>
|
||||
|
||||
<br />
|
||||
|
||||
<div align="center">
|
||||
<img src="./screenshot.png">
|
||||
<img src="./src/public/screenshot.png">
|
||||
</div>
|
||||
|
||||
<p align="center">Powered by Nuxt 3</p>
|
||||
@@ -36,14 +39,14 @@ Build super fast desktop applications!
|
||||
## Functionalities
|
||||
|
||||
- Run shell commands from the app
|
||||
- Send custom notifications to the client
|
||||
- Send custom notifications to the client (remember to turn on/grant notifications in your computer settings!)
|
||||
- Display OS related informations
|
||||
- Support catch-all route
|
||||
- Support all Nuxt functionalities (routing/layout/middleware/modules/etc...)
|
||||
|
||||
## Setup
|
||||
|
||||
- This project enforces [pnpm](https://pnpm.io). In order to use another package manager you need to update `package.json` and `tauri.config.js`
|
||||
- Before running this app, you need to configure your environment with Rust. Take a look at the [Tauri docs](https://v2.tauri.app/start/prerequisites).
|
||||
- This project enforces [pnpm](https://pnpm.io). In order to use another package manager you need to update `package.json` and `tauri.config.js`
|
||||
- The frontend runs on the usual port `3000` of Nuxt, the Tauri server uses the port `3001`. This settings are customizable in the `nuxt.config.ts` and `tauri.config.js`.
|
||||
- Once ready, follow these commands:
|
||||
|
||||
@@ -71,12 +74,20 @@ Build super fast desktop applications!
|
||||
|
||||
This command will generate the Nuxt static output and bundle the project under `src-tauri/target`.
|
||||
|
||||
## Debug
|
||||
|
||||
```sh
|
||||
$ pnpm run tauri:build:debug
|
||||
```
|
||||
|
||||
The same Tauri bundle will generate under `src-tauri/target`, but with the ability to open the console.
|
||||
|
||||
## Notes
|
||||
|
||||
- As the documentation shows, the Nuxt SSr must be disabled in order for Tauri to act as the backend. Still, all Nuxt capabilities are still here.
|
||||
- Tauri v2 is still in beta. Some things might not work, or present some bugs.
|
||||
- Tauri v2 brings some big refactors, such as packages names and permission management. New permissions have to be granted under `src-tauri/capabilities/main.json`
|
||||
- Tauri js functions are auto imported as-is with the help of a custom module. If another Tauri plugin is added, then the module has to be updated to support auto imports under `src/modules/tauri.ts`
|
||||
- As per documentation, the Nuxt SSR must be disabled in order for Tauri to act as the backend. Still, all Nuxt goodies are still there.
|
||||
|
||||
## License
|
||||
|
||||
|
12
package.json
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"name": "nuxtor",
|
||||
"type": "module",
|
||||
"version": "0.0.1",
|
||||
"version": "0.0.2",
|
||||
"private": true,
|
||||
"packageManager": "pnpm@9.3.0",
|
||||
"packageManager": "pnpm@9.4.0",
|
||||
"description": "Starter template for Nuxt 3 with Tauri",
|
||||
"author": "Nicola Spadari",
|
||||
"license": "MIT",
|
||||
@@ -16,9 +16,13 @@
|
||||
"preinstall": "npx only-allow pnpm",
|
||||
"postinstall": "nuxt prepare",
|
||||
"lint": "eslint . --fix",
|
||||
"bump:patch": "tsx scripts/bump.ts patch && eslint package.json src-tauri/tauri.conf.json src-tauri/Cargo.toml --fix",
|
||||
"bump:minor": "tsx scripts/bump.ts minor && eslint package.json src-tauri/tauri.conf.json src-tauri/Cargo.toml --fix",
|
||||
"bump:major": "tsx scripts/bump.ts major && eslint package.json src-tauri/tauri.conf.json src-tauri/Cargo.toml --fix",
|
||||
"tauri": "tauri",
|
||||
"tauri:dev": "tauri dev",
|
||||
"tauri:build": "tauri build"
|
||||
"tauri:build": "tauri build",
|
||||
"tauri:build:debug": "tauri build --debug"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tauri-apps/api": ">=2.0.0-beta.13",
|
||||
@@ -28,6 +32,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@antfu/eslint-config": "^2.21.1",
|
||||
"@iarna/toml": "^2.2.5",
|
||||
"@iconify-json/heroicons-solid": "^1.1.11",
|
||||
"@nuxt/eslint": "^0.3.13",
|
||||
"@tauri-apps/cli": ">=2.0.0-beta.20",
|
||||
@@ -40,6 +45,7 @@
|
||||
"nuxt": "^3.12.1",
|
||||
"nuxt-svgo": "^4.0.1",
|
||||
"sass": "^1.77.5",
|
||||
"tsx": "^4.15.6",
|
||||
"typescript": "^5.4.5",
|
||||
"unplugin-auto-import": "^0.17.6"
|
||||
}
|
||||
|
30
pnpm-lock.yaml
generated
@@ -24,6 +24,9 @@ importers:
|
||||
'@antfu/eslint-config':
|
||||
specifier: ^2.21.1
|
||||
version: 2.21.1(@unocss/eslint-plugin@0.61.0(eslint@8.57.0)(typescript@5.4.5))(@vue/compiler-sfc@3.4.29)(eslint-plugin-format@0.1.0(eslint@8.57.0))(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@iarna/toml':
|
||||
specifier: ^2.2.5
|
||||
version: 2.2.5
|
||||
'@iconify-json/heroicons-solid':
|
||||
specifier: ^1.1.11
|
||||
version: 1.1.11
|
||||
@@ -60,6 +63,9 @@ importers:
|
||||
sass:
|
||||
specifier: ^1.77.5
|
||||
version: 1.77.5
|
||||
tsx:
|
||||
specifier: ^4.15.6
|
||||
version: 4.15.6
|
||||
typescript:
|
||||
specifier: ^5.4.5
|
||||
version: 5.4.5
|
||||
@@ -812,6 +818,9 @@ packages:
|
||||
'@humanwhocodes/object-schema@2.0.3':
|
||||
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
|
||||
|
||||
'@iarna/toml@2.2.5':
|
||||
resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==}
|
||||
|
||||
'@iconify-json/heroicons-solid@1.1.11':
|
||||
resolution: {integrity: sha512-Nzhjs8voo4d+gcrfhlY/F0bRonEmLHT1+DeD2nYubvAF151pxXPqTS9bRB49Hqpdxl1l9LS2VTPtQPRypj/csQ==}
|
||||
|
||||
@@ -2961,6 +2970,9 @@ packages:
|
||||
get-tsconfig@4.7.3:
|
||||
resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==}
|
||||
|
||||
get-tsconfig@4.7.5:
|
||||
resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==}
|
||||
|
||||
giget@1.2.3:
|
||||
resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==}
|
||||
hasBin: true
|
||||
@@ -4727,6 +4739,11 @@ packages:
|
||||
tslib@2.6.2:
|
||||
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
|
||||
|
||||
tsx@4.15.6:
|
||||
resolution: {integrity: sha512-is0VQQlfNZRHEuSSTKA6m4xw74IU4AizmuB6lAYLRt9XtuyeQnyJYexhNZOPCB59SqC4JzmSzPnHGBXxf3k0hA==}
|
||||
engines: {node: '>=18.0.0'}
|
||||
hasBin: true
|
||||
|
||||
tuf-js@2.2.0:
|
||||
resolution: {integrity: sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==}
|
||||
engines: {node: ^16.14.0 || >=18.0.0}
|
||||
@@ -5991,6 +6008,8 @@ snapshots:
|
||||
|
||||
'@humanwhocodes/object-schema@2.0.3': {}
|
||||
|
||||
'@iarna/toml@2.2.5': {}
|
||||
|
||||
'@iconify-json/heroicons-solid@1.1.11':
|
||||
dependencies:
|
||||
'@iconify/types': 2.0.0
|
||||
@@ -8841,6 +8860,10 @@ snapshots:
|
||||
dependencies:
|
||||
resolve-pkg-maps: 1.0.0
|
||||
|
||||
get-tsconfig@4.7.5:
|
||||
dependencies:
|
||||
resolve-pkg-maps: 1.0.0
|
||||
|
||||
giget@1.2.3:
|
||||
dependencies:
|
||||
citty: 0.1.6
|
||||
@@ -10790,6 +10813,13 @@ snapshots:
|
||||
|
||||
tslib@2.6.2: {}
|
||||
|
||||
tsx@4.15.6:
|
||||
dependencies:
|
||||
esbuild: 0.21.5
|
||||
get-tsconfig: 4.7.5
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.3
|
||||
|
||||
tuf-js@2.2.0:
|
||||
dependencies:
|
||||
'@tufjs/models': 2.0.0
|
||||
|
44
scripts/bump.ts
Normal file
@@ -0,0 +1,44 @@
|
||||
import { readFileSync, writeFileSync } from "node:fs";
|
||||
import { parse, stringify } from "@iarna/toml";
|
||||
|
||||
type BumpMethod = "patch" | "minor" | "major";
|
||||
|
||||
const bumpVersion = (currentVersion: string) => {
|
||||
const method = <BumpMethod>process.argv[2] || "patch";
|
||||
|
||||
const parts = currentVersion.split(".");
|
||||
let major = Number.parseInt(parts[0], 10);
|
||||
let minor = Number.parseInt(parts[1], 10);
|
||||
let patch = Number.parseInt(parts[2], 10);
|
||||
|
||||
if (method === "patch") {
|
||||
patch += 1;
|
||||
} else if (method === "minor") {
|
||||
minor += 1;
|
||||
patch = 0;
|
||||
} else if (method === "major") {
|
||||
major += 1;
|
||||
minor = 0;
|
||||
patch = 0;
|
||||
}
|
||||
|
||||
const newVersion = `${major}.${minor}.${patch}`;
|
||||
|
||||
console.log(`Version bumped to ${newVersion}`);
|
||||
|
||||
return newVersion;
|
||||
};
|
||||
|
||||
const packageJson = JSON.parse(readFileSync("./package.json", "utf-8"));
|
||||
const tauriConfig = JSON.parse(readFileSync("./src-tauri/tauri.conf.json", "utf-8"));
|
||||
const tauriToml = parse(readFileSync("./src-tauri/Cargo.toml", "utf-8"));
|
||||
|
||||
packageJson.version = bumpVersion(packageJson.version);
|
||||
tauriConfig.version = bumpVersion(tauriConfig.version);
|
||||
|
||||
// @ts-expect-error No interface for parsed TOML
|
||||
tauriToml.package.version = bumpVersion(tauriToml.package.version);
|
||||
|
||||
writeFileSync("./package.json", JSON.stringify(packageJson, null, "\t"));
|
||||
writeFileSync("./src-tauri/tauri.conf.json", JSON.stringify(tauriConfig, null, "\t"));
|
||||
writeFileSync("./src-tauri/Cargo.toml", stringify(tauriToml));
|
2
src-tauri/Cargo.lock
generated
@@ -2270,7 +2270,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "nuxtor"
|
||||
version = "1.0.0"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
|
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "nuxtor"
|
||||
version = "0.0.1"
|
||||
version = "0.0.2"
|
||||
description = "Starter template for Nuxt 3 with Tauri"
|
||||
authors = [ "NicolaSpadari" ]
|
||||
license = "MIT"
|
||||
@@ -15,13 +15,20 @@ crate-type = [
|
||||
"rlib"
|
||||
]
|
||||
|
||||
[build-dependencies]
|
||||
tauri-build = { version = "2.0.0-beta", features = [] }
|
||||
[build-dependencies.tauri-build]
|
||||
version = "2.0.0-beta"
|
||||
features = [ ]
|
||||
|
||||
[dependencies]
|
||||
tauri-plugin-shell = "2.0.0-beta"
|
||||
tauri-plugin-notification = "2.0.0-beta"
|
||||
tauri-plugin-os = "2.0.0-beta"
|
||||
tauri = { version = "2.0.0-beta", features = [] }
|
||||
serde = { version = "1", features = [ "derive" ] }
|
||||
serde_json = "1"
|
||||
|
||||
[dependencies.tauri]
|
||||
version = "2.0.0-beta"
|
||||
features = [ ]
|
||||
|
||||
[dependencies.serde]
|
||||
version = "1"
|
||||
features = [ "derive" ]
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 974 B After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 903 B After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 2.7 KiB |
BIN
src-tauri/icons/android/mipmap-hdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src-tauri/icons/android/mipmap-mdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png
Normal file
After Width: | Height: | Size: 6.9 KiB |
BIN
src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
BIN
src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
BIN
src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 54 KiB |
BIN
src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png
Normal file
After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 66 KiB |
BIN
src-tauri/icons/ios/AppIcon-20x20@1x.png
Normal file
After Width: | Height: | Size: 873 B |
BIN
src-tauri/icons/ios/AppIcon-20x20@2x-1.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
src-tauri/icons/ios/AppIcon-20x20@2x.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
src-tauri/icons/ios/AppIcon-20x20@3x.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
src-tauri/icons/ios/AppIcon-29x29@1x.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
src-tauri/icons/ios/AppIcon-29x29@2x-1.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
src-tauri/icons/ios/AppIcon-29x29@2x.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
src-tauri/icons/ios/AppIcon-29x29@3x.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
src-tauri/icons/ios/AppIcon-40x40@1x.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
src-tauri/icons/ios/AppIcon-40x40@2x-1.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
src-tauri/icons/ios/AppIcon-40x40@2x.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
src-tauri/icons/ios/AppIcon-40x40@3x.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
src-tauri/icons/ios/AppIcon-512@2x.png
Normal file
After Width: | Height: | Size: 118 KiB |
BIN
src-tauri/icons/ios/AppIcon-60x60@2x.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
src-tauri/icons/ios/AppIcon-60x60@3x.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
src-tauri/icons/ios/AppIcon-76x76@1x.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
src-tauri/icons/ios/AppIcon-76x76@2x.png
Normal file
After Width: | Height: | Size: 8.2 KiB |
BIN
src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png
Normal file
After Width: | Height: | Size: 9.3 KiB |
@@ -31,8 +31,8 @@
|
||||
"beforeDevCommand": "pnpm dev",
|
||||
"devUrl": "http://localhost:3000"
|
||||
},
|
||||
"productName": "nuxtor",
|
||||
"version": "0.0.1",
|
||||
"productName": "Nuxtor",
|
||||
"version": "0.0.2",
|
||||
"identifier": "com.nicolaspadari.nuxtor",
|
||||
"plugins": {},
|
||||
"app": {
|
||||
|
@@ -2,7 +2,7 @@ export const useConstants = () => {
|
||||
const name = "Nuxtor";
|
||||
const author = "Nicola Spadari";
|
||||
const repo = "https://github.com/NicolaSpadari";
|
||||
const tauriSite = "https://tauri.app";
|
||||
const tauriSite = "https://v2.tauri.app";
|
||||
const nuxtSite = "https://nuxt.com";
|
||||
const unoSite = "https://unocss.dev";
|
||||
|
||||
|
@@ -1,3 +0,0 @@
|
||||
<svg width="900" height="900" viewBox="0 0 900 900" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M504.908 750H839.476C850.103 750.001 860.542 747.229 869.745 741.963C878.948 736.696 886.589 729.121 891.9 719.999C897.211 710.876 900.005 700.529 900 689.997C899.995 679.465 897.193 669.12 891.873 660.002L667.187 274.289C661.876 265.169 654.237 257.595 645.036 252.329C635.835 247.064 625.398 244.291 614.773 244.291C604.149 244.291 593.711 247.064 584.511 252.329C575.31 257.595 567.67 265.169 562.36 274.289L504.908 372.979L392.581 179.993C387.266 170.874 379.623 163.301 370.42 158.036C361.216 152.772 350.777 150 340.151 150C329.525 150 319.086 152.772 309.883 158.036C300.679 163.301 293.036 170.874 287.721 179.993L8.12649 660.002C2.80743 669.12 0.00462935 679.465 5.72978e-06 689.997C-0.00461789 700.529 2.78909 710.876 8.10015 719.999C13.4112 729.121 21.0523 736.696 30.255 741.963C39.4576 747.229 49.8973 750.001 60.524 750H270.538C353.748 750 415.112 713.775 457.336 643.101L559.849 467.145L614.757 372.979L779.547 655.834H559.849L504.908 750ZM267.114 655.737L120.551 655.704L340.249 278.586L449.87 467.145L376.474 593.175C348.433 639.03 316.577 655.737 267.114 655.737Z" fill="#00DC82"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.2 KiB |
BIN
src/public/logo.png
Normal file
After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 409 KiB After Width: | Height: | Size: 409 KiB |