fix: various smaller fixes (#5917)

* fix: try fix email templates rendering links for variables

* fix: b is not a function

* fix: wording on modpack btn on setup type stage

* fix: respect launcher-meta info

* feat: i18n pass on creation flow modal

* fix: prefetch loader manifests

* fix: lint
This commit is contained in:
Calum H.
2026-04-27 17:27:41 +01:00
committed by GitHub
parent e8be67d41f
commit 6afda48e70
45 changed files with 1435 additions and 261 deletions

View File

@@ -11,7 +11,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
>
<Heading as="h1" class="mb-2 text-2xl font-bold"> New sign-in method added </Heading>
<Text class="text-muted text-base">Hi {user.name},</Text>
<Text class="text-muted text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-muted text-base">
Your {authprovider.name} account has been connected and you can now use it to sign in to your
Modrinth account.

View File

@@ -11,7 +11,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
>
<Heading as="h1" class="mb-2 text-2xl font-bold"> Sign-in method removed</Heading>
<Text class="text-muted text-base">Hi {user.name},</Text>
<Text class="text-muted text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-muted text-base">
Your <b>{authprovider.name}</b> account has been disconnected and you can no longer use it to
sign in to your Modrinth account.

View File

@@ -11,7 +11,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
>
<Heading as="h1" class="mb-2 text-2xl font-bold"> Your email has been changed </Heading>
<Text class="text-muted text-base">Hi {user.name},</Text>
<Text class="text-muted text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-muted text-base">
At your request, we've successfully updated your Modrinth account's email to
{emailchanged.new_email}.

View File

@@ -11,7 +11,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
>
<Heading as="h1" class="mb-2 text-2xl font-bold"> Sign in from new device </Heading>
<Text class="text-muted text-base">Hi {user.name},</Text>
<Text class="text-muted text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-muted text-base">
We noticed that your account was just signed into from a new device or location. If this was
you, you can safely ignore this email.

View File

@@ -13,7 +13,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
A new personal access token has been created
</Heading>
<Text class="text-muted text-base">Hi {user.name},</Text>
<Text class="text-muted text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-muted text-base">
A new personal access token, <b>{newpat.token_name}</b>, has been added to your account.
</Text>

View File

@@ -11,7 +11,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
>
<Heading as="h1" class="mb-2 text-2xl font-bold"> Your password has been changed </Heading>
<Text class="text-muted text-base">Hi {user.name},</Text>
<Text class="text-muted text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-muted text-base"> Your password has been changed on your account. </Text>
<Text class="text-muted text-base">
If you did not make this change, please contact us immediately through our

View File

@@ -11,7 +11,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
>
<Heading as="h1" class="mb-2 text-2xl font-bold"> Your password has been removed </Heading>
<Text class="text-muted text-base">Hi {user.name},</Text>
<Text class="text-muted text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-muted text-base">
At your request, your password has been removed from your account. You must now use a linked
authentication provider (such as your {passremoved.provider} account) to log into your

View File

@@ -14,7 +14,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
Payment failed for {paymentfailed.service}
</Heading>
<Text class="text-muted text-base">Hi {user.name},</Text>
<Text class="text-muted text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-muted text-base">
Our attempt to collect payment for {paymentfailed.amount} from the payment card on file was
unsuccessful. Please update your billing settings to avoid suspension of your service.

View File

@@ -14,7 +14,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
>
<Heading as="h1" class="mb-2 text-2xl font-bold">Revenue available to withdraw!</Heading>
<Text class="text-base">Hi {user.name},</Text>
<Text class="text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-base">
The {payout.amount} earned during {payout.period} has been processed and is now available to

View File

@@ -11,7 +11,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
>
<Heading as="h1" class="mb-2 text-2xl font-bold"> Reset your password </Heading>
<Text class="text-muted text-base">Hi {user.name},</Text>
<Text class="text-muted text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-muted text-base">
Please visit the link below to reset your password. If you did not request for your password
to be reset, you can safely ignore this email.

View File

@@ -8,7 +8,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
<StyledEmail title="Weve added time to your server">
<Heading as="h1" class="mb-2 text-2xl font-bold">Weve added time to your server</Heading>
<Text class="text-muted text-base">Hi {user.name},</Text>
<Text class="text-muted text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-muted text-base">{credit.header_message}</Text>
<Text class="text-muted text-base">

View File

@@ -14,7 +14,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
Price change for {taxnotification.service}
</Heading>
<Text class="text-muted text-base">Hi {user.name},</Text>
<Text class="text-muted text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-muted text-base">
We're writing to let you know about an update to your {taxnotification.service} subscription.
</Text>

View File

@@ -11,7 +11,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
>
<Heading as="h1" class="mb-2 text-2xl font-bold"> Two-factor authentication enabled </Heading>
<Text class="text-muted text-base">Hi {user.name},</Text>
<Text class="text-muted text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-muted text-base">
You've secured your account with two-factor authentication. Now, when signing in, you will
need to submit the code generated by your authenticator app.

View File

@@ -13,7 +13,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
You've disabled two-factor authentication security on your account.
</Heading>
<Text class="text-muted text-base">Hi {user.name},</Text>
<Text class="text-muted text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-muted text-base">
At your request, we've removed two-factor authentication from your Modrinth account.
</Text>

View File

@@ -11,7 +11,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
>
<Heading as="h1" class="mb-2 text-2xl font-bold"> Verify your email </Heading>
<Text class="text-muted text-base">Hi {user.name},</Text>
<Text class="text-muted text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-muted text-base">
Please visit the link below to verify your email. If the button does not work, you can copy
the link and paste it into your browser. This link expires in 24 hours.

View File

@@ -29,7 +29,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
>New message from moderators on {project.name}</Heading
>
<Text class="text-base">Hi {user.name},</Text>
<Text class="text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-base">
Modrinth's moderation team has left a message on your project,

View File

@@ -20,7 +20,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
>Report of '{report.title}' has been updated</Heading
>
<Text class="text-base">Hi {user.name},</Text>
<Text class="text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-base"
>Your report of {report.title} from {report.date} has been updated by our moderation

View File

@@ -20,7 +20,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
>Report of {report.title} has been submitted</Heading
>
<Text class="text-base">Hi {user.name},</Text>
<Text class="text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-base">
We've received your report of {report.title} and our moderation team will review it shortly.

View File

@@ -27,7 +27,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
>You've been invited to an organization</Heading
>
<Text class="text-base">Hi {user.name},</Text>
<Text class="text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-base"
>Modrinth user

View File

@@ -24,7 +24,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
</Section>
<Heading as="h1" class="mb-2 text-2xl font-bold">You've been invited to a project</Heading>
<Text class="text-base">Hi {user.name},</Text>
<Text class="text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-base">
Modrinth user

View File

@@ -26,7 +26,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
>Your project, {project.name}, has been approved 🎉</Heading
>
<Text class="text-base">Congratulations {user.name},</Text>
<Text class="text-base">Congratulations <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-base">
Your project

View File

@@ -29,7 +29,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
>Your project, {project.name}, status has been updated</Heading
>
<Text class="text-base">Hi {user.name},</Text>
<Text class="text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-base">
Your project's status has been changed from <b>{project.oldstatus}</b> to

View File

@@ -24,7 +24,7 @@ import StyledEmail from '../shared/StyledEmail.vue'
</Section>
<Heading as="h1" class="mb-2 text-2xl font-bold">Project ownership transferred</Heading>
<Text class="text-base">Hi {user.name},</Text>
<Text class="text-base">Hi <span class="no-auto-link">{user.name}</span>,</Text>
<Text class="text-base">
The ownership of

View File

@@ -67,6 +67,7 @@ const tailwindConfig = {
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="format-detection" content="telephone=no,date=no,address=no,email=no,url=no" />
<link
href="https://fonts.googleapis.com/css?family=Inter:700,400"
rel="stylesheet"
@@ -78,6 +79,9 @@ const tailwindConfig = {
line-height:100%; } table { border-collapse:separate; } a, a:link, a:visited {
text-decoration:none; color:#1f68c0; } a:hover { text-decoration:underline; }
h1,h2,h3,h4,h5,h6 { color:#000 !important; margin:0; mso-line-height-rule:exactly; }
.no-auto-link, .no-auto-link a, .no-auto-link a:link, .no-auto-link a:visited, .no-auto-link
a[x-apple-data-detectors] { color:inherit !important; text-decoration:none !important;
cursor:default !important; pointer-events:none !important; }
</Style>
</Head>