-
Notifications
You must be signed in to change notification settings - Fork 175
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* fixed ban new button issue * moved ban new button and ban modal to parent Comp * formatting * removed trailing whitespace
- Loading branch information
1 parent
92aa14e
commit 7ab4272
Showing
2 changed files
with
95 additions
and
81 deletions.
There are no files selected for viewing
106 changes: 47 additions & 59 deletions
106
app/webpacker/components/Panel/pages/BannedCompetitorsPage/BannedCompetitors.jsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,74 +1,62 @@ | ||
import React, { useState } from 'react'; | ||
import { | ||
Button, Icon, Modal, Table, | ||
} from 'semantic-ui-react'; | ||
import React from 'react'; | ||
import { Icon, Table, Segment } from 'semantic-ui-react'; | ||
import UserBadge from '../../../UserBadge'; | ||
import BanendCompetitorForm from './BannedCompetitorForm'; | ||
|
||
export default function BannedCompetitors({ | ||
bannedCompetitorRoles, | ||
sync, | ||
canEditBannedCompetitors, | ||
editBannedCompetitor, | ||
}) { | ||
const [banModalParams, setBanModalParams] = useState(null); | ||
|
||
return ( | ||
<> | ||
<Table> | ||
<Table.Header> | ||
<Table.Row> | ||
<Table.HeaderCell width={5}>User</Table.HeaderCell> | ||
<Table.HeaderCell width={2}>Start date</Table.HeaderCell> | ||
<Table.HeaderCell width={2}>End date</Table.HeaderCell> | ||
<Table.HeaderCell width={4}>Reason</Table.HeaderCell> | ||
<Table.HeaderCell width={3}>Scope</Table.HeaderCell> | ||
{canEditBannedCompetitors && <Table.HeaderCell width={2}>Edit</Table.HeaderCell>} | ||
</Table.Row> | ||
</Table.Header> | ||
|
||
<Table.Body> | ||
{bannedCompetitorRoles.map((role) => ( | ||
<Table.Row key={role.id}> | ||
<Table.Cell> | ||
<UserBadge | ||
user={role.user} | ||
hideBorder | ||
leftAlign | ||
subtexts={role.user.wca_id ? [role.user.wca_id] : []} | ||
/> | ||
</Table.Cell> | ||
<Table.Cell>{role.start_date}</Table.Cell> | ||
<Table.Cell>{role.end_date}</Table.Cell> | ||
<Table.Cell>{role.metadata.ban_reason}</Table.Cell> | ||
<Table.Cell>{role.metadata.scope}</Table.Cell> | ||
{bannedCompetitorRoles.length > 0 ? ( | ||
<Table> | ||
<Table.Header> | ||
<Table.Row> | ||
<Table.HeaderCell width={5}>User</Table.HeaderCell> | ||
<Table.HeaderCell width={2}>Start date</Table.HeaderCell> | ||
<Table.HeaderCell width={2}>End date</Table.HeaderCell> | ||
<Table.HeaderCell width={4}>Reason</Table.HeaderCell> | ||
<Table.HeaderCell width={3}>Scope</Table.HeaderCell> | ||
{canEditBannedCompetitors && ( | ||
<Table.HeaderCell width={2}>Edit</Table.HeaderCell> | ||
)} | ||
</Table.Row> | ||
</Table.Header> | ||
|
||
<Table.Body> | ||
{bannedCompetitorRoles.map((role) => ( | ||
<Table.Row key={role.id}> | ||
<Table.Cell> | ||
<Icon | ||
name="edit" | ||
link | ||
onClick={() => setBanModalParams({ action: 'edit', role })} | ||
<UserBadge | ||
user={role.user} | ||
hideBorder | ||
leftAlign | ||
subtexts={role.user.wca_id ? [role.user.wca_id] : []} | ||
/> | ||
</Table.Cell> | ||
)} | ||
</Table.Row> | ||
))} | ||
</Table.Body> | ||
</Table> | ||
{canEditBannedCompetitors && <Button onClick={() => setBanModalParams({ action: 'new' })}>Ban new competitor</Button>} | ||
<Modal | ||
open={!!banModalParams} | ||
onClose={() => setBanModalParams(null)} | ||
> | ||
<Modal.Header>Add/Edit Banned Competitor</Modal.Header> | ||
<Modal.Content> | ||
<BanendCompetitorForm | ||
sync={sync} | ||
banAction={banModalParams?.action} | ||
banActionRole={banModalParams?.role} | ||
closeForm={() => setBanModalParams(null)} | ||
/> | ||
</Modal.Content> | ||
</Modal> | ||
<Table.Cell>{role.start_date}</Table.Cell> | ||
<Table.Cell>{role.end_date}</Table.Cell> | ||
<Table.Cell>{role.metadata.ban_reason}</Table.Cell> | ||
<Table.Cell>{role.metadata.scope}</Table.Cell> | ||
{canEditBannedCompetitors && ( | ||
<Table.Cell> | ||
<Icon | ||
name="edit" | ||
link | ||
onClick={() => editBannedCompetitor({ action: "edit", role })} | ||
/> | ||
</Table.Cell> | ||
)} | ||
</Table.Row> | ||
))} | ||
</Table.Body> | ||
</Table> | ||
) : ( | ||
<Segment placeholder textAlign="center"> | ||
<p>No Data to Show.</p> | ||
</Segment> | ||
)} | ||
</> | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters