wip: Continued string-only-ifying locales

This commit is contained in:
Benjamin Singleton 2026-02-21 19:32:12 -06:00
parent 3c26238ca4
commit 4d875b1416
4 changed files with 12 additions and 12 deletions

View file

@ -24,7 +24,7 @@ defineProps<{
:style="{ width: 'fit-content', display: 'inline-block' }">
<li :style="{ width: 'fit-content' }">
<RichTemplate :template="overview.text" />
<ul v-if="overview.subtext !== null" class="mt-0 w-fit">
<ul v-if="overview.subtext.parts.length > 0" class="mt-0 w-fit">
<RichTemplate
tag="li"
:style="{ width: 'fit-content' }"

View file

@ -80,7 +80,7 @@ export type DiscordRule = {
export type DiscordRuleOverview = {
text: RichTemplate<never>;
subtext: RichTemplate<never> | null;
subtext: RichTemplate<never>;
};
export type DiscordRuleSection = {

View file

@ -57,7 +57,7 @@ export default {
text: richT(
"No translation! Do not translate to/from Viossa on the server, except the big four translatables (you can learn in hard mode without them!)",
),
subtext: null,
subtext: richT(),
},
section: {
header: ({ ruleNumber }) =>
@ -99,7 +99,7 @@ export default {
lfsv: {
overview: {
text: richT("If it's understood, it's Viossa."),
subtext: null,
subtext: richT(),
},
section: {
header: ({ ruleNumber }) =>
@ -125,7 +125,7 @@ export default {
text: richT(
"The chats in the Viossa Only category are Viossa only.",
),
subtext: null,
subtext: richT(),
},
section: {
header: ({ ruleNumber }) =>
@ -153,7 +153,7 @@ export default {
text: richT(
"This server is SFW. No sexually explicit, gory, or violent content.",
),
subtext: null,
subtext: richT(),
},
section: {
header: ({ ruleNumber }) =>
@ -183,7 +183,7 @@ export default {
text: richT(
"Don't use hate speech, and respect each other.",
),
subtext: null,
subtext: richT(),
},
section: {
header: ({ ruleNumber }) =>
@ -207,7 +207,7 @@ export default {
boldT("@Yewaldnen"),
").",
),
subtext: null,
subtext: richT(),
},
section: {
header: ({ ruleNumber }) =>

View file

@ -7,7 +7,7 @@ import { computed } from "vue";
const locale = useLocale();
const pageI18n = computed(() => locale.value.discord.rulesPage);
const rules = computed(() => pageI18n.value.rules);
const rulesI18n = computed(() => pageI18n.value.rules);
const RULE_ORDER = [
"noTranslation",
@ -17,7 +17,7 @@ const RULE_ORDER = [
"respectOthers",
"respectStaff",
"controversialTopics",
] as const satisfies (keyof typeof pageI18n.value.rules)[];
] as const satisfies (keyof typeof rulesI18n.value)[];
</script>
<template>
@ -37,13 +37,13 @@ const RULE_ORDER = [
v-for="(id, index) in RULE_ORDER"
:key="index"
:rule-number="index + 1"
:overview="rules[id].overview" />
:overview="rulesI18n[id].overview" />
</ol>
</section>
<DiscordRuleSection
v-for="(id, index) in RULE_ORDER"
:key="index"
:section="rules[id].section"
:section="rulesI18n[id].section"
:rule-number="index + 1" />
</div>
</template>