diff --git a/.gitignore b/.gitignore index 70bdf955..ce33fd59 100644 --- a/.gitignore +++ b/.gitignore @@ -192,5 +192,10 @@ package # End of https://www.toptal.com/developers/gitignore/api/go,visualstudiocode,svelte,node +frontend/build +frontend/.svelte-kit +frontend/vite.config.js.timestamp-* +frontend/vite.config.ts.timestamp-* backend/pb_data +backend/pb_public/* diff --git a/README.md b/README.md index b2402c19..c3bc7e4d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,51 @@ -# to do +# UpSnap v3 -- add db import from v2 -- rewrite sveltekit frontend +> This is the dev branch for v3. It's very much in progress but will have a release candidate once all boxes below are checked. + +## Help developing + +Fork this branch and clone it. + +1. Start backend + +```sh +cd backend +go mod tidy +go run main.go serve +``` + +Log in to [http://127.0.0.1:8090/\_/](http://127.0.0.1:8090/_/), create an admin user and add some devices. + +2. Start frontend + +```sh +cd frontend +pnpm i +pnpm run dev +``` + +Open up [localhost:5173/](localhost:5173/) + +## To do + +- frontend + + - [ ] add rest of settings page + - [ ] form for adding new devices + - [ ] add per device settings + - [ ] theme toggle button + - [ ] add device ports to cards + +- backend + + - [ ] make sure ping works + - [ ] make sure arp works + - [ ] make sure wake works + - [ ] remove nmap? + - [ ] [#34 Add support for WOL passwords](https://github.com/seriousm4x/UpSnap/issues/34) + - [x] [~~#33 Seemingly High Ram usage~~](https://github.com/seriousm4x/UpSnap/issues/33) + - [x] [~~#32 API available?~~](https://github.com/seriousm4x/UpSnap/issues/32) + +- [x] ~~add db import from v2~~ +- [ ] move docker images to github packages and setup new workflow file +- [ ] create dockerfile and docker-compose.yml diff --git a/frontend/.gitignore b/frontend/.gitignore deleted file mode 100644 index 6635cf55..00000000 --- a/frontend/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -.DS_Store -node_modules -/build -/.svelte-kit -/package -.env -.env.* -!.env.example -vite.config.js.timestamp-* -vite.config.ts.timestamp-* diff --git a/frontend/package.json b/frontend/package.json index 8fd56221..2c796ae7 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,7 +10,7 @@ "format": "prettier --plugin-search-dir . --write ." }, "devDependencies": { - "@sveltejs/adapter-auto": "^1.0.1", + "@sveltejs/adapter-static": "^1.0.1", "@sveltejs/kit": "^1.1.1", "eslint": "^8.32.0", "eslint-config-prettier": "^8.6.0", diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index c54f515b..0a29213c 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -3,7 +3,7 @@ lockfileVersion: 5.4 specifiers: '@fortawesome/free-solid-svg-icons': ^6.2.1 '@popperjs/core': ^2.11.6 - '@sveltejs/adapter-auto': ^1.0.1 + '@sveltejs/adapter-static': ^1.0.1 '@sveltejs/kit': ^1.1.1 bootstrap: 5.3.0-alpha1 date-fns: ^2.29.3 @@ -29,7 +29,7 @@ dependencies: svelte-fa: 3.0.3 devDependencies: - '@sveltejs/adapter-auto': 1.0.1_@sveltejs+kit@1.1.1 + '@sveltejs/adapter-static': 1.0.4_@sveltejs+kit@1.1.1 '@sveltejs/kit': 1.1.1_svelte@3.55.1+vite@4.0.4 eslint: 8.32.0 eslint-config-prettier: 8.6.0_eslint@8.32.0 @@ -324,13 +324,12 @@ packages: resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==} dev: false - /@sveltejs/adapter-auto/1.0.1_@sveltejs+kit@1.1.1: - resolution: {integrity: sha512-IGek24xN1wJb+gz0hyGSxbIvM7q2K+BXquyycteCWbH9MPosjw8+LuIB2HIH20thE/647UEQBNqCM9R73lAUXA==} + /@sveltejs/adapter-static/1.0.4_@sveltejs+kit@1.1.1: + resolution: {integrity: sha512-L6kGg19MBHW3kv3GWAPl9tJo3ohNM+dcj9Yq1U1XVu0J0MKrusyCWQ62XOfxFgS6T8Fq0KYJ5NSSAPGppvX4xA==} peerDependencies: '@sveltejs/kit': ^1.0.0 dependencies: '@sveltejs/kit': 1.1.1_svelte@3.55.1+vite@4.0.4 - import-meta-resolve: 2.2.1 dev: true /@sveltejs/kit/1.1.1_svelte@3.55.1+vite@4.0.4: @@ -894,10 +893,6 @@ packages: resolve-from: 4.0.0 dev: true - /import-meta-resolve/2.2.1: - resolution: {integrity: sha512-C6lLL7EJPY44kBvA80gq4uMsVFw5x3oSKfuMl1cuZ2RkI5+UJqQXgn+6hlUew0y4ig7Ypt4CObAAIzU53Nfpuw==} - dev: true - /imurmurhash/0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} diff --git a/frontend/src/app.html b/frontend/src/app.html index effe0d0d..f4a15b7a 100644 --- a/frontend/src/app.html +++ b/frontend/src/app.html @@ -1,12 +1,12 @@ - +
%sveltekit.head% - +
-
{device.name} ({device.status})
-{device.ip}
-{device.name}
+{device.ip}
++ {formatDistance(parseISO(device.updated), now, { + includeSeconds: true, + addSuffix: true + })} +
+