diff --git a/app/http/endpoints/api/panel/panelcreate.go b/app/http/endpoints/api/panel/panelcreate.go index da3ed51..be91c87 100644 --- a/app/http/endpoints/api/panel/panelcreate.go +++ b/app/http/endpoints/api/panel/panelcreate.go @@ -38,7 +38,7 @@ type panelBody struct { ImageUrl *string `json:"image_url,omitempty"` ThumbnailUrl *string `json:"thumbnail_url,omitempty"` ButtonStyle component.ButtonStyle `json:"button_style,string"` - FormId int `json:"form_id"` + FormId *int `json:"form_id"` } func (p *panelBody) IntoPanelMessageData(customId string, isPremium bool) panelMessageData { @@ -139,11 +139,6 @@ func CreatePanel(ctx *gin.Context) { return } - var formId *int - if data.FormId != 0 { // Already validated - formId = &data.FormId - } - // Store in DB panel := database.Panel{ MessageId: msgId, @@ -160,7 +155,7 @@ func CreatePanel(ctx *gin.Context) { ImageUrl: data.ImageUrl, ThumbnailUrl: data.ThumbnailUrl, ButtonStyle: int(data.ButtonStyle), - FormId: formId, + FormId: data.FormId, } panelId, err := dbclient.Client.Panel.Create(panel) @@ -405,10 +400,10 @@ func (p *panelBody) verifyButtonStyle() bool { } func (p *panelBody) verifyFormId(guildId uint64) (bool, error) { - if p.FormId == 0 { // TODO: Use nil + if p.FormId == nil { return true, nil } else { - form, ok, err := dbclient.Client.Forms.Get(p.FormId) + form, ok, err := dbclient.Client.Forms.Get(*p.FormId) if err != nil { return false, err } diff --git a/app/http/endpoints/api/panel/panelupdate.go b/app/http/endpoints/api/panel/panelupdate.go index 55e1d3c..0df5f27 100644 --- a/app/http/endpoints/api/panel/panelupdate.go +++ b/app/http/endpoints/api/panel/panelupdate.go @@ -142,12 +142,6 @@ func UpdatePanel(ctx *gin.Context) { } } - // Already validated - var formId *int - if data.FormId != 0 { - formId = &data.FormId - } - // Store in DB panel := database.Panel{ PanelId: panelId, @@ -165,7 +159,7 @@ func UpdatePanel(ctx *gin.Context) { ImageUrl: data.ImageUrl, ThumbnailUrl: data.ThumbnailUrl, ButtonStyle: int(data.ButtonStyle), - FormId: formId, + FormId: data.FormId, } if err = dbclient.Client.Panel.Update(panel); err != nil { diff --git a/frontend/src/components/PanelDropdown.svelte b/frontend/src/components/PanelDropdown.svelte index 0b88b40..898ffdc 100644 --- a/frontend/src/components/PanelDropdown.svelte +++ b/frontend/src/components/PanelDropdown.svelte @@ -10,7 +10,7 @@ import {onMount} from "svelte"; export let label; - export let panels = []; + export let panels; export let selected; export let isMulti = true; @@ -46,7 +46,7 @@ function applyOverrides() { if (isMulti) { - selected = []; + //selected = []; selectedRaw = panels.filter((p) => selected.includes(p.panel_id)); } else { if (selectedRaw) { diff --git a/frontend/src/components/manage/MultiPanelCreationForm.svelte b/frontend/src/components/manage/MultiPanelCreationForm.svelte index 5f559a7..ef4c2cf 100644 --- a/frontend/src/components/manage/MultiPanelCreationForm.svelte +++ b/frontend/src/components/manage/MultiPanelCreationForm.svelte @@ -16,7 +16,7 @@
- +
@@ -55,7 +55,8 @@ import Checkbox from "../form/Checkbox.svelte"; import Button from "../Button.svelte"; - export let data = {}; + export let data; + $: data, console.log(data); export let guildId; export let channels = []; @@ -63,13 +64,14 @@ export let seedDefault = true; if (seedDefault) { - data = { - colour: 0x7289da, - channels: channels[0].id, - panels: [], - } + data = { + colour: 0x7289da, + channels: channels[0].id, + panels: [], + } } + let mounted = false; let advancedSettings = false; let overflowShow = false; @@ -95,9 +97,9 @@ } onMount(() => { - if (!seedDefault) { - applyOverrides(); - } + if (!seedDefault) { + applyOverrides(); + } }) diff --git a/frontend/src/components/manage/MultiPanelEditModal.svelte b/frontend/src/components/manage/MultiPanelEditModal.svelte index 84ca8d8..2dc04db 100644 --- a/frontend/src/components/manage/MultiPanelEditModal.svelte +++ b/frontend/src/components/manage/MultiPanelEditModal.svelte @@ -4,7 +4,7 @@ Edit Multi-Panel
- +
@@ -20,6 +20,8 @@ + +