mirror of
https://github.com/duckietm/Nitro-V3.git
synced 2026-06-19 15:06:20 +00:00
fix(friends): reset stale edit state on category refresh + localize manager labels where keys exist
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import { FC, MouseEvent, useState } from 'react';
|
import { FC, MouseEvent, useEffect, useState } from 'react';
|
||||||
import { FriendCategoryData } from '@nitrots/nitro-renderer';
|
import { FriendCategoryData } from '@nitrots/nitro-renderer';
|
||||||
import { LocalizeText } from '../../../../api';
|
import { LocalizeText } from '../../../../api';
|
||||||
import { Button, Column, Flex, NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../../../common';
|
import { Button, Column, Flex, NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../../../common';
|
||||||
@@ -18,6 +18,15 @@ export const FriendsCategoryManagerView: FC<FriendsCategoryManagerViewProps> = p
|
|||||||
const [ editingId, setEditingId ] = useState<number>(0);
|
const [ editingId, setEditingId ] = useState<number>(0);
|
||||||
const [ editingName, setEditingName ] = useState<string>('');
|
const [ editingName, setEditingName ] = useState<string>('');
|
||||||
|
|
||||||
|
useEffect(() =>
|
||||||
|
{
|
||||||
|
if(editingId && !categories.some(category => (category.id === editingId)))
|
||||||
|
{
|
||||||
|
setEditingId(0);
|
||||||
|
setEditingName('');
|
||||||
|
}
|
||||||
|
}, [ categories, editingId ]);
|
||||||
|
|
||||||
const submitAdd = () =>
|
const submitAdd = () =>
|
||||||
{
|
{
|
||||||
const trimmed = newName.trim();
|
const trimmed = newName.trim();
|
||||||
@@ -47,7 +56,7 @@ export const FriendsCategoryManagerView: FC<FriendsCategoryManagerViewProps> = p
|
|||||||
onChange={ event => setNewName(event.target.value) }
|
onChange={ event => setNewName(event.target.value) }
|
||||||
onKeyDown={ event => (event.key === 'Enter') && submitAdd() } />
|
onKeyDown={ event => (event.key === 'Enter') && submitAdd() } />
|
||||||
<Button disabled={ !newName.trim().length || (categories.length >= 20) } onClick={ submitAdd }>
|
<Button disabled={ !newName.trim().length || (categories.length >= 20) } onClick={ submitAdd }>
|
||||||
{ 'Create' }
|
{ LocalizeText('catalog.admin.create') }
|
||||||
</Button>
|
</Button>
|
||||||
</Flex>
|
</Flex>
|
||||||
<Column gap={ 1 }>
|
<Column gap={ 1 }>
|
||||||
@@ -64,7 +73,7 @@ export const FriendsCategoryManagerView: FC<FriendsCategoryManagerViewProps> = p
|
|||||||
onChange={ event => setEditingName(event.target.value) }
|
onChange={ event => setEditingName(event.target.value) }
|
||||||
onKeyDown={ event => (event.key === 'Enter') && submitRename() } />
|
onKeyDown={ event => (event.key === 'Enter') && submitRename() } />
|
||||||
<Button onClick={ submitRename }>
|
<Button onClick={ submitRename }>
|
||||||
{ 'Save' }
|
{ LocalizeText('catalog.admin.save') }
|
||||||
</Button>
|
</Button>
|
||||||
</>
|
</>
|
||||||
:
|
:
|
||||||
|
|||||||
Reference in New Issue
Block a user