diff --git a/app/components/Sidebar/components/CollectionLink.js b/app/components/Sidebar/components/CollectionLink.js index da25d77a7..6ded54b0c 100644 --- a/app/components/Sidebar/components/CollectionLink.js +++ b/app/components/Sidebar/components/CollectionLink.js @@ -4,7 +4,7 @@ import { observer } from "mobx-react"; import * as React from "react"; import { useDrop, useDrag } from "react-dnd"; import { useTranslation } from "react-i18next"; -import { useLocation } from "react-router-dom"; +import { useLocation, useHistory } from "react-router-dom"; import styled from "styled-components"; import Collection from "models/Collection"; import Document from "models/Document"; @@ -40,6 +40,7 @@ function CollectionLink({ isDraggingAnyCollection, onChangeDragging, }: Props) { + const history = useHistory(); const { t } = useTranslation(); const { search } = useLocation(); const [menuOpen, handleMenuOpen, handleMenuClose] = useBoolean(); @@ -53,8 +54,9 @@ function CollectionLink({ const handleTitleChange = React.useCallback( async (name: string) => { await collection.save({ name }); + history.push(collection.url); }, - [collection] + [collection, history] ); const { ui, documents, policies, collections } = useStores(); diff --git a/app/scenes/CollectionEdit.js b/app/scenes/CollectionEdit.js index 6ca7efd47..65e9c3b05 100644 --- a/app/scenes/CollectionEdit.js +++ b/app/scenes/CollectionEdit.js @@ -4,6 +4,7 @@ import { observer } from "mobx-react"; import * as React from "react"; import { useState } from "react"; import { Trans, useTranslation } from "react-i18next"; +import { useHistory } from "react-router-dom"; import Button from "components/Button"; import Flex from "components/Flex"; import HelpText from "components/HelpText"; @@ -30,6 +31,7 @@ const CollectionEdit = ({ collectionId, onSubmit }: Props) => { field: string, direction: "asc" | "desc", }>(collection.sort); + const history = useHistory(); const [isSaving, setIsSaving] = useState(); const { showToast } = useToasts(); const { t } = useTranslation(); @@ -46,6 +48,8 @@ const CollectionEdit = ({ collectionId, onSubmit }: Props) => { color, sort, }); + + history.push(collection.url); onSubmit(); showToast(t("The collection was updated"), { type: "success", @@ -56,7 +60,7 @@ const CollectionEdit = ({ collectionId, onSubmit }: Props) => { setIsSaving(false); } }, - [collection, color, icon, name, onSubmit, showToast, sort, t] + [collection, history, color, icon, name, onSubmit, showToast, sort, t] ); const handleSortChange = (value: string) => { diff --git a/app/scenes/Document/components/MultiplayerEditor.js b/app/scenes/Document/components/MultiplayerEditor.js index 2eed797f5..c6782bd08 100644 --- a/app/scenes/Document/components/MultiplayerEditor.js +++ b/app/scenes/Document/components/MultiplayerEditor.js @@ -2,7 +2,7 @@ import { HocuspocusProvider, WebSocketStatus } from "@hocuspocus/provider"; import * as React from "react"; import { useTranslation } from "react-i18next"; -import { useHistory } from "react-router"; +import { useHistory } from "react-router-dom"; import { IndexeddbPersistence } from "y-indexeddb"; import * as Y from "yjs"; import Editor, { type Props as EditorProps } from "components/Editor";