-
Notifications
You must be signed in to change notification settings - Fork 0
Add projects UI as intermediate layer between streams and episodes #108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: saebyn <185030+saebyn@users.noreply.github.com>
Co-authored-by: saebyn <185030+saebyn@users.noreply.github.com>
…integration Co-authored-by: saebyn <185030+saebyn@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements a new projects feature that creates an intermediate organizational layer between streams and episodes, enabling users to collect video cuts from multiple streams before creating final episodes. The implementation adds complete CRUD functionality for projects, enhances the VideoEditor workflow with export options, and maintains backward compatibility with the existing direct episode creation flow.
- Adds full projects resource with React Admin CRUD views and API mock endpoints
- Introduces ExportOptionsDialog component providing dual workflow options (direct episodes vs project aggregation)
- Implements useSendCutsToProject hook for seamless project integration with proper data transformation
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.
Show a summary per file
File | Description |
---|---|
src/resources/streams/VideoEditor.tsx | Enhanced with ExportOptionsDialog integration and dual export workflow |
src/resources/projects/index.tsx | New projects resource configuration for React Admin |
src/resources/projects/List.tsx | Projects list view with filtering and search capabilities |
src/resources/projects/Edit.tsx | Simple form for editing project title and description |
src/resources/projects/Create.tsx | Creation form for new projects |
src/ra/dataProvider/resourceMap.ts | Added projects mapping to API endpoints |
src/mocks/handlers/internal.ts.backup | Large mock data file (appears to be backup/generated) |
src/mocks/handlers/internal.ts | Added projects API mock handlers for development |
src/hooks/useSendCutsToProject.ts | Custom hook for sending video cuts to projects with proper data transformation |
src/components/molecules/ExportOptionsDialog.tsx | Modal dialog for choosing export destination (episodes vs projects) |
src/App.tsx | Registered projects resource in the main application |
This PR implements a new projects feature that allows users to collect video cuts from multiple streams into projects before creating episodes, addressing the need for better organization and workflow flexibility in the video editing process.
What was added
Projects CRUD Management:
Enhanced VideoEditor Workflow:
ExportOptionsDialog
component that allows users to choose between:useSendCutsToProject
hook for seamless project integrationArchitecture Improvements:
projects
resource to data provider and resource mapKey Benefits
Data Flow
The implementation follows existing React Admin patterns and maintains consistency with the current codebase architecture. All TypeScript compilation passes, tests are green (68/68), and the production build is successful.
Fixes #101.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.