From 4480548e48717926d64c1927c092ab1f25607265 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 11 Apr 2022 18:46:51 -0700 Subject: [PATCH] Use a modal instead of dropdown on small screens --- .../templates/article/ArticleActionsMenu.tsx | 56 +++++++++++-------- .../templates/article/ArticleContainer.tsx | 1 - .../templates/article/EditLabelsControl.tsx | 32 ++++++----- .../templates/article/EditLabelsModal.tsx | 42 ++++++++++++-- .../web/pages/[username]/[slug]/index.tsx | 15 +++++ 5 files changed, 103 insertions(+), 43 deletions(-) diff --git a/packages/web/components/templates/article/ArticleActionsMenu.tsx b/packages/web/components/templates/article/ArticleActionsMenu.tsx index 7c411dbad..3b13c4d5c 100644 --- a/packages/web/components/templates/article/ArticleActionsMenu.tsx +++ b/packages/web/components/templates/article/ArticleActionsMenu.tsx @@ -4,7 +4,7 @@ import { ArticleAttributes } from "../../../lib/networking/queries/useGetArticle import { useGetUserPreferences } from "../../../lib/networking/queries/useGetUserPreferences" import { Button } from "../../elements/Button" import { Dropdown } from "../../elements/DropdownElements" -import { Box } from "../../elements/LayoutPrimitives" +import { Box, SpanBox } from "../../elements/LayoutPrimitives" import { TooltipWrapped } from "../../elements/Tooltip" import { styled, theme } from "../../tokens/stitches.config" import { EditLabelsControl } from "./EditLabelsControl" @@ -84,32 +84,40 @@ export function ArticleActionsMenu(props: ArticleActionsMenuProps): JSX.Element - - - - } + - - -{/* - */} + + + + ) diff --git a/packages/web/pages/[username]/[slug]/index.tsx b/packages/web/pages/[username]/[slug]/index.tsx index c0dfc3589..5748a0013 100644 --- a/packages/web/pages/[username]/[slug]/index.tsx +++ b/packages/web/pages/[username]/[slug]/index.tsx @@ -27,6 +27,8 @@ import { setLinkArchivedMutation } from '../../../lib/networking/mutations/setLi import { Label } from '../../../lib/networking/fragments/labelFragment' import { useSWRConfig } from 'swr' import { showErrorToast, showSuccessToast } from '../../../lib/toastHelpers' +import { EditLabelsControl } from '../../../components/templates/article/EditLabelsControl' +import { EditLabelsModal } from '../../../components/templates/article/EditLabelsModal' const PdfArticleContainerNoSSR = dynamic( @@ -46,6 +48,7 @@ export default function Home(): JSX.Element { const [fontSize, setFontSize] = useState(preferencesData?.fontSize ?? 20) const [marginWidth, setMarginWidth] = useState(preferencesData?.margin ?? 360) const [lineHeight, setLineHeight] = useState(preferencesData?.lineHeight ?? 150) + const [showEditLabelsModal, setShowEditLabelsModal] = useState(false) const { articleData } = useGetArticleQuery({ username: router.query.username as string, @@ -131,6 +134,10 @@ export default function Home(): JSX.Element { } break } + case 'editLabels': { + setShowEditLabelsModal(true) + break + } case 'resetReaderSettings': { updateFontSize(20) updateMarginWidth(360) @@ -230,6 +237,14 @@ export default function Home(): JSX.Element { /> )} + + {showEditLabelsModal && ( + setShowEditLabelsModal(false)} + /> + )} ) }