diff --git a/.cargo/config.toml b/.cargo/config.toml index 7115f0015..085f3158f 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -2,5 +2,8 @@ [target.'cfg(windows)'] rustflags = ["-C", "link-args=/STACK:16777220", "--cfg", "tokio_unstable"] +[target.x86_64-pc-windows-msvc] +linker = "rust-lld" + [build] rustflags = ["--cfg", "tokio_unstable"] diff --git a/.github/workflows/theseus-build.yml b/.github/workflows/theseus-build.yml index 76ae5f900..64ae2b334 100644 --- a/.github/workflows/theseus-build.yml +++ b/.github/workflows/theseus-build.yml @@ -75,7 +75,7 @@ jobs: rename-to: ${{ startsWith(matrix.platform, 'windows') && 'dasel.exe' || 'dasel' }} chmod: 0755 - - name: ⚙️ Set application version + - name: ⚙️ Set application version and environment shell: bash run: | APP_VERSION="$(git describe --tags --always | sed -E 's/-([0-9]+)-(g[0-9a-fA-F]+)$/-canary+\1.\2/')" @@ -84,6 +84,8 @@ jobs: dasel put -f packages/app-lib/Cargo.toml -t string -v "${APP_VERSION#v}" 'package.version' dasel put -f apps/app-frontend/package.json -t string -v "${APP_VERSION#v}" 'version' + cp packages/app-lib/.env.prod packages/app-lib/.env + - name: 💨 Setup Turbo cache uses: rharkor/caching-for-turbo@v1.8 diff --git a/.github/workflows/turbo-ci.yml b/.github/workflows/turbo-ci.yml index 82e9f333a..64aec819a 100644 --- a/.github/workflows/turbo-ci.yml +++ b/.github/workflows/turbo-ci.yml @@ -74,6 +74,10 @@ jobs: cp .env.local .env sqlx database setup + - name: ⚙️ Set app environment + working-directory: packages/app-lib + run: cp .env.staging .env + - name: 🔍 Lint and test run: pnpm run ci diff --git a/Cargo.lock b/Cargo.lock index f6519c3b1..3d55cb9b6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8930,6 +8930,7 @@ dependencies = [ "data-url", "dirs", "discord-rich-presence", + "dotenvy", "dunce", "either", "encoding_rs", diff --git a/apps/frontend/nuxt.config.ts b/apps/frontend/nuxt.config.ts index e84ae0c0f..354bff294 100644 --- a/apps/frontend/nuxt.config.ts +++ b/apps/frontend/nuxt.config.ts @@ -34,7 +34,7 @@ const enabledLocales: string[] = []; /** * Overrides for the categories of the certain locales. */ -const localesCategoriesOverrides: Partial = { +const localesCategoriesOverrides: Partial> = { "en-x-pirate": "fun", "en-x-updown": "fun", "en-x-lolcat": "fun", @@ -260,28 +260,21 @@ export default defineNuxtConfig({ const omorphiaLocales: string[] = []; const omorphiaLocaleSets = new Map(); - const externalLocales = [ - "node_modules/@modrinth/ui/src/locales/en-US", - "node_modules/@modrinth/moderation/locales/en-US", - ]; + for await (const localeDir of globIterate("node_modules/@modrinth/ui/src/locales/*", { + posix: true, + })) { + const tag = basename(localeDir); + omorphiaLocales.push(tag); - for (const localePath of externalLocales) { - for await (const localeDir of globIterate(localePath, { - posix: true, - })) { - const tag = basename(localeDir); - omorphiaLocales.push(tag); + const localeFiles: { from: string; format?: string }[] = []; - const localeFiles: { from: string; format?: string }[] = []; + omorphiaLocaleSets.set(tag, { files: localeFiles }); - omorphiaLocaleSets.set(tag, { files: localeFiles }); - - for await (const localeFile of globIterate(`${localeDir}/*`, { posix: true })) { - localeFiles.push({ - from: pathToFileURL(localeFile).toString(), - format: "default", - }); - } + for await (const localeFile of globIterate(`${localeDir}/*`, { posix: true })) { + localeFiles.push({ + from: pathToFileURL(localeFile).toString(), + format: "default", + }); } } @@ -308,7 +301,7 @@ export default defineNuxtConfig({ format: "crowdin", }); } else if (fileName === "meta.json") { - const meta: Record = await fs + const meta: Record = await fs .readFile(localeFile, "utf8") .then((date) => JSON.parse(date)); const localeMeta = (locale.meta ??= {}); diff --git a/apps/frontend/src/components/ui/ProjectMemberHeader.vue b/apps/frontend/src/components/ui/ProjectMemberHeader.vue index 9afe2d16d..9bef20859 100644 --- a/apps/frontend/src/components/ui/ProjectMemberHeader.vue +++ b/apps/frontend/src/components/ui/ProjectMemberHeader.vue @@ -1,442 +1,510 @@ - diff --git a/apps/frontend/src/locales/en-US/index.json b/apps/frontend/src/locales/en-US/index.json index bf910c1e9..e6a708f7b 100644 --- a/apps/frontend/src/locales/en-US/index.json +++ b/apps/frontend/src/locales/en-US/index.json @@ -533,69 +533,6 @@ "profile.user-id": { "message": "User ID: {id}" }, - "project-member-header.accept": { - "message": "Accept" - }, - "project-member-header.decline": { - "message": "Decline" - }, - "project-member-header.error": { - "message": "Error" - }, - "project-member-header.error-decline": { - "message": "Failed to decline team invitation" - }, - "project-member-header.error-join": { - "message": "Failed to accept team invitation" - }, - "project-member-header.invitation-no-role": { - "message": "You've been invited to join this project. Please accept or decline the invitation." - }, - "project-member-header.invitation-title": { - "message": "Invitation to join project" - }, - "project-member-header.invitation-with-role": { - "message": "You've been invited be a member of this project with the role of '{role}'." - }, - "project-member-header.publishing-checklist": { - "message": "Publishing checklist" - }, - "project-member-header.required": { - "message": "Required" - }, - "project-member-header.resubmit-for-review": { - "message": "Resubmit for review" - }, - "project-member-header.resubmit-for-review-desc": { - "message": "Your project has been {status} by Modrinth's staff. In most cases, you can resubmit for review after addressing the staff's message." - }, - "project-member-header.submit-checklist-tooltip": { - "message": "You must complete the required steps in the publishing checklist!" - }, - "project-member-header.submit-for-review": { - "message": "Submit for review" - }, - "project-member-header.submit-for-review-desc": { - "message": "Your project is only viewable by members of the project. It must be reviewed by moderators in order to be published." - }, - "project-member-header.success": { - "message": "Success" - }, - "project-member-header.success-decline": { - "message": "You have declined the team invitation" - }, - "project-member-header.success-join": { - "message": "You have joined the project team" - }, - "project-member-header.suggestion": { - "message": "Suggestion" - }, - "project-member-header.visit-moderation-page": { - "message": "Visit moderation page" - }, - "project-member-header.warning": { - "message": "Warning" - }, "project-type.collection.plural": { "message": "Collections" }, diff --git a/apps/frontend/src/pages/[type]/[id]/settings/description.vue b/apps/frontend/src/pages/[type]/[id]/settings/description.vue index 45f0a8eb8..174d4bc9c 100644 --- a/apps/frontend/src/pages/[type]/[id]/settings/description.vue +++ b/apps/frontend/src/pages/[type]/[id]/settings/description.vue @@ -22,10 +22,6 @@ " :on-image-upload="onUploadHandler" /> -
- - {{ descriptionWarning }} -