perf(dashboard): usar Promise.all para fetching paralelo de dados
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -29,25 +29,22 @@ export default async function Page({ searchParams }: PageProps) {
|
|||||||
const periodoParam = getSingleParam(resolvedSearchParams, "periodo");
|
const periodoParam = getSingleParam(resolvedSearchParams, "periodo");
|
||||||
const { period: selectedPeriod } = parsePeriodParam(periodoParam);
|
const { period: selectedPeriod } = parsePeriodParam(periodoParam);
|
||||||
|
|
||||||
const data = await fetchDashboardData(user.id, selectedPeriod);
|
const [data, preferencesResult] = await Promise.all([
|
||||||
|
fetchDashboardData(user.id, selectedPeriod),
|
||||||
// Buscar preferências do usuário
|
db
|
||||||
const preferencesResult = await db
|
.select({
|
||||||
.select({
|
disableMagnetlines: schema.userPreferences.disableMagnetlines,
|
||||||
disableMagnetlines: schema.userPreferences.disableMagnetlines,
|
})
|
||||||
})
|
.from(schema.userPreferences)
|
||||||
.from(schema.userPreferences)
|
.where(eq(schema.userPreferences.userId, user.id))
|
||||||
.where(eq(schema.userPreferences.userId, user.id))
|
.limit(1),
|
||||||
.limit(1);
|
]);
|
||||||
|
|
||||||
const disableMagnetlines = preferencesResult[0]?.disableMagnetlines ?? false;
|
const disableMagnetlines = preferencesResult[0]?.disableMagnetlines ?? false;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<main className="flex flex-col gap-4 px-6">
|
<main className="flex flex-col gap-4 px-6">
|
||||||
<DashboardWelcome
|
<DashboardWelcome name={user.name} disableMagnetlines={disableMagnetlines} />
|
||||||
name={user.name}
|
|
||||||
disableMagnetlines={disableMagnetlines}
|
|
||||||
/>
|
|
||||||
<MonthNavigation />
|
<MonthNavigation />
|
||||||
<SectionCards metrics={data.metrics} />
|
<SectionCards metrics={data.metrics} />
|
||||||
<DashboardGrid data={data} period={selectedPeriod} />
|
<DashboardGrid data={data} period={selectedPeriod} />
|
||||||
|
|||||||
Reference in New Issue
Block a user