local r=script.Parent.Parent.components local N=require(r.window.button)local j=require(script.Parent.Parent.storage.constants)local E=require(r.window.divider)local L=require(r.window.section)local q=require(r.window.switch)local v=require(r.window.window)local J=script.Parent.Parent.packages local V=require(J.states)local y=#script.Parent:GetChildren()return{name="\115\101\116\116\105\110\103\115",description="\086\105\101\119 \097\108\108 \116\104\101 \115\099\114\105\112\116\115 \115\101\116\116\105\110\103\115",arguments={},callback=function()v({title="\083\101\116\116\105\110\103\115",size=UDim2.fromOffset(345,394)},{L({text="\065\098\111\117\116",subtext="\086\105\101\119 \103\101\110\101\114\097\108 \105\110\102\111 \097\098\111\117\116 \116\104\101 \115\099\114\105\112\116",newPage={E({text="\071\101\110\101\114\097\108"}),N({text="\086\101\114\115\105\111\110",subtext=j._VERSION..("-"..j._BRANCH),clickable=false}),N({text="\077\111\100\117\108\101\115";subtext="\084\104\101\114\101 \097\114\101 \099\117\114\114\101\110\116\108\121 \060\098\062"..(y.."\060\047\098\062 \109\111\100\117\108\101\115\046");clickable=false}),E({text="\067\114\101\100\105\116\115"}),N({text="\078\105\099\107";subtext="\070\111\117\110\100\101\114 \047 \077\097\105\110 \068\101\118\101\108\111\112\101\114";clickable=false}),N({text="\048\056\054\054";subtext="\083\101\097\114\099\104 \105\099\111\110 \105\110 \116\104\101 \099\111\109\109\097\110\100 \098\097\114",clickable=false}),N({text="\068\097\119\105\100",subtext="\071\105\116\104\117\098 \097\099\116\105\111\110\115 \119\111\114\107\102\108\111\119";clickable=false});N({text="\083\105\114\105\117\115 \067\111\109\109\117\110\105\116\121",subtext="\084\104\097\110\107\115 \116\111 \097\108\108 \116\104\101 \109\101\109\098\101\114\115 \119\104\111 \103\097\118\101 \102\101\101\100\098\097\099\107 \097\110\100 \104\101\108\112\101\100 \111\117\116 \119\105\116\104 \100\101\099\105\115\105\111\110\115\033",clickable=false})}}),L({text="\078\111\116\105\102\105\101\114\115",subtext="\077\097\110\097\103\101 \110\111\116\105\102\105\099\097\116\105\111\110 \101\118\101\110\116\115";newPage={q({text="\070\080\083 \068\114\111\112\115";subtext="\087\104\101\110 \121\111\117\114 \070\080\083 \100\114\111\112\115 \098\101\108\111\119 \050\053",initialValue=V.FPSCheck,callback=function(r)V.FPSCheck:set(r)end});q({text="\080\105\110\103 \083\112\105\107\101\115";subtext="\087\104\101\110 \121\111\117\114 \112\105\110\103 \115\112\105\107\101\115 \097\098\111\118\101 \049\053\048";initialValue=V.PingCheck,callback=function(r)V.PingCheck:set(r)end})}}),L({text="\084\104\101\109\101\115",subtext="\086\105\101\119 \097\108\108 \116\104\101 \116\104\101\109\101\115 \121\111\117 \099\097\110 \097\112\112\108\121",newPage={N({text="\068\114\097\099\117\108\097",subtext="\065 \100\097\114\107 \112\117\114\112\108\101 \116\104\101\109\101 \098\097\115\101\100 \111\110 \116\104\101 \068\114\097\099\117\108\097 \099\111\108\111\114 \112\097\108\108\101\116\101\046",callback=function()V.Theme:set("\100\114\097\099\117\108\097")end});N({text="\068\097\114\107";subtext="\065 \099\108\097\115\115\105\099 \100\097\114\107 \116\104\101\109\101 \119\105\116\104 \110\111\116 \109\117\099\104 \116\111 \105\116",callback=function()V.Theme:set("\100\097\114\107")end}),N({text="\078\111\114\100",subtext="\065 \100\097\114\107 \098\108\117\101 \116\104\101\109\101 \098\097\115\101\100 \111\110 \116\104\101 \078\111\114\100 \099\111\108\111\114 \112\097\108\108\101\116\101\046";callback=function()V.Theme:set("\110\111\114\100")end})}});N({text="\074\111\105\110 \068\105\115\099\111\114\100",secondary=true})})end}
local Components = script.Parent.Parent.components
local Button = require(Components.window.button)
local Constants = require(script.Parent.Parent.storage.constants)
local Divider = require(Components.window.divider)
local Section = require(Components.window.section)
local Switch = require(Components.window.switch)

local Window = require(Components.window.window)

local Packages = script.Parent.Parent.packages
local States = require(Packages.states)

local moduleCount = #script.Parent:GetChildren()

return {
	name = "settings",
	description = "View all the scripts settings",
	arguments = {},

	callback = function()
		Window({
			title = "Settings",
			size = UDim2.fromOffset(345, 394),
		}, {
			Section({
				text = "About",
				subtext = "View general info about the script",
				newPage = {
					Divider({
						text = "General",
					}),
					Button({
						text = "Version",
						subtext = Constants._VERSION .. "-" .. Constants._BRANCH,
						clickable = false,
					}),
					Button({
						text = "Modules",
						subtext = "There are currently <b>" .. moduleCount .. "</b> modules.",
						clickable = false,
					}),

					Divider({
						text = "Credits",
					}),
					Button({
						text = "Nick",
						subtext = "Founder / Main Developer",
						clickable = false,
					}),
					Button({
						text = "0866",
						subtext = "Search icon in the command bar",
						clickable = false,
					}),
					Button({
						text = "Dawid",
						subtext = "Github actions workflow",
						clickable = false,
					}),
					Button({
						text = "Sirius Community",
						subtext = "Thanks to all the members who gave feedback and helped out with decisions!",
						clickable = false,
					}),
				},
			}),

			Section({
				text = "Notifiers",
				subtext = "Manage notification events",
				newPage = {
					Switch({
						text = "FPS Drops",
						subtext = "When your FPS drops below 25",
						initialValue = States.FPSCheck,
						callback = function(value)
							States.FPSCheck:set(value)
						end,
					}),

					Switch({
						text = "Ping Spikes",
						subtext = "When your ping spikes above 150",
						initialValue = States.PingCheck,
						callback = function(value)
							States.PingCheck:set(value)
						end,
					}),
				},
			}),

			Section({
				text = "Themes",
				subtext = "View all the themes you can apply",
				newPage = {
					Button({
						text = "Dracula",
						subtext = "A dark purple theme based on the Dracula color pallete.",
						callback = function()
							States.Theme:set("dracula")
						end,
					}),

					Button({
						text = "Dark",
						subtext = "A classic dark theme with not much to it",
						callback = function()
							States.Theme:set("dark")
						end,
					}),

					Button({
						text = "Nord",
						subtext = "A dark blue theme based on the Nord color pallete.",
						callback = function()
							States.Theme:set("nord")
						end,
					}),
				},
			}),

			Button({
				text = "Join Discord",
				secondary = true,
			}),
		})
	end,
}
