veza/apps/web/src/features/tracks/index.ts
senke 4cc73b0d12 api-contracts: replace ApiError interface with Zod-inferred type
- Replace manual ApiError interface with Zod-inferred type from apiSchemas
- Update all imports (15+ files) to use ApiError from @/schemas/apiSchemas
- Remove ApiError interface from types/api.ts
- Update ApiResponse to import ApiError from schemas
- All TypeScript checks pass for ApiError-related code
2026-01-15 17:03:35 +01:00

77 lines
2.7 KiB
TypeScript

/**
* Exports publics de la feature tracks
*/
// Components
export { TrackList } from './components/TrackList';
export type { TrackListProps, TrackListColumn } from './components/TrackList';
export { TrackGrid } from './components/TrackGrid';
export type { TrackGridProps } from './components/TrackGrid';
export { TrackCard } from './components/TrackCard';
export type { TrackCardProps } from './components/TrackCard';
export { TrackListSkeleton } from './components/TrackListSkeleton';
export type { TrackListSkeletonProps } from './components/TrackListSkeleton';
export { TrackListEmpty } from './components/TrackListEmpty';
export type {
TrackListEmptyProps,
EmptyStateType,
} from './components/TrackListEmpty';
export { TrackListRow } from './components/TrackListRow';
export type { TrackListRowProps } from './components/TrackListRow';
export { TrackListPagination } from './components/TrackListPagination';
export type { TrackListPaginationProps } from './components/TrackListPagination';
export { TrackListSelectionActions } from './components/TrackListSelectionActions';
export type { TrackListSelectionActionsProps } from './components/TrackListSelectionActions';
export { TrackGridDensitySelector } from './components/TrackGridDensitySelector';
export type {
TrackGridDensitySelectorProps,
DensityMode,
} from './components/TrackGridDensitySelector';
export { ViewToggle } from './components/ViewToggle';
export type { ViewToggleProps } from './components/ViewToggle';
export { TrackFilters } from './components/TrackFilters';
export type { TrackFiltersProps } from './components/TrackFilters';
export { TrackSort } from './components/TrackSort';
export type { TrackSortProps } from './components/TrackSort';
// Hooks
export { useTrackList } from './hooks/useTrackList';
export type {
UseTrackListOptions,
UseTrackListReturn,
} from './hooks/useTrackList';
export { TrackListContainer } from './components/TrackListContainer';
export type { TrackListContainerProps } from './components/TrackListContainer';
export { useInfiniteScroll } from './hooks/useInfiniteScroll';
export type {
UseInfiniteScrollOptions,
UseInfiniteScrollReturn,
} from './hooks/useInfiniteScroll';
// Services
export {
getTracks,
getTrackById,
getTracksByArtist,
getTracksByAlbum,
getTracksByGenre,
searchTracks,
} from './services/trackListService';
export type {
PaginationOptions,
PaginatedResponse,
GetTracksOptions,
TracksResponse,
} from './services/trackListService';
export type { ApiError } from '@/schemas/apiSchemas';
// Types
export type {
TrackListDisplayMode,
TrackSortOption,
SortOrder,
TrackFilterOptions,
TrackSortOptions,
TrackListBaseProps,
TrackListState,
} from './types';