- Added props for handling presentation and screen sharing actions. - Implemented buttons for opening presentation panel and changing layouts (grid/focus) and modes (video/audio). - Updated UI to reflect active presentations and added functionality to clear presentations. fix: Adjust StudioLeftSidebar and StudioRightPanel for full height - Modified styles to ensure both sidebars occupy full height of the container. feat: Introduce ParticipantsPanel for managing participants in the conference - Created ParticipantsPanel component to display connected and invited participants. - Integrated API calls to fetch invited participants and handle connection status. feat: Implement PresentationPanel for sharing presentations - Developed PresentationPanel component to handle file uploads and screen sharing. refactor: Update StudioVideoArea to support layout and mode changes - Refactored StudioVideoArea to accept layout and mode props, rendering appropriate conference views. feat: Add AudioConference and VideoConference prefabs for audio and video handling - Created AudioConference and VideoConference components to manage respective media streams. feat: Introduce Chat component for real-time messaging - Developed Chat component to facilitate messaging between participants. feat: Implement ControlBar for user controls in the conference - Created ControlBar component for managing participant actions like leaving the conference and toggling audio/video. feat: Add PreJoin component for pre-conference setup - Developed PreJoin component to allow users to preview video before joining the conference. chore: Update Vite configuration for better module resolution - Enhanced Vite config to include path aliases for easier imports across the project. chore: Add TypeScript definitions for environment variables - Created env.d.ts to define types for environment variables used in the project.
43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import { defineConfig, loadEnv } from 'vite'
|
|
import react from '@vitejs/plugin-react'
|
|
import path from 'path'
|
|
|
|
export default defineConfig(({ mode }) => {
|
|
// Cargar variables de entorno del directorio raíz
|
|
const env = loadEnv(mode, '../../', '')
|
|
|
|
return {
|
|
plugins: [react()],
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve(__dirname, './src'),
|
|
'@shared': path.resolve(__dirname, '../../shared'),
|
|
'@avanzacast/shared-utils': path.resolve(__dirname, '../../shared/utils'),
|
|
'@avanzacast/shared-types': path.resolve(__dirname, '../../shared/types'),
|
|
'@avanzacast/shared-hooks': path.resolve(__dirname, '../../shared/hooks'),
|
|
}
|
|
},
|
|
server: {
|
|
port: 3020,
|
|
host: true,
|
|
fs: {
|
|
// Allow serving files from the shared folder (monorepo)
|
|
allow: [
|
|
path.resolve(__dirname),
|
|
path.resolve(__dirname, '../../shared')
|
|
],
|
|
// Disable strict fs checking so imports from outside project root work
|
|
strict: false
|
|
},
|
|
// Usar HTTP en dev para pruebas E2E locales (localhost permite getUserMedia sin HTTPS en muchos navegadores)
|
|
watch: { usePolling: true }
|
|
},
|
|
define: {
|
|
// Exponer variables de entorno al cliente
|
|
'import.meta.env.VITE_LIVEKIT_URL': JSON.stringify(env.LIVEKIT_URL),
|
|
'import.meta.env.VITE_LIVEKIT_API_KEY': JSON.stringify(env.LIVEKIT_API_KEY),
|
|
'import.meta.env.VITE_LIVEKIT_API_SECRET': JSON.stringify(env.LIVEKIT_API_SECRET),
|
|
},
|
|
}
|
|
})
|