diff --git a/src/components/context-menu.tsx b/src/components/context-menu.tsx index 25cda32..9377040 100644 --- a/src/components/context-menu.tsx +++ b/src/components/context-menu.tsx @@ -538,7 +538,7 @@ function GroupContextMenu() { function MarkReadContextMenu() { const dispatch = useAppDispatch() - + const menuItems: IContextualMenuItem[] = [ { key: "section_1", diff --git a/src/components/log-menu.tsx b/src/components/log-menu.tsx index 8f943cb..8b7c4da 100644 --- a/src/components/log-menu.tsx +++ b/src/components/log-menu.tsx @@ -7,15 +7,10 @@ import { DirectionalHint, Link, } from "@fluentui/react" -import { AppLog, AppLogType } from "../scripts/models/app" +import { AppLog, AppLogType, toggleLogMenu } from "../scripts/models/app" import Time from "./utils/time" - -type LogMenuProps = { - display: boolean - logs: AppLog[] - close: () => void - showItem: (iid: number) => void -} +import { useAppDispatch, useAppSelector } from "../scripts/reducer" +import { showItemFromId } from "../scripts/models/page" function getLogIcon(log: AppLog) { switch (log.type) { @@ -28,58 +23,56 @@ function getLogIcon(log: AppLog) { } } -class LogMenu extends React.Component { - activityItems = () => - this.props.logs - .map((l, i) => ({ - key: i, - activityDescription: l.iid ? ( - - this.handleArticleClick(l)}> - {l.title} - - +function LogMenu() { + const dispatch = useAppDispatch() + const { display, logs } = useAppSelector(state => state.app.logMenu) + + return ( + display && ( + dispatch(toggleLogMenu())}> + {logs.length == 0 ? ( +

+ {intl.get("log.empty")} +

) : ( - {l.title} - ), - comments: l.details, - activityIcon: , - timeStamp:
) - } + ) } export default LogMenu diff --git a/src/components/root.tsx b/src/components/root.tsx index 76b58ac..8d75667 100644 --- a/src/components/root.tsx +++ b/src/components/root.tsx @@ -4,10 +4,10 @@ import { closeContextMenu } from "../scripts/models/app" import PageContainer from "../containers/page-container" import MenuContainer from "../containers/menu-container" import NavContainer from "../containers/nav-container" -import LogMenuContainer from "../containers/log-menu-container" import SettingsContainer from "../containers/settings-container" import { RootState } from "../scripts/reducer" import { ContextMenu } from "./context-menu" +import LogMenu from "./log-menu" const Root = ({ locale, dispatch }) => locale && ( @@ -17,7 +17,7 @@ const Root = ({ locale, dispatch }) => onMouseDown={() => dispatch(closeContextMenu())}> - + diff --git a/src/containers/log-menu-container.tsx b/src/containers/log-menu-container.tsx deleted file mode 100644 index 247e419..0000000 --- a/src/containers/log-menu-container.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { connect } from "react-redux" -import { createSelector } from "reselect" -import { RootState } from "../scripts/reducer" -import { toggleLogMenu } from "../scripts/models/app" -import LogMenu from "../components/log-menu" -import { showItemFromId } from "../scripts/models/page" - -const getLogs = (state: RootState) => state.app.logMenu - -const mapStateToProps = createSelector(getLogs, logs => logs) - -const mapDispatchToProps = dispatch => { - return { - close: () => dispatch(toggleLogMenu()), - showItem: (iid: number) => dispatch(showItemFromId(iid)), - } -} - -const LogMenuContainer = connect(mapStateToProps, mapDispatchToProps)(LogMenu) -export default LogMenuContainer