local function CreateCheckbox(parent, frame, text, optionKey) local checkbox = CreateFrame("CheckButton", nil, frame, "InterfaceOptionsCheckButtonTemplate") checkbox.Text:SetText(text) checkbox:SetScript("OnClick", function(self) CzechQuestsAddon.options[optionKey] = self:GetChecked() end) checkbox:SetPoint("TOPLEFT", parent, "BOTTOMLEFT", 0, -8) checkbox:SetChecked(CzechQuestsAddon.options[optionKey]) return checkbox end function CzechQuestsAddon:InitializeOptions() CzechQuestsAddon.optionsFrame = {}; if (WOW_PROJECT_ID == WOW_PROJECT_CLASSIC) then local frame -- Create Frame CzechQuestsAddon.optionsFrame = CreateFrame("Frame", "CzechQuestsOptionsPanel", UIParent) CzechQuestsAddon.optionsFrame.name = "CzechQuests" -- Create frame title local title = CzechQuestsAddon.optionsFrame:CreateFontString(nil, "ARTWORK", "GameFontNormalLarge") title:SetPoint("TOPLEFT", 16, -16) title:SetText("CzechQuests") -- Add DEBUG checkbox local debugModeCheckbox = CreateCheckbox(title, CzechQuestsAddon.optionsFrame, "Enable DEBUG mode", "DEBUG_MODE") debugModeCheckbox:SetPoint("TOPLEFT", title, "BOTTOMLEFT", 16, -16) -- Add Dark Mode checkbox local darkModeCheckbox = CreateCheckbox(debugModeCheckbox, CzechQuestsAddon.optionsFrame, "Dark mode (require reload)", "DARK_MODE") darkModeCheckbox:SetPoint("TOPLEFT", debugModeCheckbox, "BOTTOMLEFT", 0, -4) -- Store it into Addon options InterfaceOptions_AddCategory(CzechQuestsAddon.optionsFrame) else CzechQuestsAddon.optionsFrame = Settings.RegisterVerticalLayoutCategory("CzechQuests") -- Add DEBUG checkbox local debugCheckbox = Settings.RegisterAddOnSetting( CzechQuestsAddon.optionsFrame, "CzechQuestsAddon__DEBUG_MODE", "DEBUG_MODE", CzechQuestsAddon.options, type(CzechQuestsAddon.options.DEBUG_MODE), "Enable DEBUG mode", CzechQuestsAddon.options.DEBUG_MODE ) Settings.CreateCheckbox(CzechQuestsAddon.optionsFrame, debugCheckbox) -- Add DARK mode checkbox local darkModeCheckbox = Settings.RegisterAddOnSetting( CzechQuestsAddon.optionsFrame, "CzechQuestsAddon__DARK_MODE", "DARK_MODE", CzechQuestsAddon.options, type(CzechQuestsAddon.options.DARK_MODE), "Use dark mode", CzechQuestsAddon.options.DARK_MODE ) Settings.CreateCheckbox(CzechQuestsAddon.optionsFrame, darkModeCheckbox) -- Store it into Addon options Settings.RegisterAddOnCategory(CzechQuestsAddon.optionsFrame) end end -- initialize options frame CzechQuestsAddon:InitializeOptions()