cleanup/refactoring

This commit is contained in:
Dobromir Popov
2024-04-30 16:14:26 +03:00
parent e291f25773
commit 4ef2e60c30

View File

@ -30,7 +30,8 @@ function PublishersPage({ publishers = [] }: IProps) {
const [showZeroShiftsOnly, setShowZeroShiftsOnly] = useState(false); const [showZeroShiftsOnly, setShowZeroShiftsOnly] = useState(false);
const [isDeleting, setIsDeleting] = useState(false); const [isDeleting, setIsDeleting] = useState(false);
const [isModalOpen, setIsModalOpen] = useState(false); const [isModalOpenDeleteVisible, setIsModalOpenDeleteVisible] = useState(false);
const [isModalOpenDeleteAll, setIsModalOpenDeleteAll] = useState(false);
const handleDeleteAllVisible = async () => { const handleDeleteAllVisible = async () => {
setIsDeleting(true); setIsDeleting(true);
@ -169,35 +170,37 @@ function PublishersPage({ publishers = [] }: IProps) {
<a href="/cart/publishers/new" className="btn">Добави вестител</a> <a href="/cart/publishers/new" className="btn">Добави вестител</a>
</div> </div>
<button className="button m-2 btn btn-danger" onClick={() => setIsModalOpen(true)} disabled={isDeleting} > <button className="button m-2 btn btn-danger" onClick={() => setIsModalOpenDeleteVisible(true)} disabled={isDeleting}>
{isDeleting ? "Изтриване..." : "Изтрий показаните вестители"} {isDeleting ? "Изтриване..." : "Изтрий показаните вестители"}
</button> </button>
<ConfirmationModal <ConfirmationModal
isOpen={isModalOpen} isOpen={isModalOpenDeleteVisible}
onClose={() => setIsModalOpen(false)} onClose={() => setIsModalOpenDeleteVisible(false)}
onConfirm={handleDeleteAllVisible} onConfirm={handleDeleteAllVisible}
message="Сигурни ли сте, че искате да изтриете всички показани в момента вестители?" message="Сигурни ли сте, че искате да изтриете всички показани в момента вестители?"
/> />
<button className="button m-2 btn btn-danger" onClick={() => setIsModalOpen(true)} disabled={isDeleting} >
<button className="button m-2 btn btn-danger" onClick={() => setIsModalOpenDeleteAll(true)} disabled={isDeleting}>
{isDeleting ? "Изтриване..." : "Изтрий ВСИЧКИ предпочитания"} {isDeleting ? "Изтриване..." : "Изтрий ВСИЧКИ предпочитания"}
</button> </button>
<ConfirmationModal <ConfirmationModal
isOpen={isModalOpen} isOpen={isModalOpenDeleteAll}
onClose={() => setIsModalOpen(false)} onClose={() => setIsModalOpenDeleteAll(false)}
onConfirm={handleDeleteAllAvailabilities} onConfirm={handleDeleteAllAvailabilities}
message="Сигурни ли сте, че искате да изтриете предпочитанията на ВСИЧКИ вестители?" message="Сигурни ли сте, че искате да изтриете предпочитанията на ВСИЧКИ вестители?"
/> />
<div className="flex justify-center m-4"> <div className="flex justify-center m-4">
<a href="/cart/publishers/import" className="btn">Import publishers</a> <a href="/cart/publishers/import" className="btn">Import publishers</a>
</div> </div>
</div> </div>
<div name="filters" className="flex items-center justify-center space-x-4 m-4 sticky top-4 z-10 bg-gray-100 p-2"> <div name="filters" className="flex items-center justify-center space-x-4 m-4 sticky top-4 z-10 bg-gray-100 p-2">
<label htmlFor="filter">Filter:</label> <label htmlFor="filter">Filter:</label>
<input type="text" id="filter" name="filter" value={filter} onChange={handleFilterChange} <input type="text" id="filter" name="filter" value={filter} onChange={handleFilterChange}
className="border border-gray-300 rounded-md px-2 py-1" className="border border-gray-300 rounded-md px-2 py-1"
/> />
<label htmlFor="zeroShiftsOnly" className="ml-4 inline-flex items-center"> <label htmlFor="zeroShiftsOnly" className="ml-4 inline-flex items-center">
<input type="checkbox" id="zeroShiftsOnly" checked={showZeroShiftsOnly} <input type="checkbox" id="zeroShiftsOnly" checked={showZeroShiftsOnly}
onChange={e => setShowZeroShiftsOnly(e.target.checked)} onChange={e => setShowZeroShiftsOnly(e.target.checked)}
@ -207,8 +210,8 @@ function PublishersPage({ publishers = [] }: IProps) {
</label> </label>
<span id="filter-info" className="ml-4">{publishers.length} от {publishers.length} вестителя</span> <span id="filter-info" className="ml-4">{publishers.length} от {publishers.length} вестителя</span>
</div> </div>
<div className="grid gap-4 grid-cols-1 md:grid-cols-4 z-0"> <div className="grid gap-4 grid-cols-1 md:grid-cols-4 z-0">
{renderPublishers()} {renderPublishers()}
</div> </div>