local t=script.Parent.Parent.Parent.Parent.Parent local D=require(script.Parent.Parent.States)local o=require(t.SourceCode.Shared.Categories)local s=require(t.Parent.Fusion)local v={"\077\097\114\107\101\116\112\108\097\099\101","\073\110\118\101\110\116\111\114\121","\067\117\115\116\111\109\105\122\101"}local M={}local K=s.scoped(s)M.Mode=K:Computed(function(t)return v[t(D.Catalog.Mode)]end)M.Category=K:Computed(function(t)local s=t(M.Mode)local v=t(D.Catalog.Category)return o[s][v]end)M.SubCategory=K:Computed(function(t)local o=t(M.Category)local s=t(D.Catalog.SubCategory)if o and o.SubCategories then return o.SubCategories[s]else return nil end end)return M
local Avalog = script.Parent.Parent.Parent.Parent.Parent
local States = require(script.Parent.Parent.States)
local Categories = require(Avalog.SourceCode.Shared.Categories)
local Fusion = require(Avalog.Parent.Fusion)

local MODES = { "Marketplace", "Inventory", "Customize" }

local Navigation = {}

local Scope = Fusion.scoped(Fusion)

Navigation.Mode = Scope:Computed(function(Use)
	return MODES[Use(States.Catalog.Mode)]
end)
Navigation.Category = Scope:Computed(function(Use)
	local ActiveModeValue = Use(Navigation.Mode)
	local CategoryValue = Use(States.Catalog.Category)

	return Categories[ActiveModeValue][CategoryValue]
end)
Navigation.SubCategory = Scope:Computed(function(Use)
	local CategoryValue = Use(Navigation.Category)
	local SubCategoryValue = Use(States.Catalog.SubCategory)

	if CategoryValue and CategoryValue.SubCategories then
		return CategoryValue.SubCategories[SubCategoryValue]
	else
		return nil
	end
end)

return Navigation
