diff --git a/.github/workflows/update-stable.yml b/.github/workflows/update-stable.yml index f990968a..0f48a846 100644 --- a/.github/workflows/update-stable.yml +++ b/.github/workflows/update-stable.yml @@ -12,6 +12,8 @@ jobs: prepare-release: if: contains(github.event.head_commit.message, '#release') runs-on: ubuntu-latest + outputs: + new_version: ${{ steps.bump_version.outputs.new_version }} steps: - uses: actions/checkout@v4 @@ -88,14 +90,8 @@ jobs: env: NEW_VERSION: ${{ steps.bump_version.outputs.new_version }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: .github/scripts/generate-changelog.sh - - name: Get the latest commit hash and version tag - run: | - echo "COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV - echo "NEW_VERSION=${{ steps.bump_version.outputs.new_version }}" >> $GITHUB_ENV - - name: Commit and Tag Release run: | git pull @@ -114,14 +110,59 @@ jobs: git merge main --no-ff -m "chore: release version ${{ steps.bump_version.outputs.new_version }}" git push --set-upstream origin stable --force - - name: Create GitHub Release + build-electron: + needs: prepare-release + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + node-version: [18.18.0] + fail-fast: false + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + + - uses: pnpm/action-setup@v2 + with: + version: 9.14.4 + run_install: false + + - name: Install dependencies + run: pnpm install + + - name: Install Linux dependencies + if: matrix.os == 'ubuntu-latest' + run: | + sudo apt-get update + sudo apt-get install -y rpm + + - name: Build Electron app env: + NODE_OPTIONS: "--max_old_space_size=4096" GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - VERSION="v${{ steps.bump_version.outputs.new_version }}" - # Save changelog to a file - echo "${{ steps.changelog.outputs.content }}" > release_notes.md - gh release create "$VERSION" \ - --title "Release $VERSION" \ - --notes-file release_notes.md \ - --target stable + if [ "$RUNNER_OS" == "Windows" ]; then + pnpm run electron:build:win + elif [ "$RUNNER_OS" == "macOS" ]; then + pnpm run electron:build:mac + else + pnpm run electron:build:linux + fi + shell: bash + + - name: Upload Release Assets + uses: softprops/action-gh-release@v2 + with: + tag_name: v${{ needs.prepare-release.outputs.new_version }} + files: | + dist/*.exe + dist/*.dmg + dist/*.deb + dist/*.AppImage + dist/*.zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/app/components/@settings/tabs/data/DataTab.tsx b/app/components/@settings/tabs/data/DataTab.tsx index df42c1da..1c80d246 100644 --- a/app/components/@settings/tabs/data/DataTab.tsx +++ b/app/components/@settings/tabs/data/DataTab.tsx @@ -514,7 +514,7 @@ export function DataTab() {
-
+
Export Selected Settings @@ -592,7 +592,7 @@ export function DataTab() { whileHover={{ scale: 1.1 }} whileTap={{ scale: 0.9 }} > -
+
Reset All Settings diff --git a/app/components/ui/FileIcon.tsx b/app/components/ui/FileIcon.tsx index 05f69796..895fb1b1 100644 --- a/app/components/ui/FileIcon.tsx +++ b/app/components/ui/FileIcon.tsx @@ -39,11 +39,11 @@ export function FileIcon({ filename, size = 'md', className }: FileIconProps) { } if (['java', 'class', 'jar'].includes(extension)) { - return 'i-ph:file-java'; + return 'i-ph:file-js'; } if (['php'].includes(extension)) { - return 'i-ph:file-php'; + return 'i-ph:file-py'; } if (['rb', 'ruby'].includes(extension)) { @@ -63,15 +63,15 @@ export function FileIcon({ filename, size = 'md', className }: FileIconProps) { } if (['swift'].includes(extension)) { - return 'i-ph:file-swift'; + return 'i-ph:file-code'; } if (['kt', 'kotlin'].includes(extension)) { - return 'i-ph:file-kotlin'; + return 'i-ph:file-code'; } if (['dart'].includes(extension)) { - return 'i-ph:file-dart'; + return 'i-ph:file-code'; } // Config files @@ -80,7 +80,7 @@ export function FileIcon({ filename, size = 'md', className }: FileIconProps) { } if (['xml', 'svg'].includes(extension)) { - return 'i-ph:file-xml'; + return 'i-ph:file-code'; } if (['toml'].includes(extension)) { @@ -157,7 +157,7 @@ export function FileIcon({ filename, size = 'md', className }: FileIconProps) { } if (filename.startsWith('Dockerfile')) { - return 'i-ph:docker-logo'; + return 'i-ph:file-code'; } // Default