Ordering System Issues

Greetings, developers! So I have been working on my cafe, soon to release, all day. One of the main components needs to be sustainable, however, it isn’t. It keeps breaking. It is the ordering system made by @ScriptedWyatt, and I have NO idea what is happening:

local Player = game.Players.LocalPlayer
local OrderFrameHolder = script.Parent.OrderFrameHolder
local ItemSelectionFrame = OrderFrameHolder.ItemSelection
local OrderFrame = OrderFrameHolder.Order
local SelectionItemHolderFrame = ItemSelectionFrame.ItemHolder
local OrderItemHolderFrame = OrderFrame.ItemHolder
local SampleItem = SelectionItemHolderFrame.SampleItem
local SubmitOrderButton = OrderFrameHolder.SubmitOrder


local PreOrderFrameHolder = script.Parent.PreOrderFrameHolder
local PlayerNameBox = PreOrderFrameHolder.BackFrame.PlayerNameBox
local NextButton = PreOrderFrameHolder.Next

local ItemsFolder = game.ReplicatedStorage.Items
local Items = ItemsFolder:GetChildren()

local ItemLimit = 5
local PlayerToGiveItemsTo

function getFullNameFromPartial(PartialName)
	local foundPlayer = nil

	local Players = game.Players:GetPlayers()
	for i = 1, #Players do
		local CurrentPlayer = Players[i]

		if string.lower(CurrentPlayer.Name):sub(1, #PartialName) == string.lower(PartialName) then
			foundPlayer = CurrentPlayer.Name
			break
		end
	end

	return foundPlayer
end

function getItemsInOrder()
	local ItemsInOrder = {}
	
	for Index, Item in ipairs(OrderItemHolderFrame:GetChildren()) do
		if Item:IsA("Frame") and Item.Visible == true then
			table.insert(ItemsInOrder, Item.ItemName.Text)
		end
	end
	
	return ItemsInOrder
end

function submitOrder()
	local ItemsInOrder = getItemsInOrder()
	if #getItemsInOrder() >= 1 then
		game.ReplicatedStorage.SubmitOrderEvent:FireServer(PlayerToGiveItemsTo, ItemsInOrder)
		PreOrderFrameHolder.Visible = true  -- Around here is the issue!
		OrderFrameHolder.Visible = false
		
		for Index, ItemFrame in ipairs(OrderFrameHolder.Order.ItemHolder:GetChildren()) do
			if ItemFrame:IsA("Frame") and ItemFrame.Name ~= "SampleItem" then
				ItemFrame:Destroy()
			end
		end
	end
end

function addItemToOrder(ItemName)
	if #getItemsInOrder() < ItemLimit then
		print(ItemName)
		local SampleItemFrame = OrderItemHolderFrame.SampleItem
		local ItemFrame = SampleItemFrame:Clone()
		ItemFrame.Name = ItemName
		ItemFrame.Parent = OrderItemHolderFrame
		ItemFrame.Visible = true
		ItemFrame.ItemName.Text = ItemName
	end
end

for Index, Item in ipairs(Items) do
	local ItemFrame = SampleItem:Clone()
	local ItemNameLabel = ItemFrame.ItemName
	local AddButton = ItemFrame.AddButton
	
	ItemFrame.Parent = SelectionItemHolderFrame
	ItemFrame.Visible = true
	
	ItemNameLabel.Text = Item.Name
	
	AddButton.MouseButton1Click:Connect(function()
		addItemToOrder(ItemNameLabel.Text)
	end)
end

NextButton.MouseButton1Click:Connect(function()
	local PlayerName = PlayerNameBox.Text
	PlayerToGiveItemsTo = getFullNameFromPartial(PlayerName)

	if game.Players:FindFirstChild(PlayerToGiveItemsTo) then
		PreOrderFrameHolder.Visible = false
		OrderFrameHolder.Visible = true

		PlayerToGiveItemsTo = game.Players[PlayerToGiveItemsTo]
	end
end)

SubmitOrderButton.MouseButton1Click:Connect(submitOrder)

Everything is correct, it just doesn’t send the order, nor make the PreOrderFrame’s visibility false. Any recommendations for me to make it work?