Skip to content

Dev#219

Open
tenkus47 wants to merge 131 commits into
mainfrom
dev
Open

Dev#219
tenkus47 wants to merge 131 commits into
mainfrom
dev

Conversation

@tenkus47

@tenkus47 tenkus47 commented Jun 8, 2026

Copy link
Copy Markdown
Member

No description provided.

harshal-2304 and others added 30 commits May 25, 2026 12:28
* shared component

* ui

* tag removal

* Enhance Dashboard with Series Management and UI Improvements

- Updated Dashboard component to include a new tab for managing series alongside plans.
- Implemented fetching and displaying series data with a new SeriesTable component.
- Refactored add button to a dropdown menu for adding plans and series.
- Improved test cases to reflect changes in button labels and API endpoints.
- Enhanced PlanDeleteDialog to support dynamic entity labels for better reusability.

* integration of plan search, UI not the finalized

* initial commit

* update the filter function for type safety

* Add Dashboard Frontend Plan and Enhance Dashboard Component

- Introduced a comprehensive plan document for the CMS dashboard, detailing goals, backend assumptions, and implementation strategies.
- Refactored Dashboard component to support a unified table for plans and series, including improved filtering and sorting capabilities.
- Implemented a new DashboardContentTable for rendering dashboard data with enhanced UI elements.
- Updated tests to reflect changes in component structure and functionality, ensuring accurate rendering and interaction.
- Added mock data handling for the unified feed to support frontend development without backend dependencies.

* feat(dashboard): add dropdown to create series or plan

- replace the direct Add Plan link with an Add menu for series and plan flows
- restyle the trigger and use dropdown primitives for clearer navigation
- apply prettier formatting and EOF fixes in related create and form UI files

* refactor(create-series): stub series route and tweak dashboard sort table

- replace the full CreateSeries form with a minimal placeholder until the API is ready
- set dashboard sort to recent when the sort select content is clicked
- stop destructuring unused isLoading in the dashboard content table

* feat(create-series): implement series create and edit with CMS integration

- add multi-language series editor with cover upload, plan tabs, and unsaved-change navigation blocking
- add series API module for load, create, update, and full plan snapshot replace with graceful partial failure handling
- rework plan search to store rich plan objects, filter by language, and improve browse and selection UX
- require complete language blocks and a cover image before submit; refine zod validation for languages and image
- remove duplicate series route registration and align dashboard series rows with the unified table type

* feat(create-series): support plan display order and drag reorder

- sort hydrated plans per language using optional display_order from the series detail payload
- document that plan id array order in the replace payload represents display order for the API
- add drag handles to reorder selected plans before save, disabled when only one plan is attached
- remove the desktop-only vertical divider on the series details column for a cleaner split layout

* refactor(create-series): unify series create and update payload with plans

- send name, featured, image_key, and per-language plan ids in one POST or PUT body
- drop the separate plans replace endpoint and client-side author resolution on save
- build plan lists only for languages present in the series name payload
- remove author profile gating from submit enabled state
- show cancel on create as well as edit

* style(create-series): polish series editor and plan picker layout

- align page background, title divider, and language block surfaces with the design spec
- show English, Tibetan, and Chinese labels on language fields and style the add-language control
- resize cover upload placeholder and refine description field backgrounds
- highlight active plan tabs with brand color and muted plan counts
- simplify plan picker chrome and add spacing above the search field

* style(create-series): simplify PlanSearchSelector layout

- remove unnecessary padding from the PlanSearchSelector component

* feat(dashboard): load tabs from unified CMS dashboard items API

- add dashboard items client with tab, pagination, search, and filter params mapped to table rows
- replace separate plan and series fetches and mock all feed with a single React Query load per view
- send language and status filters to the server instead of filtering client-side
- use one content table and pagination state for all, plans, and series tabs
- update dashboard tests and invalidate dashboard-items after plan and series mutations

* feat(dashboard): show plan count badge on series cover thumbnails

- overlay a stack badge with plans_count on series rows in the content table
- map plans_count from dashboard items API responses into table row data
- rename modified column header to Date Modified
- add dashboard test for the accessible series plans badge
- fix CreatePlan cover image tests to match constraints copy key

* feat(dashboard): unify plan and series row actions via DropdownButton

- add entityType to DropdownButton for plan vs series API, labels, and edit links
- use shared dropdown for series rows with delete and status mutations
- remove placeholder onDeleteSeries handler and inline series action menu

* feat(dashboard): enable series featured toggle and align table controls

- route featured PATCH by row kind (plan vs series)
- allow published series rows to toggle featured from the table
- refresh featured star states and shared icon button styles for Featured and Actions
- add test covering series featured toggle

* refactor(dashboard): rely on axios interceptor for auth headers

- remove per-request Authorization headers from dashboard fetch, featured toggle, and row actions
- simplify featured toggle tests to match patch call signature
- tighten status update error handling in DropdownButton

* feat(dashboard): support series metadata API and featured updates

- resolve dashboard series titles from metadata with language preference
- toggle series featured via CMS PUT with featured flag instead of patch endpoint
- migrate series write payloads from name map to metadata array
- improve series detail mapping for metadata, image_key, and plan language fallbacks
- normalize dashboard status to uppercase and link series rows to series-details
- invalidate series cache after row status changes
- fix Tolgee translate prop typing on dashboard table
- add dashboard API tests and expand dashboard component coverage

* fix(dashboard): hide cover column header and align tests

- remove cover image label from dashboard table header
- assert table headers only when rows are present
- validate empty cover column and six column headers in tests

* feat(series-details): add series details page with plan management

- implement series details view with language tabs and plans table
- add plan search, reorder, remove, and featured actions with CMS persistence
- extend series API and dropdown for plan updates and extra menu items
- extract dashboard status and language chips into shared UI helpers
- wire series details route and add mapper and page tests

---------

Co-authored-by: Tech-lo <taylorhent@gmail.com>
- Introduced `uploadDayAudio` and `deleteDayAudio` functions for handling audio uploads and deletions associated with task days.
- Enhanced `SubTask` interfaces to include optional timestamp fields for audio segments.
- Updated `TaskForm` and `SubTaskCard` components to support audio management, including a new `DayAudioSection` for displaying and editing audio timestamps.
- Implemented utility functions for formatting audio timestamps and retrieving audio duration from files.
- Enhanced code formatting in AudioTrimmer component for better readability.
- Simplified conditional checks in SubTaskCard component.
- Improved formatting in subtaskTimestamps validation function for clarity.
feat(task): add audio upload and management features
- Made the task editing feature always editable by setting `isEditable` to true.
- Integrated audio playback for daily tasks by adding `dayAudioUrl` to the `SubtaskCard` component.
- Improved the `DayAudioSection` to manage audio uploads and deletions more effectively, including UI enhancements for better user experience.
- Refactored the `DropdownButton` to streamline the dropdown menu structure.
- Commented out the `status` variable assignment to improve code clarity and prevent potential confusion regarding its usage.
…DayAudioSection

- Updated the conditional rendering in SubtaskCard to ensure both start and end timestamps are checked before displaying the audio player.
- Removed unnecessary whitespace in DayAudioSection for cleaner code formatting.
- Refactored DropdownButton to enhance readability by adjusting indentation and structure.
- drive tab, search, language, status, page, and page size from the URL
- add helpers to parse, serialize, and map dashboard URL state to API params
- debounce search input before committing search to the URL
- reset page when filters change and clamp page when results shrink
feat(task): enhance audio management and task editing capabilities
feat(dashboard): sync filters and pagination to URL query params
* series inclusion

* lint

* handle series loading and error states

* lint

* naming

* lint

* updated with serach filter
- Updated package version to 2026.05.28.1200.
- Introduced new routes for managing groups, including group creation, editing, and details pages.
- Enhanced the Navbar to include a link for groups management.
- Modified PlanTagSearchInput to conditionally hide the label.
- Replaced error handling in Tags component to utilize a centralized API error message function.
- Added PlanAudioDTO and PlanAudioListResponse interfaces for audio data handling.
- Implemented fetchPlanAudioList function to retrieve audio files associated with plans.
- Introduced attachDayAudio function to link audio files to specific days.
- Updated TaskForm to include plan title in DayAudioSection.
- Integrated PlanAudioSearchInput component for searching existing audio files in DayAudioSection.
- Improved user instructions for audio uploads and management in the UI.
…sk management

- Added new API functions for creating multiple days and bulk deleting days.
- Updated the SideBar component to support day selection mode for bulk actions.
- Enhanced the DayDeleteDialog to handle bulk deletion.
- Refactored usePlanMutations to integrate new API functions for creating and deleting days.
- Improved user experience with feedback messages for successful and failed operations.
- pass seriesId and active language tab via router state from Add New Plan link
- validate location state and pre-fill create form when series is in the list
- disable series and language fields and show contextual heading when locked
- fall back to default create form when series id is missing or invalid
- add tests for Series Details navigation, CreatePlan pre-fill, and state parser
- prevent committing local GitHub issue drafts and related files
- align with existing .cursor ignore for developer-only paths
- re-add .cursor to ignore list to prevent committing local cursor files
- maintain consistency with previous ignore entries for developer-specific files
- lay out plan picker and audio library search on one row in day audio UI
- preserve search, infinite scroll, preview, and attach behavior
- apply formatting-only updates across groups routes and day create dialog
…react-split-pane

- Updated the version of the project to 2026.05.28.1200 in package.json and package-lock.json.
- Added react-split-pane for a responsive layout in PlanDetailsPage, allowing for a mobile preview.
- Introduced MobileView component to display the WeBuddhist Plan Viewer.
- Enhanced SideBar component to accept selectedDayId for better state management.
- Fixed a typo in the CSS variable for JetBrains font.
feat(create-plan): pre-fill series and language from series details
…orm on day change

- Updated the project version in package-lock.json to 2025.11.05.0657.
- Integrated useSearchParams for managing selected day in PlanDetailsPage.
- Added functionality to reset selected task and editing task when the day changes.
- Enhanced TaskForm to reset the form when the selected day changes in create mode.
…age test suite

- Removed tests for updating and reading search params related to day changes in PlanDetailsPage.
- Cleaned up the test suite to focus on relevant functionality after recent updates to state management.
Lungsangg and others added 19 commits June 16, 2026 17:43
- Introduced a new API function `searchSegments` to fetch segments based on user input.
- Updated `MarkdownLinkDialog` to support segment linking, including state management for selected segments.
- Enhanced the UI to display search results for segments, improving user experience when linking content.
- Adjusted placeholder text and rendering logic to accommodate the new segment search feature.
@greptile-apps

greptile-apps Bot commented Jun 19, 2026

Copy link
Copy Markdown

Too many files changed for review. (172 files found, 100 file limit)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants