story-generator/src/components/layouts/DashboardPageLayout.tsx
Lucas Santana 797967ca5b feat: adiciona integração com edge function para processamento de áudio
- Cria serviço audioService para upload e processamento
- Implementa componente AudioUploader com feedback visual
- Adiciona componente Button reutilizável
- Integra processamento de áudio na página de histórias
2024-12-21 16:12:02 -03:00

39 lines
1.0 KiB
TypeScript

import React from 'react';
import { DashboardSidebar } from './DashboardSidebar';
interface DashboardPageLayoutProps {
children: React.ReactNode;
title: string;
description?: string;
}
export function DashboardPageLayout({
children,
title,
description
}: DashboardPageLayoutProps): JSX.Element {
return (
<div className="min-h-screen bg-gray-50 flex">
<DashboardSidebar />
<main className="flex-1 min-h-screen transition-all duration-300">
<div className="w-full max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-6">
<div className="mb-6 sm:mb-8">
<h1 className="text-2xl sm:text-3xl font-bold text-primary mb-2">
{title}
</h1>
{description && (
<p className="text-sm sm:text-base text-gray-600">
{description}
</p>
)}
</div>
<div className="space-y-6">
{children}
</div>
</div>
</main>
</div>
);
}