Skip to content

Commit 8947641

Browse files
committed
remove mentions of Tietokilta
1 parent cd9b870 commit 8947641

11 files changed

Lines changed: 74 additions & 53 deletions

File tree

src/lib/i18n/en/index.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -155,12 +155,12 @@ const en = {
155155
// Emails
156156
emails: {
157157
otp: {
158-
subject: "CSG Membership Registry Sign In Code",
158+
subject: "{organizationName} Membership Registry Sign In Code",
159159
body: `Your login code is: {code}
160160
161161
This code will expire in 10 minutes.
162162
163-
@{domain} #{code}`,
163+
@{domain} #{code} {organizationName}`,
164164
},
165165
paymentSuccess: {
166166
subject: "Payment received - Awaiting board approval",
@@ -171,13 +171,13 @@ Your payment has been received and your membership application is awaiting appro
171171
You will receive an email once your membership is approved.
172172
173173
Best regards,
174-
Computer Science Guild`,
174+
{organizationName}`,
175175
},
176176
membershipApproved: {
177-
subject: "Welcome to the Computer Science Guild!",
177+
subject: "Welcome to {organizationName}!",
178178
body: `Hi {firstName}!
179179
180-
Your membership application has been approved. Welcome as a member of the Computer Science Guild!
180+
Your membership application has been approved. Welcome as a member of {organizationName}!
181181
182182
Membership details:
183183
- Type: {membershipName}
@@ -188,7 +188,7 @@ You can now participate in guild activities and enjoy member benefits.
188188
See you at events!
189189
190190
Best regards,
191-
Computer Science Guild`,
191+
{organizationName}`,
192192
},
193193
membershipRenewed: {
194194
subject: "Your membership has been renewed!",
@@ -203,7 +203,7 @@ Membership details:
203203
Thank you for continuing as a member!
204204
205205
Best regards,
206-
Computer Science Guild`,
206+
{organizationName}`,
207207
},
208208
},
209209

@@ -508,8 +508,8 @@ Computer Science Guild`,
508508
approve: "Approve",
509509
reject: "Reject",
510510
reactivate: "Reactivate",
511-
deemResigned: "Deem resigned (§8)",
512-
resignMembership: "Resign (§8)",
511+
deemResigned: "Deem resigned",
512+
resignMembership: "Resign",
513513

514514
// Pagination
515515
showing: "Showing {current} of {total} members",

src/lib/i18n/fi/index.ts

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -155,55 +155,55 @@ const fi = {
155155
// Emails
156156
emails: {
157157
otp: {
158-
subject: "Tietokillan jäsenrekisterin sisäänkirjautumiskoodi",
159-
body: `Kirjautumiskoodisi on: {code}
158+
subject: "{organizationName:string} jäsen_rekisterin sisään_kirjautumiskoodi",
159+
body: `Kirjautumiskoodisi on: {code:string}
160160
161161
Koodi vanhenee 10 minuutin kuluttua.
162162
163-
@{domain} #{code}`,
163+
@{domain:string} #{code:string} {organizationName:string}`,
164164
},
165165
paymentSuccess: {
166166
subject: "Maksu vastaanotettu - Odottaa hallituksen hyväksyntää",
167-
body: `Kiitos {membershipName}-jäsenyytesi maksusta ({amount})!
167+
body: `Kiitos {membershipName:string}-jäsenyytesi maksusta ({amount:string})!
168168
169169
Maksusi on vastaanotettu ja jäsenhakemuksesi odottaa hallituksen hyväksyntää seuraavassa kokouksessa.
170170
171171
Saat sähköpostiviestin, kun jäsenyytesi on hyväksytty.
172172
173173
Terveisin,
174-
Tietokilta`,
174+
{organizationName:string}`,
175175
},
176176
membershipApproved: {
177-
subject: "Tervetuloa Tietokiltaan!",
178-
body: `Hei {firstName}!
177+
subject: "Tervetuloa {organizationName:string} jäseneksi!",
178+
body: `Hei {firstName:string}!
179179
180-
Jäsenhakemuksesi on hyväksytty. Tervetuloa Tietokillan jäseneksi!
180+
Jäsenhakemuksesi on hyväksytty. Tervetuloa {organizationName:string} jäseneksi!
181181
182182
Jäsenyystiedot:
183-
- Jäsenyystyyppi: {membershipName}
184-
- Voimassa: {startDate} - {endDate}
183+
- Jäsenyystyyppi: {membershipName:string}
184+
- Voimassa: {startDate:string} - {endDate:string}
185185
186-
Voit nyt osallistua killan toimintaan ja hyödyntää jäsenetuja.
186+
Voit nyt osallistua organisaation toimintaan ja hyödyntää jäsenetuja.
187187
188188
Nähdään tapahtumissa!
189189
190190
Terveisin,
191-
Tietokilta`,
191+
{organizationName:string}`,
192192
},
193193
membershipRenewed: {
194194
subject: "Jäsenyytesi on uusittu!",
195-
body: `Hei {firstName}!
195+
body: `Hei {firstName:string}!
196196
197197
Jäsenyytesi on uusittu automaattisesti maksun jälkeen.
198198
199199
Jäsenyystiedot:
200-
- Jäsenyystyyppi: {membershipName}
201-
- Voimassa: {startDate} - {endDate}
200+
- Jäsenyystyyppi: {membershipName:string}
201+
- Voimassa: {startDate:string} - {endDate:string}
202202
203203
Kiitos, että jatkat jäsenenämme!
204204
205205
Terveisin,
206-
Tietokilta`,
206+
{organizationName:string}`,
207207
},
208208
},
209209

@@ -510,8 +510,8 @@ Tietokilta`,
510510
approve: "Hyväksy",
511511
reject: "Hylkää",
512512
reactivate: "Aktivoi uudelleen",
513-
deemResigned: "Katso eronneeksi (§8)",
514-
resignMembership: "Erota (§8)",
513+
deemResigned: "Katso eronneeksi",
514+
resignMembership: "Erota",
515515

516516
// Pagination
517517
showing: "Näytetään {current} / {total} jäsentä",

src/lib/server/emails/index.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { sendEmail } from "$lib/server/mailgun";
22
import { loadLocale } from "$lib/i18n/i18n-util.sync";
33
import { i18nObject } from "$lib/i18n/i18n-util";
4+
import { getCustomisations } from "$lib/server/customisation/cache";
45
import type {
56
EmailType,
67
EmailTemplate,
@@ -52,8 +53,13 @@ export async function sendMemberEmail<T extends EmailType>({
5253
loadLocale(locale);
5354
const LL = i18nObject(locale);
5455

56+
// Get organization name from customisation settings
57+
const customisations = await getCustomisations();
58+
const organizationName =
59+
customisations?.organizationName?.[locale] ?? (locale === "fi" ? "Kilta ry" : "Guild Association");
60+
5561
// Render content - TypeScript now knows metadata matches template's expected type
56-
const { subject, text, html } = template.render(locale, metadata, LL);
62+
const { subject, text, html } = template.render(locale, metadata, LL, organizationName);
5763

5864
// Send immediately
5965
await sendEmail({

src/lib/server/emails/templates/membership-approved.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { EmailTemplate, MembershipApprovedMetadata } from "../types";
33
export const membershipApprovedTemplate: EmailTemplate<MembershipApprovedMetadata> = {
44
type: "membership_approved",
55

6-
render(locale, metadata, LL) {
6+
render(locale, metadata, LL, organizationName) {
77
const { firstName, membershipName, startDate, endDate } = metadata;
88

99
// Use Finnish region for formatting (e.g., 'fi-FI' or 'en-FI')
@@ -13,12 +13,13 @@ export const membershipApprovedTemplate: EmailTemplate<MembershipApprovedMetadat
1313
});
1414

1515
return {
16-
subject: LL.emails.membershipApproved.subject(),
16+
subject: LL.emails.membershipApproved.subject({ organizationName }),
1717
text: LL.emails.membershipApproved.body({
1818
firstName,
1919
membershipName,
2020
startDate: dateFormatter.format(startDate),
2121
endDate: dateFormatter.format(endDate),
22+
organizationName,
2223
}),
2324
};
2425
},

src/lib/server/emails/templates/membership-renewed.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import type { EmailTemplate, MembershipApprovedMetadata } from "../types";
66
export const membershipRenewedTemplate: EmailTemplate<MembershipApprovedMetadata> = {
77
type: "membership_renewed",
88

9-
render(locale, metadata, LL) {
9+
render(locale, metadata, LL, organizationName) {
1010
// Use Finnish region for formatting (e.g., 'fi-FI' or 'en-FI')
1111
// This ensures locale-appropriate formatting with Finnish regional conventions
1212
const dateFormatter = new Intl.DateTimeFormat(`${locale}-FI`, { dateStyle: "long" });
@@ -18,6 +18,7 @@ export const membershipRenewedTemplate: EmailTemplate<MembershipApprovedMetadata
1818
membershipName: metadata.membershipName,
1919
startDate: dateFormatter.format(metadata.startDate),
2020
endDate: dateFormatter.format(metadata.endDate),
21+
organizationName,
2122
}),
2223
};
2324
},

src/lib/server/emails/templates/otp.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,17 @@ import { env } from "$lib/server/env";
44
export const otpTemplate: EmailTemplate<OTPMetadata> = {
55
type: "otp",
66

7-
render(locale, metadata, LL) {
7+
render(locale, metadata, LL, organizationName) {
88
const { code } = metadata;
99

1010
// Format for auto-extraction (Apple/Android)
1111
// @domain helps devices know where this OTP is valid
1212
return {
13-
subject: LL.emails.otp.subject(),
13+
subject: LL.emails.otp.subject({ organizationName }),
1414
text: LL.emails.otp.body({
1515
code,
1616
domain: env.RP_ID,
17+
organizationName,
1718
}),
1819
};
1920
},

src/lib/server/emails/templates/payment-success.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { EmailTemplate, PaymentSuccessMetadata } from "../types";
33
export const paymentSuccessTemplate: EmailTemplate<PaymentSuccessMetadata> = {
44
type: "payment_success",
55

6-
render(locale, metadata, LL) {
6+
render(locale, metadata, LL, organizationName) {
77
const { membershipName, amount, currency } = metadata;
88

99
// Use Finnish region for formatting (e.g., 'fi-FI' or 'en-FI')
@@ -18,6 +18,7 @@ export const paymentSuccessTemplate: EmailTemplate<PaymentSuccessMetadata> = {
1818
text: LL.emails.paymentSuccess.body({
1919
membershipName,
2020
amount: formatter.format(amount / 100), // Stripe amounts in cents
21+
organizationName,
2122
}),
2223
};
2324
},

src/lib/server/emails/types.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,12 @@ export interface EmailTemplate<TMetadata = Record<string, unknown>> {
1212
type: EmailType;
1313

1414
// Generate email content
15-
render(locale: "fi" | "en", metadata: TMetadata, LL: TranslationFunctions): EmailContent;
15+
render(
16+
locale: "fi" | "en",
17+
metadata: TMetadata,
18+
LL: TranslationFunctions,
19+
organizationName: string,
20+
): EmailContent;
1621

1722
// For future: batching, deduplication config
1823
// (keep interface extensible but don't implement yet)

src/routes/[locale=locale]/(app)/admin/members/members-table.svelte

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1142,22 +1142,28 @@
11421142
</Button>
11431143
</div>
11441144
{:else if membership.status === "active"}
1145-
<div class="flex gap-2 border-t pt-3">
1146-
<Button
1147-
size="sm"
1148-
variant="outline"
1149-
onclick={() => openIndividualAction("deemResigned", membership.id, memberName)}
1150-
>
1151-
{$LL.admin.members.table.deemResigned()}
1152-
</Button>
1153-
<Button
1154-
size="sm"
1155-
variant="destructive"
1156-
onclick={() => openIndividualAction("resign", membership.id, memberName)}
1157-
>
1158-
{$LL.admin.members.table.resignMembership()}
1159-
</Button>
1160-
</div>
1145+
<div class="flex gap-2 border-t pt-3">
1146+
<Button
1147+
size="sm"
1148+
variant="outline"
1149+
onclick={() => openIndividualAction("deemResigned", membership.id, memberName)}
1150+
>
1151+
{$LL.admin.members.table.deemResigned() +
1152+
" (" +
1153+
page.data.customisations.memberResignRule +
1154+
")"}
1155+
</Button>
1156+
<Button
1157+
size="sm"
1158+
variant="destructive"
1159+
onclick={() => openIndividualAction("resign", membership.id, memberName)}
1160+
>
1161+
{$LL.admin.members.table.resignMembership() +
1162+
" (" +
1163+
page.data.customisations.memberResignRule +
1164+
")"}
1165+
</Button>
1166+
</div>
11611167
{/if}
11621168
{/if}
11631169
</div>

src/routes/[locale=locale]/(public)/sign-in/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
autocomplete="email"
2020
autocapitalize="none"
2121
autocorrect="off"
22-
placeholder="example@tietokilta.fi"
22+
placeholder="example@kilta.fi"
2323
required
2424
/>
2525
</p>

0 commit comments

Comments
 (0)