Ignore:
Timestamp:
01/21/25 03:08:24 (3 days ago)
Author:
stefan toskovski <stefantoska84@…>
Branches:
main
Parents:
0c6b92a
Message:

F4 Finalna Verzija

Location:
imaps-frontend/src/components/PublishForm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • imaps-frontend/src/components/PublishForm/PublishForm.jsx

    r0c6b92a r79a0317  
    1515    );
    1616    const [errors, setErrors] = useState({});
     17    const [denyReason, setDenyReason] = useState('');
     18    const [isDenying, setIsDenying] = useState(false);
    1719
    1820    const mapTypeOptions = ['Hospital', 'Faculty', 'House', 'Other'];
     
    4244            onSubmit(form);
    4345        }
     46    };
     47
     48    const handleDeny = () => {
     49        if (!denyReason.trim()) {
     50            alert('Please provide a reason for denial.');
     51            return;
     52        }
     53        onDeny(form.id, form.mapName, denyReason);
     54        setIsDenying(false);
    4455    };
    4556
     
    130141                                <button
    131142                                    className={styles.cancelButton}
    132                                     onClick={onCancel}
     143                                    onClick={() => {
     144                                        setIsDenying(false);
     145                                        onCancel();
     146                                    }}
    133147                                >
    134148                                    Cancel
     
    136150                                <button
    137151                                    className={styles.approveButton}
    138                                     onClick={() => onApprove(form.id,form.mapName)}
     152                                    onClick={() => onApprove(form.id, form.mapName)}
    139153                                >
    140154                                    Approve
     
    142156                                <button
    143157                                    className={styles.denyButton}
    144                                     onClick={() => onDeny(form.id,form.mapName,"Reason")}
     158                                    onClick={() => setIsDenying(true)}
    145159                                >
    146160                                    Deny
    147161                                </button>
    148162                            </div>
     163                            {isDenying && (
     164                                <div className={styles.denyReason}>
     165                                    <textarea className={styles.denyReasonTextArea}
     166                                        placeholder="Enter reason for denial..."
     167                                        value={denyReason}
     168                                        onChange={(e) => setDenyReason(e.target.value)}
     169                                    />
     170                                    <div className={styles.buttonGroup}>
     171                                        <button
     172                                            className={styles.denySubmitButton}
     173                                            onClick={handleDeny}
     174                                        >
     175                                            Submit
     176                                        </button>
     177                                    </div>
     178                                </div>
     179                            )}
    149180                        </div>
    150181                    )}
  • imaps-frontend/src/components/PublishForm/PublishForm.module.css

    r0c6b92a r79a0317  
    1010    z-index: 999; /* Behind the modal */
    1111}
     12
     13.denyReason {
     14    display: flex;
     15    flex-direction: column;
     16    margin-top: 10px;
     17    border-radius: 20px;
     18}
     19.denyReasonTextArea{
     20    padding-bottom: 4rem;
     21}
     22
     23.denySubmitButton {
     24    color: white;
     25    margin-right: 10px;
     26}
     27
    1228
    1329/* Modal styles */
Note: See TracChangeset for help on using the changeset viewer.