cleanup: remove some illegal pride content

This commit is contained in:
2026-06-18 03:51:02 +03:00
parent 3165ab2a6c
commit 9d1b02de4d
9 changed files with 0 additions and 253 deletions
@@ -1,123 +0,0 @@
<script setup lang="ts">
import { CalendarIcon, UsersIcon, XIcon } from '@modrinth/assets'
import { injectModrinthClient, ProgressBar } from '@modrinth/ui'
import { useQuery } from '@tanstack/vue-query'
import { openUrl } from '@tauri-apps/plugin-opener'
import { computed, ref } from 'vue'
const DISMISSED_STORAGE_KEY = 'pride-fundraiser-2026-dismissed'
const client = injectModrinthClient()
const dismissed = ref(localStorage.getItem(DISMISSED_STORAGE_KEY) === 'true')
const { data: campaignInfo } = useQuery({
queryKey: ['campaign', 'pride-26'],
queryFn: () => client.labrinth.campaign_internal.getPride26(),
enabled: () => !dismissed.value,
staleTime: 15 * 60 * 1000,
refetchInterval: 15 * 60 * 1000,
retry: false,
})
const shouldShowBanner = computed(
() => !dismissed.value && Number(campaignInfo.value?.target_usd) > 0,
)
async function openPrideFundraiser() {
await openUrl('https://modrinth.com/pride?from=app')
}
function dismissBanner() {
dismissed.value = true
localStorage.setItem(DISMISSED_STORAGE_KEY, 'true')
}
function formatUsd(amount: string | number) {
return Number(amount).toLocaleString('en-US', {
style: 'currency',
currency: 'USD',
maximumFractionDigits: 0,
})
}
function daysLeft() {
return Math.max(
0,
Math.ceil((new Date('2026-07-01T00:00:00Z').getTime() - Date.now()) / (24 * 60 * 60 * 1000)),
)
}
</script>
<template>
<div v-if="shouldShowBanner && campaignInfo">
<section
role="link"
tabindex="0"
class="flex w-full cursor-pointer flex-col gap-3 rounded-xl border border-solid border-surface-5 bg-button-bg p-3 text-primary transition-[border-color,filter] hover:border-surface-6 hover:brightness-125 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand"
aria-label="Open Pride fundraiser"
@click="openPrideFundraiser"
@keydown.enter="openPrideFundraiser"
@keydown.space.prevent="openPrideFundraiser"
>
<div class="flex w-full items-center justify-between gap-2">
<h2 class="m-0 min-w-0 truncate text-base font-semibold text-contrast">
Pride Fundraiser 2026
</h2>
<button
type="button"
class="m-0 flex size-5 shrink-0 cursor-pointer items-center justify-center border-0 bg-transparent p-0 text-primary transition-colors hover:text-contrast focus-visible:text-contrast"
aria-label="Dismiss Pride fundraiser"
@click.stop="dismissBanner"
@keydown.stop
>
<XIcon aria-hidden="true" class="size-5" />
</button>
</div>
<div class="h-px w-full bg-surface-5" />
<div class="flex w-full flex-col gap-2.5">
<div class="flex items-end gap-1 whitespace-nowrap">
<span class="text-base font-semibold leading-5 text-contrast">
{{ formatUsd(campaignInfo.total_donations_usd) }}
</span>
<span class="text-xs font-medium leading-4">
of {{ formatUsd(campaignInfo.target_usd) }}
</span>
</div>
<ProgressBar
class="pride-fundraiser-banner__progress"
:progress="Number(campaignInfo.total_donations_usd)"
:max="Number(campaignInfo.target_usd)"
color="purple"
full-width
:gradient-border="false"
:aria-label="`${formatUsd(campaignInfo.total_donations_usd)} of ${formatUsd(
campaignInfo.target_usd,
)} raised`"
/>
<div class="flex flex-wrap items-center gap-2 text-xs font-medium leading-4">
<span class="flex items-center gap-1">
<UsersIcon aria-hidden="true" class="size-4 shrink-0" />
{{ campaignInfo.num_donators.toLocaleString('en-US') }}
{{ campaignInfo.num_donators === 1 ? 'supporter' : 'supporters' }}
</span>
<span class="flex items-center gap-1">
<CalendarIcon aria-hidden="true" class="size-4 shrink-0" />
{{ daysLeft() }} {{ daysLeft() === 1 ? 'day left' : 'days left' }}
</span>
</div>
</div>
</section>
</div>
</template>
<style scoped>
.pride-fundraiser-banner__progress :deep(.progress-bar) {
background: linear-gradient(
90deg,
var(--color-red) 0%,
var(--color-orange) 20%,
var(--color-green) 50%,
var(--color-blue) 75%,
var(--color-purple) 100%
);
}
</style>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 446 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 528 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 891 KiB

-130
View File
@@ -1,130 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="90" height="90" fill="none" viewBox="0 0 90 90">
<mask
id="a"
width="78"
height="70"
x="6"
y="11"
maskUnits="userSpaceOnUse"
style="mask-type:alpha"
>
<path
fill="#ff2a2a"
d="M52.47 11.74a25.2 25.2 0 0 1 15.227.987 25.53 25.53 0 0 1 11.897 9.558 26 26 0 0 1 4.403 14.11l.003.486v.037l-.004.389-.002.072v-.012c-.204 10.093-6.39 17.24-10.716 21.724l-.01.01-.837.86-.01.009c-.003.004-.06.064-.103.105q-.01.01-.02.018L55.99 76.161A14.911 14.911 0 0 1 45.095 81a14.9 14.9 0 0 1-6.238-1.325 15 15 0 0 1-4.768-3.422L17.68 60.073l-.103-.103C13.178 55.487 6 47.917 6 36.858a26.03 26.03 0 0 1 4.445-14.56l.276-.4a25.55 25.55 0 0 1 11.601-9.12l.027-.01.401-.152.027-.01a25.22 25.22 0 0 1 22.201 2.348 25.3 25.3 0 0 1 7.492-3.213"
/>
</mask>
<g mask="url(#a)">
<path
fill="#ff2a2a"
d="M52.47 11.74a25.2 25.2 0 0 1 15.227.987 25.53 25.53 0 0 1 11.897 9.558 26 26 0 0 1 4.403 14.11l.003.486v.037l-.004.389-.002.072v-.012c-.204 10.093-6.39 17.24-10.716 21.724l-.01.01-.837.86-.01.009c-.003.004-.06.064-.103.105q-.01.01-.02.018L55.99 76.161A14.911 14.911 0 0 1 45.095 81a14.9 14.9 0 0 1-6.238-1.325 15 15 0 0 1-4.768-3.422L17.68 60.073l-.103-.103C13.178 55.487 6 47.917 6 36.858a26.03 26.03 0 0 1 4.445-14.56l.276-.4a25.55 25.55 0 0 1 11.601-9.12l.027-.01.401-.152.027-.01a25.22 25.22 0 0 1 22.201 2.348 25.3 25.3 0 0 1 7.492-3.213"
/>
<path
fill="#000"
d="M94 16.174 66.917 88c-13.946-6.345-29.741-6.345-43.687 0L-3.853 16.174C27.385 1.96 62.763 1.96 94 16.174"
/>
<path
fill="url(#b)"
d="M94 16.174C62.763 1.96 27.385 1.96-3.853 16.174l7.84 20.792c26.232-11.936 55.942-11.936 82.173 0z"
/>
<path
fill="url(#c)"
d="M84.988 39.856c-25.511-11.584-54.395-11.574-79.9.032l6.215 16.484c21.54-9.801 45.934-9.812 67.48-.028z"
/>
<path
fill="url(#d)"
d="M77.723 59.163c-20.868-9.476-44.494-9.467-65.357.026q3.187 8.455 6.377 16.912c16.795-7.643 35.815-7.65 52.615-.022z"
/>
<path
fill="url(#e)"
d="M87.395 33.458c-27.05-12.284-57.675-12.271-84.718.034q1.838 4.879 3.68 9.758C31.051 32.012 59.02 32 83.721 43.218z"
/>
<path
fill="url(#f)"
d="M80.049 52.98c-22.354-10.151-47.665-10.142-70.014.027l3.68 9.758c20.002-9.101 42.654-9.11 62.661-.025z"
/>
<path
fill="url(#g)"
d="M72.619 72.878c-17.587-8.001-37.505-8.001-55.092 0L23.23 88c13.946-6.345 29.741-6.345 43.687 0z"
/>
<path
fill="#fff"
fill-opacity=".3"
d="M6 36.858a26.03 26.03 0 0 1 4.445-14.56l.276-.4a25.55 25.55 0 0 1 11.601-9.12l.027-.01.401-.152.027-.01a25.22 25.22 0 0 1 22.201 2.348 25.3 25.3 0 0 1 7.492-3.213 25.2 25.2 0 0 1 15.227.986 25.53 25.53 0 0 1 11.897 9.558 26 26 0 0 1 4.403 14.11l.003.486v.037l-.004.389-.002.072v-.012c-.204 10.093-6.39 17.24-10.716 21.724l-.01.01-.837.86-.01.009c-.003.004-.06.064-.103.105q-.01.01-.02.018L55.99 76.161A14.911 14.911 0 0 1 45.095 81l-.02-3a11.9 11.9 0 0 0 4.675-.99l.293-.133a12 12 0 0 0 3.74-2.748l.05-.053.052-.052 16.307-16.068.019-.019.026-.025.015-.014.008-.008.003-.005.036-.035.82-.843.002-.002c4.275-4.432 9.694-10.845 9.873-19.699l.003-.164L81 36.9l-.003-.461a23 23 0 0 0-3.894-12.48 22.53 22.53 0 0 0-10.497-8.437 22.2 22.2 0 0 0-13.415-.87 22.3 22.3 0 0 0-6.602 2.834l-1.604 1.02-1.607-1.013a22.216 22.216 0 0 0-19.543-2.08l-.004.003-.017.005-.401.153-.01.005-.013.004a22.55 22.55 0 0 0-10.215 8.04l-.258.376A23.03 23.03 0 0 0 9 36.857c0 9.719 6.29 16.499 10.719 21.01q.038.04.068.069l16.408 16.18.043.043.041.044a12 12 0 0 0 3.815 2.738 11.9 11.9 0 0 0 4.981 1.058l.02 3.001a14.9 14.9 0 0 1-6.238-1.325 15 15 0 0 1-4.768-3.422L17.68 60.073l-.103-.103C13.178 55.487 6 47.917 6 36.858"
/>
<path
fill="#000"
fill-opacity=".4"
fill-rule="evenodd"
d="M42.526 77.74a11.9 11.9 0 0 0 7.224-.73l.293-.133a12 12 0 0 0 1.531-.86 12 12 0 0 0 2.209-1.888l.05-.053.052-.052 16.307-16.068.019-.019.026-.025.015-.014.011-.013.036-.035.822-.845c4.275-4.432 9.694-10.845 9.873-19.699l.003-.164L81 36.9l-.003-.461a23.1 23.1 0 0 0-2.248-9.598 22.9 22.9 0 0 0-3.766-5.576 22.6 22.6 0 0 0-5.293-4.257 22.3 22.3 0 0 0-7.613-2.723 22.2 22.2 0 0 0-7.205.02 22 22 0 0 0-2.99.716 22.3 22.3 0 0 0-5.293 2.465l-1.604 1.02-1.607-1.013a22.4 22.4 0 0 0-6.584-2.802c-4.301-1.055-8.813-.8-12.963.725l-.017.005-.401.153-.01.005-.013.004a22.55 22.55 0 0 0-10.215 8.04l-.258.376A23.03 23.03 0 0 0 9.07 38.645a22 22 0 0 0 .746 4.174 24.8 24.8 0 0 0 2.111 5.163 29 29 0 0 0 1.175 1.976 36 36 0 0 0 1.72 2.425c.592.769 1.2 1.5 1.807 2.191.455.52.91 1.017 1.356 1.494a106 106 0 0 0 1.768 1.835l.033.033 16.408 16.18.043.043.041.044a12 12 0 0 0 2.255 1.887 11.9 11.9 0 0 0 3.992 1.65M21.86 55.766C17.4 51.222 12 45.233 12 36.856c.001-3.987 1.186-7.886 3.406-11.183l.224-.325c2.2-3.13 5.257-5.55 8.801-6.951l.07-.023.073-.034.269-.102.123-.043a19.21 19.21 0 0 1 16.812 1.834l3.216 2.028 3.206-2.041.331-.206a19.3 19.3 0 0 1 5.383-2.246l.725-.165a19.2 19.2 0 0 1 10.877.917c3.7 1.444 6.872 4 9.098 7.314a20 20 0 0 1 3.384 10.852l.003.38-.003.226-.003.164c-.156 7.61-4.803 13.285-9.025 17.663l-.791.814-.036.035-.018.017-.018.017-.02.02L51.78 71.888l-.107.107-.04.042-.05.054-.006.008a9 9 0 0 1-2.782 2.05l-.241.111a8.9 8.9 0 0 1-7.223-.052 9 9 0 0 1-2.549-1.737l-.312-.317-.038-.041-.046-.05-.05-.05-.043-.041L21.893 55.8z"
clip-rule="evenodd"
/>
</g>
<defs>
<linearGradient
id="b"
x1="-3.853"
x2="94"
y1="46.757"
y2="46.757"
gradientUnits="userSpaceOnUse"
>
<stop stop-color="#e5006f" />
<stop offset="1" stop-color="#b8091e" />
</linearGradient>
<linearGradient
id="c"
x1="-3.853"
x2="94"
y1="46.757"
y2="46.757"
gradientUnits="userSpaceOnUse"
>
<stop stop-color="#ffe348" />
<stop offset="1" stop-color="#ffbd09" />
</linearGradient>
<linearGradient
id="d"
x1="-3.853"
x2="94"
y1="46.757"
y2="46.757"
gradientUnits="userSpaceOnUse"
>
<stop stop-color="#30b7f1" />
<stop offset="1" stop-color="#2b69f3" />
</linearGradient>
<linearGradient
id="e"
x1="-3.853"
x2="94"
y1="46.757"
y2="46.757"
gradientUnits="userSpaceOnUse"
>
<stop stop-color="#f47c05" />
<stop offset="1" stop-color="#fa5400" />
</linearGradient>
<linearGradient
id="f"
x1="-3.853"
x2="94"
y1="46.757"
y2="46.757"
gradientUnits="userSpaceOnUse"
>
<stop stop-color="#0ce969" />
<stop offset="1" stop-color="#199d4c" />
</linearGradient>
<linearGradient
id="g"
x1="-3.853"
x2="94"
y1="46.757"
y2="46.757"
gradientUnits="userSpaceOnUse"
>
<stop stop-color="#ff2ffc" />
<stop offset="1" stop-color="#aa00fd" />
</linearGradient>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 446 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 528 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 891 KiB