From aeae71e2ff0b2db46e68158e7937dfeefefdf6ef Mon Sep 17 00:00:00 2001 From: Gregor Vostrak Date: Tue, 27 Aug 2024 14:43:23 +0200 Subject: [PATCH] fix description in mini window ST-375, add snap build target, build arm and x86 versions for mac --- .github/workflows/npm-build.yml | 23 ++ .github/workflows/npm-format.yml | 23 ++ .github/workflows/npm-lint.yml | 23 ++ .github/workflows/npm-typecheck.yml | 23 ++ .github/workflows/release.yml | 8 + .github/workflows/sourcemaps.yml | 24 ++ README.md | 18 +- electron-builder.yml | 19 +- package-lock.json | 341 +++++++++--------- package.json | 5 +- resources/linux_icon.png | Bin 0 -> 9851 bytes src/main/index.ts | 2 +- src/renderer/src/Mini.vue | 14 +- src/renderer/src/components/SettingsModal.vue | 2 +- src/renderer/src/utils/oauth.ts | 2 - 15 files changed, 345 insertions(+), 182 deletions(-) create mode 100644 .github/workflows/npm-build.yml create mode 100644 .github/workflows/npm-format.yml create mode 100644 .github/workflows/npm-lint.yml create mode 100644 .github/workflows/npm-typecheck.yml create mode 100644 .github/workflows/sourcemaps.yml create mode 100644 resources/linux_icon.png diff --git a/.github/workflows/npm-build.yml b/.github/workflows/npm-build.yml new file mode 100644 index 0000000..e8040c6 --- /dev/null +++ b/.github/workflows/npm-build.yml @@ -0,0 +1,23 @@ +name: NPM Build + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: "Checkout code" + uses: actions/checkout@v4 + + - name: "Use Node.js" + uses: actions/setup-node@v4 + with: + node-version: '20.x' + + - name: "Install npm dependencies" + run: npm ci + + - name: "Build" + run: npm run build diff --git a/.github/workflows/npm-format.yml b/.github/workflows/npm-format.yml new file mode 100644 index 0000000..7f4f02e --- /dev/null +++ b/.github/workflows/npm-format.yml @@ -0,0 +1,23 @@ +name: Check Formatting + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: "Checkout code" + uses: actions/checkout@v4 + + - name: "Use Node.js" + uses: actions/setup-node@v4 + with: + node-version: '20.x' + + - name: "Install npm dependencies" + run: npm ci + + - name: "Run formatting check" + run: npm run format:check diff --git a/.github/workflows/npm-lint.yml b/.github/workflows/npm-lint.yml new file mode 100644 index 0000000..8802b9d --- /dev/null +++ b/.github/workflows/npm-lint.yml @@ -0,0 +1,23 @@ +name: NPM Lint + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: "Checkout code" + uses: actions/checkout@v4 + + - name: "Use Node.js" + uses: actions/setup-node@v4 + with: + node-version: '20.x' + + - name: "Install npm dependencies" + run: npm ci + + - name: "Run linter" + run: npm run lint diff --git a/.github/workflows/npm-typecheck.yml b/.github/workflows/npm-typecheck.yml new file mode 100644 index 0000000..1e975cf --- /dev/null +++ b/.github/workflows/npm-typecheck.yml @@ -0,0 +1,23 @@ +name: NPM Typecheck + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: "Checkout code" + uses: actions/checkout@v4 + + - name: "Use Node.js" + uses: actions/setup-node@v4 + with: + node-version: '20.x' + + - name: "Install npm dependencies" + run: npm ci + + - name: "Run type check" + run: npm run typecheck diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4208473..759582a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,10 +2,14 @@ name: Build/release Electron app on: push: + tags: + - 'v*.*.*' jobs: release: runs-on: ${{ matrix.os }} + env: + SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} strategy: matrix: @@ -22,6 +26,10 @@ jobs: - name: Check out Git repository uses: actions/checkout@v3 + - name: Install Snapcraft + uses: samuelmeuli/action-snapcraft@v2 + if: ${{ matrix.platform == 'linux' }} + - name: Install Node.js uses: actions/setup-node@v3 with: diff --git a/.github/workflows/sourcemaps.yml b/.github/workflows/sourcemaps.yml new file mode 100644 index 0000000..214b5fa --- /dev/null +++ b/.github/workflows/sourcemaps.yml @@ -0,0 +1,24 @@ +name: Upload Sentry sourcemaps + +on: + push: + tags: + - 'v*.*.*' + +jobs: + sourcemaps: + steps: + - name: Checkout source code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Create Sentry release + uses: getsentry/action-release@v1 + env: + SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} + SENTRY_ORG: ${{ secrets.SENTRY_ORG }} + SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} + # SENTRY_URL: https://sentry.io/ + with: + environment: production diff --git a/README.md b/README.md index b52fa7a..cd2cbc3 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,20 @@ -# solidtime-electron +# solidtime desktop -An Electron application with Vue and TypeScript +Desktop Application for Solidtime - The modern open-source time-tracker for macOS, Windows and Linux. -## Recommended IDE Setup +**This client is currently in alpha, if you run into any problems please open an issue.** -- [VSCode](https://code.visualstudio.com/) + [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) + [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) +You can find the latest versions [here](https://github.com/solidtime-io/solidtime-desktop/releases) -## Project Setup +Additionally you can install the app via + + + Get it from the Snap Store + + +## Development Setup + +**We do not accept any external contributions at the moment as this project is still in an early stage.** ### Install diff --git a/electron-builder.yml b/electron-builder.yml index e2afab4..0441590 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -24,20 +24,35 @@ nsis: createDesktopShortcut: always mac: entitlementsInherit: build/entitlements.mac.plist + target: + target: default + arch: + - x64 + - arm64 extendInfo: - NSCameraUsageDescription: Application requests access to the device's camera. - NSMicrophoneUsageDescription: Application requests access to the device's microphone. - NSDocumentsFolderUsageDescription: Application requests access to the user's Documents folder. - NSDownloadsFolderUsageDescription: Application requests access to the user's Downloads folder. - notarize: false + notarize: true dmg: artifactName: ${name}-${version}.${ext} linux: target: - - AppImage - deb + - snap + - AppImage + - tar.gz + - rpm + - flatpak + desktop: # Define desktop elem + name: solidtime + exec: solidtime %U + MimeType: x-scheme-handler/solidtime maintainer: solidtime.io category: Utility + mimeTypes: + - x-scheme-handler/solidtime appImage: artifactName: ${name}-${version}.${ext} npmRebuild: false diff --git a/package-lock.json b/package-lock.json index a285cb2..d298ecc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,19 +1,19 @@ { "name": "solidtime", - "version": "0.0.13", + "version": "0.0.20", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "solidtime", - "version": "0.0.13", + "version": "0.0.20", "hasInstallScript": true, "dependencies": { "@electron-toolkit/preload": "^3.0.0", "@electron-toolkit/utils": "^3.0.0", "@sentry/electron": "^5.3.0", "@solidtime/api": "^0.0.3", - "@solidtime/ui": "^0.0.7", + "@solidtime/ui": "^0.0.8", "electron-updater": "^6.1.7" }, "devDependencies": { @@ -1891,9 +1891,9 @@ } }, "node_modules/@opentelemetry/instrumentation-express": { - "version": "0.41.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.41.0.tgz", - "integrity": "sha512-/B7fbMdaf3SYe5f1P973tkqd6s7XZirjpfkoJ63E7nltU30qmlgm9tY5XwZOzAFI0rHS9tbrFI2HFPAvQUFe/A==", + "version": "0.41.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.41.1.tgz", + "integrity": "sha512-uRx0V3LPGzjn2bxAnV8eUsDT82vT7NTwI0ezEuPMBOTOsnPpGhWdhcdNdhH80sM4TrWrOfXm9HGEdfWE3TRIww==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/core": "^1.8.0", @@ -1924,6 +1924,22 @@ "@opentelemetry/api": "^1.3.0" } }, + "node_modules/@opentelemetry/instrumentation-fs": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fs/-/instrumentation-fs-0.14.0.tgz", + "integrity": "sha512-pVc8P5AgliC1DphyyBUgsxXlm2XaPH4BpYvt7rAZDMIqUpRk8gs19SioABtKqqxvFzg5jPtgJfJsdxq0Y+maLw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "^1.8.0", + "@opentelemetry/instrumentation": "^0.52.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, "node_modules/@opentelemetry/instrumentation-graphql": { "version": "0.42.0", "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.42.0.tgz", @@ -2273,9 +2289,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.0.tgz", - "integrity": "sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.1.tgz", + "integrity": "sha512-2thheikVEuU7ZxFXubPDOtspKn1x0yqaYQwvALVtEcvFhMifPADBrgRPyHV0TF3b+9BgvgjgagVyvA/UqPZHmg==", "cpu": [ "arm" ], @@ -2287,9 +2303,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.0.tgz", - "integrity": "sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.1.tgz", + "integrity": "sha512-t1lLYn4V9WgnIFHXy1d2Di/7gyzBWS8G5pQSXdZqfrdCGTwi1VasRMSS81DTYb+avDs/Zz4A6dzERki5oRYz1g==", "cpu": [ "arm64" ], @@ -2301,9 +2317,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.0.tgz", - "integrity": "sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.1.tgz", + "integrity": "sha512-AH/wNWSEEHvs6t4iJ3RANxW5ZCK3fUnmf0gyMxWCesY1AlUj8jY7GC+rQE4wd3gwmZ9XDOpL0kcFnCjtN7FXlA==", "cpu": [ "arm64" ], @@ -2315,9 +2331,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.0.tgz", - "integrity": "sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.1.tgz", + "integrity": "sha512-dO0BIz/+5ZdkLZrVgQrDdW7m2RkrLwYTh2YMFG9IpBtlC1x1NPNSXkfczhZieOlOLEqgXOFH3wYHB7PmBtf+Bg==", "cpu": [ "x64" ], @@ -2329,9 +2345,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.0.tgz", - "integrity": "sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.1.tgz", + "integrity": "sha512-sWWgdQ1fq+XKrlda8PsMCfut8caFwZBmhYeoehJ05FdI0YZXk6ZyUjWLrIgbR/VgiGycrFKMMgp7eJ69HOF2pQ==", "cpu": [ "arm" ], @@ -2343,9 +2359,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.0.tgz", - "integrity": "sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.1.tgz", + "integrity": "sha512-9OIiSuj5EsYQlmwhmFRA0LRO0dRRjdCVZA3hnmZe1rEwRk11Jy3ECGGq3a7RrVEZ0/pCsYWx8jG3IvcrJ6RCew==", "cpu": [ "arm" ], @@ -2357,9 +2373,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.0.tgz", - "integrity": "sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.1.tgz", + "integrity": "sha512-0kuAkRK4MeIUbzQYu63NrJmfoUVicajoRAL1bpwdYIYRcs57iyIV9NLcuyDyDXE2GiZCL4uhKSYAnyWpjZkWow==", "cpu": [ "arm64" ], @@ -2371,9 +2387,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.0.tgz", - "integrity": "sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.1.tgz", + "integrity": "sha512-/6dYC9fZtfEY0vozpc5bx1RP4VrtEOhNQGb0HwvYNwXD1BBbwQ5cKIbUVVU7G2d5WRE90NfB922elN8ASXAJEA==", "cpu": [ "arm64" ], @@ -2385,9 +2401,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.0.tgz", - "integrity": "sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.1.tgz", + "integrity": "sha512-ltUWy+sHeAh3YZ91NUsV4Xg3uBXAlscQe8ZOXRCVAKLsivGuJsrkawYPUEyCV3DYa9urgJugMLn8Z3Z/6CeyRQ==", "cpu": [ "ppc64" ], @@ -2399,9 +2415,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.0.tgz", - "integrity": "sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.1.tgz", + "integrity": "sha512-BggMndzI7Tlv4/abrgLwa/dxNEMn2gC61DCLrTzw8LkpSKel4o+O+gtjbnkevZ18SKkeN3ihRGPuBxjaetWzWg==", "cpu": [ "riscv64" ], @@ -2413,9 +2429,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.0.tgz", - "integrity": "sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.1.tgz", + "integrity": "sha512-z/9rtlGd/OMv+gb1mNSjElasMf9yXusAxnRDrBaYB+eS1shFm6/4/xDH1SAISO5729fFKUkJ88TkGPRUh8WSAA==", "cpu": [ "s390x" ], @@ -2427,9 +2443,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.0.tgz", - "integrity": "sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.1.tgz", + "integrity": "sha512-kXQVcWqDcDKw0S2E0TmhlTLlUgAmMVqPrJZR+KpH/1ZaZhLSl23GZpQVmawBQGVhyP5WXIsIQ/zqbDBBYmxm5w==", "cpu": [ "x64" ], @@ -2441,9 +2457,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.0.tgz", - "integrity": "sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.1.tgz", + "integrity": "sha512-CbFv/WMQsSdl+bpX6rVbzR4kAjSSBuDgCqb1l4J68UYsQNalz5wOqLGYj4ZI0thGpyX5kc+LLZ9CL+kpqDovZA==", "cpu": [ "x64" ], @@ -2455,9 +2471,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.0.tgz", - "integrity": "sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.1.tgz", + "integrity": "sha512-3Q3brDgA86gHXWHklrwdREKIrIbxC0ZgU8lwpj0eEKGBQH+31uPqr0P2v11pn0tSIxHvcdOWxa4j+YvLNx1i6g==", "cpu": [ "arm64" ], @@ -2469,9 +2485,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.0.tgz", - "integrity": "sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.1.tgz", + "integrity": "sha512-tNg+jJcKR3Uwe4L0/wY3Ro0H+u3nrb04+tcq1GSYzBEmKLeOQF2emk1whxlzNqb6MMrQ2JOcQEpuuiPLyRcSIw==", "cpu": [ "ia32" ], @@ -2483,9 +2499,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.0.tgz", - "integrity": "sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.1.tgz", + "integrity": "sha512-xGiIH95H1zU7naUyTKEyOA/I0aexNMUdO9qRv0bLKN3qu25bBdrxZHqA3PTJ24YNN/GdMzG4xkDcd/GvjuhfLg==", "cpu": [ "x64" ], @@ -2504,112 +2520,112 @@ "license": "MIT" }, "node_modules/@sentry-internal/browser-utils": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.20.0.tgz", - "integrity": "sha512-GGYNiELnT4ByidHyS4/M8UF8Oxagm5R13QyTncQGq8nZcQhcFZ9mdxLnf1/R4+j44Fph2Cgzafe8jGP/AMA9zw==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.26.0.tgz", + "integrity": "sha512-O2Tj+WK33/ZVp5STnz6ZL0OO+/Idk2KqsH0ITQkQmyZ2z0kdzWOeqK7s7q3/My6rB1GfPcyqPcBBv4dVv92FYQ==", "license": "MIT", "dependencies": { - "@sentry/core": "8.20.0", - "@sentry/types": "8.20.0", - "@sentry/utils": "8.20.0" + "@sentry/core": "8.26.0", + "@sentry/types": "8.26.0", + "@sentry/utils": "8.26.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/feedback": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.20.0.tgz", - "integrity": "sha512-mFvAoVpVShkDB2AgEr/dE96NSTPKI/lGMBznZMg7ZEcwZhLfH7HvLYCadIskRfzqFTLOUpbm9ciIO4SyR/4bDA==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.26.0.tgz", + "integrity": "sha512-hQtw1gg8n6ERK1UH47F7ZI1zOsbhu0J2VX+TrnkpaQR2FgxDW1oe9Ja6oCV4CQKuR4w+1ZI/Kj4imSt0K33kEw==", "license": "MIT", "dependencies": { - "@sentry/core": "8.20.0", - "@sentry/types": "8.20.0", - "@sentry/utils": "8.20.0" + "@sentry/core": "8.26.0", + "@sentry/types": "8.26.0", + "@sentry/utils": "8.26.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.20.0.tgz", - "integrity": "sha512-sCiI7SOAHq5XsxkixtoMofeSyKd/hVgDV+4145f6nN9m7nLzig4PBQwh2SgK2piJ2mfaXfqcdzA1pShPYldaJA==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.26.0.tgz", + "integrity": "sha512-JDY7W2bswlp5c3483lKP4kcb75fHNwGNfwD8x8FsY9xMjv7nxeXjLpR5cCEk1XqPq2+n6w4j7mJOXhEXGiUIKg==", "license": "MIT", "dependencies": { - "@sentry-internal/browser-utils": "8.20.0", - "@sentry/core": "8.20.0", - "@sentry/types": "8.20.0", - "@sentry/utils": "8.20.0" + "@sentry-internal/browser-utils": "8.26.0", + "@sentry/core": "8.26.0", + "@sentry/types": "8.26.0", + "@sentry/utils": "8.26.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay-canvas": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.20.0.tgz", - "integrity": "sha512-LXV/pMH9KMw6CtImenMsiBkYIFIc97pDJ/rC7mVImKIROQ45fxGp/JBXM4Id0GENyA2+SySMWVQCAAapSfHZTw==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.26.0.tgz", + "integrity": "sha512-2CFQW6f9aJHIo/DqmqYa9PaYoLn1o36ywc0h8oyGrD4oPCbrnE5F++PmTdc71GBODu41HBn/yoCTLmxOD+UjpA==", "license": "MIT", "dependencies": { - "@sentry-internal/replay": "8.20.0", - "@sentry/core": "8.20.0", - "@sentry/types": "8.20.0", - "@sentry/utils": "8.20.0" + "@sentry-internal/replay": "8.26.0", + "@sentry/core": "8.26.0", + "@sentry/types": "8.26.0", + "@sentry/utils": "8.26.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/browser": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.20.0.tgz", - "integrity": "sha512-JDZbCreY44/fHYN28QzsAwEHXa2rc1hzM6GE4RSlXCdAhNfrjVxyYDxhw/50pVEHZg1WXxf7ZmERjocV5VJHsw==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.26.0.tgz", + "integrity": "sha512-e5s6eKlwLZWzTwQcBwqyAGZMMuQROW9Z677VzwkSyREWAIkKjfH2VBxHATnNGc0IVkNHjD7iH3ixo3C0rLKM3w==", "license": "MIT", "dependencies": { - "@sentry-internal/browser-utils": "8.20.0", - "@sentry-internal/feedback": "8.20.0", - "@sentry-internal/replay": "8.20.0", - "@sentry-internal/replay-canvas": "8.20.0", - "@sentry/core": "8.20.0", - "@sentry/types": "8.20.0", - "@sentry/utils": "8.20.0" + "@sentry-internal/browser-utils": "8.26.0", + "@sentry-internal/feedback": "8.26.0", + "@sentry-internal/replay": "8.26.0", + "@sentry-internal/replay-canvas": "8.26.0", + "@sentry/core": "8.26.0", + "@sentry/types": "8.26.0", + "@sentry/utils": "8.26.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/core": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.20.0.tgz", - "integrity": "sha512-R81snuw+67VT4aCxr6ShST/s0Y6FlwN2YczhDwaGyzumn5rlvA6A4JtQDeExduNoDDyv4T3LrmW8wlYZn3CJJw==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.26.0.tgz", + "integrity": "sha512-g/tVmTZD4GNbLFf++hKJfBpcCAtduFEMLnbfa9iT/QEZjlmP+EzY+GsH9bafM5VsNe8DiOUp+kJKWtShzlVdBA==", "license": "MIT", "dependencies": { - "@sentry/types": "8.20.0", - "@sentry/utils": "8.20.0" + "@sentry/types": "8.26.0", + "@sentry/utils": "8.26.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/electron": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@sentry/electron/-/electron-5.3.0.tgz", - "integrity": "sha512-6aqs5UB45stTI3VGfbNAo8k+jzrhOmwJ3BA8N/BKvrn6k+uO1S9lNAT5qI+GIuhRf2IfGj91n5d2kkd6ifKv8g==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@sentry/electron/-/electron-5.4.0.tgz", + "integrity": "sha512-ViJJ/7nro/QZPPFsrnniXwHW6BxxKHm+Ec79tGEDrLdrNhd4KL0oMZJF1cH+rMsG45ymQ5bO+lpA7Yf0nC/gZg==", "license": "MIT", "dependencies": { - "@sentry/browser": "8.20.0", - "@sentry/core": "8.20.0", - "@sentry/node": "8.20.0", - "@sentry/types": "8.20.0", - "@sentry/utils": "8.20.0", + "@sentry/browser": "8.26.0", + "@sentry/core": "8.26.0", + "@sentry/node": "8.26.0", + "@sentry/types": "8.26.0", + "@sentry/utils": "8.26.0", "deepmerge": "4.3.1" } }, "node_modules/@sentry/node": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-8.20.0.tgz", - "integrity": "sha512-i4ywT2m0Gw65U3uwI4NwiNcyqp9YF6/RsusfH1pg4YkiL/RYp7FS0MPVgMggfvoue9S3KjCgRVlzTLwFATyPXQ==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-8.26.0.tgz", + "integrity": "sha512-N9mNLzicnfGgsq6P10ckPdTzEFusjTC7gpqPopwq5eEMF7g798hH8CcE5o6FZ4iAAR3vWliAR/jgccdoMmJMpQ==", "license": "MIT", "dependencies": { "@opentelemetry/api": "^1.9.0", @@ -2617,8 +2633,9 @@ "@opentelemetry/core": "^1.25.1", "@opentelemetry/instrumentation": "^0.52.1", "@opentelemetry/instrumentation-connect": "0.38.0", - "@opentelemetry/instrumentation-express": "0.41.0", + "@opentelemetry/instrumentation-express": "0.41.1", "@opentelemetry/instrumentation-fastify": "0.38.0", + "@opentelemetry/instrumentation-fs": "0.14.0", "@opentelemetry/instrumentation-graphql": "0.42.0", "@opentelemetry/instrumentation-hapi": "0.40.0", "@opentelemetry/instrumentation-http": "0.52.1", @@ -2635,11 +2652,11 @@ "@opentelemetry/sdk-trace-base": "^1.25.1", "@opentelemetry/semantic-conventions": "^1.25.1", "@prisma/instrumentation": "5.17.0", - "@sentry/core": "8.20.0", - "@sentry/opentelemetry": "8.20.0", - "@sentry/types": "8.20.0", - "@sentry/utils": "8.20.0", - "import-in-the-middle": "^1.10.0" + "@sentry/core": "8.26.0", + "@sentry/opentelemetry": "8.26.0", + "@sentry/types": "8.26.0", + "@sentry/utils": "8.26.0", + "import-in-the-middle": "^1.11.0" }, "engines": { "node": ">=14.18" @@ -2649,14 +2666,14 @@ } }, "node_modules/@sentry/opentelemetry": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@sentry/opentelemetry/-/opentelemetry-8.20.0.tgz", - "integrity": "sha512-NFcLK6+t9wUc4HlGKeuDn6W4KjZxZfZmWlrK2/tgC5KzG1cnVeOnWUrJzGHTa+YDDdIijpjiFUcpXGPkX3rmIg==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@sentry/opentelemetry/-/opentelemetry-8.26.0.tgz", + "integrity": "sha512-HBDheM/+ysfIz8R1OH4bBIxdgD7ZbQkKLJAUXkdAbBcfbpK/CTtwcplbauF5wY7Q+GYvwL/ShuDwvXRfW+gFyQ==", "license": "MIT", "dependencies": { - "@sentry/core": "8.20.0", - "@sentry/types": "8.20.0", - "@sentry/utils": "8.20.0" + "@sentry/core": "8.26.0", + "@sentry/types": "8.26.0", + "@sentry/utils": "8.26.0" }, "engines": { "node": ">=14.18" @@ -2670,21 +2687,21 @@ } }, "node_modules/@sentry/types": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.20.0.tgz", - "integrity": "sha512-6IP278KojOpiAA7vrd1hjhUyn26cl0n0nGsShzic5ztCVs92sTeVRnh7MTB9irDVtAbOEyt/YH6go3h+Jia1pA==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.26.0.tgz", + "integrity": "sha512-zKmh6SWsJh630rpt7a9vP4Cm4m1C2gDTUqUiH565CajCL/4cePpNWYrNwalSqsOSL7B9OrczA1+n6a6XvND+ng==", "license": "MIT", "engines": { "node": ">=14.18" } }, "node_modules/@sentry/utils": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.20.0.tgz", - "integrity": "sha512-+1I5H8dojURiEUGPliDwheQk8dhjp8uV1sMccR/W/zjFrt4wZyPs+Ttp/V7gzm9LDJoNek9tmELert/jQqWTgg==", + "version": "8.26.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.26.0.tgz", + "integrity": "sha512-xvlPU9Hd2BlyT+FhWHGNwnxWqdVRk2AHnDtVcW4Ma0Ri5EwS+uy4Jeik5UkSv8C5RVb9VlxFmS8LN3I1MPJsLw==", "license": "MIT", "dependencies": { - "@sentry/types": "8.20.0" + "@sentry/types": "8.26.0" }, "engines": { "node": ">=14.18" @@ -2714,9 +2731,9 @@ } }, "node_modules/@solidtime/ui": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/@solidtime/ui/-/ui-0.0.7.tgz", - "integrity": "sha512-FkK+fZkwPCJUxnZ8WMINNIJr2Pb5BlCxROSONe6cHzb0gWh11JyvVw3wSG4dEB9VBLRORXuLNRFLajDo00YZBA==", + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@solidtime/ui/-/ui-0.0.8.tgz", + "integrity": "sha512-PLAon7dSoVbU9wI+0tbsX+qKrQuXDfxOY42SY27pjH3DT6DL9DISKDnxpyoEJQCZJ4npRqBsQzGCugLabQ15Hg==", "license": "AGPL-3.0", "peerDependencies": { "@floating-ui/vue": "^1.1.4", @@ -2800,9 +2817,9 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.52.0.tgz", - "integrity": "sha512-U1DOEgltjUwalN6uWYTewSnA14b+tE7lSylOiASKCAO61ENJeCq9VVD/TXHA6O5u9+6v5+UgGYBSccTKDoyMqw==", + "version": "5.52.2", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.52.2.tgz", + "integrity": "sha512-9vvbFecK4A0nDnrc/ks41e3UHONF1DAnGz8Tgbxkl59QcvKWmc0ewhYuIKRh8NC4ja5LTHT9EH16KHbn2AIYWA==", "dev": true, "license": "MIT", "funding": { @@ -2822,13 +2839,13 @@ } }, "node_modules/@tanstack/query-persist-client-core": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@tanstack/query-persist-client-core/-/query-persist-client-core-5.52.0.tgz", - "integrity": "sha512-D6Ppz4/ofmcA7h/vksaYUVuMSlFRfBBWGE7JSa6AATy6JDO3cXhJoCXOHVRDEK0ScxV93A/wZ1fzawfIDHR6SQ==", + "version": "5.52.2", + "resolved": "https://registry.npmjs.org/@tanstack/query-persist-client-core/-/query-persist-client-core-5.52.2.tgz", + "integrity": "sha512-bzOYr1kKUPFZ8nyUL+M/LRdwZOLXh+j6RM1T4WnGtjIfXNCtL13QWGSyJYsb2f5JlqsESZ5DIKiMLmvzRK5+aw==", "dev": true, "license": "MIT", "dependencies": { - "@tanstack/query-core": "5.52.0" + "@tanstack/query-core": "5.52.2" }, "funding": { "type": "github", @@ -2836,14 +2853,14 @@ } }, "node_modules/@tanstack/vue-query": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@tanstack/vue-query/-/vue-query-5.52.0.tgz", - "integrity": "sha512-AfPLrWBIxbLy6x04eylfvpiCaAUJrIyz3MCWtANatFwme8QabQQ3F2/lskdNjeAqF0B2Tn2N2tzDrUa1aCCPVg==", + "version": "5.52.2", + "resolved": "https://registry.npmjs.org/@tanstack/vue-query/-/vue-query-5.52.2.tgz", + "integrity": "sha512-AWEKGFrU5ssRbQzl0AUWoa3bejut57gjmXGstDOuPtua4nsJ9swzFMEjYowjskCEtmIW+exG/WHyebpEmF5DrA==", "dev": true, "license": "MIT", "dependencies": { "@tanstack/match-sorter-utils": "^8.15.1", - "@tanstack/query-core": "5.52.0", + "@tanstack/query-core": "5.52.2", "@vue/devtools-api": "^6.6.3", "vue-demi": "^0.14.10" }, @@ -2862,9 +2879,9 @@ } }, "node_modules/@tanstack/vue-query-devtools": { - "version": "5.52.0", - "resolved": "https://registry.npmjs.org/@tanstack/vue-query-devtools/-/vue-query-devtools-5.52.0.tgz", - "integrity": "sha512-RwR/t8fBYVtnoRtwx9fWT1XNzkTiogNQCSiwbTsW7zofjDQTbmp44DlnjmTc9mfidfpb6hFQs2zZhVpvjjz7Yg==", + "version": "5.52.2", + "resolved": "https://registry.npmjs.org/@tanstack/vue-query-devtools/-/vue-query-devtools-5.52.2.tgz", + "integrity": "sha512-w41tLnRAMAbFFP5GJC7481qs0CyclTGPvPUiYx0iWI0XOyhYJKQHoNDTDwYXILJg9GoZFWRAqX+Lv8osOwWDGQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2875,7 +2892,7 @@ "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "@tanstack/vue-query": "^5.52.0", + "@tanstack/vue-query": "^5.52.2", "vue": "^3.3.0" } }, @@ -9414,9 +9431,9 @@ } }, "node_modules/rollup": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.0.tgz", - "integrity": "sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.1.tgz", + "integrity": "sha512-ZnYyKvscThhgd3M5+Qt3pmhO4jIRR5RGzaSovB6Q7rGNrK5cUncrtLmcTTJVSdcKXyZjW8X8MB0JMSuH9bcAJg==", "dev": true, "license": "MIT", "dependencies": { @@ -9430,22 +9447,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.21.0", - "@rollup/rollup-android-arm64": "4.21.0", - "@rollup/rollup-darwin-arm64": "4.21.0", - "@rollup/rollup-darwin-x64": "4.21.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.21.0", - "@rollup/rollup-linux-arm-musleabihf": "4.21.0", - "@rollup/rollup-linux-arm64-gnu": "4.21.0", - "@rollup/rollup-linux-arm64-musl": "4.21.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.21.0", - "@rollup/rollup-linux-riscv64-gnu": "4.21.0", - "@rollup/rollup-linux-s390x-gnu": "4.21.0", - "@rollup/rollup-linux-x64-gnu": "4.21.0", - "@rollup/rollup-linux-x64-musl": "4.21.0", - "@rollup/rollup-win32-arm64-msvc": "4.21.0", - "@rollup/rollup-win32-ia32-msvc": "4.21.0", - "@rollup/rollup-win32-x64-msvc": "4.21.0", + "@rollup/rollup-android-arm-eabi": "4.21.1", + "@rollup/rollup-android-arm64": "4.21.1", + "@rollup/rollup-darwin-arm64": "4.21.1", + "@rollup/rollup-darwin-x64": "4.21.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.1", + "@rollup/rollup-linux-arm-musleabihf": "4.21.1", + "@rollup/rollup-linux-arm64-gnu": "4.21.1", + "@rollup/rollup-linux-arm64-musl": "4.21.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.1", + "@rollup/rollup-linux-riscv64-gnu": "4.21.1", + "@rollup/rollup-linux-s390x-gnu": "4.21.1", + "@rollup/rollup-linux-x64-gnu": "4.21.1", + "@rollup/rollup-linux-x64-musl": "4.21.1", + "@rollup/rollup-win32-arm64-msvc": "4.21.1", + "@rollup/rollup-win32-ia32-msvc": "4.21.1", + "@rollup/rollup-win32-x64-msvc": "4.21.1", "fsevents": "~2.3.2" } }, diff --git a/package.json b/package.json index ca471d5..5f16540 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "solidtime", - "version": "0.0.13", + "version": "0.0.20", "description": "Desktop App for solidtime - the modern open-source time tracker", "main": "./out/main/index.js", "author": "solidtime.io", @@ -8,6 +8,7 @@ "type": "module", "scripts": { "format": "prettier --write .", + "format:check": "prettier --check .", "lint": "eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts,.vue --fix", "typecheck:node": "tsc --noEmit -p tsconfig.node.json --composite false", "typecheck:web": "vue-tsc --noEmit -p tsconfig.web.json --composite false", @@ -32,7 +33,7 @@ "@electron-toolkit/utils": "^3.0.0", "@sentry/electron": "^5.3.0", "@solidtime/api": "^0.0.3", - "@solidtime/ui": "^0.0.7", + "@solidtime/ui": "^0.0.8", "electron-updater": "^6.1.7" }, "devDependencies": { diff --git a/resources/linux_icon.png b/resources/linux_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2884f7cbb298a00a8ea27d520f08c75555852e42 GIT binary patch literal 9851 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 literal 0 HcmV?d00001 diff --git a/src/main/index.ts b/src/main/index.ts index f7a85e8..4713ab8 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -1,7 +1,7 @@ import { app, BrowserWindow, ipcMain } from 'electron' import { join } from 'path' import { electronApp, optimizer, is } from '@electron-toolkit/utils' -import icon from '../../resources/solidtime_empty@4x.png?asset' +import icon from '../../resources/linux_icon.png?asset' import { initializeAutoUpdater, registerAutoUpdateListeners } from './autoUpdater' import { initializeTray, registerTrayListeners } from './tray' import { initializeMainWindow, registerMainWindowListeners } from './mainWindow' diff --git a/src/renderer/src/Mini.vue b/src/renderer/src/Mini.vue index 7632698..6df6b62 100644 --- a/src/renderer/src/Mini.vue +++ b/src/renderer/src/Mini.vue @@ -51,14 +51,14 @@ const projects = computed(() => { }) const shownDescription = computed(() => { - if (isRunning.value && currentTimeEntry.value.description !== '') { - return currentTimeEntry.value.description - } else if (!isRunning.value && lastTimeEntry.value.description !== '') { - return lastTimeEntry.value.description + if (isRunning.value) { + return currentTimeEntry.value.description !== '' ? currentTimeEntry.value.description : currentTask.value?.name + } else if (!isRunning.value) { + return lastTimeEntry.value.description !== '' ? lastTimeEntry.value.description : currentTask.value?.name } - return 'No Description' + return null }) -const shownTask = computed(() => { +const currentTask = computed(() => { if (isRunning.value) { return tasks.value?.find((task) => task.id === currentTimeEntry.value.task_id) } else { @@ -142,7 +142,7 @@ const currentTimer = computed(() => { {{ shownTask?.name ?? shownDescription }}{{ shownDescription ?? 'No Description' }} diff --git a/src/renderer/src/components/SettingsModal.vue b/src/renderer/src/components/SettingsModal.vue index 767c110..fe3d061 100644 --- a/src/renderer/src/components/SettingsModal.vue +++ b/src/renderer/src/components/SettingsModal.vue @@ -72,7 +72,7 @@ function triggerUpdate() {
diff --git a/src/renderer/src/utils/oauth.ts b/src/renderer/src/utils/oauth.ts index af343ed..d804441 100644 --- a/src/renderer/src/utils/oauth.ts +++ b/src/renderer/src/utils/oauth.ts @@ -1,7 +1,6 @@ import { computed, ref } from 'vue' import { useStorage } from '@vueuse/core' import { showMainWindow } from './window' -import { currentMembershipId } from './myMemberships' const challenge = ref('') const state = ref('') @@ -97,7 +96,6 @@ export async function initializeAuth() { } export async function logout() { - currentMembershipId.value = null accessToken.value = '' window.localStorage.removeItem('refresh_token') window.localStorage.removeItem('verifier')