sanity-plugin-media
Version:
This version of `sanity-plugin-media` is for Sanity Studio V3.
18 lines (15 loc) • 646 B
text/typescript
import {createSelector} from '@reduxjs/toolkit'
import type {CardAssetData, CardUploadData} from '../types'
import type {RootReducerState} from './types'
export const selectCombinedItems = createSelector(
[
(state: RootReducerState) => state.assets.allIds,
(state: RootReducerState) => state.uploads.allIds
],
(assetIds, uploadIds) => {
const assetItems = assetIds.map(id => ({id, type: 'asset'} as CardAssetData))
const uploadItems = uploadIds.map(id => ({id, type: 'upload'} as CardUploadData))
const combinedItems: (CardAssetData | CardUploadData)[] = [...uploadItems, ...assetItems]
return combinedItems
}
)