removed the need for # in the url, redirect # url to a normal /, there's now a 'page not found' page if the link is broken, profile page added with user being able to see his own blocked content #98
@ -45,6 +45,7 @@ import {
|
||||
import { Comments } from './internal/comment'
|
||||
import { Reactions } from './internal/reactions'
|
||||
import { Zap } from './internal/zap'
|
||||
import { CheckboxField } from 'components/Inputs'
|
||||
import placeholder from '../../assets/img/DEGMods Placeholder Img.png'
|
||||
|
||||
export const ModPage = () => {
|
||||
@ -666,18 +667,25 @@ type ReportPopupProps = {
|
||||
handleClose: () => void
|
||||
}
|
||||
|
||||
const MOD_REPORT_REASONS = [
|
||||
{ label: 'Actually CP', key: 'actuallyCP' },
|
||||
{ label: 'Spam', key: 'spam' },
|
||||
{ label: 'Scam', key: 'scam' },
|
||||
{ label: 'Not a game mod', key: 'notAGameMod' },
|
||||
{ label: 'Stolen game mod', key: 'stolenGameMod' },
|
||||
{ label: `Wasn't tagged NSFW`, key: 'wasntTaggedNSFW' },
|
||||
{ label: 'Other reason', key: 'otherReason' }
|
||||
]
|
||||
|
||||
const ReportPopup = ({ aTag, handleClose }: ReportPopupProps) => {
|
||||
const { ndk, fetchEventFromUserRelays, publish } = useNDKContext()
|
||||
const userState = useAppSelector((state) => state.user)
|
||||
const [selectedOptions, setSelectedOptions] = useState({
|
||||
actuallyCP: false,
|
||||
spam: false,
|
||||
scam: false,
|
||||
notAGameMod: false,
|
||||
stolenGameMod: false,
|
||||
wasntTaggedNSFW: false,
|
||||
otherReason: false
|
||||
})
|
||||
const [selectedOptions, setSelectedOptions] = useState(
|
||||
MOD_REPORT_REASONS.reduce((acc: { [key: string]: boolean }, cur) => {
|
||||
acc[cur.key] = false
|
||||
return acc
|
||||
}, {})
|
||||
)
|
||||
const [isLoading, setIsLoading] = useState(false)
|
||||
const [loadingSpinnerDesc, setLoadingSpinnerDesc] = useState('')
|
||||
|
||||
@ -823,86 +831,15 @@ const ReportPopup = ({ aTag, handleClose }: ReportPopupProps) => {
|
||||
>
|
||||
Why are you reporting this?
|
||||
</label>
|
||||
<div className='inputLabelWrapperMain inputLabelWrapperMainAlt'>
|
||||
<label className='form-label labelMain'>
|
||||
Actually CP
|
||||
</label>
|
||||
<input
|
||||
type='checkbox'
|
||||
className='CheckboxMain'
|
||||
name='reportOption'
|
||||
checked={selectedOptions.actuallyCP}
|
||||
onChange={() => handleCheckboxChange('actuallyCP')}
|
||||
{MOD_REPORT_REASONS.map((r) => (
|
||||
<CheckboxField
|
||||
key={r.key}
|
||||
label={r.label}
|
||||
name={r.key}
|
||||
isChecked={selectedOptions[r.key]}
|
||||
handleChange={() => handleCheckboxChange(r.key)}
|
||||
/>
|
||||
</div>
|
||||
<div className='inputLabelWrapperMain inputLabelWrapperMainAlt'>
|
||||
<label className='form-label labelMain'>Spam</label>
|
||||
<input
|
||||
type='checkbox'
|
||||
className='CheckboxMain'
|
||||
name='reportOption'
|
||||
checked={selectedOptions.spam}
|
||||
onChange={() => handleCheckboxChange('spam')}
|
||||
/>
|
||||
</div>
|
||||
<div className='inputLabelWrapperMain inputLabelWrapperMainAlt'>
|
||||
<label className='form-label labelMain'>Scam</label>
|
||||
<input
|
||||
type='checkbox'
|
||||
className='CheckboxMain'
|
||||
name='reportOption'
|
||||
checked={selectedOptions.scam}
|
||||
onChange={() => handleCheckboxChange('scam')}
|
||||
/>
|
||||
</div>
|
||||
<div className='inputLabelWrapperMain inputLabelWrapperMainAlt'>
|
||||
<label className='form-label labelMain'>
|
||||
Not a game mod
|
||||
</label>
|
||||
<input
|
||||
type='checkbox'
|
||||
className='CheckboxMain'
|
||||
name='reportOption'
|
||||
checked={selectedOptions.notAGameMod}
|
||||
onChange={() => handleCheckboxChange('notAGameMod')}
|
||||
/>
|
||||
</div>
|
||||
<div className='inputLabelWrapperMain inputLabelWrapperMainAlt'>
|
||||
<label className='form-label labelMain'>
|
||||
Stolen game mod
|
||||
</label>
|
||||
<input
|
||||
type='checkbox'
|
||||
className='CheckboxMain'
|
||||
name='reportOption'
|
||||
checked={selectedOptions.stolenGameMod}
|
||||
onChange={() => handleCheckboxChange('stolenGameMod')}
|
||||
/>
|
||||
</div>
|
||||
<div className='inputLabelWrapperMain inputLabelWrapperMainAlt'>
|
||||
<label className='form-label labelMain'>
|
||||
Wasn't tagged NSFW
|
||||
</label>
|
||||
<input
|
||||
type='checkbox'
|
||||
className='CheckboxMain'
|
||||
name='reportOption'
|
||||
checked={selectedOptions.wasntTaggedNSFW}
|
||||
onChange={() => handleCheckboxChange('wasntTaggedNSFW')}
|
||||
/>
|
||||
</div>
|
||||
<div className='inputLabelWrapperMain inputLabelWrapperMainAlt'>
|
||||
<label className='form-label labelMain'>
|
||||
Other reason
|
||||
</label>
|
||||
<input
|
||||
type='checkbox'
|
||||
className='CheckboxMain'
|
||||
name='reportOption'
|
||||
checked={selectedOptions.otherReason}
|
||||
onChange={() => handleCheckboxChange('otherReason')}
|
||||
/>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
<button
|
||||
className='btn btnMain pUMCB_Report'
|
||||
|
Loading…
Reference in New Issue
Block a user