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)
+# 
-TODO: write rest of readme
+
+
+
+
+
+
+
+## Modrinth Monorepo
+
+Welcome to the Modrinth Monorepo, the primary codebase for the Modrinth web interface and app. It contains  lines of code and has  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
+
+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 @@