OK, so one of the things that we changed in,
if I jump back here, and nothing's really versioned.
So we have, this was one of the very first versions
we ever built. Then this was sort of the second version.
And then Wisdom is, I would consider,
sort of the third iteration of the whole project.
And this is the most slick version of it.
So what we've done is, as we've updated this one,
I've actually already moved all the authentication features
over to this app.
And I've also moved it down into this app already.
So what I haven't done is moved all the authentication
over to this Raising Royalty app,
and that's what we need to do today.
And so I have, on this screen,
I have the Raising Royalty app, and on this tab,
I'm gonna move them side by side,
and I'm gonna close that.
Let's jump into the Wisdom app.
And so this gets a little messy,
because you're essentially just gonna start
overriding a lot of stuff.
And so this will be a good example
of how we move components over.
And also, if we ever do need to update another app,
which was built in the old version,
which I think this is actually the last one,
that's how it works.
So what I'll do is I'll come over here,
and you can immediately see a few things.
We have, for one, we have a nice,
there's just a lot fewer screens.
So we have a lock screen, a collection view,
a confirmed password, existing user entry.
This one, we only have entry, new user returning,
and then log in redirect.
So there's four pages, and there's actually
more pages than we need in here.
But we'll get into, and I actually think
this is in the wrong folder.
That's part of the problem.
Can we move this?
No.
No, that's extra.
Okay.
First issue, you can move it.
You can move it to a new folder.
I don't know why.
Okay, I'll just, that's where it's gonna be.
So on this entry page, I'll try to at least,
let's see if we can order these.
Yeah, there we go.
So at least the entry page is first.
So it's the same kind of thing.
But if we click into this, and we click on the settings,
we actually have four actions here.
And if I click on this one into the settings,
we have six actions here.
So all I'm gonna do is copy this,
and what I find works best is just the command C.
And you'll see the little green copy to clipboard.
We can hop back over to this one.
And I wanna keep this text.
So what I'm gonna do is just minimize this.
And I can go into the column.
So you can see the kind of the hierarchy here.
It's the containers inside this column.
If I kind of close everything, you can see there's a column,
there's a logo, container, and a button.
And so what I'll do is just gonna click on this one
at the top and then hit paste, okay?
And so what I've done now is,
I'm gonna move this up just a bit.
Oops.
Let's just, so it is easier to, hang on.
Now you're getting into the quirks of Flutter Flow.
Fantastic.
So I'll just leave it there for a second
because I'm gonna delete this.
And all I really want is from here,
I wanna copy, I'm gonna take this text box
because it has a certain language.
Just move it down into this.
Take this one, hit delete.
And he says, your email.
And it's got like a different color scheme and stuff.
So I'm just gonna go ahead and copy this here.
So some of it is a bit,
oh, because the primary text is light.
It's a kind of a dark app.
So in this case, I actually wanna go ahead and like,
this may be quite damaging to the app,
but we wanna go ahead and change in the settings.
I can go to a theme and this light mode,
and we have custom colors.
Let me just see here.
Where is the primary?
There's a one, yeah, primary text here.
So this is set to white.
So I'm actually gonna go ahead
and set this to the darker color
because that's actually how the Wisdom app was set.
If I jump back to Wisdom, settings, theme,
you can see that we have like,
we have a background color, which is white
and a primary text that is this color.
So if I jump here,
the primary background should actually be dark
or vice versa.
Like we basically need to have,
so I'm gonna just keep it the same.
white, and then that.
So if I jump back into this, see how it just fixed it for me?
Because I updated the variable, right?
I didn't, I don't have to go in there and pick a new color,
because I can just see that it is already
set to primary text.
And that would be better to, I can click on this
and just manually pick a random color,
but I don't want to have to do that.
Because I'm going to copy a lot more components,
and those other components could be referring to this one.
So now we're just going to go in here,
we've got everything we need, I'm just going to delete it.
And the order is a bit off, so let's bounce this.
So this can be a little confusing of how
to rearrange these things, but what
I found works the best and the most reliable
is to drag things to the very top, like I just did there.
So if I drag this to the second one, what it tries to do
is put this inside.
So see how it goes orange?
There's like an orange line there.
But if I hold it for a second, it goes purple.
So then I can put that, drop it down.
So if it's orange, it's going to try to go inside.
But if you hold it, hold it, and then it goes purple,
then we can reorder it that way.
So it's just, and then it works the opposite way, another way.
So just the purple means it's going like as a sister,
or like a sibling relationship.
Whereas if you do the orange, it basically
makes that new thing the parent, and it
puts it inside that component.
That's true.
And then the other thing I'll do is I'm just looking at this.
So this is very much like vertical here on the page,
and this is kind of centered.
So I want to go ahead and fix that.
And I'm just looking here.
I've got a container and a container.
Now if I had, I actually have a really wide monitor here.
So what I would actually do is put these like tab,
these whole windows side by side,
so I don't have to keep jumping between this.
I think you can Command 1, Command 2, right?
Yeah, Command 1, Command 2 will actually toggle.
Like Stealer, Stealer.
Yeah.
Yeah, like two screens, too.
So yeah, so here I have like, if I jump back to this,
the alignment here on the container is 0.
There's a max width.
That's fine.
And the vertical alignment is negative 1.
So if I go back here, this vertical alignment, negative 1,
so it pushes it to the top.
And then let's just check this column and check this column.
So this is set to, on the Wisdom app,
it's set to primary scroll and the scroll here.
And I just want to make sure it's here, and it's primary,
and it's scroll.
So it's actually set up correctly now.
And then I'll notice that this one actually doesn't
have join without an account.
So a quick way to leave that in there,
obviously, you can just delete it and bring it back
from another project later.
But a quick way to do it is you can just
hide it on all device sizes.
Why do you hide it if you don't need it?
Just so I could bring it back if the client does
decide they want that.
I saved myself the pain of having to figure all that out.
So immediately when we did this, we only swapped one component,
but we've just created nine errors.
So the first thing up here is platform ID.
Now, this is an old version of the app,
which I think if I go to the local thing,
I'd look for platform ID.
Oh, we actually do have one.
It is right there.
Let's go back.
So I'll click on this.
And the nice thing is, like, if you click on this,
it'll actually take you to the place where that is going.
So I'm going to say variable name.
And what I want to do as well, it's
important that the naming is exact.
So if I just go to here, so it's platform with a capital I,
ePersisted, and I'm just going to go back here.
I think this actually is set correctly.
Platform ID, ePersisted.
Yeah, so 40, cool.
So let's go back here, but it's saying it's an error.
So let's take a look at it.
So it's on the validate user.
It somehow didn't connect this when I copied it.
And it's not letting me.
What about, can you change the variable name?
Oh, no.
OK, I see what the problem is.
So it's actually, it's in the local state.
But if I go in here, let me do it one more time.
Click on this and hit Edit API Call.
And go to variables, they don't even have the platform ID here.
So just to come back here, I'm actually going to undo that.
You can hit Command Z and it brings it right back.
Because what we need to do is open this, Edit API Call, go here.
Let's.
click here, open edit API.
So now I've got, I'm just tabbing between the two.
This is wisdom, this is the other one.
And if we go to variables and I go to variables,
you'll see, oh, there's a variable here,
which is not in here.
And so I basically just, what I just did there
is I traced it back to like, oh, I remember now,
like we've now, this is a new thing
that we normally didn't ask for a platform ID,
but Lucian added that so that it always asks
for a platform ID moving forward.
And so some of the, some of these API queries
have to actually go get updated and this one wasn't,
and that's why it didn't connect correctly.
Okay, so I wanna go to query parameters,
query parameters, so we have to add the add.
And I'm just gonna, even though I know how to do this,
I'm just gonna copy paste because why?
Introduce the possibility of it.
And then it seems to be a variable and we'll do that.
So say variable platform ID, okay.
And then I'm just checking these and the headers the same.
Again, good just to check the advanced settings.
This has used proxy and I don't,
and that's actually set the same way.
So now the big important thing is if I just left
at this point, nothing would be saved.
So let's go hit save.
Okay, and now we just went from nine errors to eight
because Flutter Flow is your friend.
It does try to do some work for you and it said,
oh, there's a platform ID now.
I've connected it and I've connected it there.
I didn't even have to change it.
It just realized, oh, this is named the same thing.
Let me just fix it for you.
And it just fixed it behind the scenes for us.
So it takes a second to figure out what it does
automatically and what it doesn't do automatically,
but that's how we go.
So let's see here, navigate button.
So now the navigation, it's going to a page
called returning user.
And if we go to our off pages here,
we don't have something called returning user.
And so what's actually better here for us
is to just keep these naming, the names exactly the same.
So I'm just going to copy this and go over here and paste it.
And just that fix, sorry, it's in the scaffolding here.
Let's just change this as well.
So we have eight.
So we have eight, should go to seven.
I don't know, we'll see.
Let's go back to the navigation.
And it may just be that we have to navigate and just choose it
again.
Oh, and you know what?
You see, this is, it's a capital R.
Yeah, I think you saw it, is when I saw it.
Returning.
So what it is, is the route is returning user,
but the scaffolding I think is capital R.
Yeah, now it's capitalized.
And there's-
Oh, it's like seven, OK.
Now it's seven.
But this is good, because basically we're
updating a lot of different things in this project
all at the same time.
So little things like that, like the next time
we copy in a change here, we won't
have to worry about all this.
A lot of these things will reconnect better
the next time.
OK, now we've got a lot of missing parameters.
See, this parameter's first time user
is being passed by a button to the returning user page.
So I'm going to actually, at this point,
since I've actually done this two other times
for the same process, this is the third time
we're doing this whole process.
So knowing what it's asking for is a bunch of parameters
that don't even exist on the returning page.
So before we go too deep, I'm going
to go in and just grab the returning page here.
Let's go ahead and copy this.
And see, OK, so there's a great Flutter flow bug.
I hit copy and nothing happened.
See, no plus down here.
It's not perfect, right?
But it's copy, right?
Oh, no, it didn't actually copy anything.
So what you have to do is I right-clicked and hit copy.
So that didn't work.
So if I click on it again and I hit Command-C,
it will actually work.
So just these little things, it's not 100% perfect.
Well, that's good to know because it
can be pretty annoying.
Yeah, so I'm going to click on this and hit paste.
Now I've got the same thing.
And honestly, this looks great now
because we already fixed the color
thing from the previous.
I don't even need any of this.
Going to wipe it out.
And we're just going to fix the order real quick.
This needs to be there.
Oops.
Hold it down.
Goes pink or purple.
And now we're down there.
OK.
And just jumping between these again,
we have the same issue with the container with the negative 1.
So we'll go container, negative 1 alignment.
And this seems like a silly thing.
It just seems like we are just making it look a little nicer.
And this actually has the back button as well.
So you see this actually has a thing called the app bar.
So I'm going to put this back in.
OK.
I think it's this one.
Yeah, and there's no text.
It's just a thing here.
And I'll just delete that.
So I'm just checking again.
So the reason we have these little things
is I happen to know that this was a bug when people were
trying to fill out the form.
Because it was trying to center it vertically,
the sign-in button would be hidden behind the keyboard
when it was up.
But by making it scroll the way that it does,
people can actually scroll up now,
and the sign-in button is always visible with the keyboard up.
So that's a very subtle thing that you're like, oh, it's
just a little design decision.
But actually, that won't even work in a similar way.
In the same way, I'm going to go here.
This image has no padding, although this one
logo container has padding, even a logo container.
So it's 0 and 10.
And I'm just going to go just copy this 0 and 10.
So now when I'm flipping between them,
you can see it kind of has that look where, yeah.
And then the other thing we added here
is this is missing this try another email, which
is a very helpful feature.
And I'm just going to go into the column here.
We'll hit paste.
And now we're in the wrong order again.
So we'll just hold this down like that.
And try another email.
And of course, we're introducing more and more buttons,
but we're going to get to that in a second.
And I think this is good.
So the other thing you want to do is just on a page level,
I'm going to click off.
So if you just kind of click on the end here,
I can see that there's an email string here.
And a name string is what's on the page parameters.
And I'm just looking again here.
Those are the same.
So we don't need to add any more page parameters to this.
And I didn't really check it on this,
but I already know there's no.
But let's just for the fun of it,
there's no page parameters on that one.
There's no page parameters there.
So let's go in here.
Return a user.
And so I was like, oh, wow, all our bugs went away.
It's because we're on the wrong project.
That's a good project.
OK.
So let's look at the flow here.
And the next one is going to be on the next page,
rather, is if we go down the list here,
we've done entry page, the returning user,
and then we need to do the new user.
So again, Command-C, impact, new user,
and I'm going to just minimize this.
Again, click on here.
So now I'm just going to check here, do terms of service.
Did they link it somewhere special?
Oh, to a terms URL.
And then when I click here, is it linked?
No, see, it can link to a very specific URL here.
So this is where you could go very, very quickly
but make a mistake.
Actually, you need to take this guy,
and hit Copy, click on this, hit Paste.
I think you have to be like this and hit Paste.
There you go.
And I can just drag it.
Sometimes the drag and drop works.
There you go.
This one is the wrong one.
I can hit Delete, and that one's the right one.
And then just seeing the wording is actually identical
because we've actually copied this already.
See, this one says your 100x email.
So that is actually a bug where we've
tried to get away from things that are client-related here.
So 100x is one of our clients, but we're actually
in the Raising Royalty page.
So that's actually a bug.
That should never have said that.
And I'm a little embarrassed that we sent that to the client
with someone else's client name in the thing.
So you'll notice in the Wisdom one,
we did away with all the captioning.
Yeah.
So delete that.
And again, I'm going to check the page here.
So we don't have the nav bar at the top.
Don't have the nav bar there.
But I see this is kind of at the top, so let's just zero that out.
And it looks like there's a lot of extra padding here.
Let's see where that padding is.
It's kind of like the inspect element.
tool, it's kind of like that, where you hover.
So we're just looking for where this, why is this so separated?
Oh, there we go.
It's the logo again.
So this logo is 24 and 10.
Logo is 24, and that should be 10.
Cool.
So now I just click, click.
Okay, it's looking good.
It is a little wider here than this one.
I'm not going to waste time on that.
And then the big thing on this, because I actually was the one who made all these changes,
like there's email string, and then there's these three parameters.
And if I go back here, there's just the one.
So let's get edit, hit add.
And I'm not going to even try to be fancy.
What I do is I just click on this, do this the long and slow way.
Copy, paste.
First time user is going to be a Boolean.
And so we're just going to set Boolean here.
And when I do this and hit confirm, it's going to go ahead and fix this for me,
because it already knows it's looking for a first time user parameter on these other pages.
So when I hit confirm, this should go down.
Well, look at that.
From 13 to 9, right?
That was just the one.
Let's keep going.
So tribe user ID.
Again, I'm just going to copy this so we get the casing exactly right.
And then it's just going to be an integer.
Hit yes.
I'm just double checking it here.
Integer, yep.
And I'll go ahead and copy full name while in here.
And it's going to be a string.
So add, and full name is a string.
OK, and then I hit confirm.
Let's see.
Oh, down four.
Sweet.
OK, it's getting there.
OK, and then at this, so I've moved all the big pieces in here.
And the one thing we don't need at all, and I just happen to know this,
because I deleted it on other ones, is this one doesn't get used at all anymore.
We've merged the new user has like activate my account or create my account.
And it uses the Boolean of is this the first time user or not to show or hide that.
So it says is not first time user.
You know, and this is first time user.
So it shows one of these buttons at a time.
And it basically lets us, because you can see this one,
it did almost the exact same thing.
So I can actually delete the page entirely.
And it potentially could cause some bugs.
I'll just look there, seven.
So we had other pages, of course, that were linking to this, it seems.
And then the other thing I'm seeing here is we don't,
we have this very fancy redirect page.
And so we have to move this as well.
So I'm just going to go in here and make a brand new page.
I don't think, you can search here and say like logged.
Yeah, redirect.
No, so you don't have that.
So I'm going to hit plus.
And I'm going to just call it exactly logged in.
Logged in redirect.
Check casing, just make it completely new and blank.
And so I'll go in here and they've got the container.
So I'll just copy this.
You can copy the page.
Okay, that's a great, great question.
So you can copy the page and then hit paste,
but you can't paste a page into a non-empty page.
Hang on a minute, but can you though?
Wait, this is, hang on.
Let's see, delete this.
Oh, that is a new feature.
That's amazing.
I'm glad you asked me that question
because there's a little goofy workaround where like,
see how all the actions are attached to the page level.
And what you have to do is you have to go here,
copy all the actions below this.
And you actually put it on the container temporarily.
You put these actions, you would hit paste actions here.
So you actually copied the actions there and you put it here.
Then you copy this container, you move it over
and then you basically reverse it
and put it back into the top of the page.
So it's a horrible process.
But let me just go ahead and kill all this.
Before I get too distracted, that's amazing.
And the trick there is we just have to delete everything inside.
So it was saying like, hey, it can't paste into a non-empty page.
Before it said the logic was when you went to this one
and you hit copy, it used to have a red.
box that said it's not possible to copy a top-level page.
So it didn't even let you copy it.
So as soon as I copied it, I was like,
I realize this isn't going to be good.
That's cool.
And so instead of wisdom, I'll say your account.
That should be more generic.
And then everything should be here.
And it's, of course, introduced a bunch of other errors.
And the other thing we want to do is go to the settings,
go to authentication.
And see, instead of going to the group list,
we want to go to this logged in page.
OK, navbar, OK, this is, OK, we have to, let's leave it here.
This is another problem we ran into on the other project.
These are very nuanced things.
But let's come back to adding that.
But basically, what it's complaining about
is here we have this bar here, which is called a navbar.
And it just goes between home and account.
It actually really doesn't, it's not very helpful.
And basically, we have to turn the navbar off.
We don't use the navbar moving forward.
So I'm just going to turn this off.
And now when I go to authentication,
and we go to list, there we go.
It stays with no error.
OK, and now it does mean we have to come back
and now there's no way to get to your account.
So the new version of the group list over here
is that we have a little icon at the top, always.
So you can, this can just jump you right to your page
right there on any page.
So we'll come back and add that here in a minute.
And let's just, let's start working our way
through all these authentication errors.
I'm going to take a quick pause here,
if there's anything you have questions on
or just want to keep going.
No, oh yeah, for sure.
No, that's better.
Good.
OK, so one thing I realized as well,
just to come back, I was thinking about it,
is let's just go to the very top here.
We do, because I was copying containers,
I didn't copy the actions that were up here.
So if I click here, there's three actions.
And if I come over here, there are eight actions, OK?
So you can't, well, let's try it real quick,
because I always want to see, which
would be great is if you could copy all those actions,
come over here, hit open.
We don't need any of these anyway,
so I'm just going to delete them all.
And see, it doesn't let you paste it, which it should.
If you move them between inside the same project,
it works, but it doesn't work when you try
to move them across projects.
So I'm going to do the little trick that I
was going to do there.
I was going to copy this down here.
I'm going to put it on this logo for temporarily.
Paste actions.
And then I'm going to click on this logo, hit copy.
We're going to click into this logo and hit paste.
Click on this.
So copy, edit.
I'm in the same project now, so I can go back to this one
and say paste actions.
And there we go.
We just did it.
And then all I got to do is delete this logo.
And then just remember to go here.
Obviously, we don't need it to do all that.
Delete actions there.
OK.
And a good thing to keep in mind when
you're going between the main project
is, did I leave any errors?
What I just did there created a few errors.
So that was a good catch to make sure I didn't accidentally
leave that on the wrong level.
And then now there's like, in copying stuff from the master,
I've actually messed the master up.
So now we go here, and we look at the top level.
We've got three actions.
And this all looks very good.
Oh, I do see an error.
So navigate to the challenge home page.
If successful, what we actually want to do, I see.
So if it's not group home challenge, no.
Yeah, it should actually go to the entry.
So if it says user is logged in, then test the network.
This just sees if the internet, basically,
if they're connected to the internet, if so.
And here it just says, please check your internet
connections if it fails.
And this, instead of the group home page,
should actually go to the redirect page.
And let's remove that.
User is logged in.
And, uh, test network, if it works in them, it should always go to the redirect
because the redirect will send them wherever they're supposed to go.
And I normally wouldn't do this, but that is, that's actually a,
that's actually a mistake here.
Um, The users don't get to this page.
If they're logged in already, they get redirected.
So this is a little bit redundant, but for the sake of like, you know, accurate,
I would even argue that you could delete this whole on page load action and it
wouldn't affect the app at all because up at this level on the, on the authentication
is it's splitting it, see it's entry redirect.
Well, we'll talk about that in a second.
And the login redirect is just make sure that if someone is logged in, we, we, we
kick them out of that login sequence and send them where they're supposed to go.
Just for whatever reason, if they landed on the wrong page, for some reason, we
would redirect them where they need to go.
Um, let's go to new user.
So there's no actions here.
Returning user, no actions.
They're logged in redirect.
We obviously moved all those actions over for the, and then let's just move this.
Can we move this into this one?
Yeah, there we go.
You can't move it out.
Interesting.
Can I try now?
That's weird.
Yeah.
The funniest, I wonder if you move it out, like up here.
Yeah.
So you move it out of it.
You can move it back in now to one.
There you go.
That's a, that's a great example of a little quirkiness from, from Flutter flow
for you.
Um, you can't move it from one folder to the other, but you can move it out of the
folder and then into another folder in two steps.
So see, I know, I know how to get, um, okay, we don't need the lock screen, but
I'll, I'll leave it there just for now.
Okay.
So let's go 11 bugs here.
We have all these like navigation, so let's just start at the top and what it's
going to hear immediately.
It's looking for a page that now doesn't exist.
So this is actually an old version.
Like we used to have all the login stuff in components and then we could move the
components around.
Um, it, it doesn't work very well that way.
So what we can actually do is just wipe this entire component out completely.
That should fix two bugs right there.
Um, so API cannot configured back in group call set password response.
So this is set password.
Okay.
So it's looking for the set password API.
And if I go here to the API, what probably is here, I don't know if you can search
these, but there's one called set password and this on this API list probably doesn't
exist and that's the problem.
There's reset password.
That's a great example of, so for the sake of, again, just not going crazy, let's just
hit reset and I'm just going to potentially move.
Oh, sorry.
Sorry.
Those are two different steps.
Sorry.
That is, I cannot just rename stuff like that.
So we'll go in here.
We'll create a new, I'm just making sure that really isn't, it's the same route, but
we do different things to it.
So I'm going to go ahead and hit plus and Hey, say, um, call, and then I'm just going
to be really simple here.
Get, or we're going to need to post.
So this is the correct one.
I'm just going to copy.
I'm going to paste.
I'm going to go to body.
Yes.
And you kind of want to build this backwards.
So let me go here to variables.
So a little painful to do.
And again, it'd be great if we could share, um, this across projects.
Cause these API calls obviously are the same for all of tribe.
Like there's not one client that has certain calls that others don't.
They all, they're all the same.
Um, integer string, string,
string, string.
Okay.
And then as anything persisted now, and there's no default values.
So in the body, now, if I go here, I can copy all this body.
Jason copy.
That's it.
It just connects all the variables back because I use the exact
same titling and everything.
And then headers.
I don't think there's nothing there.
Oh, sorry.
This one.
Good variables advanced is just those two.
Yeah.
Which is the same.
Okay.
So let's add call and that already should fix it.
There you go.
It went from nine to eight and that was just a quick little check of one.
It's all the bugs somewhere.
So I.
I don't even have to think about it now.
So let's go to Action here.
Platform ID, OK, exactly the same problem
as if we hit Edit API, Paul.
This is on the sign-in.
So again, we're just syncing all these routes at the moment.
That's what's missing.
Go to Body, so this has Platform ID variables.
It's missing again, because we added this to all
the authentication screens now.
Platform ID, yeah.
Yeah, platform, it's going to be bigger.
OK, and then the body is just going to have, again,
I'm just going to copy all, paste all.
Or you can just add it.
And then, yeah, OK, cool.
So this one, let's save.
And that just, again, waiting for it.
It should, there you go, it goes to seven.
So JWT token, OK, perfect.
So this is great.
So now we're going to really break,
we're really going to break it, because I'm
going to pull the main tribe variable.
So every call we make back to tribe API uses,
sorry, this one local state called API token,
and it stores it in local storage.
We found that doesn't work very well,
especially when you're jumping in and out
of different accounts.
So what we did in the new version
is we actually deleted that entirely.
And in the Firebase, we made a new thing
called tribe token right here.
And so what I'm going to do now is go into user,
and you can see I'm in the database.
This is the Firestore database.
Now this has user, and this has user.
I'm not worried about all the other things it's missing.
That's OK at this point.
It's just tribe, capital token, strings.
We're just going to go in here and say tribe, token,
and string, and hit the checkbox.
You have to hit the checkbox.
And that should immediately fix these four problems
just by adding that variable.
So if you can just keep an eye on this,
it's very helpful, because you don't have to even know where
all those things were connected.
It's very smart.
It says, oh, I was needing this.
You gave it to me.
I'm marking this as completed for you.
It's kind of like running your automated tests
on every move, right?
So a token, incorrect, so let's go to this one.
So it's going custom.
Oh, and then so what we're also wanting to do here
is this is the JWT token.
And on this sign-in call, go back to the sign-in call here
and go to the response.
So it'll say we sign in.
Let's just try this.
OK, down here, you can save these tabs here
as just as an easier way to get to it.
So if I go down here, all it's saying is like, again,
I kind of have the cheat sheet, because I just
did this like last week.
But you can just see here's all the things here,
and it just doesn't have it here.
So I would just hit Add here.
I would paste it, and then I give it a name.
And I want to name it exactly the same,
because if you look at my bug here,
it's saying token is incorrectly set to this JWT token.
It doesn't know, doesn't have this variable.
So I'm going to paste it here.
Hit Save.
That should solve that one.
3.43.
And then navigation sets to navigate to group page.
I don't have that page.
Go to redirect now.
Navigate to group.
Yes, is user signed in?
We should go to, yeah, at this point,
we could just navigate it to the entry.
And you can, this could be a little different.
Yes, it would do the same thing.
If you want to do logged in redirect,
it would basically say, oh, wait, you're not logged out.
So let's click on that and go back to here.
Let's see what happens on the log.
More issue.
Yeah, yeah.
So we probably, so is user logged in?
It just sends you to the logged in redirect.
Hang on, wait, that's, what?
Is it sending it to itself?
Wait, hang on a second.
Logged in redirect.
Is user logged in?
OK, that's a mistake.
Let's just see.
That's actually a mistake in here, I think.
That's where I copied it.
Oh, no, see, this is group.
Oh, OK, yeah, yeah, OK.
Now it should go to the main page.
Yeah, we don't want it to go here.
We can, so what I'm going to do is just, if they're logged out,
I'm just going to send them to the log.
login page, which is the entry page.
And I'm gonna remove all these things here.
Okay, okay.
So this is a little bit different
because I happen to know that that client
has a version where you can actually use the app
without an account.
Whereas this client, they want everybody to be an account,
they have an account.
So it's a little different.
Okay, let's keep going.
What do we got?
Two, okay, cool.
It's getting down to two.
So if I click on this, and just,
so it's highlighting it here, but I'm looking around.
So you can see this one's kind of highlighted in purple.
That's how we know what we're looking at.
Oops, undo that, cool.
Okay, so in here, it's saying first thing,
and it's looking for the same response,
a get status response.
If I click into this one,
it's saying that if I go in here,
and under my response here,
it doesn't have the Firebase user ID.
And this is, what is this called?
This is a get status.
So let's go over to this one.
We're definitely throwing you in the deep end here
because-
I can see it.
This is very, oh yeah.
It's sending me now, yeah.
Oh yeah, yeah, there we go.
Response.
So here, we just don't,
we didn't have this tribe face.
Same problem as the other one.
Again, I'm just gonna paste that.
Copy this.
Paste that.
Okay, and I'll just double check that.
Again, let's save this.
That should fix that problem.
Goes to one.
And then this last problem here,
it just says custom function.
So what happens is,
every time you make big changes in Flutter flow,
it panics and says it needs to run like a compiling thing.
So if you click on it and you just wait,
there you go.
We're bug free now.
It just wants to go run like a little validation.
Like it's like a lint,
essentially for all your custom functions.
But what happened is when a lot of stuff changes
or database things change or all of that,
it wants to go do that again.
Why it doesn't just run it behind the scenes for you
when it needs it, I don't know.
It needs you to click on it and be like,
hey, check this again for errors.
And then when it's free, it's actually will work.
So the last thing that we'll do is we have,
and I'm probably going to go ahead and like pause.
So at this point, it's actually has that
we have a usable app.
We've got all the bugs fixed.
And there's one last step that we will do.
And I'll do this in another videos, how to update.
Currently, all the calls are still using this token.
And I know that because if I deleted this,
we'd have 60 errors that would pop up roughly.
So the last piece which I'll do in this next video
is we will delete this and then we'll go update
all the routes to now use that new token
that's stored in the user of Firebase.
That's what we want to do.