1
0
Files
AstralRinth/apps/frontend/src/emails/index.ts
Calum H. 8149618187 feat: introduce vue-email for templating with tailwind (#4358)
* feat: start on vue-email set up

* feat: email rendering and base template

* refactor: body slot only

* feat: templates

* fix: lint

* fix: build process

* fix: default import issue

* feat: continue making emails

* feat: update address

* feat: new templates

* feat: email temp page viewer

* fix: lint

* fix: reset password heading

* fix: lint

* fix: qa issues
2025-09-16 15:57:34 +00:00

35 lines
1.9 KiB
TypeScript

import type { Component } from 'vue'
export default {
// Account
'auth-method-added': () => import('./templates/account/AuthenticationMethodAdded.vue'),
'auth-method-removed': () => import('./templates/account/AuthenticationMethodRemoved.vue'),
'email-changed': () => import('./templates/account/EmailChanged.vue'),
'password-changed': () => import('./templates/account/PasswordChanged.vue'),
'password-removed': () => import('./templates/account/PasswordRemoved.vue'),
'payment-failed': () => import('./templates/account/PaymentFailed.vue'),
'reset-password': () => import('./templates/account/ResetPassword.vue'),
'two-factor-added': () => import('./templates/account/TwoFactorAdded.vue'),
'two-factor-removed': () => import('./templates/account/TwoFactorRemoved.vue'),
'verify-email': () => import('./templates/account/VerifyEmail.vue'),
'login-new-device': () => import('./templates/account/LoginNewDevice.vue'),
'payout-available': () => import('./templates/account/PayoutAvailable.vue'),
'personal-access-token-created': () => import('./templates/account/PATCreated.vue'),
// Moderation
'report-submitted': () => import('./templates/moderation/ReportSubmitted.vue'),
'report-status-updated': () => import('./templates/moderation/ReportStatusUpdated.vue'),
'moderation-thread-message-received': () =>
import('./templates/moderation/ModerationThreadMessageReceived.vue'),
// Project
'project-status-updated-neutral': () =>
import('./templates/project/ProjectStatusUpdatedNeutral.vue'),
'project-status-approved': () => import('./templates/project/ProjectStatusApproved.vue'),
'project-invited': () => import('./templates/project/ProjectInvited.vue'),
'project-transferred': () => import('./templates/project/ProjectTransferred.vue'),
// Organization
'organization-invited': () => import('./templates/organization/OrganizationInvited.vue'),
} as Record<string, () => Promise<{ default: Component }>>