local Layout = SUI:NewModule('Config.Layout.FAQ')

function Layout:OnEnable()
    -- Database
    local db = SUI.db

    -- Layout
    Layout.layout = {
        layoutConfig = { padding = { top = 15 } },
        rows = {
            {
                header = {
                    type = 'header',
                    label = 'Credits'
                }
            },
            {
                team = {
                    type = 'scroll',
                    label = 'Team',
                    scrollChild = function(self)
                        local items = {};
                        local function update(parent, label, data)
                            label.data = data;
                            label:SetText(data.text);
                            SUIConfig:SetObjSize(label, 60, 20);
                            label:SetPoint('RIGHT');
                            label:SetPoint('LEFT');
                            return label;
                        end

                        SUIConfig:ObjectList(self.scrollChild, items, 'Label', update, User.team);
                    end,
                    height = 220,
                    column = 4,
                    order = 1
                },
                special = {
                    type = 'scroll',
                    label = 'Specials',
                    scrollChild = function(self)
                        local items = {};
                        local function update(parent, label, data)
                            label.data = data;
                            label:SetText(data.text);
                            SUIConfig:SetObjSize(label, 60, 20);
                            label:SetPoint('RIGHT');
                            label:SetPoint('LEFT');
                            return label;
                        end

                        SUIConfig:ObjectList(self.scrollChild, items, 'Label', update, User.specials);
                    end,
                    height = 220,
                    column = 4,
                    order = 2
                },
                supporter = {
                    type = 'scroll',
                    label = 'Supporter',
                    scrollChild = function(self)
                        local items = {};
                        local function update(parent, label, data)
                            label.data = data;
                            label:SetText(data.text);
                            SUIConfig:SetObjSize(label, 60, 20);
                            label:SetPoint('RIGHT');
                            label:SetPoint('LEFT');
                            return label;
                        end

                        SUIConfig:ObjectList(self.scrollChild, items, 'Label', update, User.supporter);
                    end,
                    height = 220,
                    column = 4,
                    order = 3
                },
            },
            {
                header = {
                    type = 'header',
                    label = 'Help'
                }
            },
            {
                discord = {
                    type = 'button',
                    text = 'Discord',
                    onClick = function()
                        SUIConfig:Dialog('Discord', 'discord.gg/yBWkxxR')
                    end,
                    column = 3,
                    order = 1
                },
                twitch = {
                    type = 'button',
                    text = 'Twitch',
                    onClick = function()
                        SUIConfig:Dialog('Twitch', 'twitch.tv/syiana')
                    end,
                    column = 3,
                    order = 2
                },
                reset = {
                    type = 'button',
                    text = 'Reset UI',
                    onClick = function()
                        local buttons = {
                            ok = {
                                text    = 'Confirm',
                                onClick = function() db:ResetProfile() ReloadUI() end
                            },
                            cancel = {
                                text    = 'Cancel',
                                onClick = function(self) self:GetParent():Hide() end
                            }
                        }
                        SUIConfig:Confirm('Reset UI', 'This will reset your profile', buttons)
                    end,
                    column = 3,
                    order = 3
                }
            }
        },
    }
end
