diff --git a/.github/notify-slack.js b/.github/notify-slack.js new file mode 100755 index 0000000..0b96f7b --- /dev/null +++ b/.github/notify-slack.js @@ -0,0 +1,27 @@ +#!/usr/bin/env node + +async function main() { + + const message = { + blocks: [ + { + type: 'section', + text: { + type: 'mrkdwn', + text: `NEW BUILD FOR ${process.env.PLATFORM} <${process.env.DOWNLOAD_URL}|download ${process.env.VERSION || ''}>` + } + } + ] + } + const res = fetch(process.env.SLACK_WEBHOOK, { + method: 'POST', + body: JSON.stringify(message), + headers: { 'Content-Type': 'application/json' } + }) + if (res.ok) { + const data = await res.json(); + console.log(data); + } +} + +main(); \ No newline at end of file diff --git a/.github/update-latest-binary.sh b/.github/update-latest-binary.sh new file mode 100755 index 0000000..daca7fd --- /dev/null +++ b/.github/update-latest-binary.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +git fetch +git checkout main + + +ARM_CPU="" +IS_M1=$(sysctl -a | grep "Apple M1") +IS_M2=$(sysctl -a | grep "Apple M2") + +if [ -z "$IS_M1" ] +then + if [ -z "$IS_M2" ] + then + echo "not valid" + else + ARM_CPU="m2" + fi +else + ARM_CPU="m1" +fi + +if ["$ARM_CPU" == ""] +then + echo "nothing to build" +else + tag=$(git tag -l --sort=-creatordate | head -n 1) + pnpm build:gui -b dmg + + echo "uploading to s3" + build_path="$PWD/modules/gui/src-tauri/target/release/bundle/dmg/gui_0.1.0_aarch64.dmg" + tag_path="s3://preview.gui.tea.xyz/release/tea_gui_$tag.$ARM_CPU.dmg" + latest_path="s3://preview.gui.tea.xyz/release/tea_gui_latest.$ARM_CPU.dmg" + aws s3 cp $build_path $tag_path + aws s3 cp $tag_path $latest_path +fi \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 54df9f3..2a5e34e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,16 +16,16 @@ jobs: with: filters: | src: - - 'packages/gui/src/**' - - 'packages/ui/**' + - 'modules/gui/src/**' + - 'modules/ui/**' - uses: dorny/paths-filter@v2 id: tauri with: filters: | src: - - 'packages/gui/src-tauri/**' - - 'packages/gui/src/**' - - 'packages/ui/src/**' + - 'modules/gui/src-tauri/**' + - 'modules/gui/src/**' + - 'modules/ui/src/**' - name: get s3 preview folder id: preview run: echo "folder=${{ github.event.number }}-merge" >> $GITHUB_OUTPUT @@ -53,7 +53,7 @@ jobs: - name: setup node uses: actions/setup-node@v1 with: - node-version: 16 + node-version: 18 cache: 'pnpm' cache-dependency-path: pnpm-lock.yaml - name: install app dependencies @@ -74,7 +74,7 @@ jobs: - name: setup node uses: actions/setup-node@v1 with: - node-version: 16 + node-version: 18 cache: 'pnpm' cache-dependency-path: pnpm-lock.yaml - name: install Rust stable @@ -94,7 +94,7 @@ jobs: env: prefix: ${{ needs.changes.outputs.preview_folder }} run: | - aws s3 sync ./packages/gui/build \ + aws s3 sync ./modules/gui/build \ "s3://preview.gui.tea.xyz/$prefix" - name: Install package run: sudo apt-get install -y jq coreutils @@ -116,12 +116,19 @@ jobs: build_tauri: needs: changes if: needs.changes.outputs.tauri == 'true' + runs-on: ${{ matrix.platform.os }} strategy: - fail-fast: false matrix: - platform: [macos-latest, ubuntu-latest] - - runs-on: ${{ matrix.platform }} + platform: + - os: macos-11 + name: darwin+x86-64 + - os: ubuntu-latest + name: linux+x86-64 + - os: [self-hosted, macOS, ARM64] + name: darwin+aarch64 + # - os: [self-hosted, linux, ARM64] + # name: linux+aarch64 + container: ${{ matrix.platform.container }} steps: - uses: actions/checkout@v2 @@ -139,15 +146,15 @@ jobs: with: toolchain: stable - name: install dependencies (ubuntu only) - if: matrix.platform == 'ubuntu-latest' + if: matrix.platform.name == 'linux+x86-64' run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf pkg-config - uses: Swatinem/rust-cache@v2 with: # The prefix cache key, this can be changed to start a new cache manually. # default: "v0-rust" - prefix-key: ${{ matrix.platform }} + prefix-key: ${{ matrix.platform.name }} shared-key: ci cache-targets: false - name: install app dependencies @@ -157,10 +164,23 @@ jobs: uses: actions/cache@v3 with: path: | - ./packages/gui/src-tauri/target - key: ${{ matrix.platform }}-build-target + ./modules/gui/src-tauri/target + key: ${{ matrix.platform.name }}-build-target restore-keys: | - ${{ matrix.platform }}-build-target + ${{ matrix.platform.name }}-build-target + + - name: build platform output + id: build_platform + env: + platform: ${{ matrix.platform.name }} + run: | + EXTENSION=dmg + BUILD_PLATFORM=$(echo $platform | sed -e "s/darwin+//g" | sed -e "s/linux+//g") + [[ $BUILD_PLATFORM = "x86-64" ]] && BUILD_PLATFORM="x64" || BUILD_PLATFORM=$BUILD_PLATFORM + [[ $platform = "linux+x86-64" ]] && BUILD_PLATFORM="amd64" || BUILD_PLATFORM=$BUILD_PLATFORM + [[ $platform = "linux+x86-64" ]] && EXTENSION="deb" + echo "build_platform=$BUILD_PLATFORM" >> $GITHUB_OUTPUT + echo "extension=$EXTENSION" >> $GITHUB_OUTPUT - name: test build tauri run: pnpm --filter gui tauri build @@ -171,43 +191,22 @@ jobs: aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: us-east-1 - - name: mac-os cp package images from prod to preview bucket - if: matrix.platform == 'macos-latest' + - name: cp package images from prod to preview bucket env: prefix: ${{ needs.changes.outputs.preview_folder }} + platform: ${{ steps.build_platform.outputs.build_platform }} + extension: ${{ steps.build_platform.outputs.extension }} run: | - aws s3 cp ./packages/gui/src-tauri/target/release/bundle/dmg/gui_0.1.0_x64.dmg \ - "s3://preview.gui.tea.xyz/$prefix/gui.dmg" + aws s3 cp "./modules/gui/src-tauri/target/release/bundle/$extension/tea_0.1.0_$platform.$extension" \ + "s3://preview.gui.tea.xyz/$prefix/gui_$platform.$extension" - - name: ubuntu cp package images from prod to preview bucket - if: matrix.platform == 'ubuntu-latest' - env: - prefix: ${{ needs.changes.outputs.preview_folder }} - run: | - aws s3 cp ./packages/gui/src-tauri/target/release/bundle/deb/gui_0.1.0_amd64.deb \ - "s3://preview.gui.tea.xyz/$prefix/gui.deb" - - - name: comment install ubuntu + - name: comment install uses: mshick/add-pr-comment@v2 - if: matrix.platform == 'ubuntu-latest' with: - message-id: ${{ matrix.platform }}-comment-${{steps.prefix.outputs.prefix}} + message-id: ${{ matrix.platform.name }}-comment message: | - **installer for ${{ matrix.platform }} is at**: [here](http://preview.gui.tea.xyz.s3-website-us-east-1.amazonaws.com/${{steps.prefix.outputs.prefix}}/gui.deb) + **installer for ${{ matrix.platform.name }} is at**: [here](http://preview.gui.tea.xyz.s3-website-us-east-1.amazonaws.com/${{ needs.changes.outputs.preview_folder }}/gui_${{steps.build_platform.outputs.build_platform}}.${{steps.build_platform.outputs.extension}}) ```bash - http://preview.gui.tea.xyz.s3-website-us-east-1.amazonaws.com/${{ needs.changes.outputs.preview_folder }}/gui.deb - ``` - copy-paste into a browser to download - - - - name: comment install mac-os - uses: mshick/add-pr-comment@v2 - if: matrix.platform == 'macos-latest' - with: - message-id: ${{ matrix.platform }}-comment-${{steps.prefix.outputs.prefix}} - message: | - **installer for ${{ matrix.platform }} is at**: [here](http://preview.gui.tea.xyz.s3-website-us-east-1.amazonaws.com/${{steps.prefix.outputs.prefix}}/gui.dmg) - ```bash - http://preview.gui.tea.xyz.s3-website-us-east-1.amazonaws.com/${{ needs.changes.outputs.preview_folder }}/gui.dmg + http://preview.gui.tea.xyz.s3-website-us-east-1.amazonaws.com/${{ needs.changes.outputs.preview_folder }}/gui_${{ steps.build_platform.outputs.build_platform }}.${{ steps.build_platform.outputs.extension }} ``` copy-paste into a browser to download \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 20c34fd..7bae9cb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -19,14 +19,16 @@ jobs: with: filters: | src: - - 'packages/gui/src/**' - - 'packages/ui/**' + - 'modules/gui/src/**' + - 'modules/ui/**' - uses: dorny/paths-filter@v2 id: tauri with: filters: | src: - - 'packages/gui/src-tauri/**' + - 'modules/gui/src-tauri/**' + - 'modules/gui/src/**' + - 'modules/ui/src/**' build_svelte: needs: changes if: needs.changes.outputs.svelte == 'true' @@ -41,7 +43,7 @@ jobs: - name: setup node uses: actions/setup-node@v1 with: - node-version: 16 + node-version: 18 cache: 'pnpm' cache-dependency-path: pnpm-lock.yaml - name: install Rust stable @@ -58,12 +60,19 @@ jobs: build_tauri: needs: changes if: needs.changes.outputs.tauri == 'true' + runs-on: ${{ matrix.platform.os }} strategy: - fail-fast: false matrix: - platform: [macos-latest, ubuntu-latest] - - runs-on: ${{ matrix.platform }} + platform: + - os: macos-11 + name: darwin+x86-64 + - os: ubuntu-latest + name: linux+x86-64 + - os: [self-hosted, macOS, ARM64] + name: darwin+aarch64 + # - os: [self-hosted, linux, ARM64] + # name: linux+aarch64 + container: ${{ matrix.platform.container }} steps: - uses: actions/checkout@v2 @@ -73,7 +82,7 @@ jobs: - name: setup node uses: actions/setup-node@v1 with: - node-version: 16 + node-version: 18 cache: 'pnpm' cache-dependency-path: pnpm-lock.yaml - name: install Rust stable @@ -84,11 +93,11 @@ jobs: with: # The prefix cache key, this can be changed to start a new cache manually. # default: "v0-rust" - prefix-key: ${{ matrix.platform }} + prefix-key: ${{ matrix.platform.name }} shared-key: prod cache-targets: false - name: install dependencies (ubuntu only) - if: matrix.platform == 'ubuntu-latest' + if: matrix.platform.name == 'linux+x86-64' run: | sudo apt-get update sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf @@ -99,10 +108,10 @@ jobs: uses: actions/cache@v3 with: path: | - ./packages/gui/src-tauri/target - key: ${{ matrix.platform }}-build-target-prod + ./modules/gui/src-tauri/target + key: ${{ matrix.platform.name }}-build-target-prod restore-keys: | - ${{ matrix.platform }}-build-target-prod + ${{ matrix.platform.name }}-build-target-prod - name: test build tauri run: pnpm --filter gui tauri build @@ -115,14 +124,32 @@ jobs: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: us-east-1 - - name: mac-os cp package images from prod to gui bucket - if: matrix.platform == 'macos-latest' + + - name: build platform output + id: build_platform + env: + platform: ${{ matrix.platform.name }} run: | - aws s3 cp ./packages/gui/src-tauri/target/release/bundle/dmg/gui_0.1.0_x64.dmg \ - s3://preview.gui.tea.xyz/release/gui_${{ steps.date.outputs.unix_seconds }}.dmg + BUILD_PLATFORM=$(echo $platform | sed -e "s/darwin+//g" | sed -e "s/linux+//g") + EXTENSION=dmg + [[ $BUILD_PLATFORM = "x86-64" ]] && BUILD_PLATFORM="x64" || BUILD_PLATFORM=$BUILD_PLATFORM + [[ $platform = "linux+x86-64" ]] && BUILD_PLATFORM="amd64" || BUILD_PLATFORM=$BUILD_PLATFORM + [[ $platform = "linux+x86-64" ]] && EXTENSION="deb" + echo "build_platform=$BUILD_PLATFORM" >> $GITHUB_OUTPUT + echo "extension=$EXTENSION" >> $GITHUB_OUTPUT - - name: ubuntu cp package images from prod to gui bucket - if: matrix.platform == 'ubuntu-latest' + - name: cp package images from prod to gui bucket + env: + platform: ${{ steps.build_platform.outputs.build_platform }} + build_platform: ${{ matrix.platform.name }} + extension: ${{steps.build_platform.outputs.extension}} run: | - aws s3 cp ./packages/gui/src-tauri/target/release/bundle/deb/gui_0.1.0_amd64.deb \ - s3://preview.gui.tea.xyz/release/gui_${{ steps.date.outputs.unix_seconds }}.deb \ No newline at end of file + aws s3 cp "./modules/gui/src-tauri/target/release/bundle/$extension/tea_0.1.0_$platform.$extension" \ + "s3://preview.gui.tea.xyz/release/tea_${{ steps.date.outputs.unix_seconds }}_$platform.$extension" + + - name: Slack Notification + run: ./.github/notify-slack.js + env: + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} + PLATFORM: ${{ matrix.platform.name }} + DOWNLOAD_URL: http://preview.gui.tea.xyz.s3-website-us-east-1.amazonaws.com/release/tea_${{ steps.date.outputs.unix_seconds }}_${{ steps.build_platform.outputs.build_platform }}.${{ steps.build_platform.outputs.extension }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..e61e619 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,107 @@ +on: + push: + tags: + - 'v*.*.*' + +jobs: + build_release_tauri: + runs-on: ${{ matrix.platform.os }} + strategy: + matrix: + platform: + - os: macos-11 + name: darwin+x86-64 + - os: ubuntu-latest + name: linux+x86-64 + - os: [self-hosted, macOS, ARM64] + name: darwin+aarch64 + # - os: [self-hosted, linux, ARM64] + # name: linux+aarch64 + container: ${{ matrix.platform.container }} + steps: + - uses: actions/checkout@v2 + + - uses: pnpm/action-setup@v2 + with: + version: 7 + - name: setup node + uses: actions/setup-node@v1 + with: + node-version: 18 + cache: 'pnpm' + cache-dependency-path: pnpm-lock.yaml + - name: install Rust stable + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + - name: build platform output + id: build_platform + env: + platform: ${{ matrix.platform.name }} + run: | + BUILD_PLATFORM=$(echo $platform | sed -e "s/darwin+//g" | sed -e "s/linux+//g") + EXTENSION=dmg + [[ $BUILD_PLATFORM = "x86-64" ]] && BUILD_PLATFORM="x64" || BUILD_PLATFORM=$BUILD_PLATFORM + [[ $platform = "linux+x86-64" ]] && BUILD_PLATFORM="amd64" || BUILD_PLATFORM=$BUILD_PLATFORM + [[ $platform = "linux+x86-64" ]] && EXTENSION="deb" + echo "build_platform=$BUILD_PLATFORM" >> $GITHUB_OUTPUT + echo "extension=$EXTENSION" >> $GITHUB_OUTPUT + - uses: Swatinem/rust-cache@v2 + with: + # The prefix cache key, this can be changed to start a new cache manually. + # default: "v0-rust" + prefix-key: ${{ matrix.platform.name }} + shared-key: prod + cache-targets: false + - name: install dependencies (ubuntu only) + if: matrix.platform.name == 'linux+x86-64' + run: | + sudo apt-get update + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf + - name: install app dependencies + run: pnpm install + + - name: Cache Tauri Target + uses: actions/cache@v3 + with: + path: | + ./modules/gui/src-tauri/target + key: ${{ matrix.platform.name }}-build-target-prod + restore-keys: | + ${{ matrix.platform.name }}-build-target-prod + + - name: test build tauri + run: pnpm --filter gui tauri build + + - name: Get current unix ts - seconds + id: date + run: echo "unix_seconds=$(date +'%s')" >> $GITHUB_OUTPUT + - uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + # update and replace latest release bin in s3 + - name: Set tag + id: tag + run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT + + - name: publish release + env: + platform: ${{ steps.build_platform.outputs.build_platform }} + extension: ${{ steps.build_platform.outputs.extension }} + tag: ${{ steps.tag.outputs.tag }} + run: | + aws s3 cp "./modules/gui/src-tauri/target/release/bundle/$extension/tea_0.1.0_$platform.$extension" \ + "s3://preview.gui.tea.xyz/release/tea_gui_latest_$platform.$extension" + aws s3 cp "./modules/gui/src-tauri/target/release/bundle/$extension/tea_0.1.0_$platform.$extension" \ + "s3://preview.gui.tea.xyz/release/tea_gui_$tag_$platform.$extension" + + - name: Slack Notification + run: ./.github/notify-slack.js + env: + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} + PLATFORM: ${{ matrix.platform.name }} + VERSION: ${{steps.tag.outputs.tag}} + DOWNLOAD_URL: http://preview.gui.tea.xyz.s3-website-us-east-1.amazonaws.com/release/tea_gui_${{steps.tag.outputs.tag}}_${{steps.build_platform.outputs.build_platform}}.${{ steps.build_platform.outputs.extension }} diff --git a/README.md b/README.md index 2ff26e9..ab04839 100644 --- a/README.md +++ b/README.md @@ -4,18 +4,50 @@ This repository includes the tea GUI/Desktop App. For better documentation checkout this [notion](https://www.notion.so/teaxyz/tea-gui-fdd9f50aa980432fa370b2cf6a03cb50). # Requirements -* [pnpm@^7.8](https://pnpm.io/) -* [node@16](https://github.com/tj/n) -* [rust@^1.62](https://www.rust-lang.org/) -* [cargo@^1.62](https://crates.io/) +* [tea - is all you need](https://tea.xyz/) -# Development -Setting up the workspace just run here: +## Dependencies + +| Project | Version | +|------------|---------| +| nodejs.org | >=16 | +| pnpm.io | >=7.18.2 | +| rust-lang.org | >=1.62 | + +# Getting Started +```sh +pnpm install ``` -$ pnpm install + +To develop the GUI within Tauri Webview ``` +$ pnpm dev:gui +``` + +To develop the GUI within your local browser at localhost:8080 +``` +$ pnpm web:gui +``` +# Build +```sh +pnpm build:gui +``` + +# Creating a release +Tag any commit in the main branch, then push directly to the main branch. +Lets follow the [semver](https://semver.org/) versioning standard, prefixed with `v`: ie `v1.2.3` +``` +$ git tag v1.0.0 +$ git push tag v1.0.0 +``` +We do not have a runner for building for M1 and M2, to manually deploy a release. Make sure you have a [aws-cli](https://aws.amazon.com/cli/). Configure your aws cli profile correctly. +To publish a release simply run +``` +$ AWS_PROFILE=tea/or/etc pnpm release +``` + Refer to each package README.md for instructions on how to setup and contribue to them: -* [tea/gui](./packages/gui/README.md) -* [tea/ui](./packages/ui/README.md) \ No newline at end of file +* [tea/gui](./modules/gui/README.md) +* [tea/ui](./modules/ui/README.md) \ No newline at end of file diff --git a/packages/gui/.eslintignore b/modules/gui/.eslintignore similarity index 100% rename from packages/gui/.eslintignore rename to modules/gui/.eslintignore diff --git a/packages/gui/.eslintrc.cjs b/modules/gui/.eslintrc.cjs similarity index 100% rename from packages/gui/.eslintrc.cjs rename to modules/gui/.eslintrc.cjs diff --git a/packages/gui/.gitignore b/modules/gui/.gitignore similarity index 100% rename from packages/gui/.gitignore rename to modules/gui/.gitignore diff --git a/packages/gui/.npmrc b/modules/gui/.npmrc similarity index 100% rename from packages/gui/.npmrc rename to modules/gui/.npmrc diff --git a/packages/gui/.prettierignore b/modules/gui/.prettierignore similarity index 100% rename from packages/gui/.prettierignore rename to modules/gui/.prettierignore diff --git a/packages/gui/.prettierrc b/modules/gui/.prettierrc similarity index 100% rename from packages/gui/.prettierrc rename to modules/gui/.prettierrc diff --git a/packages/gui/.tauriignore b/modules/gui/.tauriignore similarity index 100% rename from packages/gui/.tauriignore rename to modules/gui/.tauriignore diff --git a/packages/gui/README.md b/modules/gui/README.md similarity index 100% rename from packages/gui/README.md rename to modules/gui/README.md diff --git a/packages/gui/package.json b/modules/gui/package.json similarity index 86% rename from packages/gui/package.json rename to modules/gui/package.json index fd63afa..27f6674 100644 --- a/packages/gui/package.json +++ b/modules/gui/package.json @@ -15,10 +15,10 @@ }, "devDependencies": { "@playwright/test": "1.25.0", - "@sveltejs/adapter-auto": "next", - "@sveltejs/adapter-static": "1.0.0-next.48", - "@sveltejs/kit": "next", - "@tauri-apps/cli": "1.2.0", + "@sveltejs/adapter-auto": "^1.0.0", + "@sveltejs/adapter-static": "^1.0.0", + "@sveltejs/kit": "^1.0.1", + "@tauri-apps/cli": "^1.2.2", "@tea/ui": "workspace:*", "@typescript-eslint/eslint-plugin": "^5.27.0", "@typescript-eslint/parser": "^5.27.0", @@ -30,14 +30,14 @@ "prettier": "^2.7.1", "prettier-plugin-svelte": "^2.7.0", "prettier-plugin-tailwindcss": "^0.2.0", - "svelte": "^3.49.0", + "svelte": "^3.55.0", "svelte-check": "^2.8.0", - "svelte-preprocess": "^4.10.7", + "svelte-preprocess": "^5.0.0", "svelte2tsx": "^0.5.20", "tailwindcss": "^3.2.4", "tslib": "^2.3.1", "typescript": "^4.7.4", - "vite": "^3.1.0" + "vite": "^4.0.0" }, "type": "module", "dependencies": { diff --git a/packages/gui/playwright.config.ts b/modules/gui/playwright.config.ts similarity index 100% rename from packages/gui/playwright.config.ts rename to modules/gui/playwright.config.ts diff --git a/packages/gui/postcss.config.cjs b/modules/gui/postcss.config.cjs similarity index 100% rename from packages/gui/postcss.config.cjs rename to modules/gui/postcss.config.cjs diff --git a/packages/gui/src-tauri/.gitignore b/modules/gui/src-tauri/.gitignore similarity index 100% rename from packages/gui/src-tauri/.gitignore rename to modules/gui/src-tauri/.gitignore diff --git a/packages/gui/src-tauri/Cargo.lock b/modules/gui/src-tauri/Cargo.lock similarity index 100% rename from packages/gui/src-tauri/Cargo.lock rename to modules/gui/src-tauri/Cargo.lock diff --git a/packages/gui/src-tauri/Cargo.toml b/modules/gui/src-tauri/Cargo.toml similarity index 100% rename from packages/gui/src-tauri/Cargo.toml rename to modules/gui/src-tauri/Cargo.toml diff --git a/packages/gui/src-tauri/build.rs b/modules/gui/src-tauri/build.rs similarity index 100% rename from packages/gui/src-tauri/build.rs rename to modules/gui/src-tauri/build.rs diff --git a/packages/gui/src-tauri/icons/128x128.png b/modules/gui/src-tauri/icons/128x128.png similarity index 100% rename from packages/gui/src-tauri/icons/128x128.png rename to modules/gui/src-tauri/icons/128x128.png diff --git a/packages/gui/src-tauri/icons/128x128@2x.png b/modules/gui/src-tauri/icons/128x128@2x.png similarity index 100% rename from packages/gui/src-tauri/icons/128x128@2x.png rename to modules/gui/src-tauri/icons/128x128@2x.png diff --git a/packages/gui/src-tauri/icons/32x32.png b/modules/gui/src-tauri/icons/32x32.png similarity index 100% rename from packages/gui/src-tauri/icons/32x32.png rename to modules/gui/src-tauri/icons/32x32.png diff --git a/packages/gui/src-tauri/icons/Square107x107Logo.png b/modules/gui/src-tauri/icons/Square107x107Logo.png similarity index 100% rename from packages/gui/src-tauri/icons/Square107x107Logo.png rename to modules/gui/src-tauri/icons/Square107x107Logo.png diff --git a/packages/gui/src-tauri/icons/Square142x142Logo.png b/modules/gui/src-tauri/icons/Square142x142Logo.png similarity index 100% rename from packages/gui/src-tauri/icons/Square142x142Logo.png rename to modules/gui/src-tauri/icons/Square142x142Logo.png diff --git a/packages/gui/src-tauri/icons/Square150x150Logo.png b/modules/gui/src-tauri/icons/Square150x150Logo.png similarity index 100% rename from packages/gui/src-tauri/icons/Square150x150Logo.png rename to modules/gui/src-tauri/icons/Square150x150Logo.png diff --git a/packages/gui/src-tauri/icons/Square284x284Logo.png b/modules/gui/src-tauri/icons/Square284x284Logo.png similarity index 100% rename from packages/gui/src-tauri/icons/Square284x284Logo.png rename to modules/gui/src-tauri/icons/Square284x284Logo.png diff --git a/packages/gui/src-tauri/icons/Square30x30Logo.png b/modules/gui/src-tauri/icons/Square30x30Logo.png similarity index 100% rename from packages/gui/src-tauri/icons/Square30x30Logo.png rename to modules/gui/src-tauri/icons/Square30x30Logo.png diff --git a/packages/gui/src-tauri/icons/Square310x310Logo.png b/modules/gui/src-tauri/icons/Square310x310Logo.png similarity index 100% rename from packages/gui/src-tauri/icons/Square310x310Logo.png rename to modules/gui/src-tauri/icons/Square310x310Logo.png diff --git a/packages/gui/src-tauri/icons/Square44x44Logo.png b/modules/gui/src-tauri/icons/Square44x44Logo.png similarity index 100% rename from packages/gui/src-tauri/icons/Square44x44Logo.png rename to modules/gui/src-tauri/icons/Square44x44Logo.png diff --git a/packages/gui/src-tauri/icons/Square71x71Logo.png b/modules/gui/src-tauri/icons/Square71x71Logo.png similarity index 100% rename from packages/gui/src-tauri/icons/Square71x71Logo.png rename to modules/gui/src-tauri/icons/Square71x71Logo.png diff --git a/packages/gui/src-tauri/icons/Square89x89Logo.png b/modules/gui/src-tauri/icons/Square89x89Logo.png similarity index 100% rename from packages/gui/src-tauri/icons/Square89x89Logo.png rename to modules/gui/src-tauri/icons/Square89x89Logo.png diff --git a/packages/gui/src-tauri/icons/StoreLogo.png b/modules/gui/src-tauri/icons/StoreLogo.png similarity index 100% rename from packages/gui/src-tauri/icons/StoreLogo.png rename to modules/gui/src-tauri/icons/StoreLogo.png diff --git a/modules/gui/src-tauri/icons/icon.icns b/modules/gui/src-tauri/icons/icon.icns new file mode 100644 index 0000000..46b77f8 Binary files /dev/null and b/modules/gui/src-tauri/icons/icon.icns differ diff --git a/modules/gui/src-tauri/icons/icon.ico b/modules/gui/src-tauri/icons/icon.ico new file mode 100644 index 0000000..3bfde41 Binary files /dev/null and b/modules/gui/src-tauri/icons/icon.ico differ diff --git a/packages/gui/src-tauri/icons/icon.png b/modules/gui/src-tauri/icons/icon.png similarity index 100% rename from packages/gui/src-tauri/icons/icon.png rename to modules/gui/src-tauri/icons/icon.png diff --git a/packages/gui/src-tauri/src/handlers/mod.rs b/modules/gui/src-tauri/src/handlers/mod.rs similarity index 100% rename from packages/gui/src-tauri/src/handlers/mod.rs rename to modules/gui/src-tauri/src/handlers/mod.rs diff --git a/packages/gui/src-tauri/src/handlers/packages.rs b/modules/gui/src-tauri/src/handlers/packages.rs similarity index 100% rename from packages/gui/src-tauri/src/handlers/packages.rs rename to modules/gui/src-tauri/src/handlers/packages.rs diff --git a/packages/gui/src-tauri/src/main.rs b/modules/gui/src-tauri/src/main.rs similarity index 100% rename from packages/gui/src-tauri/src/main.rs rename to modules/gui/src-tauri/src/main.rs diff --git a/packages/gui/src-tauri/tauri.conf.json b/modules/gui/src-tauri/tauri.conf.json similarity index 99% rename from packages/gui/src-tauri/tauri.conf.json rename to modules/gui/src-tauri/tauri.conf.json index ddbbd56..d5a16ef 100644 --- a/packages/gui/src-tauri/tauri.conf.json +++ b/modules/gui/src-tauri/tauri.conf.json @@ -7,7 +7,7 @@ "distDir": "../build" }, "package": { - "productName": "gui", + "productName": "tea", "version": "0.1.0" }, "tauri": { diff --git a/packages/gui/src/app.css b/modules/gui/src/app.css similarity index 69% rename from packages/gui/src/app.css rename to modules/gui/src/app.css index c5791be..1d6c107 100644 --- a/packages/gui/src/app.css +++ b/modules/gui/src/app.css @@ -22,3 +22,20 @@ html { font-family: sono, sans-serif; } } + +.text-primary, +header, +h1, +h2, +h3, +h4, +h5, +h6, +button, +.click-copy { + font-family: 'pp-neue-machina' !important; +} + +.pk-version { + font-family: 'sono'; +} diff --git a/packages/gui/src/app.d.ts b/modules/gui/src/app.d.ts similarity index 100% rename from packages/gui/src/app.d.ts rename to modules/gui/src/app.d.ts diff --git a/packages/gui/src/app.html b/modules/gui/src/app.html similarity index 100% rename from packages/gui/src/app.html rename to modules/gui/src/app.html diff --git a/packages/gui/src/components/Badges/Badges.svelte b/modules/gui/src/components/Badges/Badges.svelte similarity index 100% rename from packages/gui/src/components/Badges/Badges.svelte rename to modules/gui/src/components/Badges/Badges.svelte diff --git a/packages/gui/src/components/BigBlackSpace/BigBlackSpace.svelte b/modules/gui/src/components/BigBlackSpace/BigBlackSpace.svelte similarity index 100% rename from packages/gui/src/components/BigBlackSpace/BigBlackSpace.svelte rename to modules/gui/src/components/BigBlackSpace/BigBlackSpace.svelte diff --git a/packages/gui/src/components/CategorizedPackages/CategorizedPackages.svelte b/modules/gui/src/components/CategorizedPackages/CategorizedPackages.svelte similarity index 82% rename from packages/gui/src/components/CategorizedPackages/CategorizedPackages.svelte rename to modules/gui/src/components/CategorizedPackages/CategorizedPackages.svelte index 8ff82c8..7124972 100644 --- a/packages/gui/src/components/CategorizedPackages/CategorizedPackages.svelte +++ b/modules/gui/src/components/CategorizedPackages/CategorizedPackages.svelte @@ -17,13 +17,7 @@ diff --git a/packages/gui/src/components/CliBanner/CliBanner.svelte b/modules/gui/src/components/CliBanner/CliBanner.svelte similarity index 100% rename from packages/gui/src/components/CliBanner/CliBanner.svelte rename to modules/gui/src/components/CliBanner/CliBanner.svelte diff --git a/packages/gui/src/components/EssentialWorkshops/EssentialWorkshops.svelte b/modules/gui/src/components/EssentialWorkshops/EssentialWorkshops.svelte similarity index 67% rename from packages/gui/src/components/EssentialWorkshops/EssentialWorkshops.svelte rename to modules/gui/src/components/EssentialWorkshops/EssentialWorkshops.svelte index 42679fb..1d64133 100644 --- a/packages/gui/src/components/EssentialWorkshops/EssentialWorkshops.svelte +++ b/modules/gui/src/components/EssentialWorkshops/EssentialWorkshops.svelte @@ -1,24 +1,21 @@ {#if courses.length} - + {:else} -
+
{/if} diff --git a/packages/gui/src/components/FeaturedCourses/FeaturedCourses.svelte b/modules/gui/src/components/FeaturedCourses/FeaturedCourses.svelte similarity index 54% rename from packages/gui/src/components/FeaturedCourses/FeaturedCourses.svelte rename to modules/gui/src/components/FeaturedCourses/FeaturedCourses.svelte index 4febfe4..68ffc6e 100644 --- a/packages/gui/src/components/FeaturedCourses/FeaturedCourses.svelte +++ b/modules/gui/src/components/FeaturedCourses/FeaturedCourses.svelte @@ -1,17 +1,21 @@ @@ -23,4 +27,5 @@ imageUrl: course.banner_image_url, link: course.link }))} + linkTarget="_blank" /> diff --git a/packages/gui/src/components/FeaturedPackages/FeaturedPackages.svelte b/modules/gui/src/components/FeaturedPackages/FeaturedPackages.svelte similarity index 100% rename from packages/gui/src/components/FeaturedPackages/FeaturedPackages.svelte rename to modules/gui/src/components/FeaturedPackages/FeaturedPackages.svelte diff --git a/modules/gui/src/components/FooterLinks/FooterLinks.svelte b/modules/gui/src/components/FooterLinks/FooterLinks.svelte new file mode 100644 index 0000000..50e294c --- /dev/null +++ b/modules/gui/src/components/FooterLinks/FooterLinks.svelte @@ -0,0 +1,127 @@ +
+
+
+ + +