ok
This commit is contained in:
@@ -1,78 +0,0 @@
|
||||
// src/components/AccountUpdateModal.js
|
||||
|
||||
import React, { useState } from 'react';
|
||||
import styles from './AccountUpdateModal.module.css';
|
||||
import { updateUser } from '../helpers/userHelpers';
|
||||
|
||||
const AccountUpdateModal = ({ user, showEmail, isOpen, onClose, onSubmit }) => {
|
||||
const [formData, setFormData] = useState({
|
||||
username: user.username.startsWith('guest') ? '' : user.username || '',
|
||||
email: user.email || '',
|
||||
password: user.password === 'unsetunsetunset' ? '' : user.password || '',
|
||||
// Add other fields as needed
|
||||
});
|
||||
|
||||
const handleChange = (e) => {
|
||||
setFormData({ ...formData, [e.target.name]: e.target.value });
|
||||
};
|
||||
|
||||
const handleSubmit = async (e) => {
|
||||
e.preventDefault();
|
||||
try {
|
||||
const response = await updateUser(formData);
|
||||
console.log('User updated successfully:', response);
|
||||
onSubmit(formData);
|
||||
} catch (error) {
|
||||
console.error('Failed to update user:', error);
|
||||
}
|
||||
};
|
||||
|
||||
if (!isOpen) return null;
|
||||
|
||||
return (
|
||||
<div className={styles.modalOverlay}>
|
||||
<div className={styles.modalContent}>
|
||||
<h2>Complete Your Account</h2>
|
||||
<form onSubmit={handleSubmit}>
|
||||
<label className={styles.formLabel}>
|
||||
Username:
|
||||
<input
|
||||
type="text"
|
||||
name="username"
|
||||
value={formData.username}
|
||||
onChange={handleChange}
|
||||
className={styles.formInput}
|
||||
/>
|
||||
</label>
|
||||
{showEmail &&
|
||||
<label className={styles.formLabel}>
|
||||
Email:
|
||||
<input
|
||||
type="email"
|
||||
name="email"
|
||||
value={formData.email}
|
||||
onChange={handleChange}
|
||||
className={styles.formInput}
|
||||
/>
|
||||
</label>
|
||||
}
|
||||
<label className={styles.formLabel}>
|
||||
Password:
|
||||
<input
|
||||
type="password"
|
||||
name="password"
|
||||
value={formData.password}
|
||||
onChange={handleChange}
|
||||
className={styles.formInput}
|
||||
/>
|
||||
</label>
|
||||
{/* Add other fields as needed */}
|
||||
<button type="submit" className={styles.submitButton}>Submit</button>
|
||||
</form>
|
||||
<button onClick={onClose} className={styles.closeButton}>Close</button>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default AccountUpdateModal;
|
||||
78
src/components/AccountUpdatePage.js
Normal file
78
src/components/AccountUpdatePage.js
Normal file
@@ -0,0 +1,78 @@
|
||||
// src/components/AccountUpdatePage.js
|
||||
import React, { useState } from 'react';
|
||||
import styles from './AccountUpdatePage.module.css'; // Adjust CSS if needed
|
||||
import { updateUser } from '../helpers/userHelpers';
|
||||
|
||||
const AccountUpdatePage = ({ user, showEmail, onSubmit }) => {
|
||||
const [formData, setFormData] = useState({
|
||||
username: user.username.startsWith('guest') ? '' : user.username || '',
|
||||
email: user.email || '',
|
||||
password: user.password === 'unsetunsetunset' ? '' : user.password || '',
|
||||
// Add other fields as needed
|
||||
});
|
||||
|
||||
const handleChange = (e) => {
|
||||
setFormData({ ...formData, [e.target.name]: e.target.value });
|
||||
};
|
||||
|
||||
const handleSubmit = async (e) => {
|
||||
e.preventDefault();
|
||||
try {
|
||||
const response = await updateUser(formData);
|
||||
console.log('User updated successfully:', response);
|
||||
onSubmit(formData);
|
||||
} catch (error) {
|
||||
console.error('Failed to update user:', error);
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<div className={styles.container}>
|
||||
<h2>Update Your Account</h2>
|
||||
<form onSubmit={handleSubmit} className={styles.form}>
|
||||
<label className={styles.formLabel}>
|
||||
Username:
|
||||
<input
|
||||
type="text"
|
||||
name="username"
|
||||
value={formData.username}
|
||||
onChange={handleChange}
|
||||
className={styles.formInput}
|
||||
/>
|
||||
</label>
|
||||
|
||||
{showEmail && (
|
||||
<label className={styles.formLabel}>
|
||||
Email:
|
||||
<input
|
||||
type="email"
|
||||
name="email"
|
||||
value={formData.email}
|
||||
onChange={handleChange}
|
||||
className={styles.formInput}
|
||||
/>
|
||||
</label>
|
||||
)}
|
||||
|
||||
<label className={styles.formLabel}>
|
||||
Password:
|
||||
<input
|
||||
type="password"
|
||||
name="password"
|
||||
value={formData.password}
|
||||
onChange={handleChange}
|
||||
className={styles.formInput}
|
||||
/>
|
||||
</label>
|
||||
|
||||
{/* Add other fields as needed */}
|
||||
|
||||
<button type="submit" className={styles.submitButton}>
|
||||
Submit
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default AccountUpdatePage;
|
||||
@@ -1,5 +1,7 @@
|
||||
import React, {useState, useEffect} from "react";
|
||||
import styles from "./Modal.module.css";
|
||||
|
||||
import AccountUpdatePage from "../components/AccountUpdatePage.js";
|
||||
import CreateClerk from "../pages/CreateClerk"
|
||||
import CreateCafe from "../pages/CreateCafe"
|
||||
import CreateTenant from "../pages/CreateTenant"
|
||||
@@ -52,6 +54,8 @@ const Modal = ({ shop, isOpen, onClose, modalContent, setModal, handleMoveToTran
|
||||
return (
|
||||
<div onClick={handleOverlayClick} className={styles.modalOverlay}>
|
||||
<div className={styles.modalContent} onClick={handleContentClick}>
|
||||
|
||||
{modalContent === "edit_account" && <AccountUpdatePage shop={shop} />}
|
||||
{modalContent === "join" && <Join />}
|
||||
{modalContent === "reset-password" && <ResetPassword />}
|
||||
{modalContent === "req_notification" && <NotificationRequest setModal={setModal} />}
|
||||
|
||||
Reference in New Issue
Block a user