Skip to content

Pinkesh/navigation #38

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Jun 27, 2024
Merged

Pinkesh/navigation #38

merged 12 commits into from
Jun 27, 2024

Conversation

pinkeshmars
Copy link
Collaborator

Description

Navigation & Routing

Linear ticket and magic word Fixes DEVR-384

Type of change

  • Typo fix
  • New feature
  • Removed outdated references

@pinkeshmars pinkeshmars requested a review from PoojaB26 June 11, 2024 08:34
Copy link

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@github-actions github-actions bot requested a review from leighajarett June 11, 2024 08:34
Copy link
Collaborator

@PoojaB26 PoojaB26 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit changes mostly, but one big change is questioning the Passing Data page since its mostly copy paste and we already have Navigation section in Pages that we can move to here and remove any copy paste content for this topic.


## What are Routes?

**Routing** refers to the mechanism of defining paths or routes for different screens in an app. Each screen is associated with a unique route name, making it easier to navigate to that screen on events like button clicks. In FlutterFlow, routes are automatically assigned to pages when they are created.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Routing or Routes?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated to 'Routing'

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was Routing before as well. But the confusion is you write the heading with "What are Routes" but start the paragraph with "Routing is..." and maybe you explain routing but not what routes are (you do explain what we can do with routes, or how its assigned etc but some fundamental starting points are missing in this paragraph)

Please add a starting line like "Routes are ..... and Routing is the process of ...." or something similar.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, updated. I think this is more clear now. Also, removed routing to avoid any confusion.


**Routing** refers to the mechanism of defining paths or routes for different screens in an app. Each screen is associated with a unique route name, making it easier to navigate to that screen on events like button clicks. In FlutterFlow, routes are automatically assigned to pages when they are created.

For example, if you have a home screen, a login screen, and a profile screen, each of these screens will be defined as separate routes in your FlutterFlow project.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mention routing name examples too

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I didn't get this!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

give an example like in the ecommerce demo app, product list page has route name like /productListPage. So provide such examples of how the route names are written.

Screenshot 2024-06-27 at 12 16 15 AM

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, added.


The figure below illustrates the data passing flow:

![passing-data-2](imgs/passing-data-2.avif)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This image is very tiny btw, is this from old docs directly? Or we merged the 3 imgs together for the new docs? If latter, can we increase the size and maybe move the 3rd step to next row?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The image is directly from the old docs.

Copy link
Collaborator Author

@pinkeshmars pinkeshmars Jun 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update: This is removed now and updated with your page navigation content.


Let's see what all types of data you can pass and when to use them:

- **Integer**: To pass numbers such as 100, 4302, 50000, etc.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Im wondering if we need this section. This is a given in almost any section that takes a parameter or argument and its impossible or redundant to mention this list everywhere and also constantly update it as we add more types. I feel should just remove this section.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done! removed.

Let's see how to send the typed message to the next page.
![passing-data-next-page](imgs/passing-data-next-page.gif)

The steps to pass data from one page to another are as follows:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm confused why we need this Page copy pasted, doesnt the "Navigation betweeen Pages" section also talk about page parameters? Maybe we move the section from there to here and add any small bits if left? (and add a small note in Pages section about navigation like we did for test / run mode section). Maybe add only one example for data type passing or document passing and it should be good to go, the examples here also dont have great UI so maybe we just skip the page here and take it from Pages section? Wdyt?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree! Moved the "Navigation betweeen Pages" content here + some refactoring + minor content tweaks so the pages mix well here.

2. [Customize the PageView](#customizing) widget and add buttons to go to the previous and next pages.
3. Now select any button and define the [Control Page View action](#).

### Show/Hide widget
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For now lets remove these links, we will add a note admonition later to most widgets once we have all the sections written and it will look like:

See more:
Responsivenes....
etc
etc

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

</iframe>
</div>

### Show/Hide widget
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as page view.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

</iframe>
</div>

### Show/Hide widget
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as pageview

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!


This URL scheme for loading up a webpage can be defined in this format:

#### Scheme
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One liner explanation of what scheme is should complete this section.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe add in the top before this

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

@pinkeshmars
Copy link
Collaborator Author

Hey @PoojaB26 I am done addressing the review comments. You can take a look now. Thanks.

Copy link
Collaborator

@PoojaB26 PoojaB26 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor changes requested! you can merge after addressing them

@@ -20,15 +20,15 @@ This section allows you to define and manage parameters that your page can
receive from other pages of the app. Parameters are essentially variables that
hold values which can be passed between pages. For example, you might pass a
user ID from a list page to a detail page to display specific information about
that user.
that user. Learn more about passing data between pages [here](../../../ff-concepts/navigation-routing/passing-data).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be a admonition
:::info[LEARN MORE]

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!


### Route Settings

In FlutterFlow, Route Settings are essential for defining how pages within your
application are accessed and interacted with. These settings allow you to
customize the URL paths for web and mobile deep linking, set meaningful Page
Names as unique identifiers, integrate dynamic parameters into your routes, and
set access restrictions based on user authentication.
set access restrictions based on user authentication. Learn more about Routing [here](../../../ff-concepts/navigation-routing/overview).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be a admonition
:::info[LEARN MORE]

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!


As you build your app, you'll often encounter the need to pass through or transfer data from one page to another. For instance, when a user taps on a product item, you may want to send product data to the next page to display its details.

## How to pass data
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of a question, we should name it the "Page parameters" header because its easier to find via SEO (people will mostly search for page parameters when they encounter it in FF) and also straightaway defines what the section is about.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

enabling the new page to function as intended based on the specific needs and
inputs from a previous interaction.

## What you can pass
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe rename it to "Allowed Data Types" or something similar?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, updated.


## What are Routes?

**Routing** refers to the mechanism of defining paths or routes for different screens in an app. Each screen is associated with a unique route name, making it easier to navigate to that screen on events like button clicks. In FlutterFlow, routes are automatically assigned to pages when they are created.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was Routing before as well. But the confusion is you write the heading with "What are Routes" but start the paragraph with "Routing is..." and maybe you explain routing but not what routes are (you do explain what we can do with routes, or how its assigned etc but some fundamental starting points are missing in this paragraph)

Please add a starting line like "Routes are ..... and Routing is the process of ...." or something similar.


**Routing** refers to the mechanism of defining paths or routes for different screens in an app. Each screen is associated with a unique route name, making it easier to navigate to that screen on events like button clicks. In FlutterFlow, routes are automatically assigned to pages when they are created.

For example, if you have a home screen, a login screen, and a profile screen, each of these screens will be defined as separate routes in your FlutterFlow project.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

give an example like in the ecommerce demo app, product list page has route name like /productListPage. So provide such examples of how the route names are written.

Screenshot 2024-06-27 at 12 16 15 AM

@pinkeshmars
Copy link
Collaborator Author

@PoojaB26 your latest review comments are incorporated now! Going to merge this.

@pinkeshmars pinkeshmars merged commit 1b09a35 into main Jun 27, 2024
@PoojaB26 PoojaB26 deleted the pinkesh/navigation branch October 2, 2024 06:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants