add attendance
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import React from 'react';
|
||||
import useFetchUser from '../utils/fetchUser';
|
||||
|
||||
const ApologyMessage: React.FC = () => {
|
||||
const { updateAttendance } = useFetchUser()
|
||||
const handleButtonClick = async () => {
|
||||
await updateAttendance(true)
|
||||
window.location.reload();
|
||||
};
|
||||
|
||||
return (
|
||||
<div style={styles.container}>
|
||||
<p>
|
||||
Нам очень жаль, что ты в этот раз не будешь с нами... Но может ты еще поменяешь свое мнение
|
||||
</p>
|
||||
<button onClick={handleButtonClick}>
|
||||
Изменить мнение
|
||||
</button>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
const styles = {
|
||||
container: {
|
||||
position: 'fixed' as 'fixed',
|
||||
top: 0,
|
||||
left: 0,
|
||||
width: '100vw',
|
||||
height: '100vh',
|
||||
backgroundColor: 'rgba(0, 0, 0, 1)',
|
||||
display: 'flex',
|
||||
flexDirection: 'column' as 'column',
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
color: '#fff',
|
||||
zIndex: 1000,
|
||||
overflow: 'hidden',
|
||||
}
|
||||
}
|
||||
|
||||
// Export the component
|
||||
export default ApologyMessage;
|
||||
|
||||
@@ -3,6 +3,7 @@ import { useCookies } from 'react-cookie';
|
||||
import { GUESTS } from '../constants/constants';
|
||||
import useFetchUser from '../utils/fetchUser'; // Import your custom hook
|
||||
import { useNotification } from '../NotificationContext';
|
||||
import ApologyMessage from './Attendance';
|
||||
|
||||
const InitialSetup = () => {
|
||||
const [cookie, setCookie] = useCookies();
|
||||
@@ -11,8 +12,9 @@ const InitialSetup = () => {
|
||||
const [isSubmitted, setIsSubmitted] = useState(false);
|
||||
const [password, setPassword] = useState('');
|
||||
const [isPasswordSet, setIsPasswordSet] = useState(false); // To track if password is set
|
||||
const [userAttendance, setUserAttendance] = useState<boolean | null>(null);
|
||||
|
||||
const { userSet, passwordCreate, signUser, validToken } = useFetchUser(); // Destructure functions from the hook
|
||||
const { userSet, passwordCreate, signUser, validToken, getAttendance } = useFetchUser(); // Destructure functions from the hook
|
||||
const notify = useNotification();
|
||||
|
||||
const checkUserPassword = async (name: string) => {
|
||||
@@ -32,8 +34,16 @@ const InitialSetup = () => {
|
||||
setIsSubmitted(isTokenValid);
|
||||
};
|
||||
|
||||
const getUserAttendance = async () => {
|
||||
const attendance = await getAttendance()
|
||||
setUserAttendance(attendance)
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
if (cookie.apiToken !== undefined) validateToken();
|
||||
if (cookie.apiToken !== undefined) {
|
||||
getUserAttendance()
|
||||
validateToken();
|
||||
}
|
||||
}, [cookie.apiToken]);
|
||||
|
||||
|
||||
@@ -54,13 +64,18 @@ const InitialSetup = () => {
|
||||
}
|
||||
validateToken()
|
||||
};
|
||||
|
||||
|
||||
if (isSubmitted) {
|
||||
if (isSubmitted && userAttendance !== false) {
|
||||
console.log('Selected', selectedName);
|
||||
return null; // or you can redirect to another component or page
|
||||
}
|
||||
|
||||
if (userAttendance == false) {
|
||||
return (
|
||||
<ApologyMessage/>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<div style={styles.container}>
|
||||
<h2 style={styles.title}>Выбери себя</h2>
|
||||
|
||||
Reference in New Issue
Block a user