Update theme toggle functionality and UI components

Implemented a new ModeToggle feature for theme switching in personal account dropdown. The changes also made adjustments to several UI components, such as transforming Dialog to AlertDialog in transfer-ownership-dialog, and introducing invitation-submit-button in team-accounts. Some minor amendments include text changes and styling modifications.
This commit is contained in:
giancarlo
2024-03-28 20:29:54 +08:00
parent caca7c12f6
commit f6d1b500da
30 changed files with 1318 additions and 810 deletions

View File

@@ -6,6 +6,7 @@ import { z } from 'zod';
import { Mailer } from '@kit/mailers';
import { Logger } from '@kit/shared/logger';
import { Database } from '@kit/supabase/database';
import { requireAuth } from '@kit/supabase/require-auth';
import { DeleteInvitationSchema } from '../../schema/delete-invitation.schema';
import { InviteMembersSchema } from '../../schema/invite-members.schema';
@@ -206,8 +207,28 @@ export class AccountInvitationsService {
);
}
/**
* Accepts an invitation to join a team.
*/
async acceptInvitationToTeam(params: {
userId: string;
inviteToken: string;
adminClient: SupabaseClient<Database>;
}) {
const { error, data } = await params.adminClient.rpc('accept_invitation', {
token: params.inviteToken,
user_id: params.userId,
});
if (error) {
throw error;
}
return data;
}
private async getUser() {
const { data, error } = await this.client.auth.getUser();
const { data, error } = await requireAuth(this.client);
if (error ?? !data) {
throw new Error('Authentication required');
@@ -217,6 +238,6 @@ export class AccountInvitationsService {
}
private getInvitationLink(token: string) {
return new URL(env.invitePath, env.siteURL).href + `?token=${token}`;
return new URL(env.siteURL, env.siteURL).href + `?invite_token=${token}`;
}
}