Reduce number of screens

Hello!

I working in an service app with 2 screens:

The first screen have 30 buttons (each button represents a business) ,

when the user make a click in a business buttom, the app send to the second screen.
Check below the next imagen with the first and second screen:

In the second screen, shows all business information like a buttom of whatsapp, facebook, video and imagen.

For not repeat 30 screens, the second screen is the same that others 30 business buttoms for the firts screen.

The target is make the match the 30 business buttoms with the second screen with diferent information (links) in each buttom of the second screen ( whatsapp, facebook, video with url)

I tried to build whit the list blocks.

For the first screen, i built it this way:

image

And the second screen in this way:

I can´t make the links load for each button (whatsapp, facebook, video with url)

Can you help me with this issue, please?

Before hand thank you for your time and support.

Personally, I would use a local data source (table) instead of a list of objects but… if you want to do it this way, it’s not clear why you have “number” as a separate field with an object inside. What is the number property for? A list already has index values so if you’re using it to know which list item it is, you don’t need a separate property for that.

1 Like

Hello Tatiang

Thank you for your quick response

For the list with the name “number” It was created following the steps of the video : 2 Methods to Reduce the Number of Screens in a Thunkable X App - YouTube (into the video, he put the “lesson” name)

and the name was more visual for me “number” for the module represents into the video.

So, i make this way because in the future i want to update the URLs with the cloud blocks and refresh the data in fire base in real time.

in this case, just i need remove the list “number” name?

or What do you recommend me?

Thank you for all.

Nice day!

I didn’t realize you were going to use Firebase later. Okay, it makes sense why you are using objects.

Remove the list “gear” block. The variable “app variable data” is already a list but when you add that list block, you make it a list of a list which will cause problems.

Make sure app variable select module has a value (e.g. 1 for testing) and then this should work.

Hello,

thank you for your comments

The first module (objects) is charge correct.

Yesterday i made many test to charge a second module (objects) but i could not do it.

This is the first screen with the value “2”

image

and these are the blocks in screen two:

I think the block whit market yellow color (“1”) makes me limit to select a other objects (2,3,4…)

Do you know what I can use to obtain the other modules?

Thank you!

You removed the wrong list gear block. You need the list block when you initialize app variable data. Because that creates a list of objects that you can refer to with list blocks or loop through to get all values/objects.

You do not need the list block when you are setting the app variable actual module. It should read:

in list app variable data get # app variable select module

But instead you have:

in list list app variable data get # app variable select module

You need the list block to make a list of objects.

8a3ea9ece477562fff9ea893115567a08c97a289_2_690x415

1 Like

Please check out this post about accessing nested JSON :slight_smile:

Hi tatiang
I hope you are good,
Sorry for the delay, in this week i worked to set up the app.
in this way, the app is working with the Urls but when change for the cloud to use the fire base into de app an error appears. check the imagens bellow


the error:
coud error2

you are so kind to guide me, please?

Thank you!

I don’t think you can initialize a variable from a cloud variable value.

Just initialize the variable as null (no block needed) and then set the list and object values in the when screen starts block.

1 Like

Hello Tatiang

This issue was close with your help,

Thank you so much!

Have a nice day!

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.