Skip to content

Commit ebd2704

Browse files
committed
feat: add none to enforcement entries
1 parent 8a96148 commit ebd2704

File tree

4 files changed

+48
-24
lines changed

4 files changed

+48
-24
lines changed

pages/addbot.tsx

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -367,20 +367,30 @@ const AddBot: NextPage<AddBotProps> = ({ logged, user, csrfToken, theme }) => {
367367
}
368368
>
369369
<Selects
370-
options={Object.entries(botEnforcements).map(([k, v]) => ({
371-
label: v.label,
372-
value: k,
373-
}))}
374-
handleChange={(value) => {
375-
setFieldValue(
376-
'enforcements',
377-
value.map((v) => v.value)
378-
)
370+
options={Object.entries(botEnforcements)
371+
.filter(([k, v]) => k === 'NONE' || !values.enforcements.includes('NONE'))
372+
.map(([k, v]) => ({
373+
label: v.label,
374+
value: k,
375+
}))}
376+
handleChange={(values) => {
377+
if (values.some((i) => i.value === 'NONE')) {
378+
setFieldValue('enforcements', ['NONE'])
379+
} else {
380+
setFieldValue(
381+
'enforcements',
382+
values.map((v) => v.value)
383+
)
384+
}
379385
}}
380386
handleTouch={() => setFieldTouched('enforcements', true)}
381387
values={values.enforcements ?? ([] as string[])}
382-
setValues={(value) => {
383-
setFieldValue('enforcements', value)
388+
setValues={(values) => {
389+
if (values.includes('NONE')) {
390+
setFieldValue('enforcements', ['NONE'])
391+
} else {
392+
setFieldValue('enforcements', values)
393+
}
384394
}}
385395
/>
386396
</Label>

pages/bots/[id]/edit.tsx

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -339,20 +339,30 @@ const ManageBotPage: NextPage<ManageBotProps> = ({ bot, user, csrfToken, theme }
339339
}
340340
>
341341
<Selects
342-
options={Object.entries(botEnforcements).map(([k, v]) => ({
343-
label: v.label,
344-
value: k,
345-
}))}
346-
handleChange={(value) => {
347-
setFieldValue(
348-
'enforcements',
349-
value.map((v) => v.value)
350-
)
342+
options={Object.entries(botEnforcements)
343+
.filter(([k, v]) => k === 'NONE' || !values.enforcements.includes('NONE'))
344+
.map(([k, v]) => ({
345+
label: v.label,
346+
value: k,
347+
}))}
348+
handleChange={(values) => {
349+
if (values.some((i) => i.value === 'NONE')) {
350+
setFieldValue('enforcements', ['NONE'])
351+
} else {
352+
setFieldValue(
353+
'enforcements',
354+
values.map((v) => v.value)
355+
)
356+
}
351357
}}
352358
handleTouch={() => setFieldTouched('enforcements', true)}
353359
values={values.enforcements ?? ([] as string[])}
354-
setValues={(value) => {
355-
setFieldValue('enforcements', value)
360+
setValues={(values) => {
361+
if (values.includes('NONE')) {
362+
setFieldValue('enforcements', ['NONE'])
363+
} else {
364+
setFieldValue('enforcements', values)
365+
}
356366
}}
357367
/>
358368
</Label>

utils/Constants.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,10 @@ export const botCategoryDescription = {
121121
}
122122

123123
export const botEnforcements = {
124+
NONE: {
125+
label: '해당사항이 없습니다.',
126+
description: '',
127+
},
124128
JOIN_PARTIALLY_ENFORCED: {
125129
label: '서버 참여가 필요한 기능이 있습니다',
126130
description: '봇의 일부 명령어는 봇의 디스코드 서버에 참여해야 사용할 수 있습니다.',

utils/Query.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -641,7 +641,7 @@ async function submitBot(
641641
git: data.git,
642642
url: data.url,
643643
category: JSON.stringify(data.category),
644-
enforcements: JSON.stringify(data.enforcements),
644+
enforcements: JSON.stringify(data.enforcements.filter((el) => el !== 'NONE')),
645645
discord: data.discord,
646646
state: 0,
647647
})
@@ -751,7 +751,7 @@ async function updateBot(id: string, data: ManageBot): Promise<number> {
751751
intro: data.intro,
752752
desc: data.desc,
753753
vanity: data.vanity,
754-
enforcements: JSON.stringify(data.enforcements),
754+
enforcements: JSON.stringify(data.enforcements.filter((el) => el !== 'NONE')),
755755
banner: data.banner,
756756
bg: data.bg,
757757
})

0 commit comments

Comments
 (0)