[v3!] TopbarPlus v3.0.0 | Construct intuitive topbar icons; customise them with themes, dropdowns, captions, labels and much more

Finally, V3 is gonna coming soon! I am excited to test TopBarPlus V3!

Cant wait!
Question Though Will we need to change the script or can we just reuse the ones from v2?

you need to do icon:autoDeselect(false)

Is there a way to make a dropdown from a dropdown without it looking so weird?
Ex: Pressing a button inside a dropdown creates another dropdown directly to the side of it

I’ve tried changing the code in the module to fit my needs to little avail, since I can’t understand how it works or what look for :sweat_smile:

day 9 of waiting for TopBarPlus V3 to release (still excited)

4 Likes

The majority of v3 will be backwards compatible with v2. The new theme system and a few removed methods will be the only significant non-compatible changes.

2 Likes

Thanks for the Explanation : D

1 Like

topbarplus v3 is very glitchy with old topbar


Just published old topbar support! Lemme know if any issues occur after re-inserting the new package from the playground:

image

7 Likes

These UIS Are Fantastic! Keep Up With The Good Work!

3 Likes

Amazing work :slight_smile:

One question:

When will the new changes be added/updated in the TopbarPlus documentation (if it hasn’t been added already)?

Same time as full release!

I completed v3 about 5 minutes ago (minus some minor tweaks to the overflow) although the full release notes, documentation, repo modifications, etc are going to take me a few hours to write up. I’m away for a few days so will officially release v3 the Thursday or Friday next week :+1:

9 Likes

can you make the API the same as the old one so it will be easier to switch? like add:
IconController.getIcons()
IconController.updateTopbar()

The IconController’s been entirely removed for v3 but you can still retrieve icons doing Icon.getIcons(). v3 no longer calculates its positioning on the topbar, it just uses inbuilt roblox objects like UIListLayouts, so .updateTopbar is now redundant.

Yep! Wally support coming soon™

3 Likes

I can PR Wally support, should be pretty easy.

1 Like

I am trying to do a dynamic dropdown with the TopbarPlus v3, but I can’t get the result I’d like to, does anyone know what is wrong with my code?

local dropDownButton = Icon.new()
	:setName("Dropdown")
	:setLabel("Dropdown")
	:setDropdown({
		Icon.new()
		:setName("Item1")
		:setLabel("Item 1")
	})

dropDownButton:joinDropdown(
	Icon.new()
		:setName("Item2")
		:setLabel("Item 2")		
)

I looked at some examples in the TopBar v3 place file, specifically the one with the expandable menu, but just judging from the function names I can’t make out what’s wrong with mine.

My result:
image

Desired result:
image

Does V3 include Console Support, as although it appears on PC when I enter the Test Place on my Xbox no UI is visible?

1 Like

I want to report something I found. I’m not sure if it’s a bug, but when you bind the events ‘deselected’ or ‘toggled,’ they are automatically fired at the beginning when you join the game.

Edit:
I think it’s in this part of the code

task.defer(function()
		-- We defer so that if a deselected event is binded, the action
		-- inside can now be called to apply the default appearance
		-- triggering the events we want)
		-- A developer might do Icon.new():select() right away so
		-- it's important we ignore these cases
		if not self.hasSelectedAtLeastOnce then
			-- We set the state to selected so that calling :deselect()
			-- will now correctly register the state to deselected (therefore
			self.activeState = ""
			self.isSelected = true
		end
		self:refresh()
	end)

Yup this happens to me too. Was going to say something but I assumed my code was just wrong, glad to know others have this problem too.

You can achieve your desired result by creating a simple dropdown like:

Icon.new()
	:setLabel("Dropdown")
	:setDropdown({
		Icon.new()
			:setLabel("Item 1")
		,
		icon.new()
			:setLabel("Item 2")
		,
	})

I’ll look at renaming methods like :joinDropdown() to :moveTo(iconToMoveUnder, "Dropdown") to make their behaviour more clear before release.

1 Like