Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
d7b6830
begin project disclosures
Prospector Jul 31, 2026
6c32b80
new project settings header
Prospector Aug 1, 2026
2089e45
begin disclosure settings, edit content rules
Prospector Aug 1, 2026
866bccf
togglecards
Prospector Aug 1, 2026
d5e005a
update phrasing of the rules, prepr
Prospector Aug 2, 2026
77e8612
more disclosure settings structuring
Prospector Aug 2, 2026
21a31b3
add functionality toggle
Prospector Aug 2, 2026
57be502
implement functionality with staging api
Prospector Aug 2, 2026
e02815e
improve project settings head titles
Prospector Aug 3, 2026
ebf19eb
merge
Prospector Aug 6, 2026
746bc9a
disclosures in search
Prospector Aug 7, 2026
f7c5552
update photosensitivity warning copy
Prospector Aug 7, 2026
d94d6c7
update archiving, move general project settings to v3 (start redesign…
Prospector Aug 7, 2026
b4d1eef
blue archive banner
Prospector Aug 7, 2026
4d481ac
Merge remote-tracking branch 'origin/main' into prospector/disclosure…
Prospector Aug 7, 2026
1626c9b
display AI use types
Prospector Aug 7, 2026
8197841
improve labels
Prospector Aug 7, 2026
1fc69d0
add modrinth to link
Prospector Aug 7, 2026
8ab484a
add placeholder missing disclosure report type
Prospector Aug 7, 2026
d8e53cf
add AI metadata checking to block image uploads with notice
Prospector Aug 8, 2026
7da7898
update copy
Prospector Aug 8, 2026
01912b6
Merge remote-tracking branch 'origin/main' into prospector/disclosure…
Prospector Aug 8, 2026
ec23640
update section 4 of rules
coolbot100s Aug 9, 2026
e887089
Update rule 6 layout
coolbot100s Aug 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,7 @@ import {
type ComboboxOption,
commonMessages,
defineMessages,
formatReportType,
injectAuth,
injectModrinthClient,
injectNotificationManager,
Expand Down Expand Up @@ -329,9 +330,9 @@ const externalFileRows = computed<ExternalFileRow[]>(() =>
.sort((left, right) => left.name.localeCompare(right.name)),
)
const reportReasonOptions = computed<ComboboxOption<ReportReason>[]>(() => [
{ value: 'malicious', label: formatMessage(messages.maliciousReason) },
{ value: 'inappropriate', label: formatMessage(messages.inappropriateReason) },
{ value: 'spam', label: formatMessage(messages.spamReason) },
{ value: 'malicious', label: formatReportType(formatMessage, 'malicious') },
{ value: 'inappropriate', label: formatReportType(formatMessage, 'inappropriate') },
{ value: 'spam', label: formatReportType(formatMessage, 'spam') },
])
const canSubmitReport = computed(
() => Boolean(preview.value && additionalContext.value.trim()) && !submitLoading.value,
Expand Down Expand Up @@ -543,18 +544,6 @@ const messages = defineMessages({
id: 'app.modal.install-to-play.report-reason',
defaultMessage: 'Which rule does this instance violate?',
},
maliciousReason: {
id: 'app.modal.install-to-play.report-reason.malicious',
defaultMessage: 'Malicious',
},
inappropriateReason: {
id: 'app.modal.install-to-play.report-reason.inappropriate',
defaultMessage: 'Inappropriate',
},
spamReason: {
id: 'app.modal.install-to-play.report-reason.spam',
defaultMessage: 'Spam',
},
additionalContext: {
id: 'app.modal.install-to-play.additional-context',
defaultMessage: 'Additional context',
Expand Down
3 changes: 0 additions & 3 deletions apps/app-frontend/src/locales/da-DK/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -440,9 +440,6 @@
"app.modal.install-to-play.report-image-too-large": {
"message": "Filen overskrider 1MiB størrelse begrænsning"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "Spam"
},
"app.modal.install-to-play.shared-instance": {
"message": "Delt instance"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/de-CH/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -701,15 +701,6 @@
"app.modal.install-to-play.report-reason": {
"message": "Gegen welche Regel verstößt diese Instanz?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "Unangemessen"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "Bösartig"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "Spam"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "Geteilte Instanz melden"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/de-DE/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -701,15 +701,6 @@
"app.modal.install-to-play.report-reason": {
"message": "Gegen welche Regel verstößt diese Instanz?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "Unangemessen"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "Bösartig"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "Spam"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "Geteilte Instanz melden"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/en-US/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -704,15 +704,6 @@
"app.modal.install-to-play.report-reason": {
"message": "Which rule does this instance violate?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "Inappropriate"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "Malicious"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "Spam"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "Report shared instance"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/es-419/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -701,15 +701,6 @@
"app.modal.install-to-play.report-reason": {
"message": "¿Qué regla rompe esta instancia?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "Inapropiado"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "Malicioso"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "Spam"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "Reportar instancia compartida"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/fr-FR/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -698,15 +698,6 @@
"app.modal.install-to-play.report-reason": {
"message": "Quelle règle cette instance enfreint-elle ?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "Inapproprié"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "Malicieux"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "Spam"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "Signaler une instance partagée"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/hu-HU/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -704,15 +704,6 @@
"app.modal.install-to-play.report-reason": {
"message": "Melyik szabályt sérti meg ez az adott játékprofil?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "Nem megfelelő"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "Káros"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "Spam"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "Megosztott játékprofil jelentése"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/it-IT/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -701,15 +701,6 @@
"app.modal.install-to-play.report-reason": {
"message": "Quale regola è violata da quest'istanza?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "Inappropriato"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "Dannoso"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "Spam"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "Segnala istanza condivisa"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/ja-JP/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -701,15 +701,6 @@
"app.modal.install-to-play.report-reason": {
"message": "この起動構成はどの規則に違反していますか?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "不適切なコンテンツ"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "悪意がある"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "スパム"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "共有された起動構成を通報する"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/ko-KR/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -701,15 +701,6 @@
"app.modal.install-to-play.report-reason": {
"message": "이 인스턴스가 위반한 규칙은 무엇인가요?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "부적절함"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "악성/유해함"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "스팸"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "공유 인스턴스 신고"
},
Expand Down
3 changes: 0 additions & 3 deletions apps/app-frontend/src/locales/ms-MY/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -239,9 +239,6 @@
"app.modal.install-to-play.mod-count": {
"message": "{count, plural, other {# mod}}"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "Spam"
},
"app.modal.install-to-play.shared-instance": {
"message": "Pemasangan yang dikongsi"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/nl-NL/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -701,15 +701,6 @@
"app.modal.install-to-play.report-reason": {
"message": "Welke regel wordt in deze instantie overtreden?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "Ongepast"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "Kwaadaardig"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "Spam"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "Gedeelde instantie melden"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/pl-PL/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -650,15 +650,6 @@
"app.modal.install-to-play.report-reason": {
"message": "Którą zasadę narusza ta instancja?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "Treści nieodpowiednie"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "Zawiera Złośliwy kod"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "Spam"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "Zgłoś przesłaną Instalacje"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/pt-BR/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -704,15 +704,6 @@
"app.modal.install-to-play.report-reason": {
"message": "Qual regra esta instância viola?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "Inapropriado"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "Malicioso"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "Spam"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "Denunciar instância compartilhada"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/ru-RU/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -695,15 +695,6 @@
"app.modal.install-to-play.report-reason": {
"message": "Какое правило нарушает данная сборка?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "Неприемлемое содержимое"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "Вредоносное содержимое"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "Спам"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "Сообщить об общем экземпляре"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/sv-SE/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -674,15 +674,6 @@
"app.modal.install-to-play.report-reason": {
"message": "Vilken regel bryter instansen mot?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "Olämplig"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "Skadlig"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "Spam"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "Rapportera delad instans"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/tr-TR/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -638,15 +638,6 @@
"app.modal.install-to-play.report-image-too-large": {
"message": "Dosya 1 MiB boyut sınırını aşıyor"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "Uygunsuz"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "Kötü niyetli"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "Spam"
},
"app.modal.install-to-play.report-submitted": {
"message": "Rapor sunuldu"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/uk-UA/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -701,15 +701,6 @@
"app.modal.install-to-play.report-reason": {
"message": "Яке правило порушує цей профіль?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "Неприпустимий уміст"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "Шкідливий уміст"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "Спам"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "Скарга на спільний профіль"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/zh-CN/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -704,15 +704,6 @@
"app.modal.install-to-play.report-reason": {
"message": "该实例违反了哪项规则?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "不当内容"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "恶意内容"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "垃圾内容"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "举报共享实例"
},
Expand Down
9 changes: 0 additions & 9 deletions apps/app-frontend/src/locales/zh-TW/index.json
Original file line number Diff line number Diff line change
Expand Up @@ -704,15 +704,6 @@
"app.modal.install-to-play.report-reason": {
"message": "這個實例違反了哪一條規則?"
},
"app.modal.install-to-play.report-reason.inappropriate": {
"message": "不當內容"
},
"app.modal.install-to-play.report-reason.malicious": {
"message": "惡意內容"
},
"app.modal.install-to-play.report-reason.spam": {
"message": "垃圾內容"
},
"app.modal.install-to-play.report-shared-instance-header": {
"message": "檢舉共用實例"
},
Expand Down
14 changes: 14 additions & 0 deletions apps/app-frontend/src/pages/Browse.vue
Original file line number Diff line number Diff line change
Expand Up @@ -1242,11 +1242,25 @@ const advancedFiltersCollapsed = computed({
},
})

const dismissedPhotosensitivityFilterWarning = computed({
get: () => themeStore.getFeatureFlag('dismissed_photosensitivity_filter_warning'),
set: (value) => {
themeStore.featureFlags['dismissed_photosensitivity_filter_warning'] = value
getSettings()
.then((settings) => {
settings.feature_flags['dismissed_photosensitivity_filter_warning'] = value
return setSettings(settings)
})
.catch(handleError)
},
})

provideBrowseManager({
tags,
projectType,
...searchState,
advancedFiltersCollapsed,
dismissedPhotosensitivityFilterWarning,
getProjectLink: (result: Labrinth.Search.v3.ResultSearchProject) => ({
path: `/project/${result.project_id ?? result.slug}`,
query: getProjectBrowseQuery(),
Expand Down
1 change: 1 addition & 0 deletions apps/app-frontend/src/store/theme.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ export const DEFAULT_FEATURE_FLAGS = {
friends_online_collapsed: false,
friends_offline_collapsed: true,
friends_pending_collapsed: true,
dismissed_photosensitivity_filter_warning: false,
}

export const THEME_OPTIONS = ['dark', 'light', 'oled', 'retro', 'system'] as const
Expand Down
1 change: 1 addition & 0 deletions apps/frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
"wrangler": "^4.115.0"
},
"dependencies": {
"@contentauth/c2pa-web": "^0.13.1",
"@formatjs/intl-localematcher": "^0.5.4",
"@ltd/j-toml": "^1.38.0",
"@modrinth/api-client": "workspace:*",
Expand Down
2 changes: 2 additions & 0 deletions apps/frontend/src/assets/styles/global.scss
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ html {

interpolate-size: allow-keywords;
scrollbar-gutter: stable;

--ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
}

.light-mode {
Expand Down
Loading
Loading