From 428cbd9477e4d30a1347eac9b45dcd701b2f149d Mon Sep 17 00:00:00 2001 From: Karli Date: Fri, 26 Sep 2025 15:37:47 +0300 Subject: [PATCH] feat(MED-97): small fixes --- .../server/load-team-account-benefit-expenses-overview.ts | 4 ++-- .../_lib/server/load-team-account-benefit-statistics.ts | 3 +-- .../billing/_components/health-benefit-form-client.tsx | 5 ++++- .../[account]/billing/_components/health-benefit-form.tsx | 4 ++-- app/join/page.tsx | 2 +- .../accounts/src/server/services/account-balance.service.ts | 4 +++- .../src/server/actions/team-invitations-server-actions.ts | 3 ++- 7 files changed, 15 insertions(+), 10 deletions(-) diff --git a/app/home/[account]/_lib/server/load-team-account-benefit-expenses-overview.ts b/app/home/[account]/_lib/server/load-team-account-benefit-expenses-overview.ts index 93548d7..0f260ea 100644 --- a/app/home/[account]/_lib/server/load-team-account-benefit-expenses-overview.ts +++ b/app/home/[account]/_lib/server/load-team-account-benefit-expenses-overview.ts @@ -1,5 +1,5 @@ import { getSupabaseServerClient } from "@/packages/supabase/src/clients/server-client"; -import { loadAccountBenefitStatistics, loadCompanyPersonalAccountsBalanceEntries } from "./load-team-account-benefit-statistics"; +import { loadCompanyPersonalAccountsBalanceEntries } from "./load-team-account-benefit-statistics"; export interface TeamAccountBenefitExpensesOverview { benefitAmount: number | null; @@ -65,7 +65,7 @@ export async function loadTeamAccountBenefitExpensesOverview({ return benefitAmount * employeeCount * monthsLeft; } else if (benefitOccurrence === 'quarterly') { const quartersLeft = isCreatedThisYear - ? QUARTERS - (createdAt.getMonth() / 3) + ? QUARTERS - Math.ceil(createdAt.getMonth() / 3) : QUARTERS; return benefitAmount * employeeCount * quartersLeft; } diff --git a/app/home/[account]/_lib/server/load-team-account-benefit-statistics.ts b/app/home/[account]/_lib/server/load-team-account-benefit-statistics.ts index 05f51f0..4de4be5 100644 --- a/app/home/[account]/_lib/server/load-team-account-benefit-statistics.ts +++ b/app/home/[account]/_lib/server/load-team-account-benefit-statistics.ts @@ -73,8 +73,7 @@ export const loadAccountBenefitStatistics = async ( .select('*') .eq('company_id', accountId) .eq('is_active', true) - .single() - .throwOnError(); + .single(); const scheduleAmount = benefitDistributionSchedule?.benefit_amount || 0; return { diff --git a/app/home/[account]/billing/_components/health-benefit-form-client.tsx b/app/home/[account]/billing/_components/health-benefit-form-client.tsx index 8812683..6ca2ff2 100644 --- a/app/home/[account]/billing/_components/health-benefit-form-client.tsx +++ b/app/home/[account]/billing/_components/health-benefit-form-client.tsx @@ -1,6 +1,7 @@ 'use client'; import { useState } from 'react'; +import { useRouter } from 'next/navigation'; import { UpdateHealthBenefitSchema } from '@/packages/billing/core/src/schema'; import { zodResolver } from '@hookform/resolvers/zod'; @@ -27,7 +28,8 @@ const HealthBenefitFormClient = ({ companyParams: CompanyParams; }) => { const { t } = useTranslation('account'); - + const router = useRouter(); + const [currentCompanyParams, setCurrentCompanyParams] = useState(companyParams); const [isLoading, setIsLoading] = useState(false); @@ -56,6 +58,7 @@ const HealthBenefitFormClient = ({ } finally { form.reset(data); setIsLoading(false); + router.refresh(); } }; diff --git a/app/home/[account]/billing/_components/health-benefit-form.tsx b/app/home/[account]/billing/_components/health-benefit-form.tsx index d49ccd2..4decbe2 100644 --- a/app/home/[account]/billing/_components/health-benefit-form.tsx +++ b/app/home/[account]/billing/_components/health-benefit-form.tsx @@ -32,8 +32,8 @@ const HealthBenefitForm = async ({ -
-
+
+
diff --git a/app/join/page.tsx b/app/join/page.tsx index 72b6e2f..cabd06b 100644 --- a/app/join/page.tsx +++ b/app/join/page.tsx @@ -116,7 +116,7 @@ async function JoinTeamAccountPage(props: JoinTeamAccountPageProps) { return ( { - const { error } = await this.supabase.schema('medreport').rpc('process_periodic_benefit_distributions') + console.info('Processing periodic benefit distributions...'); + const { error } = await this.supabase.schema('medreport').rpc('process_periodic_benefit_distributions'); if (error) { console.error('Error processing periodic benefit distributions:', error); throw new Error('Failed to process periodic benefit distributions'); } + console.info('Periodic benefit distributions processed successfully'); } } diff --git a/packages/features/team-accounts/src/server/actions/team-invitations-server-actions.ts b/packages/features/team-accounts/src/server/actions/team-invitations-server-actions.ts index 69b8810..ccb89e2 100644 --- a/packages/features/team-accounts/src/server/actions/team-invitations-server-actions.ts +++ b/packages/features/team-accounts/src/server/actions/team-invitations-server-actions.ts @@ -149,6 +149,7 @@ export const updateInvitationAction = enhanceAction( export const acceptInvitationAction = enhanceAction( async (data: FormData, user) => { const client = getSupabaseServerClient(); + const accountBalanceService = new AccountBalanceService(); const { inviteToken, nextPath } = AcceptInvitationSchema.parse( Object.fromEntries(data), @@ -173,7 +174,7 @@ export const acceptInvitationAction = enhanceAction( } // Make sure new account gets company benefits added to balance - await new AccountBalanceService().processPeriodicBenefitDistributions(); + await accountBalanceService.processPeriodicBenefitDistributions(); // Increase the seats for the account await perSeatBillingService.increaseSeats(accountId);