Skip to content

Commit f0fce40

Browse files
committed
Start rewriting with SvelteAdmin instead of custom stuff
1 parent 4d794d3 commit f0fce40

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+1154
-7005
lines changed

.eslintrc.cjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/** @type { import("eslint").Linter.Config } */
12
module.exports = {
23
root: true,
34
extends: [
@@ -8,7 +9,6 @@ module.exports = {
89
],
910
parser: '@typescript-eslint/parser',
1011
plugins: ['@typescript-eslint'],
11-
ignorePatterns: ['*.cjs'],
1212
parserOptions: {
1313
sourceType: 'module',
1414
ecmaVersion: 2020,

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,3 @@ node_modules
88
!.env.example
99
vite.config.js.timestamp-*
1010
vite.config.ts.timestamp-*
11-
12-
static/bootstrap*

.prettierignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,9 @@ node_modules
1111
pnpm-lock.yaml
1212
package-lock.json
1313
yarn.lock
14+
15+
# Custom:
16+
/src-tauri
17+
/src/old_routes
18+
/old/
19+
/.github/

.prettierrc

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
{
2-
"useTabs": true,
3-
"singleQuote": true,
4-
"trailingComma": "none",
5-
"printWidth": 100,
6-
"plugins": ["prettier-plugin-svelte"],
7-
"pluginSearchDirs": ["."],
8-
"overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
9-
}
1+
{
2+
"useTabs": true,
3+
"singleQuote": true,
4+
"trailingComma": "none",
5+
"printWidth": 100,
6+
"plugins": ["prettier-plugin-svelte"],
7+
"overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
8+
}

README.md

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ If you want to use the in-development project, you can compile it by doing what
2828
- [Node.js](https://nodejs.org/en/download/)
2929
- [pnpm](https://pnpm.io/fr/)
3030
- For Linux users:
31-
- Follow [this guide](https://tauri.studio/docs/getting-started/setting-up-linux#1-system-dependencies) to install the **system dependencies** that are mandatory.
31+
- Follow [this guide](https://tauri.studio/docs/getting-started/setting-up-linux#1-system-dependencies) to install the **system dependencies** that are mandatory.
3232
- For Windows users:
33-
- [Webview2](https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section)
33+
- [Webview2](https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section)
3434
- For MacOS users:
35-
- XCode
36-
- The GNU C Compiler, installable via `brew install gcc`
35+
- XCode
36+
- The GNU C Compiler, installable via `brew install gcc`
3737

3838
### Install
3939

@@ -78,34 +78,34 @@ Since the entire app is being rewritten, lots of stuff have to be re-implemented
7878
> The "☑️" mark means the feature is implemented, while the "⬜️" mark means the feature is waiting for implementation.
7979
8080
- Core features:
81-
- ☑️ Create the Tauri app
82-
- ☑️ Create the Svelte frontend with it
83-
- ☑️ List operations
84-
- ☑️ Allow sorting operations by some fields
85-
- ☑️ Allow filtering operations
86-
- ☑️ Allow saving current filter to be reused in graphs
87-
- ☑️ Allow filtering operations that have no tags
88-
- ☑️ Allow ignoring an operation in graphs calculations
89-
- ☑️ Tags CRUD
90-
- ☑️ Tag rules CRUD
91-
- ☑️ Bank accounts CRUD
92-
- ☑️ Edit bank account details
93-
- ☑️ Import operations from CSV file
94-
- ☑️ Add tags to operations directly from the list
95-
- ☑️ Sync operations for triage
96-
- ☑️ Sync operations tags with tag rules
97-
- ⬜️ Add the graphs that are at the core of this app 😅
98-
- ☑️ Allow using saved filters for graphs
99-
- ⬜️ Allow creating and saving custom graphs
81+
- ☑️ Create the Tauri app
82+
- ☑️ Create the Svelte frontend with it
83+
- ☑️ List operations
84+
- ☑️ Allow sorting operations by some fields
85+
- ☑️ Allow filtering operations
86+
- ☑️ Allow saving current filter to be reused in graphs
87+
- ☑️ Allow filtering operations that have no tags
88+
- ☑️ Allow ignoring an operation in graphs calculations
89+
- ☑️ Tags CRUD
90+
- ☑️ Tag rules CRUD
91+
- ☑️ Bank accounts CRUD
92+
- ☑️ Edit bank account details
93+
- ☑️ Import operations from CSV file
94+
- ☑️ Add tags to operations directly from the list
95+
- ☑️ Sync operations for triage
96+
- ☑️ Sync operations tags with tag rules
97+
- ⬜️ Add the graphs that are at the core of this app 😅
98+
- ☑️ Allow using saved filters for graphs
99+
- ⬜️ Allow creating and saving custom graphs
100100
- Additional features that might be cool:
101-
- ⬜️ Allow customizing graphs
102-
- ⬜️ Config panel
103-
- ⬜️ Allow customizing database, for multiple database usage
104-
- ⬜️ Allow exporting/importing whole database
105-
- ⬜️ User account system for multi-user usage
106-
- ⬜️ Encrypt entire database with a password/passphrase for safety
107-
- ⬜️ Store filters to the database instead of `localStorage`
101+
- ⬜️ Allow customizing graphs
102+
- ⬜️ Config panel
103+
- ⬜️ Allow customizing database, for multiple database usage
104+
- ⬜️ Allow exporting/importing whole database
105+
- ⬜️ User account system for multi-user usage
106+
- ⬜️ Encrypt entire database with a password/passphrase for safety
107+
- ⬜️ Store filters to the database instead of `localStorage`
108108
- Some things are quite buggy and the app needs improvements too:
109-
- ☑️ Check why we have to use `location.reload()` because svelte stores don't update the paginated tables => I actually used SvelteKit's `goto()` from `$app/navigation` and it works great 👌
110-
- ⬜️ Use a `select2` or similar for tags selection
111-
- ⬜️ Add the ability to create a Tag Rule based on an Operation in the operations list
109+
- ☑️ Check why we have to use `location.reload()` because svelte stores don't update the paginated tables => I actually used SvelteKit's `goto()` from `$app/navigation` and it works great 👌
110+
- ⬜️ Use a `select2` or similar for tags selection
111+
- ⬜️ Add the ability to create a Tag Rule based on an Operation in the operations list

old/src-tauri/tauri.conf.json

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
{
2+
"build": {
3+
"beforeBuildCommand": "yarn run build",
4+
"beforeDevCommand": "yarn run dev",
5+
"devPath": "http://127.0.0.1:5173",
6+
"distDir": "./target/frontend-build"
7+
},
8+
"package": {
9+
"productName": "compotes",
10+
"version": "0.1.0"
11+
},
12+
"tauri": {
13+
"allowlist": {
14+
"all": true
15+
},
16+
"bundle": {
17+
"active": true,
18+
"category": "DeveloperTool",
19+
"copyright": "",
20+
"deb": {
21+
"depends": []
22+
},
23+
"externalBin": [],
24+
"icon": [
25+
"icons/32x32.png",
26+
"icons/128x128.png",
27+
28+
"icons/icon.icns",
29+
"icons/icon.ico"
30+
],
31+
"identifier": "io.orbitale.compotes",
32+
"longDescription": "",
33+
"macOS": {
34+
"entitlements": null,
35+
"exceptionDomain": "",
36+
"frameworks": [],
37+
"minimumSystemVersion": "",
38+
"signingIdentity": null
39+
},
40+
"resources": [],
41+
"shortDescription": "",
42+
"targets": ["msi", "deb"],
43+
"windows": {
44+
"certificateThumbprint": null,
45+
"digestAlgorithm": "sha256",
46+
"timestampUrl": ""
47+
}
48+
},
49+
"security": {
50+
"csp": "default-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; object-src 'none'; require-trusted-types-for 'script';"
51+
},
52+
"updater": {
53+
"active": false
54+
},
55+
"windows": [
56+
{
57+
"fullscreen": false,
58+
"height": 800,
59+
"resizable": true,
60+
"title": "Compotes",
61+
"width": 1024
62+
}
63+
]
64+
}
65+
}

package.json

Lines changed: 27 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,8 @@
44
"private": true,
55
"license": "AGPL-3",
66
"scripts": {
7-
"app": "concurrently --names \"front,back\" --raw \"vite dev\" \"tauri dev\"",
87
"dev": "vite dev",
98
"build": "vite build",
10-
"package": "vite package",
119
"preview": "vite preview",
1210
"check": "svelte-check --tsconfig ./tsconfig.json",
1311
"check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
@@ -18,43 +16,42 @@
1816
"postinstall": "pnpm install --dir tests/webdriverio/"
1917
},
2018
"devDependencies": {
21-
"@popperjs/core": "^2.11.7",
22-
"@sveltejs/adapter-static": "3.0.1",
23-
"@sveltejs/kit": "^2.5.5",
24-
"@sveltejs/vite-plugin-svelte": "^3.0.2",
25-
"@tauri-apps/api": "^1.2.0",
26-
"@tauri-apps/cli": "^1.2.3",
27-
"@typescript-eslint/eslint-plugin": "^7.5.0",
28-
"@typescript-eslint/parser": "^7.5.0",
29-
"@zerodevx/svelte-toast": "^0.9.3",
30-
"bootstrap": "^5.2.3",
31-
"chart.js": "^4.3.0",
32-
"concurrently": "^8.0.1",
33-
"date-fns": "^2.30.0",
34-
"date-picker-svelte": "^2.4.2",
35-
"eslint": "^8.39.0",
36-
"eslint-config-prettier": "^9.0.0",
37-
"eslint-plugin-svelte3": "^4.0.0",
38-
"luxon": "^3.3.0",
39-
"prettier": "^3.0.1",
40-
"prettier-plugin-svelte": "^3.0.3",
41-
"sass": "^1.62.1",
42-
"svelte": "^4.1.2",
19+
"@orbitale/svelte-admin": "^0.16.0",
20+
"@sveltejs/adapter-static": "^3.0.1",
21+
"@sveltejs/kit": "^2.3.5",
22+
"@sveltejs/vite-plugin-svelte": "^3.0.0",
23+
"@tauri-apps/api": "^1.5.3",
24+
"@tauri-apps/cli": "^1.5.9",
25+
"@types/eslint": "8.56.0",
26+
"@typescript-eslint/eslint-plugin": "^6.0.0",
27+
"@typescript-eslint/parser": "^6.0.0",
28+
"@zerodevx/svelte-toast": "^0.9.5",
29+
"carbon-components-svelte": "^0.82.8",
30+
"carbon-icons-svelte": "^12.4.2",
31+
"chart.js": "^4.4.1",
32+
"eslint": "^8.56.0",
33+
"eslint-config-prettier": "^9.1.0",
34+
"eslint-plugin-svelte": "^2.35.1",
35+
"luxon": "^3.4.4",
36+
"prettier": "^3.2.4",
37+
"prettier-plugin-svelte": "^3.1.2",
38+
"sass": "^1.70.0",
39+
"svelte": "^4.2.7",
4340
"svelte-chartjs": "^3.1.2",
4441
"svelte-check": "^3.2.0",
4542
"svelte-dragdroplist": "^1.1.1",
4643
"svelte-preprocess": "^5.0.3",
4744
"ts-results-es": "^4.0.0",
4845
"tslib": "^2.5.0",
4946
"typescript": "^5.0.4",
50-
"vite": "^4.5.5"
47+
"vite": "^4.5.5"
5148
},
52-
"packageManager": "[email protected]",
49+
"packageManager": "[email protected]",
5350
"type": "module",
5451
"dependencies": {
55-
"emoji-regex": "^10.3.0",
56-
"rimraf": "^5.0.5",
57-
"string-width": "^7.1.0",
58-
"supports-color": "^9.4.0"
52+
"emoji-regex": "^8.0.0",
53+
"rimraf": "^3.0.2",
54+
"string-width": "^5.1.2",
55+
"supports-color": "^8.1.1"
5956
}
6057
}

0 commit comments

Comments
 (0)