diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 3c3629e64..000000000 --- a/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 96bbf117f..000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "root": true, - "ignorePatterns": ["**/*"], - "plugins": ["@nx"], - "overrides": [ - { - "files": ["*.ts", "*.tsx", "*.js", "*.jsx", "*.vue"], - "rules": { - "@nx/enforce-module-boundaries": [ - "error", - { - "enforceBuildableLibDependency": true, - "allow": [], - "depConstraints": [ - { - "sourceTag": "*", - "onlyDependOnLibsWithTags": ["*"] - } - ] - } - ] - } - }, - { - "files": ["*.ts", "*.tsx"], - "extends": ["plugin:@nx/typescript"], - "rules": {} - }, - { - "files": ["*.js", "*.jsx"], - "extends": ["plugin:@nx/javascript"], - "rules": {} - } - ] -} diff --git a/.github/assets/app_cover.png b/.github/assets/app_cover.png new file mode 100644 index 000000000..62f027cf0 Binary files /dev/null and b/.github/assets/app_cover.png differ diff --git a/.github/assets/monorepo_cover.png b/.github/assets/monorepo_cover.png new file mode 100644 index 000000000..c7effcb4e Binary files /dev/null and b/.github/assets/monorepo_cover.png differ diff --git a/.github/assets/web_cover.png b/.github/assets/web_cover.png new file mode 100644 index 000000000..c0a3ad60d Binary files /dev/null and b/.github/assets/web_cover.png differ diff --git a/.gitignore b/.gitignore index c4591df3f..6c40725a0 100644 --- a/.gitignore +++ b/.gitignore @@ -48,5 +48,9 @@ Thumbs.db .nitro .cache -# knossos generated files -apps/knossos/src/generated +# frontend generated files +apps/frontend/src/generated + +.turbo +target +generated diff --git a/.prettierignore b/.prettierignore index e26f0b3f7..938239217 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,5 +1,4 @@ # Add files here to ignore them from prettier formatting /dist /coverage -/.nx/cache -/.nx/workspace-data \ No newline at end of file +/.turbo \ No newline at end of file diff --git a/COPYING.md b/COPYING.md index 58de02861..37aed2ddf 100644 --- a/COPYING.md +++ b/COPYING.md @@ -1 +1,13 @@ -TODO: write licensing info +# Copying Guidelines + +All packages in this repository are licensed under their respective licenses. For more information, refer to the LICENSE file in each package. + +For detailed information, consult each package's COPYING.md file, if available. + +## Modrinth Branding + +The use of Modrinth branding elements, including but not limited to the wrench-in-labyrinth logo, the landing image, and any variations thereof, is strictly prohibited without explicit written permission from Rinth, Inc. This includes trademarks, logos, or other branding elements. + +All rights reserved. © 2020-2024 Rinth, Inc. + +If you fork this repository, you must remove all Modrinth branding assets from your fork. diff --git a/Cargo.lock b/Cargo.lock index 27c06604b..396f471db 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5200,7 +5200,7 @@ dependencies = [ ] [[package]] -name = "theseus_gui_rs" +name = "theseus_gui" version = "0.7.2" dependencies = [ "chrono", diff --git a/Cargo.toml b/Cargo.toml index 6b1e4fb81..125ce2fd4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,11 +1,10 @@ - [workspace] resolver = '2' members = [ - './libs/theseus', - './libs/theseus_macros', - './apps/theseus_playground', - './apps/theseus_gui_rs', + './packages/app-lib', + './packages/app-macros', + './apps/app-playground', + './apps/app/src-tauri' ] [profile.dev] diff --git a/README.md b/README.md index 5d2379764..1ce324ca4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,39 @@ -# Olympus (Modrinth monorepo) +# ![Modrinth Logo on Mount Olympus](/.github/assets/monorepo_cover.png) -TODO: write rest of readme +![Issues](https://img.shields.io/github/issues-raw/Modrinth/olympus?color=c78aff&label=issues&style=for-the-badge) +![Pull Requests](https://img.shields.io/github/issues-pr-raw/Modrinth/olympus?color=c78aff&label=PRs&style=for-the-badge) +![Contributors](https://img.shields.io/github/contributors/Modrinth/olympus?color=c78aff&label=contributors&style=for-the-badge) +![Lines](https://img.shields.io/endpoint?url=https://ghloc.vercel.app/api/modrinth/olympus/badge?style=flat&logoColor=white&color=c78aff&style=for-the-badge) +![Commit Activity](https://img.shields.io/github/commit-activity/m/Modrinth/olympus?color=c78aff&label=commits&style=for-the-badge) +![Last Commit](https://img.shields.io/github/last-commit/Modrinth/olympus?color=c78aff&label=last%20commit&style=for-the-badge) + +## Modrinth Monorepo + +Welcome to the Modrinth Monorepo, the primary codebase for the Modrinth web interface and app. It contains ![Lines](https://img.shields.io/endpoint?url=https://ghloc.vercel.app/api/modrinth/olympus/badge?logoColor=white&color=black&label=) lines of code and has ![Contributors](https://img.shields.io/github/contributors/Modrinth/olympus?color=black&label=) contributors! + +If you're not a developer and you've stumbled upon this repository, you can access the web interface on the [Modrinth website](https://modrinth.com) and download the latest release of the app [here](https://modrinth.com/app). + +## Development + +This repository contains two primary packages. For detailed development information, please refer to their respective READMEs: + +- [Web Interface](apps/frontend/README.md) +- [Desktop App](apps/app/README.md) + +## Contributing + +We welcome contributions! Before submitting any contributions, please read our [contributing guidelines](https://support.modrinth.com/en/articles/8802215-contributing-to-modrinth). + +If you plan to fork this repository for your own purposes, please review our [copying guidelines](COPYING.md). + +## Security + +If you discover a security vulnerability within our codebase, please follow our [responsible disclosure guidelines](https://modrinth.com/legal/security). + +## Support + +If you need help with the Modrinth web interface or app, please visit our [support page](https://support.modrinth.com). For general inquiries, you can also join our [Discord server](https://discord.gg/modrinth). + +## License + +All packages in this repository are licensed under their respective licenses. Refer to the LICENSE file in each package for more information. diff --git a/apps/theseus_playground/Cargo.toml b/apps/app-playground/Cargo.toml similarity index 91% rename from apps/theseus_playground/Cargo.toml rename to apps/app-playground/Cargo.toml index 7040ec5e9..09d1fd41e 100644 --- a/apps/theseus_playground/Cargo.toml +++ b/apps/app-playground/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -theseus = { path = "../../libs/theseus", features = ["cli"] } +theseus = { path = "../../packages/app-lib", features = ["cli"] } serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } diff --git a/apps/theseus_playground/link_test.html b/apps/app-playground/link_test.html similarity index 100% rename from apps/theseus_playground/link_test.html rename to apps/app-playground/link_test.html diff --git a/apps/theseus_playground/src/main.rs b/apps/app-playground/src/main.rs similarity index 100% rename from apps/theseus_playground/src/main.rs rename to apps/app-playground/src/main.rs diff --git a/apps/app/.eslintrc.json b/apps/app/.eslintrc.json new file mode 100644 index 000000000..5a3cab20b --- /dev/null +++ b/apps/app/.eslintrc.json @@ -0,0 +1,21 @@ +{ + "env": { + "browser": true, + "es2021": true, + "node": true + }, + "extends": ["eslint:recommended", "plugin:vue/vue3-recommended", "prettier"], + "parserOptions": { + "ecmaVersion": "latest", + "sourceType": "module" + }, + "plugins": ["vue"], + "rules": { + "no-console": "off", + "vue/no-v-html": "off", + "comma-dangle": ["error", "only-multiline"], + "vue/comment-directive": "off", + "vue/multi-word-component-names": "off", + "import/no-named-as-default": "off" + } +} diff --git a/apps/theseus-gui/COPYING.md b/apps/app/COPYING.md similarity index 59% rename from apps/theseus-gui/COPYING.md rename to apps/app/COPYING.md index 9e15dbce1..f1bba6587 100644 --- a/apps/theseus-gui/COPYING.md +++ b/apps/app/COPYING.md @@ -4,7 +4,7 @@ The source code of the theseus repository is licensed under the GNU General Publ ## Modrinth logo -Any files depicting the Modrinth branding, including the wrench-in-labyrinth logo, the landing image, and variations thereof, are licensed as follows: +The use of Modrinth branding elements, including but not limited to the wrench-in-labyrinth logo, the landing image, and any variations thereof, is strictly prohibited without explicit written permission from Rinth, Inc. This includes trademarks, logos, or other branding elements. > All rights reserved. © 2020-2023 Rinth, Inc. diff --git a/apps/theseus-gui/LICENSE b/apps/app/LICENSE similarity index 100% rename from apps/theseus-gui/LICENSE rename to apps/app/LICENSE diff --git a/apps/app/README.md b/apps/app/README.md new file mode 100644 index 000000000..8c05e6887 --- /dev/null +++ b/apps/app/README.md @@ -0,0 +1,29 @@ +# ![Modrinth App](/.github/assets/app_cover.png) + +## Modrinth App + +The Modrinth App is a desktop application for managing your Minecraft mods. It is built with [Tauri](https://tauri.app/) and [Vue](https://vuejs.org/). + +If you're not a developer and you've stumbled upon this repository, you can download the latest release of the app from the [Modrinth website](https://modrinth.com/app). + +## Development + +### Pre-requisites + +Before you begin, ensure you have the following installed on your machine: + +- [Node.js](https://nodejs.org/en/) +- [pnpm](https://pnpm.io/) +- [Rust](https://www.rust-lang.org/tools/install) +- [Tauri](https://tauri.app/v1/guides/getting-started/prerequisites/#installing) + +### Setup + +Follow these steps to set up your development environment: + +```bash +pnpm install +cargo tauri dev # `pnpm app:dev` is currently broken, contributions welcome! +``` + +You should now have a development build of the app running with hot-reloading enabled. Any changes you make to the code will automatically refresh the app. diff --git a/apps/theseus-gui/index.html b/apps/app/index.html similarity index 100% rename from apps/theseus-gui/index.html rename to apps/app/index.html diff --git a/apps/app/package.json b/apps/app/package.json new file mode 100644 index 000000000..dda811ce1 --- /dev/null +++ b/apps/app/package.json @@ -0,0 +1,51 @@ +{ + "name": "@modrinth/app", + "private": true, + "version": "0.7.2", + "type": "module", + "scripts": { + "vite:dev": "vite", + "vite:build": "vite build", + "vite:preview": "vite preview", + "tauri": "tauri", + "tauri:build": "tauri build", + "tauri:dev": "tauri dev", + "dev": "tauri dev", + "lint:js": "eslint --ext .js,.vue,.ts,.jsx,.tsx,.html,.vue .", + "lint": "pnpm run lint:js && prettier --check .", + "fix": "eslint --fix --ext .js,.vue,.ts,.jsx,.tsx,.html,.vue . && prettier --write ." + }, + "dependencies": { + "@modrinth/assets": "workspace:*", + "@modrinth/ui": "workspace:*", + "@modrinth/utils": "workspace:*", + "@tauri-apps/api": "^1.5.3", + "@vintl/vintl": "^4.4.1", + "dayjs": "^1.11.10", + "floating-vue": "^5.2.2", + "mixpanel-browser": "^2.49.0", + "ofetch": "^1.3.4", + "omorphia": "^0.4.41", + "pinia": "^2.1.7", + "tauri-plugin-window-state-api": "github:tauri-apps/tauri-plugin-window-state#v1", + "vite-svg-loader": "^5.1.0", + "vue": "^3.4.21", + "vue-multiselect": "3.0.0-beta.3", + "vue-router": "4.3.0", + "vue-virtual-scroller": "2.0.0-beta.8" + }, + "devDependencies": { + "@tauri-apps/cli": "^1.5.11", + "@vitejs/plugin-vue": "^5.0.4", + "eslint": "^8.57.0", + "eslint-config-custom": "workspace:*", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-vue": "^9.24.0", + "prettier": "^3.2.5", + "sass": "^1.74.1", + "tsconfig": "workspace:*", + "vite": "^5.2.8", + "vite-plugin-eslint": "^1.8.1" + }, + "packageManager": "pnpm@9.4.0" +} diff --git a/apps/app/src-tauri/.gitignore b/apps/app/src-tauri/.gitignore new file mode 100644 index 000000000..f4dfb82b2 --- /dev/null +++ b/apps/app/src-tauri/.gitignore @@ -0,0 +1,4 @@ +# Generated by Cargo +# will have compiled files and executables +/target/ + diff --git a/apps/theseus_gui_rs/App.entitlements b/apps/app/src-tauri/App.entitlements similarity index 100% rename from apps/theseus_gui_rs/App.entitlements rename to apps/app/src-tauri/App.entitlements diff --git a/apps/theseus_gui_rs/Cargo.toml b/apps/app/src-tauri/Cargo.toml similarity index 95% rename from apps/theseus_gui_rs/Cargo.toml rename to apps/app/src-tauri/Cargo.toml index 69cef44a6..c6dabc91b 100644 --- a/apps/theseus_gui_rs/Cargo.toml +++ b/apps/app/src-tauri/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "theseus_gui_rs" +name = "theseus_gui" version = "0.7.2" description = "A Tauri App" authors = ["you"] @@ -14,7 +14,7 @@ build = "build.rs" tauri-build = { version = "1.3", features = [] } [dependencies] -theseus = { path = "../../libs/theseus", features = ["tauri"] } +theseus = { path = "../../../packages/app-lib", features = ["tauri"] } serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } diff --git a/apps/theseus_gui_rs/Info.plist b/apps/app/src-tauri/Info.plist similarity index 100% rename from apps/theseus_gui_rs/Info.plist rename to apps/app/src-tauri/Info.plist diff --git a/apps/theseus_gui_rs/build.rs b/apps/app/src-tauri/build.rs similarity index 100% rename from apps/theseus_gui_rs/build.rs rename to apps/app/src-tauri/build.rs diff --git a/apps/theseus_gui_rs/icons/128x128.png b/apps/app/src-tauri/icons/128x128.png similarity index 100% rename from apps/theseus_gui_rs/icons/128x128.png rename to apps/app/src-tauri/icons/128x128.png diff --git a/apps/theseus_gui_rs/icons/128x128@2x.png b/apps/app/src-tauri/icons/128x128@2x.png similarity index 100% rename from apps/theseus_gui_rs/icons/128x128@2x.png rename to apps/app/src-tauri/icons/128x128@2x.png diff --git a/apps/theseus_gui_rs/icons/Square107x107Logo.png b/apps/app/src-tauri/icons/Square107x107Logo.png similarity index 100% rename from apps/theseus_gui_rs/icons/Square107x107Logo.png rename to apps/app/src-tauri/icons/Square107x107Logo.png diff --git a/apps/theseus_gui_rs/icons/Square142x142Logo.png b/apps/app/src-tauri/icons/Square142x142Logo.png similarity index 100% rename from apps/theseus_gui_rs/icons/Square142x142Logo.png rename to apps/app/src-tauri/icons/Square142x142Logo.png diff --git a/apps/theseus_gui_rs/icons/Square150x150Logo.png b/apps/app/src-tauri/icons/Square150x150Logo.png similarity index 100% rename from apps/theseus_gui_rs/icons/Square150x150Logo.png rename to apps/app/src-tauri/icons/Square150x150Logo.png diff --git a/apps/theseus_gui_rs/icons/Square284x284Logo.png b/apps/app/src-tauri/icons/Square284x284Logo.png similarity index 100% rename from apps/theseus_gui_rs/icons/Square284x284Logo.png rename to apps/app/src-tauri/icons/Square284x284Logo.png diff --git a/apps/theseus_gui_rs/icons/Square30x30Logo.png b/apps/app/src-tauri/icons/Square30x30Logo.png similarity index 100% rename from apps/theseus_gui_rs/icons/Square30x30Logo.png rename to apps/app/src-tauri/icons/Square30x30Logo.png diff --git a/apps/theseus_gui_rs/icons/Square310x310Logo.png b/apps/app/src-tauri/icons/Square310x310Logo.png similarity index 100% rename from apps/theseus_gui_rs/icons/Square310x310Logo.png rename to apps/app/src-tauri/icons/Square310x310Logo.png diff --git a/apps/theseus_gui_rs/icons/Square44x44Logo.png b/apps/app/src-tauri/icons/Square44x44Logo.png similarity index 100% rename from apps/theseus_gui_rs/icons/Square44x44Logo.png rename to apps/app/src-tauri/icons/Square44x44Logo.png diff --git a/apps/theseus_gui_rs/icons/Square71x71Logo.png b/apps/app/src-tauri/icons/Square71x71Logo.png similarity index 100% rename from apps/theseus_gui_rs/icons/Square71x71Logo.png rename to apps/app/src-tauri/icons/Square71x71Logo.png diff --git a/apps/theseus_gui_rs/icons/Square89x89Logo.png b/apps/app/src-tauri/icons/Square89x89Logo.png similarity index 100% rename from apps/theseus_gui_rs/icons/Square89x89Logo.png rename to apps/app/src-tauri/icons/Square89x89Logo.png diff --git a/apps/theseus_gui_rs/icons/StoreLogo.png b/apps/app/src-tauri/icons/StoreLogo.png similarity index 100% rename from apps/theseus_gui_rs/icons/StoreLogo.png rename to apps/app/src-tauri/icons/StoreLogo.png diff --git a/apps/knossos/src/public/favicon.ico b/apps/app/src-tauri/icons/favicon.ico similarity index 100% rename from apps/knossos/src/public/favicon.ico rename to apps/app/src-tauri/icons/favicon.ico diff --git a/apps/theseus_gui_rs/icons/icon.icns b/apps/app/src-tauri/icons/icon.icns similarity index 100% rename from apps/theseus_gui_rs/icons/icon.icns rename to apps/app/src-tauri/icons/icon.icns diff --git a/apps/theseus_gui_rs/icons/icon.ico b/apps/app/src-tauri/icons/icon.ico similarity index 100% rename from apps/theseus_gui_rs/icons/icon.ico rename to apps/app/src-tauri/icons/icon.ico diff --git a/apps/theseus_gui_rs/icons/icon.png b/apps/app/src-tauri/icons/icon.png similarity index 100% rename from apps/theseus_gui_rs/icons/icon.png rename to apps/app/src-tauri/icons/icon.png diff --git a/apps/theseus_gui_rs/msi/main.wxs b/apps/app/src-tauri/msi/main.wxs similarity index 100% rename from apps/theseus_gui_rs/msi/main.wxs rename to apps/app/src-tauri/msi/main.wxs diff --git a/apps/theseus_gui_rs/src/api/auth.rs b/apps/app/src-tauri/src/api/auth.rs similarity index 100% rename from apps/theseus_gui_rs/src/api/auth.rs rename to apps/app/src-tauri/src/api/auth.rs diff --git a/apps/theseus_gui_rs/src/api/import.rs b/apps/app/src-tauri/src/api/import.rs similarity index 100% rename from apps/theseus_gui_rs/src/api/import.rs rename to apps/app/src-tauri/src/api/import.rs diff --git a/apps/theseus_gui_rs/src/api/jre.rs b/apps/app/src-tauri/src/api/jre.rs similarity index 100% rename from apps/theseus_gui_rs/src/api/jre.rs rename to apps/app/src-tauri/src/api/jre.rs diff --git a/apps/theseus_gui_rs/src/api/logs.rs b/apps/app/src-tauri/src/api/logs.rs similarity index 100% rename from apps/theseus_gui_rs/src/api/logs.rs rename to apps/app/src-tauri/src/api/logs.rs diff --git a/apps/theseus_gui_rs/src/api/metadata.rs b/apps/app/src-tauri/src/api/metadata.rs similarity index 100% rename from apps/theseus_gui_rs/src/api/metadata.rs rename to apps/app/src-tauri/src/api/metadata.rs diff --git a/apps/theseus_gui_rs/src/api/mod.rs b/apps/app/src-tauri/src/api/mod.rs similarity index 100% rename from apps/theseus_gui_rs/src/api/mod.rs rename to apps/app/src-tauri/src/api/mod.rs diff --git a/apps/theseus_gui_rs/src/api/mr_auth.rs b/apps/app/src-tauri/src/api/mr_auth.rs similarity index 100% rename from apps/theseus_gui_rs/src/api/mr_auth.rs rename to apps/app/src-tauri/src/api/mr_auth.rs diff --git a/apps/theseus_gui_rs/src/api/pack.rs b/apps/app/src-tauri/src/api/pack.rs similarity index 100% rename from apps/theseus_gui_rs/src/api/pack.rs rename to apps/app/src-tauri/src/api/pack.rs diff --git a/apps/theseus_gui_rs/src/api/process.rs b/apps/app/src-tauri/src/api/process.rs similarity index 100% rename from apps/theseus_gui_rs/src/api/process.rs rename to apps/app/src-tauri/src/api/process.rs diff --git a/apps/theseus_gui_rs/src/api/profile.rs b/apps/app/src-tauri/src/api/profile.rs similarity index 100% rename from apps/theseus_gui_rs/src/api/profile.rs rename to apps/app/src-tauri/src/api/profile.rs diff --git a/apps/theseus_gui_rs/src/api/profile_create.rs b/apps/app/src-tauri/src/api/profile_create.rs similarity index 100% rename from apps/theseus_gui_rs/src/api/profile_create.rs rename to apps/app/src-tauri/src/api/profile_create.rs diff --git a/apps/theseus_gui_rs/src/api/settings.rs b/apps/app/src-tauri/src/api/settings.rs similarity index 100% rename from apps/theseus_gui_rs/src/api/settings.rs rename to apps/app/src-tauri/src/api/settings.rs diff --git a/apps/theseus_gui_rs/src/api/tags.rs b/apps/app/src-tauri/src/api/tags.rs similarity index 100% rename from apps/theseus_gui_rs/src/api/tags.rs rename to apps/app/src-tauri/src/api/tags.rs diff --git a/apps/theseus_gui_rs/src/api/utils.rs b/apps/app/src-tauri/src/api/utils.rs similarity index 100% rename from apps/theseus_gui_rs/src/api/utils.rs rename to apps/app/src-tauri/src/api/utils.rs diff --git a/apps/theseus_gui_rs/src/error.rs b/apps/app/src-tauri/src/error.rs similarity index 100% rename from apps/theseus_gui_rs/src/error.rs rename to apps/app/src-tauri/src/error.rs diff --git a/apps/theseus_gui_rs/src/macos/delegate.rs b/apps/app/src-tauri/src/macos/delegate.rs similarity index 100% rename from apps/theseus_gui_rs/src/macos/delegate.rs rename to apps/app/src-tauri/src/macos/delegate.rs diff --git a/apps/theseus_gui_rs/src/macos/mod.rs b/apps/app/src-tauri/src/macos/mod.rs similarity index 100% rename from apps/theseus_gui_rs/src/macos/mod.rs rename to apps/app/src-tauri/src/macos/mod.rs diff --git a/apps/theseus_gui_rs/src/macos/window_ext.rs b/apps/app/src-tauri/src/macos/window_ext.rs similarity index 100% rename from apps/theseus_gui_rs/src/macos/window_ext.rs rename to apps/app/src-tauri/src/macos/window_ext.rs diff --git a/apps/theseus_gui_rs/src/main.rs b/apps/app/src-tauri/src/main.rs similarity index 100% rename from apps/theseus_gui_rs/src/main.rs rename to apps/app/src-tauri/src/main.rs diff --git a/apps/theseus_gui_rs/tauri.conf.json b/apps/app/src-tauri/tauri.conf.json similarity index 90% rename from apps/theseus_gui_rs/tauri.conf.json rename to apps/app/src-tauri/tauri.conf.json index 92dd81610..fef2e67c7 100644 --- a/apps/theseus_gui_rs/tauri.conf.json +++ b/apps/app/src-tauri/tauri.conf.json @@ -1,9 +1,9 @@ { "build": { - "beforeDevCommand": "nx serve theseus-gui", - "beforeBuildCommand": "echo Building Rust Application...", + "beforeDevCommand": "pnpm run --filter=@modrinth/app vite:dev", + "beforeBuildCommand": "pnpm build", "devPath": "http://localhost:1420", - "distDir": "../../dist/apps/theseus-gui", + "distDir": "../../../dist/apps/app", "withGlobalTauri": false }, "package": { @@ -55,12 +55,7 @@ "depends": [] }, "externalBin": [], - "icon": [ - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico" - ], + "icon": ["icons/128x128.png", "icons/128x128@2x.png", "icons/icon.icns", "icons/icon.ico"], "identifier": "com.modrinth.theseus", "longDescription": "", "macOS": { diff --git a/apps/theseus_gui_rs/tauri.macos.conf.json b/apps/app/src-tauri/tauri.macos.conf.json similarity index 100% rename from apps/theseus_gui_rs/tauri.macos.conf.json rename to apps/app/src-tauri/tauri.macos.conf.json diff --git a/apps/theseus-gui/src/App.vue b/apps/app/src/App.vue similarity index 99% rename from apps/theseus-gui/src/App.vue rename to apps/app/src/App.vue index e9d98241e..d7404b1a9 100644 --- a/apps/theseus-gui/src/App.vue +++ b/apps/app/src/App.vue @@ -8,11 +8,9 @@ import { PlusIcon, SettingsIcon, FileIcon, - Button, - Notifications, XIcon, - Card, -} from '@modrinth/omorphia' +} from '@modrinth/assets' +import { Button, Notifications, Card } from '@modrinth/ui' import { useLoading, useTheming } from '@/store/state' import AccountsCard from '@/components/ui/AccountsCard.vue' import InstanceCreationModal from '@/components/ui/InstanceCreationModal.vue' diff --git a/apps/knossos/src/assets/images/external/atlauncher.svg b/apps/app/src/assets/external/atlauncher.svg similarity index 100% rename from apps/knossos/src/assets/images/external/atlauncher.svg rename to apps/app/src/assets/external/atlauncher.svg diff --git a/apps/knossos/src/assets/images/external/bmac.svg b/apps/app/src/assets/external/bmac.svg similarity index 100% rename from apps/knossos/src/assets/images/external/bmac.svg rename to apps/app/src/assets/external/bmac.svg diff --git a/apps/knossos/src/assets/images/external/discord.svg b/apps/app/src/assets/external/discord.svg similarity index 100% rename from apps/knossos/src/assets/images/external/discord.svg rename to apps/app/src/assets/external/discord.svg diff --git a/apps/knossos/src/assets/images/external/gdlauncher.png b/apps/app/src/assets/external/gdlauncher.png similarity index 100% rename from apps/knossos/src/assets/images/external/gdlauncher.png rename to apps/app/src/assets/external/gdlauncher.png diff --git a/apps/theseus-gui/src/assets/external/github.svg b/apps/app/src/assets/external/github.svg similarity index 100% rename from apps/theseus-gui/src/assets/external/github.svg rename to apps/app/src/assets/external/github.svg diff --git a/apps/theseus-gui/src/assets/external/gitlab.svg b/apps/app/src/assets/external/gitlab.svg similarity index 100% rename from apps/theseus-gui/src/assets/external/gitlab.svg rename to apps/app/src/assets/external/gitlab.svg diff --git a/apps/theseus-gui/src/assets/external/google.svg b/apps/app/src/assets/external/google.svg similarity index 100% rename from apps/theseus-gui/src/assets/external/google.svg rename to apps/app/src/assets/external/google.svg diff --git a/apps/theseus-gui/src/assets/external/index.js b/apps/app/src/assets/external/index.js similarity index 100% rename from apps/theseus-gui/src/assets/external/index.js rename to apps/app/src/assets/external/index.js diff --git a/apps/knossos/src/assets/images/external/kofi.svg b/apps/app/src/assets/external/kofi.svg similarity index 100% rename from apps/knossos/src/assets/images/external/kofi.svg rename to apps/app/src/assets/external/kofi.svg diff --git a/apps/theseus-gui/src/assets/external/mastodon.svg b/apps/app/src/assets/external/mastodon.svg similarity index 100% rename from apps/theseus-gui/src/assets/external/mastodon.svg rename to apps/app/src/assets/external/mastodon.svg diff --git a/apps/theseus-gui/src/assets/external/microsoft.svg b/apps/app/src/assets/external/microsoft.svg similarity index 100% rename from apps/theseus-gui/src/assets/external/microsoft.svg rename to apps/app/src/assets/external/microsoft.svg diff --git a/apps/knossos/src/assets/images/external/multimc.webp b/apps/app/src/assets/external/multimc.webp similarity index 100% rename from apps/knossos/src/assets/images/external/multimc.webp rename to apps/app/src/assets/external/multimc.webp diff --git a/apps/knossos/src/assets/images/external/opencollective.svg b/apps/app/src/assets/external/opencollective.svg similarity index 100% rename from apps/knossos/src/assets/images/external/opencollective.svg rename to apps/app/src/assets/external/opencollective.svg diff --git a/apps/theseus-gui/src/assets/external/patreon.svg b/apps/app/src/assets/external/patreon.svg similarity index 100% rename from apps/theseus-gui/src/assets/external/patreon.svg rename to apps/app/src/assets/external/patreon.svg diff --git a/apps/knossos/src/assets/images/external/paypal.svg b/apps/app/src/assets/external/paypal.svg similarity index 100% rename from apps/knossos/src/assets/images/external/paypal.svg rename to apps/app/src/assets/external/paypal.svg diff --git a/apps/knossos/src/assets/images/external/prism.svg b/apps/app/src/assets/external/prism.svg similarity index 100% rename from apps/knossos/src/assets/images/external/prism.svg rename to apps/app/src/assets/external/prism.svg diff --git a/apps/theseus-gui/src/assets/external/reddit.svg b/apps/app/src/assets/external/reddit.svg similarity index 100% rename from apps/theseus-gui/src/assets/external/reddit.svg rename to apps/app/src/assets/external/reddit.svg diff --git a/apps/theseus-gui/src/assets/external/steam.svg b/apps/app/src/assets/external/steam.svg similarity index 100% rename from apps/theseus-gui/src/assets/external/steam.svg rename to apps/app/src/assets/external/steam.svg diff --git a/apps/theseus-gui/src/assets/external/twitter.svg b/apps/app/src/assets/external/twitter.svg similarity index 100% rename from apps/theseus-gui/src/assets/external/twitter.svg rename to apps/app/src/assets/external/twitter.svg diff --git a/apps/theseus-gui/src/assets/icons/add-project.svg b/apps/app/src/assets/icons/add-project.svg similarity index 100% rename from apps/theseus-gui/src/assets/icons/add-project.svg rename to apps/app/src/assets/icons/add-project.svg diff --git a/apps/theseus-gui/src/assets/icons/arrow-left-right.svg b/apps/app/src/assets/icons/arrow-left-right.svg similarity index 100% rename from apps/theseus-gui/src/assets/icons/arrow-left-right.svg rename to apps/app/src/assets/icons/arrow-left-right.svg diff --git a/apps/theseus-gui/src/assets/icons/bug.svg b/apps/app/src/assets/icons/bug.svg similarity index 100% rename from apps/theseus-gui/src/assets/icons/bug.svg rename to apps/app/src/assets/icons/bug.svg diff --git a/apps/theseus-gui/src/assets/icons/index.js b/apps/app/src/assets/icons/index.js similarity index 100% rename from apps/theseus-gui/src/assets/icons/index.js rename to apps/app/src/assets/icons/index.js diff --git a/apps/theseus-gui/src/assets/icons/maximize.svg b/apps/app/src/assets/icons/maximize.svg similarity index 100% rename from apps/theseus-gui/src/assets/icons/maximize.svg rename to apps/app/src/assets/icons/maximize.svg diff --git a/apps/theseus-gui/src/assets/icons/menu.svg b/apps/app/src/assets/icons/menu.svg similarity index 100% rename from apps/theseus-gui/src/assets/icons/menu.svg rename to apps/app/src/assets/icons/menu.svg diff --git a/apps/theseus-gui/src/assets/icons/messages-square.svg b/apps/app/src/assets/icons/messages-square.svg similarity index 100% rename from apps/theseus-gui/src/assets/icons/messages-square.svg rename to apps/app/src/assets/icons/messages-square.svg diff --git a/apps/theseus-gui/src/assets/icons/milestone.svg b/apps/app/src/assets/icons/milestone.svg similarity index 100% rename from apps/theseus-gui/src/assets/icons/milestone.svg rename to apps/app/src/assets/icons/milestone.svg diff --git a/apps/theseus-gui/src/assets/icons/minimize.svg b/apps/app/src/assets/icons/minimize.svg similarity index 100% rename from apps/theseus-gui/src/assets/icons/minimize.svg rename to apps/app/src/assets/icons/minimize.svg diff --git a/apps/theseus-gui/src/assets/icons/more.svg b/apps/app/src/assets/icons/more.svg similarity index 100% rename from apps/theseus-gui/src/assets/icons/more.svg rename to apps/app/src/assets/icons/more.svg diff --git a/apps/theseus-gui/src/assets/icons/new-instance.svg b/apps/app/src/assets/icons/new-instance.svg similarity index 100% rename from apps/theseus-gui/src/assets/icons/new-instance.svg rename to apps/app/src/assets/icons/new-instance.svg diff --git a/apps/theseus-gui/src/assets/icons/package.svg b/apps/app/src/assets/icons/package.svg similarity index 100% rename from apps/theseus-gui/src/assets/icons/package.svg rename to apps/app/src/assets/icons/package.svg diff --git a/apps/theseus-gui/src/assets/icons/server.svg b/apps/app/src/assets/icons/server.svg similarity index 100% rename from apps/theseus-gui/src/assets/icons/server.svg rename to apps/app/src/assets/icons/server.svg diff --git a/apps/theseus-gui/src/assets/icons/text-cursor-input.svg b/apps/app/src/assets/icons/text-cursor-input.svg similarity index 100% rename from apps/theseus-gui/src/assets/icons/text-cursor-input.svg rename to apps/app/src/assets/icons/text-cursor-input.svg diff --git a/apps/theseus-gui/src/assets/icons/toggle.svg b/apps/app/src/assets/icons/toggle.svg similarity index 100% rename from apps/theseus-gui/src/assets/icons/toggle.svg rename to apps/app/src/assets/icons/toggle.svg diff --git a/apps/theseus-gui/src/assets/profile_icon.png b/apps/app/src/assets/profile_icon.png similarity index 100% rename from apps/theseus-gui/src/assets/profile_icon.png rename to apps/app/src/assets/profile_icon.png diff --git a/apps/theseus-gui/src/assets/stylesheets/global.scss b/apps/app/src/assets/stylesheets/global.scss similarity index 100% rename from apps/theseus-gui/src/assets/stylesheets/global.scss rename to apps/app/src/assets/stylesheets/global.scss diff --git a/apps/theseus-gui/src/assets/stylesheets/macFix.css b/apps/app/src/assets/stylesheets/macFix.css similarity index 100% rename from apps/theseus-gui/src/assets/stylesheets/macFix.css rename to apps/app/src/assets/stylesheets/macFix.css diff --git a/apps/theseus-gui/src/components/GridDisplay.vue b/apps/app/src/components/GridDisplay.vue similarity index 98% rename from apps/theseus-gui/src/components/GridDisplay.vue rename to apps/app/src/components/GridDisplay.vue index 1588c2e45..f2f28e933 100644 --- a/apps/theseus-gui/src/components/GridDisplay.vue +++ b/apps/app/src/components/GridDisplay.vue @@ -9,14 +9,11 @@ import { TrashIcon, StopCircleIcon, EyeIcon, - Card, - DropdownSelect, SearchIcon, XIcon, - Button, - formatCategoryHeader, - ConfirmModal, -} from '@modrinth/omorphia' +} from '@modrinth/assets' +import { ConfirmModal, Button, Card, DropdownSelect } from '@modrinth/ui' +import { formatCategoryHeader } from '@modrinth/utils' import ContextMenu from '@/components/ui/ContextMenu.vue' import dayjs from 'dayjs' import { useTheming } from '@/store/theme.js' diff --git a/apps/theseus-gui/src/components/RowDisplay.vue b/apps/app/src/components/RowDisplay.vue similarity index 99% rename from apps/theseus-gui/src/components/RowDisplay.vue rename to apps/app/src/components/RowDisplay.vue index c33978518..ee54ec92c 100644 --- a/apps/theseus-gui/src/components/RowDisplay.vue +++ b/apps/app/src/components/RowDisplay.vue @@ -11,8 +11,8 @@ import { ExternalIcon, EyeIcon, ChevronRightIcon, - ConfirmModal, -} from '@modrinth/omorphia' +} from '@modrinth/assets' +import { ConfirmModal } from '@modrinth/ui' import Instance from '@/components/ui/Instance.vue' import { computed, onMounted, onUnmounted, ref } from 'vue' import ContextMenu from '@/components/ui/ContextMenu.vue' diff --git a/apps/theseus-gui/src/components/modrinth-loading-indicator.js b/apps/app/src/components/modrinth-loading-indicator.js similarity index 100% rename from apps/theseus-gui/src/components/modrinth-loading-indicator.js rename to apps/app/src/components/modrinth-loading-indicator.js diff --git a/apps/theseus-gui/src/components/ui/AccountsCard.vue b/apps/app/src/components/ui/AccountsCard.vue similarity index 98% rename from apps/theseus-gui/src/components/ui/AccountsCard.vue rename to apps/app/src/components/ui/AccountsCard.vue index 9c056d88e..acfaa3a69 100644 --- a/apps/theseus-gui/src/components/ui/AccountsCard.vue +++ b/apps/app/src/components/ui/AccountsCard.vue @@ -59,7 +59,8 @@ diff --git a/libs/omorphia/src/components/base/Badge.vue b/packages/ui/src/components/base/Badge.vue similarity index 98% rename from libs/omorphia/src/components/base/Badge.vue rename to packages/ui/src/components/base/Badge.vue index f52ad775d..134a41f98 100644 --- a/libs/omorphia/src/components/base/Badge.vue +++ b/packages/ui/src/components/base/Badge.vue @@ -88,11 +88,10 @@ import { CheckIcon, LockIcon, CalendarIcon, -} from '../icons' - -import { capitalizeString } from '../../helpers' - +} from '@modrinth/assets' +import { capitalizeString } from '@modrinth/utils' import { useVIntl, defineMessages } from '@vintl/vintl' + const messages = defineMessages({ acceptedLabel: { id: 'omorphia.component.badge.label.accepted', diff --git a/libs/omorphia/src/components/base/Button.vue b/packages/ui/src/components/base/Button.vue similarity index 98% rename from libs/omorphia/src/components/base/Button.vue rename to packages/ui/src/components/base/Button.vue index a5df5fa0e..c7f9eedcc 100644 --- a/libs/omorphia/src/components/base/Button.vue +++ b/packages/ui/src/components/base/Button.vue @@ -1,6 +1,5 @@