From 3d760b4ed08202dc22f8366efc55368cfa20c07a Mon Sep 17 00:00:00 2001 From: sylenien Date: Thu, 1 Dec 2022 11:47:47 +0100 Subject: [PATCH] change(ui): make components| --- .../AssistSessionsModal.tsx | 137 ++++++++++++++++++ .../Controls/AssistSessionsModal/index.tsx | 1 + .../AssistSessionsTabs/AssistSessionsTabs.tsx | 75 ++++++++++ .../Session_/Player/Controls/Controls.tsx | 7 + frontend/app/mstore/assistTabStore.ts | 36 +++++ frontend/app/mstore/index.tsx | 3 + 6 files changed, 259 insertions(+) create mode 100644 frontend/app/components/Session_/Player/Controls/AssistSessionsModal/AssistSessionsModal.tsx create mode 100644 frontend/app/components/Session_/Player/Controls/AssistSessionsModal/index.tsx create mode 100644 frontend/app/components/Session_/Player/Controls/AssistSessionsTabs/AssistSessionsTabs.tsx create mode 100644 frontend/app/mstore/assistTabStore.ts diff --git a/frontend/app/components/Session_/Player/Controls/AssistSessionsModal/AssistSessionsModal.tsx b/frontend/app/components/Session_/Player/Controls/AssistSessionsModal/AssistSessionsModal.tsx new file mode 100644 index 000000000..3acc14c07 --- /dev/null +++ b/frontend/app/components/Session_/Player/Controls/AssistSessionsModal/AssistSessionsModal.tsx @@ -0,0 +1,137 @@ +import React from 'react' +import { Loader, Pagination, Tooltip } from 'UI'; +import { connect } from 'react-redux'; +import SessionItem from 'Shared/SessionItem'; +import { addFilterByKeyAndValue, updateCurrentPage, applyFilter } from 'Duck/liveSearch'; +import { List } from 'immutable'; +import { FilterKey } from 'App/types/filter/filterType'; +import Select from 'Shared/Select'; +import SortOrderButton from 'Shared/SortOrderButton'; +import { KEYS } from 'Types/filter/customFilter'; +import { capitalize } from 'App/utils'; +import { useStore } from 'App/mstore' +import { observer } from 'mobx-react-lite' + +import cn from 'classnames' +import Session from 'App/mstore/types/session'; + +const PER_PAGE = 10; + +interface OwnProps {} +interface ConnectProps { + loading: boolean; + metaListLoading: boolean; + list: List; + filter: any; + currentPage: number; + metaList: any; + sort: any; + total: number; + addFilterByKeyAndValue: (key: FilterKey, value: string) => void; + updateCurrentPage: (page: number) => void; + applyFilter: (filter: any) => void; + onAdd: () => void; +} + +type Props = OwnProps & ConnectProps; + +function AssistSessionsModal(props: Props) { + const { assistTabStore } = useStore(); + const { loading, list, metaList = [], filter, currentPage, total, onAdd } = props; + const onUserClick = () => false; + const { filters } = filter; + const hasUserFilter = filters.map((i: any) => i.key).includes(KEYS.USERID); + + const sortOptions = metaList + .map((i: any) => ({ + label: capitalize(i), + value: i, + })) + .toJS(); + + React.useEffect(() => { + props.applyFilter({ ...filter }); + }, []); + const onSortChange = ({ value }: any) => { + props.applyFilter({ sort: value.value }); + }; + const onSessionAdd = (session: Session) => { + assistTabStore.addSession(session); + onAdd() + } + + return ( +
+
+
+ Sort By + 0} + > +
+