Compare commits

..

No commits in common. "323e7599f5fd183d377a285088b8f7705effbb48" and "9b2600c19d93d33c0e46e02bedb8d911d1210e03" have entirely different histories.

3 changed files with 33 additions and 40 deletions

View File

@ -337,7 +337,7 @@ export const RSFormState = ({ itemID, versionID, children }: RSFormStateProps) =
setLoading: setProcessing, setLoading: setProcessing,
onError: setProcessingError, onError: setProcessingError,
onSuccess: newData => { onSuccess: newData => {
setSchema(newData); setSchema(Object.assign(schema, newData));
library.localUpdateTimestamp(newData.id); library.localUpdateTimestamp(newData.id);
if (callback) callback(); if (callback) callback();
} }
@ -357,7 +357,7 @@ export const RSFormState = ({ itemID, versionID, children }: RSFormStateProps) =
setLoading: setProcessing, setLoading: setProcessing,
onError: setProcessingError, onError: setProcessingError,
onSuccess: newData => { onSuccess: newData => {
setSchema(newData); setSchema(Object.assign(schema, newData));
library.localUpdateTimestamp(newData.id); library.localUpdateTimestamp(newData.id);
if (callback) callback(); if (callback) callback();
} }
@ -573,14 +573,14 @@ export const RSFormState = ({ itemID, versionID, children }: RSFormStateProps) =
showError: true, showError: true,
setLoading: setProcessing, setLoading: setProcessing,
onError: setProcessingError, onError: setProcessingError,
onSuccess: newData => { onSuccess: () => {
setSchema(newData); setSchema(schema);
library.localUpdateItem(newData); library.localUpdateItem(schema!);
if (callback) callback(); if (callback) callback();
} }
}); });
}, },
[setSchema, library] [schema, setSchema, library]
); );
const inlineSynthesis = useCallback( const inlineSynthesis = useCallback(

View File

@ -3,7 +3,6 @@
import { useCallback, useLayoutEffect, useMemo, useState } from 'react'; import { useCallback, useLayoutEffect, useMemo, useState } from 'react';
import DataLoader from '@/components/wrap/DataLoader'; import DataLoader from '@/components/wrap/DataLoader';
import { useAuth } from '@/context/AuthContext';
import { useLibrary } from '@/context/LibraryContext'; import { useLibrary } from '@/context/LibraryContext';
import useLocalStorage from '@/hooks/useLocalStorage'; import useLocalStorage from '@/hooks/useLocalStorage';
import { ILibraryItem, LocationHead } from '@/models/library'; import { ILibraryItem, LocationHead } from '@/models/library';
@ -16,7 +15,6 @@ import SearchPanel from './SearchPanel';
function LibraryPage() { function LibraryPage() {
const library = useLibrary(); const library = useLibrary();
const { user } = useAuth();
const [items, setItems] = useState<ILibraryItem[]>([]); const [items, setItems] = useState<ILibraryItem[]>([]);
const [query, setQuery] = useState(''); const [query, setQuery] = useState('');
@ -36,12 +34,12 @@ function LibraryPage() {
head: head, head: head,
path: path, path: path,
query: query, query: query,
isEditor: user ? isEditor : undefined, isEditor: isEditor,
isOwned: user ? isOwned : undefined, isOwned: isOwned,
isSubscribed: user ? isSubscribed : undefined, isSubscribed: isSubscribed,
isVisible: user ? isVisible : true isVisible: isVisible
}), }),
[head, path, query, isEditor, isOwned, isSubscribed, isVisible, user] [head, path, query, isEditor, isOwned, isSubscribed, isVisible]
); );
useLayoutEffect(() => { useLayoutEffect(() => {

View File

@ -11,7 +11,6 @@ import DropdownButton from '@/components/ui/DropdownButton';
import MiniButton from '@/components/ui/MiniButton'; import MiniButton from '@/components/ui/MiniButton';
import SearchBar from '@/components/ui/SearchBar'; import SearchBar from '@/components/ui/SearchBar';
import SelectorButton from '@/components/ui/SelectorButton'; import SelectorButton from '@/components/ui/SelectorButton';
import { useAuth } from '@/context/AuthContext';
import useDropdown from '@/hooks/useDropdown'; import useDropdown from '@/hooks/useDropdown';
import { LocationHead } from '@/models/library'; import { LocationHead } from '@/models/library';
import { HelpTopic } from '@/models/miscellaneous'; import { HelpTopic } from '@/models/miscellaneous';
@ -59,7 +58,6 @@ function SearchPanel({
isEditor, isEditor,
toggleEditor toggleEditor
}: SearchPanelProps) { }: SearchPanelProps) {
const { user } = useAuth();
const headMenu = useDropdown(); const headMenu = useDropdown();
const handleChange = useCallback( const handleChange = useCallback(
@ -85,7 +83,6 @@ function SearchPanel({
{filtered} из {total} {filtered} из {total}
</div> </div>
{user ? (
<div className='cc-icons'> <div className='cc-icons'>
<MiniButton <MiniButton
title='Видимость' title='Видимость'
@ -97,7 +94,6 @@ function SearchPanel({
icon={<SubscribeIcon value={true} className={tripleToggleColor(isSubscribed)} />} icon={<SubscribeIcon value={true} className={tripleToggleColor(isSubscribed)} />}
onClick={toggleSubscribed} onClick={toggleSubscribed}
/> />
<MiniButton <MiniButton
title='Я - Владелец' title='Я - Владелец'
icon={<IconOwner size='1.25rem' className={tripleToggleColor(isOwned)} />} icon={<IconOwner size='1.25rem' className={tripleToggleColor(isOwned)} />}
@ -110,7 +106,6 @@ function SearchPanel({
onClick={toggleEditor} onClick={toggleEditor}
/> />
</div> </div>
) : null}
<div className='flex items-center h-full mx-auto'> <div className='flex items-center h-full mx-auto'>
<SearchBar <SearchBar