diff --git a/.github/workflows/frontend-preview.yml b/.github/workflows/frontend-preview.yml
index 0c9d5f2d20..4bf94d4f0b 100644
--- a/.github/workflows/frontend-preview.yml
+++ b/.github/workflows/frontend-preview.yml
@@ -87,7 +87,11 @@ jobs:
command: versions upload --preview-alias git-${{ steps.meta.outputs.sha_short }}
comment:
- if: github.repository_owner == 'modrinth' && github.event.pull_request.head.repo.full_name == github.repository
+ if: |
+ !cancelled()
+ && github.repository_owner == 'modrinth'
+ && github.event.pull_request.head.repo.full_name == github.repository
+ && needs.deploy.result == 'success'
runs-on: ubuntu-latest
needs: [deploy, deploy-storybook]
steps:
@@ -101,16 +105,25 @@ jobs:
id: urls
env:
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
+ STORYBOOK_RESULT: ${{ needs.deploy-storybook.result }}
+ RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
run: |
STAGING_PREVIEW_URL=$(cat deployment-url-staging-preview.txt)
PRODUCTION_PREVIEW_URL=$(cat deployment-url-production-preview.txt)
+ if [ "$STORYBOOK_RESULT" = "success" ]; then
+ STORYBOOK_PREVIEW_URL="https://git-${HEAD_SHA::8}-storybook.modrinth.workers.dev"
+ else
+ STORYBOOK_PREVIEW_URL="⚠️ Deployment $STORYBOOK_RESULT ([logs]($RUN_URL))"
+ fi
+
echo "Production preview URL: $PRODUCTION_PREVIEW_URL"
echo "Staging preview URL: $STAGING_PREVIEW_URL"
+ echo "Storybook preview URL: $STORYBOOK_PREVIEW_URL"
echo "staging-preview-url=$STAGING_PREVIEW_URL" >> $GITHUB_OUTPUT
echo "production-preview-url=$PRODUCTION_PREVIEW_URL" >> $GITHUB_OUTPUT
- echo "storybook-preview-url=https://git-${HEAD_SHA::8}-storybook.modrinth.workers.dev" >> $GITHUB_OUTPUT
+ echo "storybook-preview-url=$STORYBOOK_PREVIEW_URL" >> $GITHUB_OUTPUT
- name: Find comment
if: github.event_name == 'pull_request'
diff --git a/_typos.toml b/_typos.toml
index adee7387c6..b33e16241b 100644
--- a/_typos.toml
+++ b/_typos.toml
@@ -8,6 +8,7 @@ extend-exclude = [
"packages/blog/",
# contains licenses like `CC-BY-ND-4.0`
"packages/moderation/src/data/stages/license.ts",
+ "packages/moderation/src/utils.ts",
# contains payment card IDs like `IY1VMST1MOXS` which are flagged
"apps/labrinth/src/queue/payouts/mod.rs",
]
diff --git a/apps/frontend/src/components/ui/moderation/checklist/ModerationChecklist.vue b/apps/frontend/src/components/ui/moderation/checklist/ModerationChecklist.vue
index 015ac19c75..68de5237c8 100644
--- a/apps/frontend/src/components/ui/moderation/checklist/ModerationChecklist.vue
+++ b/apps/frontend/src/components/ui/moderation/checklist/ModerationChecklist.vue
@@ -12,42 +12,95 @@
/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ {{ checklistTitleText }}
+
+
+
+ {{ opt.text }}*
+
+ {{
+ opt.messages
+ }}
+ {{ opt.fixes }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+ {{ currentStageObj._hint }}
+
+
+
@@ -127,7 +180,7 @@
-
+
You are done moderating this project!
@@ -137,38 +190,36 @@
-
-
-
-
-
+
+
+
+
+
@@ -180,149 +231,19 @@
@complete="handleModpackPermissionsComplete"
/>
-
-
-
-
-
-
Loading stage content...
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ action.label }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -341,6 +262,26 @@
+
+
+
+ Stages
+
+
+
+ {{ opt.text
+ }}*
+
+ {{
+ opt.messages
+ }}
+ {{
+ opt.fixes
+ }}
+
+
+
+
-
-
-
-
-
-
-
- {{ opt.text }}
-
-
-
{{ item.text }}
+
{{ item.text }}
diff --git a/packages/ui/src/providers/project-page.ts b/packages/ui/src/providers/project-page.ts
index 11a6ecdbae..c81f83b9fd 100644
--- a/packages/ui/src/providers/project-page.ts
+++ b/packages/ui/src/providers/project-page.ts
@@ -1,5 +1,5 @@
import type { Labrinth } from '@modrinth/api-client'
-import type { DeepReadonly, Ref } from 'vue'
+import type { DeepReadonly, Ref, ShallowRef } from 'vue'
import { createContext } from '.'
@@ -22,6 +22,8 @@ export interface ProjectPageContext {
dependencies: Ref
dependenciesLoading: Ref
+ thread: ShallowRef
+
cdnDownloadReason: DeepReadonly[>
// Invalidate all project queries (auto-refetches active ones)
]