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 { LocalizeText } from '../../../../api';
|
||||
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 [ editingName, setEditingName ] = useState<string>('');
|
||||
|
||||
useEffect(() =>
|
||||
{
|
||||
if(editingId && !categories.some(category => (category.id === editingId)))
|
||||
{
|
||||
setEditingId(0);
|
||||
setEditingName('');
|
||||
}
|
||||
}, [ categories, editingId ]);
|
||||
|
||||
const submitAdd = () =>
|
||||
{
|
||||
const trimmed = newName.trim();
|
||||
@@ -47,7 +56,7 @@ export const FriendsCategoryManagerView: FC<FriendsCategoryManagerViewProps> = p
|
||||
onChange={ event => setNewName(event.target.value) }
|
||||
onKeyDown={ event => (event.key === 'Enter') && submitAdd() } />
|
||||
<Button disabled={ !newName.trim().length || (categories.length >= 20) } onClick={ submitAdd }>
|
||||
{ 'Create' }
|
||||
{ LocalizeText('catalog.admin.create') }
|
||||
</Button>
|
||||
</Flex>
|
||||
<Column gap={ 1 }>
|
||||
@@ -64,7 +73,7 @@ export const FriendsCategoryManagerView: FC<FriendsCategoryManagerViewProps> = p
|
||||
onChange={ event => setEditingName(event.target.value) }
|
||||
onKeyDown={ event => (event.key === 'Enter') && submitRename() } />
|
||||
<Button onClick={ submitRename }>
|
||||
{ 'Save' }
|
||||
{ LocalizeText('catalog.admin.save') }
|
||||
</Button>
|
||||
</>
|
||||
:
|
||||
|
||||
Reference in New Issue
Block a user