diff --git a/package-lock.json b/package-lock.json index b948088..4cb5eb0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "vite-react-typescript-starter", "version": "0.0.0", "dependencies": { + "@radix-ui/react-accordion": "^1.2.2", "@radix-ui/react-tabs": "^1.1.2", "@supabase/supabase-js": "^2.39.7", "clsx": "^2.1.1", @@ -1025,6 +1026,67 @@ "integrity": "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==", "license": "MIT" }, + "node_modules/@radix-ui/react-accordion": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.2.tgz", + "integrity": "sha512-b1oh54x4DMCdGsB4/7ahiSrViXxaBwRPotiZNnYXjLha9vfuURSAZErki6qjDoSIV0eXx5v57XnTGVtGwnfp2g==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collapsible": "1.1.2", + "@radix-ui/react-collection": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-primitive": "2.0.1", + "@radix-ui/react-use-controllable-state": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collapsible": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.2.tgz", + "integrity": "sha512-PliMB63vxz7vggcyq0IxNYk8vGDrLXVWw4+W4B8YnwI1s18x7YZYqlG9PLX7XxAJUi0g2DxP4XKJMFHh/iVh9A==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.1", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-collection": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.1.tgz", diff --git a/package.json b/package.json index d61037e..0aeb344 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "format": "prettier --write \"src/**/*.{ts,tsx}\"" }, "dependencies": { + "@radix-ui/react-accordion": "^1.2.2", "@radix-ui/react-tabs": "^1.1.2", "@supabase/supabase-js": "^2.39.7", "clsx": "^2.1.1", diff --git a/src/components/story/RecordingHistoryCard.tsx b/src/components/story/RecordingHistoryCard.tsx index 8e13e14..a36143c 100644 --- a/src/components/story/RecordingHistoryCard.tsx +++ b/src/components/story/RecordingHistoryCard.tsx @@ -1,4 +1,5 @@ import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '../ui/accordion'; +import type { StoryRecording } from '../../types/database'; export function RecordingHistoryCard({ recording }: { recording: StoryRecording }) { const metrics = [ @@ -74,7 +75,7 @@ export function RecordingHistoryCard({ recording }: { recording: StoryRecording Pontos Fortes @@ -86,7 +87,7 @@ export function RecordingHistoryCard({ recording }: { recording: StoryRecording Pontos para Melhorar diff --git a/src/pages/dashboard/DashboardPage.tsx b/src/pages/dashboard/DashboardPage.tsx index c010184..3408594 100644 --- a/src/pages/dashboard/DashboardPage.tsx +++ b/src/pages/dashboard/DashboardPage.tsx @@ -4,7 +4,7 @@ import React from "react"; export function DashboardPage(): JSX.Element { return ( - {/* Conteúdo da página */} +
Conteúdo do Dashboard
); } \ No newline at end of file diff --git a/src/services/audioService.ts b/src/services/audioService.ts index 9094735..154205e 100644 --- a/src/services/audioService.ts +++ b/src/services/audioService.ts @@ -13,7 +13,7 @@ export async function processAudio(audioFile: File): Promise('process-audio', { diff --git a/src/types/database.ts b/src/types/database.ts index a49a226..6461234 100644 --- a/src/types/database.ts +++ b/src/types/database.ts @@ -131,10 +131,19 @@ export interface ClassWithStudentsAndStories extends Class { students: StudentWithStories[]; } -interface StoryRecording { +export interface StoryRecording { id: string; - student_id: string; - story_id: string; - audio_url: string; + fluency_score: number; + pronunciation_score: number; + accuracy_score: number; + comprehension_score: number; + words_per_minute: number; + pause_count: number; + error_count: number; + self_corrections: number; + strengths: string[]; + improvements: string[]; + suggestions: string; created_at: string; + processed_at: string | null; } \ No newline at end of file