@@ -8,11 +8,10 @@ import { object, string } from 'yup';
88import createDirectory from '@/api/server/files/createDirectory' ;
99import tw from 'twin.macro' ;
1010import Button from '@/components/elements/Button' ;
11- import { mutate } from 'swr' ;
1211import useServer from '@/plugins/useServer' ;
1312import { FileObject } from '@/api/server/files/loadDirectory' ;
14- import { useLocation } from 'react-router' ;
1513import useFlash from '@/plugins/useFlash' ;
14+ import useFileManagerSwr from '@/plugins/useFileManagerSwr' ;
1615
1716interface Values {
1817 directoryName : string ;
@@ -38,20 +37,16 @@ const generateDirectoryData = (name: string): FileObject => ({
3837
3938export default ( ) => {
4039 const { uuid } = useServer ( ) ;
41- const { hash } = useLocation ( ) ;
4240 const { clearAndAddHttpError } = useFlash ( ) ;
4341 const [ visible , setVisible ] = useState ( false ) ;
42+
43+ const { mutate } = useFileManagerSwr ( ) ;
4444 const directory = ServerContext . useStoreState ( state => state . files . directory ) ;
4545
4646 const submit = ( { directoryName } : Values , { setSubmitting } : FormikHelpers < Values > ) => {
4747 createDirectory ( uuid , directory , directoryName )
48- . then ( ( ) => {
49- mutate (
50- `${ uuid } :files:${ hash } ` ,
51- ( data : FileObject [ ] ) => [ ...data , generateDirectoryData ( directoryName ) ] ,
52- ) ;
53- setVisible ( false ) ;
54- } )
48+ . then ( ( ) => mutate ( data => [ ...data , generateDirectoryData ( directoryName ) ] , false ) )
49+ . then ( ( ) => setVisible ( false ) )
5550 . catch ( error => {
5651 console . error ( error ) ;
5752 setSubmitting ( false ) ;
@@ -78,6 +73,7 @@ export default () => {
7873 >
7974 < Form css = { tw `m-0` } >
8075 < Field
76+ autoFocus
8177 id = { 'directoryName' }
8278 name = { 'directoryName' }
8379 label = { 'Directory Name' }
0 commit comments