import React from 'react'; import { ManageMediaItem } from '../../ManageItem/ManageMediaItem'; import { ManageUsersItem } from '../../ManageItem/ManageUsersItem'; import { ManageCommentsItem } from '../../ManageItem/ManageCommentsItem'; import { ManageMediaItemHeader } from '../../ManageItem/ManageMediaItemHeader'; import { ManageUsersItemHeader } from '../../ManageItem/ManageUsersItemHeader'; import { ManageCommentsItemHeader } from '../../ManageItem/ManageCommentsItemHeader'; function useManageItem(props) { const itemData = props.item; const itemProps = { order: props.order, onCheckRow: props.onCheckRow, selectedRow: props.selectedRow, onProceedRemoval: props.onProceedRemoval, hideDeleteAction: props.hideDeleteAction, }; return [itemData, itemProps]; } function ListManageMediaItem(props) { const [itemData, itemProps] = useManageItem(props); const args = { ...itemProps, thumbnail_url: itemData.thumbnail_url, title: itemData.title, url: itemData.url.replace(' ', '%20'), author_name: itemData.author_name, author_url: itemData.author_profile, add_date: itemData.add_date, media_type: itemData.media_type, encoding_status: itemData.encoding_status, state: itemData.state, is_reviewed: itemData.is_reviewed, featured: itemData.featured, reported_times: itemData.reported_times, token: itemData.friendly_token, }; return ; } function ListManageUserItem(props) { const [itemData, itemProps] = useManageItem(props); const roles = []; if (void 0 !== itemData.is_editor && itemData.is_editor) { roles.push('Editor'); } if (void 0 !== itemData.is_manager && itemData.is_manager) { roles.push('Manager'); } const args = { ...itemProps, thumbnail_url: itemData.thumbnail_url, name: itemData.name, url: itemData.url.replace(' ', '%20'), username: itemData.username, add_date: itemData.date_added, is_featured: itemData.is_featured, roles: roles, is_verified: true === itemData.email_is_verified, is_trusted: true === itemData.advancedUser, has_roles: void 0 !== itemData.is_editor || void 0 !== itemData.is_manager, has_verified: void 0 !== itemData.email_is_verified, has_trusted: void 0 !== itemData.advancedUser, }; return ; } function ListManageCommentItem(props) { const [itemData, itemProps] = useManageItem(props); const args = { ...itemProps, media_url: void 0 !== itemData.media_url ? itemData.media_url.replace(' ', '%20') : void 0, author_name: itemData.author_name, author_url: itemData.author_profile, author_thumbnail_url: itemData.author_thumbnail_url, add_date: itemData.add_date, text: itemData.text, uid: itemData.uid, }; return ; } function ListManageItem(props) { const args = { item: props.item, order: props.order, hideDeleteAction: false, onCheckRow: props.onCheckRow, onProceedRemoval: props.onProceedRemoval, }; if ('media' === props.type) { return ; } if ('users' === props.type) { return ; } if ('comments' === props.type) { return ; } return null; } function ListManageItemHeader(props) { const args = { sort: props.sort, order: props.order, selected: props.selected, onCheckAllRows: props.onCheckAllRows, onClickColumnSort: props.onClickColumnSort, }; if ('media' === props.type) { return ; } if ('users' === props.type) { args.has_roles = props.items.length && (void 0 !== props.items[0].is_editor || void 0 !== props.items[0].is_manager); args.has_verified = props.items.length && void 0 !== props.items[0].email_is_verified; args.has_trusted = props.items.length && void 0 !== props.items[0].advancedUser; return ; } if ('comments' === props.type) { return ; } return null; } export function renderManageItems(items, props) { return [ , ...items.map((item, index) => ( )), ]; }