UNPKG

@brizy/media-gallery

Version:
44 lines (43 loc) 1.41 kB
import { createElement, useCallback } from "react"; import * as MediaLibraryState from "../mediaLibrary/types/State"; import * as StockPhotosState from "../stockPhotos/types/State"; import * as Actions from "../types/Actions"; import { Tabs, tabs } from "../types/Tabs"; import { useDispatch } from "react-redux"; import { always, pipe } from "ramda"; import * as Close from "../../global/actions"; import { match } from "fp-utilities"; import { useTranslation } from "../../locale/useTranslation"; import { Header as CHeader } from "../../components/layouts/Header"; var active = match([ MediaLibraryState.isState, always(Tabs.MediaLibrary) ], [ StockPhotosState.isState, always(Tabs.StockPhotos) ]); export var Header = function(state) { var dispatch = useDispatch(); var t = useTranslation().t; var onClose = useCallback(function() { return pipe(Close.close, dispatch)(); }, [ dispatch ]); var onPageChange = useCallback(function(page) { switch(page){ case Tabs.MediaLibrary: return dispatch(Actions.goToMediaLibrary()); case Tabs.StockPhotos: return dispatch(Actions.goToStockPhotos()); } }, [ dispatch ]); return createElement(CHeader, { tabs: tabs(t), value: active(state), onChange: onPageChange, onClose: onClose }); };