diff --git a/rsconcept/frontend/src/pages/OssPage/MenuOssTabs.tsx b/rsconcept/frontend/src/pages/OssPage/MenuOssTabs.tsx
index a96894f5..a40d349b 100644
--- a/rsconcept/frontend/src/pages/OssPage/MenuOssTabs.tsx
+++ b/rsconcept/frontend/src/pages/OssPage/MenuOssTabs.tsx
@@ -1,6 +1,7 @@
'use client';
import { urls } from '@/app/urls';
+import { useAuth } from '@/backend/auth/useAuth';
import {
IconAdmin,
IconAlert,
@@ -19,7 +20,6 @@ import Button from '@/components/ui/Button';
import Divider from '@/components/ui/Divider';
import Dropdown from '@/components/ui/Dropdown';
import DropdownButton from '@/components/ui/DropdownButton';
-import { useAuth } from '@/context/AuthContext';
import { useConceptNavigation } from '@/context/NavigationContext';
import { useOSS } from '@/context/OssContext';
import useDropdown from '@/hooks/useDropdown';
diff --git a/rsconcept/frontend/src/pages/OssPage/OssEditContext.tsx b/rsconcept/frontend/src/pages/OssPage/OssEditContext.tsx
index 4289e853..ab52702d 100644
--- a/rsconcept/frontend/src/pages/OssPage/OssEditContext.tsx
+++ b/rsconcept/frontend/src/pages/OssPage/OssEditContext.tsx
@@ -4,7 +4,7 @@ import { createContext, useCallback, useContext, useEffect, useState } from 'rea
import { toast } from 'react-toastify';
import { urls } from '@/app/urls';
-import { useAuth } from '@/context/AuthContext';
+import { useAuth } from '@/backend/auth/useAuth';
import { useLibrary } from '@/context/LibraryContext';
import { useConceptNavigation } from '@/context/NavigationContext';
import { useOSS } from '@/context/OssContext';
diff --git a/rsconcept/frontend/src/pages/OssPage/OssTabs.tsx b/rsconcept/frontend/src/pages/OssPage/OssTabs.tsx
index ef1c0e67..b96ae033 100644
--- a/rsconcept/frontend/src/pages/OssPage/OssTabs.tsx
+++ b/rsconcept/frontend/src/pages/OssPage/OssTabs.tsx
@@ -7,12 +7,12 @@ import { TabList, TabPanel, Tabs } from 'react-tabs';
import { toast } from 'react-toastify';
import { urls } from '@/app/urls';
+import { useAuth } from '@/backend/auth/useAuth';
import InfoError, { ErrorData } from '@/components/info/InfoError';
import Loader from '@/components/ui/Loader';
import Overlay from '@/components/ui/Overlay';
import TabLabel from '@/components/ui/TabLabel';
import TextURL from '@/components/ui/TextURL';
-import { useAuth } from '@/context/AuthContext';
import { useLibrary } from '@/context/LibraryContext';
import { useBlockNavigation, useConceptNavigation } from '@/context/NavigationContext';
import { useOSS } from '@/context/OssContext';
@@ -46,7 +46,7 @@ function OssTabs() {
useBlockNavigation(
isModified &&
schema !== undefined &&
- user !== undefined &&
+ !!user &&
(user.is_staff || user.id == schema.owner || schema.editors.includes(user.id))
);
diff --git a/rsconcept/frontend/src/pages/PasswordChangePage.tsx b/rsconcept/frontend/src/pages/PasswordChangePage.tsx
index 070de72b..5c4c2e5a 100644
--- a/rsconcept/frontend/src/pages/PasswordChangePage.tsx
+++ b/rsconcept/frontend/src/pages/PasswordChangePage.tsx
@@ -5,20 +5,20 @@ import clsx from 'clsx';
import { useEffect, useState } from 'react';
import { urls } from '@/app/urls';
+import { IPasswordTokenDTO, IResetPasswordDTO } from '@/backend/auth/api';
+import { useResetPassword } from '@/backend/auth/useResetPassword';
import InfoError, { ErrorData } from '@/components/info/InfoError';
import SubmitButton from '@/components/ui/SubmitButton';
import TextInput from '@/components/ui/TextInput';
import DataLoader from '@/components/wrap/DataLoader';
-import { useAuth } from '@/context/AuthContext';
import { useConceptNavigation } from '@/context/NavigationContext';
import useQueryStrings from '@/hooks/useQueryStrings';
-import { IPasswordTokenData, IResetPasswordData } from '@/models/user';
function PasswordChangePage() {
const router = useConceptNavigation();
const token = useQueryStrings().get('token');
- const { validateToken, resetPassword, loading, error, setError } = useAuth();
+ const { validateToken, resetPassword, isPending, error, reset } = useResetPassword();
const [isTokenValid, setIsTokenValid] = useState(false);
const [newPassword, setNewPassword] = useState('');
@@ -31,8 +31,8 @@ function PasswordChangePage() {
function handleSubmit(event: React.FormEvent
) {
event.preventDefault();
- if (!loading) {
- const data: IResetPasswordData = {
+ if (!isPending) {
+ const data: IResetPasswordDTO = {
password: newPassword,
token: token!
};
@@ -44,21 +44,18 @@ function PasswordChangePage() {
}
useEffect(() => {
- setError(undefined);
- }, [newPassword, newPasswordRepeat, setError]);
+ reset();
+ }, [newPassword, newPasswordRepeat, reset]);
useEffect(() => {
- const data: IPasswordTokenData = {
+ const data: IPasswordTokenDTO = {
token: token ?? ''
};
validateToken(data, () => setIsTokenValid(true));
}, [token, validateToken]);
- if (error) {
- return ;
- }
return (
-
+