local M=require((game:GetService("\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101")):WaitForChild("\070\108\117\101\110\116"))local B=M:CreateWindow({Title="\070\108\117\101\110\116 "..M.Version;SubTitle="\098\121 \100\097\119\105\100";TabWidth=160;Size=UDim2.fromOffset(580,460),Acrylic=true,Theme="\068\097\114\107"})local f={Main=B:AddTab({Title="\077\097\105\110",Icon="\098\111\120"});Settings=B:AddTab({Title="\083\101\116\116\105\110\103\115";Icon="\115\101\116\116\105\110\103\115"})}do f.Main:AddParagraph({Title="\080\097\114\097\103\114\097\112\104",Content="\084\104\105\115 \105\115 \097 \112\097\114\097\103\114\097\112\104\046\n\083\101\099\111\110\100 \108\105\110\101\033"})f.Main:AddButton({Title="\066\117\116\116\111\110";Description="\086\101\114\121 \105\109\112\111\114\116\097\110\116 \098\117\116\116\111\110";Callback=function()B:Dialog({Title="\084\105\116\108\101";Content="\084\104\105\115 \105\115 \097 \100\105\097\108\111\103";Buttons={{Title="\067\111\110\102\105\114\109";Callback=function()B:Dialog({Title="\065\110\111\116\104\101\114 \068\105\097\108\111\103";Content="\076\111\114\101\109 \105\112\115\117\109 \100\111\108\111\114 \115\105\116 \097\109\101\116\044 \099\111\110\115\101\099\116\101\116\117\114 \097\100\105\112\105\115\099\105\110\103 \101\108\105\116\046 \083\117\115\112\101\110\100\105\115\115\101 \109\111\108\108\105\115 \100\111\108\111\114 \101\103\101\116 \101\114\097\116 \109\097\116\116\105\115\044 \105\100 \109\111\108\108\105\115 \109\097\117\114\105\115 \099\117\114\115\117\115\046 \080\114\111\105\110 \111\114\110\097\114\101 \115\111\108\108\105\099\105\116\117\100\105\110 \111\100\105\111\044 \105\100 \112\111\115\117\101\114\101 \100\105\097\109 \108\117\099\116\117\115 \105\100\046",Buttons={{Title="\079\107",Callback=function()print("\079\107")end}}})M.Options.Toggle:Destroy()end},{Title="\067\097\110\099\101\108",Callback=function()print("\067\097\110\099\101\108\108\101\100 \116\104\101 \100\105\097\108\111\103\046")end}}})end})local e=f.Main:AddToggle("\084\111\103\103\108\101",{Title="\084\111\103\103\108\101",Default=false})local D=f.Main:AddSlider("\083\108\105\100\101\114",{Title="\083\108\105\100\101\114",Description="\084\104\105\115 \105\115 \097 \115\108\105\100\101\114";Default=2.0;Min=.0,Max=15.5,Rounding=1})local A=f.Main:AddDropdown("\068\114\111\112\100\111\119\110",{Title="\068\114\111\112\100\111\119\110";Values={"\111\110\101","\116\119\111";"\116\104\114\101\101";"\102\111\117\114","\102\105\118\101";"\115\105\120","\115\101\118\101\110","\101\105\103\104\116";"\110\105\110\101";"\116\101\110";"\101\108\101\118\101\110","\116\119\101\108\118\101";"\116\104\105\114\116\101\101\110";"\102\111\117\114\116\101\101\110"};Multi=false,Default=1})A:SetValue("\102\111\117\114")local n=f.Main:AddDropdown("\077\117\108\116\105\068\114\111\112\100\111\119\110",{Title="\068\114\111\112\100\111\119\110";Description="\089\111\117 \099\097\110 \115\101\108\101\099\116 \109\117\108\116\105\112\108\101 \118\097\108\117\101\115\046";Values={"\111\110\101";"\116\119\111","\116\104\114\101\101";"\102\111\117\114";"\102\105\118\101","\115\105\120","\115\101\118\101\110","\101\105\103\104\116","\110\105\110\101";"\116\101\110","\101\108\101\118\101\110","\116\119\101\108\118\101","\116\104\105\114\116\101\101\110";"\102\111\117\114\116\101\101\110"},Multi=true;Default={"\115\101\118\101\110";"\116\119\101\108\118\101"}})n:SetValue({three=true,five=true,seven=false})local H=f.Main:AddColorpicker("\067\111\108\111\114\112\105\099\107\101\114",{Title="\067\111\108\111\114\112\105\099\107\101\114",Default=Color3.fromRGB(96,205,255)})local b=f.Main:AddColorpicker("\084\114\097\110\115\112\097\114\101\110\099\121\067\111\108\111\114\112\105\099\107\101\114",{Title="\067\111\108\111\114\112\105\099\107\101\114",Description="\098\117\116 \121\111\117 \099\097\110 \099\104\097\110\103\101 \116\104\101 \116\114\097\110\115\112\097\114\101\110\099\121\046",Transparency=0,Default=Color3.fromRGB(96,205,255)})local d=f.Main:AddKeybind("\075\101\121\098\105\110\100",{Title="\075\101\121\066\105\110\100",Mode="\072\111\108\100",Default="\076\101\102\116\067\111\110\116\114\111\108";ChangedCallback=function(M)print("\075\101\121\098\105\110\100 \099\104\097\110\103\101\100\058",M)end})local z=f.Main:AddInput("\073\110\112\117\116",{Title="\073\110\112\117\116",Default="\068\101\102\097\117\108\116";Numeric=false,Finished=false;Placeholder="\080\108\097\099\101\104\111\108\100\101\114 \116\101\120\116",Callback=function(M)print("\073\110\112\117\116 \099\104\097\110\103\101\100\058",M)end})e:OnChanged(function()print("\084\111\103\103\108\101 \099\104\097\110\103\101\100\058",M.Options.Toggle.Value)end)D:OnChanged(function(M)print("\083\108\105\100\101\114 \099\104\097\110\103\101\100\058",M)end)A:OnChanged(function(M)print("\068\114\111\112\100\111\119\110 \099\104\097\110\103\101\100\058",M)end)n:OnChanged(function(M)local B={}for M,f in next,M do table.insert(B,M)end print("\077\117\116\108\105\100\114\111\112\100\111\119\110 \099\104\097\110\103\101\100\058",table.concat(B,"\044 "))end)H:OnChanged(function()print("\067\111\108\111\114\112\105\099\107\101\114 \099\104\097\110\103\101\100\058",b.Value)end)b:OnChanged(function()print("\084\067\111\108\111\114\112\105\099\107\101\114 \099\104\097\110\103\101\100\058",b.Value,"\084\114\097\110\115\112\097\114\101\110\099\121\058",b.Transparency)end)task.spawn(function()while true do wait(1)local B=d:GetState()if B then print("\075\101\121\098\105\110\100 \105\115 \098\101\105\110\103 \104\101\108\100 \100\111\119\110")end if M.Unloaded then break end end end)end do local B=f.Settings:AddSection("\073\110\116\101\114\102\097\099\101")B:AddDropdown("\073\110\116\101\114\102\097\099\101\084\104\101\109\101",{Title="\084\104\101\109\101",Description="\067\104\097\110\103\101\115 \116\104\101 \105\110\116\101\114\102\097\099\101 \116\104\101\109\101\046";Values=M.Themes,Default=M.Theme,Callback=function(B)M:SetTheme(B)end})if M.UseAcrylic then B:AddToggle("\065\099\114\121\108\105\099\084\111\103\103\108\101",{Title="\065\099\114\121\108\105\099";Description="\084\104\101 \098\108\117\114\114\101\100 \098\097\099\107\103\114\111\117\110\100 \114\101\113\117\105\114\101\115 \103\114\097\112\104\105\099 \113\117\097\108\105\116\121 \056\043";Default=M.Acrylic;Callback=function(B)M:ToggleAcrylic(B)end})end B:AddToggle("\084\114\097\110\115\112\097\114\101\110\116\084\111\103\103\108\101",{Title="\084\114\097\110\115\112\097\114\101\110\099\121",Description="\077\097\107\101\115 \116\104\101 \105\110\116\101\114\102\097\099\101 \116\114\097\110\115\112\097\114\101\110\116\046";Default=M.Transparency;Callback=function(B)M:ToggleTransparency(B)end})B:AddKeybind("\077\101\110\117\075\101\121\098\105\110\100",{Title="\077\105\110\105\109\105\122\101 \066\105\110\100",Default="\082\105\103\104\116\083\104\105\102\116"})M.MinimizeKeybind=M.Options.MenuKeybind end M:Notify({Title="\070\108\117\101\110\116";Content="\084\104\101 \115\099\114\105\112\116 \104\097\115 \098\101\101\110 \108\111\097\100\101\100\046",Duration=8})
local Main = require(game:GetService("ReplicatedStorage"):WaitForChild("Fluent"))

local Window = Main:CreateWindow({
    Title = "Fluent " .. Main.Version,
    SubTitle = "by dawid",
    TabWidth = 160,
    Size = UDim2.fromOffset(580, 460),
    Acrylic = true,
    Theme = "Dark"
})

local Tabs = {
    Main = Window:AddTab({ Title = "Main", Icon = "box" }),
    Settings = Window:AddTab({ Title = "Settings", Icon = "settings" })
}

do
    Tabs.Main:AddParagraph({
        Title = "Paragraph",
        Content = "This is a paragraph.\nSecond line!"
    })

    Tabs.Main:AddButton({
        Title = "Button",
        Description = "Very important button",
        Callback = function()
            Window:Dialog({
                Title = "Title",
                Content = "This is a dialog",
                Buttons = {
                    {
                        Title = "Confirm",
                        Callback = function()
                            Window:Dialog({
                                Title = "Another Dialog",
                                Content = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse mollis dolor eget erat mattis, id mollis mauris cursus. Proin ornare sollicitudin odio, id posuere diam luctus id.",
                                Buttons = { { Title = "Ok", Callback = function() print("Ok") end} }
                            })
                            Main.Options.Toggle:Destroy()
                        end
                    },
                    {
                        Title = "Cancel",
                        Callback = function()
                            print("Cancelled the dialog.")
                        end
                    }
                }
            })
        end
    })

    local Toggle = Tabs.Main:AddToggle("Toggle", {Title = "Toggle", Default = false })
    
    local Slider = Tabs.Main:AddSlider("Slider", {
        Title = "Slider",
        Description = "This is a slider",
        Default = 2.0,
        Min = 0.0,
        Max = 15.5,
        Rounding = 1
    })


    local Dropdown = Tabs.Main:AddDropdown("Dropdown", {
        Title = "Dropdown",
        Values = {"one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen"},
        Multi = false,
        Default = 1,
    })

    Dropdown:SetValue("four")
    
    local MultiDropdown = Tabs.Main:AddDropdown("MultiDropdown", {
        Title = "Dropdown",
        Description = "You can select multiple values.",
        Values = {"one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen"},
        Multi = true,
        Default = {"seven", "twelve"},
    })

    MultiDropdown:SetValue({
        three = true,
        five = true,
        seven = false
    })

    local Colorpicker = Tabs.Main:AddColorpicker("Colorpicker", {
        Title = "Colorpicker",
        Default = Color3.fromRGB(96, 205, 255)
    })

    local TColorpicker = Tabs.Main:AddColorpicker("TransparencyColorpicker", {
        Title = "Colorpicker",
        Description = "but you can change the transparency.",
        Transparency = 0,
        Default = Color3.fromRGB(96, 205, 255)
    })

    local Keybind = Tabs.Main:AddKeybind("Keybind", {
        Title = "KeyBind",
        Mode = "Hold",
        Default = "LeftControl",
        ChangedCallback = function(New)
            print("Keybind changed:", New)
        end
    })

    local Input = Tabs.Main:AddInput("Input", {
        Title = "Input",
        Default = "Default",
        Numeric = false,
        Finished = false,
        Placeholder = "Placeholder text",
        Callback = function(Value)
            print("Input changed:", Value)
        end
    })
       
    Toggle:OnChanged(function()
        print("Toggle changed:", Main.Options["Toggle"].Value)
    end)

    Slider:OnChanged(function(Value)
        print("Slider changed:", Value)
    end)

    Dropdown:OnChanged(function(Value)
        print("Dropdown changed:", Value)
    end)

    MultiDropdown:OnChanged(function(Value)
        local Values = {}
        for Value, State in next, Value do
            table.insert(Values, Value)
        end
        print("Mutlidropdown changed:", table.concat(Values, ", "))
    end)

    Colorpicker:OnChanged(function()
        print("Colorpicker changed:", TColorpicker.Value)
    end)

    TColorpicker:OnChanged(function()
        print(
            "TColorpicker changed:", TColorpicker.Value,
            "Transparency:", TColorpicker.Transparency
        )
    end)

    task.spawn(function()
        while true do
            wait(1)
            local state = Keybind:GetState()
            if state then
                print("Keybind is being held down")
            end
            if Main.Unloaded then break end
        end
    end)

end

do

    local InterfaceSection = Tabs.Settings:AddSection("Interface")

    InterfaceSection:AddDropdown("InterfaceTheme", {
        Title = "Theme",
        Description = "Changes the interface theme.",
        Values = Main.Themes,
        Default = Main.Theme,
        Callback = function(Value)
            Main:SetTheme(Value)
        end
    })

    if Main.UseAcrylic then
        InterfaceSection:AddToggle("AcrylicToggle", {
            Title = "Acrylic",
            Description = "The blurred background requires graphic quality 8+",
            Default = Main.Acrylic,
            Callback = function(Value)
                Main:ToggleAcrylic(Value)
            end
        })
    end

    InterfaceSection:AddToggle("TransparentToggle", {
        Title = "Transparency",
        Description = "Makes the interface transparent.",
        Default = Main.Transparency,
        Callback = function(Value)
            Main:ToggleTransparency(Value)
        end
    })

    InterfaceSection:AddKeybind("MenuKeybind", { Title = "Minimize Bind", Default = "RightShift" })
    Main.MinimizeKeybind = Main.Options.MenuKeybind 
end

Main:Notify({
    Title = "Fluent",
    Content = "The script has been loaded.",
    Duration = 8
})