From cfe23290a037e259408847e1bd17ad48ef1c5728 Mon Sep 17 00:00:00 2001 From: PoojaB26 Date: Fri, 26 Jul 2024 19:31:54 +0530 Subject: [PATCH 1/5] Fix more links --- .../adding-customization/cloud-functions.md | 4 ++-- docs/ff-concepts/design-system/design-system.md | 3 ++- .../authentication/authentication-types.md | 4 ++-- .../authentication/generated-code.md | 4 ++-- .../authentication/supabase-auth/auth-actions.md | 6 +++--- .../authentication/supabase-auth/email-supabase.md | 14 +++++++------- .../authentication/supabase-auth/initial-setup.md | 6 +++--- .../database/local-sql/sqlite/quickstart.md | 2 +- .../database/supabase/_category_.json | 3 +++ .../{Supabase => supabase}/database-actions.md | 12 +++++------- docs/ff-integrations/gemini/gemini.md | 3 +-- .../notifications/one-signal/one-signal.md | 2 +- .../push-notifications/getting-started.md | 2 +- .../ff-integrations/streaming/mux/integrate-mux.md | 2 +- docs/ff-integrations/supabase/supabase-setup.md | 8 ++++---- docs/intro/ff-ui/widget-palette.md | 4 ++-- .../control-flow/backend-logic/api/rest-api.md | 8 ++++---- .../backend-logic/backend-query/backend-query.md | 8 ++++---- .../control-flow/functions/action-blocks.md | 2 +- .../control-flow/functions/utility-functions.md | 6 +++--- .../user-interactivity/forms/form-validation.md | 8 ++++---- .../forms/form-widgets/text-field.md | 6 +++--- .../components/built-in-components/draggable.md | 4 ++-- .../components/built-in-components/pincode.md | 4 ++-- .../components/built-in-components/slider.md | 2 +- .../ui-building-blocks/components/overview.md | 2 +- .../user-defined-components/getting-started.md | 8 +++++--- .../widgets/built-in-widgets/text.md | 2 +- .../widgets/widget-commonalities.md | 4 ++-- .../publishing/apple-appstore-deployment.md | 6 +++--- .../publishing/google-playstore-deployment.md | 6 +++--- .../publishing/pre-checks-publishing.md | 10 +++++----- .../publishing/web-publishing.md | 13 +++++++------ .../running-your-app/local-run.md | 4 ++-- 34 files changed, 93 insertions(+), 89 deletions(-) create mode 100644 docs/ff-integrations/database/supabase/_category_.json rename docs/ff-integrations/database/{Supabase => supabase}/database-actions.md (95%) diff --git a/docs/ff-concepts/adding-customization/cloud-functions.md b/docs/ff-concepts/adding-customization/cloud-functions.md index cdb4e446..e8b909dc 100644 --- a/docs/ff-concepts/adding-customization/cloud-functions.md +++ b/docs/ff-concepts/adding-customization/cloud-functions.md @@ -67,7 +67,7 @@ Also, see how to [build a page layout](/widgets-and-components/ui-and-layout-101 Few things to note here: -* We use the [ConditionalBuilder](/widgets-and-components/widgets/base-elements/conditionalbuilder) widget to show/hide the loading indicator based on the *generatingImage* variable. **Tip**: The Else branch of this widget is nothing but a ProgressBar inside the Container with a [rotating loop animation](/widgets-and-components/animations#4.-rotate). +* We use the [**ConditionalBuilder**](../layout/responsive-widgets/conditional-builder-widget.md) widget to show/hide the loading indicator based on the *generatingImage* variable. **Tip**: The Else branch of this widget is nothing but a ProgressBar inside the Container with a [rotating loop animation](../animations/widget_animations.md). * The Image widget uses the *logoImage* variable to display the logo. ### 3. Create and deploy Cloud Function @@ -230,7 +230,7 @@ To add a dependency, open the `package.json` file and specify your package in th ### 5. Trigger Cloud Function -The newly created *Cloud Function* will be available as an action when you are adding one. For this example, on click of a button, we'll first set the *generatingImage*to *True* and then [trigger the Cloud Function](/actions/actions/cloud-function). +The newly created *Cloud Function* will be available as an action when you are adding one. For this example, on click of a button, we'll first set the *generatingImage*to *True* and then trigger the **Cloud Function Action**.
diff --git a/docs/ff-concepts/design-system/design-system.md b/docs/ff-concepts/design-system/design-system.md index 784bf731..5c464b3f 100644 --- a/docs/ff-concepts/design-system/design-system.md +++ b/docs/ff-concepts/design-system/design-system.md @@ -79,9 +79,10 @@ To create your own design system:

+ 6. To use the design system, open your project and navigate to **Theme Settings > Design System**. 7. Click on the **No Design System Selected**. -8. A pop will open displaying the list of the design systems, click on the newly created design system to add it to your project. **Note** that the design system created in [My Organization](#) will also be available here. +8. A pop will open displaying the list of the design systems, click on the newly created design system to add it to your project. **Note** that the design system created in [My Organization](../../resources/projects/how-to-collaborate-on-projects.md#sharing-a-project-with-an-organization) will also be available here. :::info diff --git a/docs/ff-integrations/authentication/authentication-types.md b/docs/ff-integrations/authentication/authentication-types.md index 6fcb3f3f..c6cf215c 100644 --- a/docs/ff-integrations/authentication/authentication-types.md +++ b/docs/ff-integrations/authentication/authentication-types.md @@ -1,8 +1,8 @@ --- slug: /integrations/authentication-types title: Auth Services -description: Learn about integrating various authentication services like Firebase, Supabase, and Custom Authentication in FlutterFlow. -keywords: [FlutterFlow, Authentication, Firebase, Supabase, Custom Authentication, App Settings] +description: Learn about integrating various authentication services like Firebase, supabase, and Custom Authentication in FlutterFlow. +keywords: [FlutterFlow, Authentication, Firebase, supabase, Custom Authentication, App Settings] sidebar_position: 1 --- diff --git a/docs/ff-integrations/authentication/generated-code.md b/docs/ff-integrations/authentication/generated-code.md index efabc27b..50cfdad7 100644 --- a/docs/ff-integrations/authentication/generated-code.md +++ b/docs/ff-integrations/authentication/generated-code.md @@ -2,8 +2,8 @@ slug: /integrations/authentication/generated-code title: Generated Code description: Learn about the generated code behind enabling authentication in FlutterFlow. -tags: [FlutterFlow, Authentication, Generated Code, Custom Authentication, Firebase, Supabase] -keywords: [FlutterFlow, Authentication, Generated Code, Custom Authentication, Firebase, Supabase] +tags: [FlutterFlow, Authentication, Generated Code, Custom Authentication, Firebase, supabase] +keywords: [FlutterFlow, Authentication, Generated Code, Custom Authentication, Firebase, supabase] sidebar_label: Generated Code --- diff --git a/docs/ff-integrations/authentication/supabase-auth/auth-actions.md b/docs/ff-integrations/authentication/supabase-auth/auth-actions.md index 9d59c7db..fb7f5e37 100644 --- a/docs/ff-integrations/authentication/supabase-auth/auth-actions.md +++ b/docs/ff-integrations/authentication/supabase-auth/auth-actions.md @@ -1,10 +1,10 @@ --- slug: /integrations/authentication/supabase/auth-actions title: Auth Actions -description: Learn how to add Supabase authentication actions in your FlutterFlow app. -tags: [FlutterFlow, Auth Actions, Authentication, Supabase] +description: Learn how to add supabase authentication actions in your FlutterFlow app. +tags: [FlutterFlow, Auth Actions, Authentication, supabase] sidebar_position: 1 -keywords: [FlutterFlow, Auth Actions, Authentication, Supabase] +keywords: [FlutterFlow, Auth Actions, Authentication, supabase] --- # Authentication Actions diff --git a/docs/ff-integrations/authentication/supabase-auth/email-supabase.md b/docs/ff-integrations/authentication/supabase-auth/email-supabase.md index efbd314d..9f73c75b 100644 --- a/docs/ff-integrations/authentication/supabase-auth/email-supabase.md +++ b/docs/ff-integrations/authentication/supabase-auth/email-supabase.md @@ -1,10 +1,10 @@ --- slug: /integrations/authentication/supabase/email-authentication title: Email Authentication -description: Learn how to integrate Email Login of Supabase Auth into your FlutterFlow app. -tags: [FlutterFlow, Email Authentication, Authentication, Supabase] +description: Learn how to integrate Email Login of supabase Auth into your FlutterFlow app. +tags: [FlutterFlow, Email Authentication, Authentication, supabase] sidebar_position: 2 -keywords: [FlutterFlow, Email Authentication, Authentication, Supabase] +keywords: [FlutterFlow, Email Authentication, Authentication, supabase] --- # Email Authentication @@ -61,8 +61,8 @@ Also, see how to build a page layout in case you want to build a page from scrat Now, you can proceed to add an account creation flow, which basically consists of three actions in the following order: -1. Supabase [Create Account Action](/actions/actions/backend-database/supabase-authentication/create-account#email-signup) -2. Supabase [Insert row action](/actions/actions/backend-database/supabase#1.-insert-row-action) +1. Supabase [Create Account Action](auth-actions.md#create-account-action) +2. Supabase [Insert row action](../../database/supabase/database-actions.md#insert-row-action) 3. [Navigate](../../../ff-concepts/navigation-routing/nav-overview.md) action The first one creates an account in Supabase and adds an email and password in the "auth.users" table (i.e., *Protected schemas > schema auth*). However, this action does not create an entry in the "users" table you created [here](/data-and-backend/supabase/supabase-authentication/initial-setup#1.-creating-a-users-table). To do so, you need to add another action called Supabase *insert row* action with the user's details, such as email and profile_pic. Once the entry has been created, you can navigate to the home page using the navigate action. @@ -79,11 +79,11 @@ Here's how it looks: ### Adding Log In [Action] -To allow users to log in with their credentials, you can use [this](/actions/actions/backend-database/supabase-authentication/log-in#email-login) action. +To allow users to log in with their credentials, you can use [this](auth-actions.md#log-in-action) action. ### Adding Logout [Action] -To let users log out of your app, you can use [this](/actions/actions/backend-database/supabase-authentication/log-out) action. +To let users log out of your app, you can use [this](auth-actions.md#log-out-action) action. ### Verify user creation diff --git a/docs/ff-integrations/authentication/supabase-auth/initial-setup.md b/docs/ff-integrations/authentication/supabase-auth/initial-setup.md index cd105bdb..a6bf55e9 100644 --- a/docs/ff-integrations/authentication/supabase-auth/initial-setup.md +++ b/docs/ff-integrations/authentication/supabase-auth/initial-setup.md @@ -1,10 +1,10 @@ --- slug: /integrations/authentication/supabase/initial-setup title: Initial Setup -description: Learn how to perform the initial setup for Supabase authentication in your FlutterFlow app. -tags: [FlutterFlow, Initial Setup, Authentication, Supabase] +description: Learn how to perform the initial setup for supabase authentication in your FlutterFlow app. +tags: [FlutterFlow, Initial Setup, Authentication, supabase] sidebar_position: 0 -keywords: [FlutterFlow, Initial Setup, Authentication, Supabase] +keywords: [FlutterFlow, Initial Setup, Authentication, supabase] --- # Initial Setup diff --git a/docs/ff-integrations/database/local-sql/sqlite/quickstart.md b/docs/ff-integrations/database/local-sql/sqlite/quickstart.md index dda63e75..d21fd200 100644 --- a/docs/ff-integrations/database/local-sql/sqlite/quickstart.md +++ b/docs/ff-integrations/database/local-sql/sqlite/quickstart.md @@ -224,7 +224,7 @@ com/embed/35564ad5e8be4f58aa72527bc6818183?sid=2740d823-df42-49c3-ae54-8e0e95a72 ## 7. Delete note -You can delete an existing note from the database using the [SQLite query action](/actions/actions/backend-database/sqlite-query) with the type set to *Update Query* and Query Name to [DeleteNote](/settings-and-integrations/integrations/sqlite#id-4.-deletenote). +You can delete an existing note from the database using the [SQLite query action](../../../../resources/control-flow/backend-logic/backend-query/sqlite-query.md) with the type set to *Update Query* and Query Name to **Delete Note**. :::tip[Pro Tip] To refresh the page, simply add an [**Update App State Action**](../../../../resources/data-representation/app-state.md) Action with the Update Type set diff --git a/docs/ff-integrations/database/supabase/_category_.json b/docs/ff-integrations/database/supabase/_category_.json new file mode 100644 index 00000000..603fa9f6 --- /dev/null +++ b/docs/ff-integrations/database/supabase/_category_.json @@ -0,0 +1,3 @@ +{ + "label": "Supabase" +} \ No newline at end of file diff --git a/docs/ff-integrations/database/Supabase/database-actions.md b/docs/ff-integrations/database/supabase/database-actions.md similarity index 95% rename from docs/ff-integrations/database/Supabase/database-actions.md rename to docs/ff-integrations/database/supabase/database-actions.md index 265bc71e..33b5dc64 100644 --- a/docs/ff-integrations/database/Supabase/database-actions.md +++ b/docs/ff-integrations/database/supabase/database-actions.md @@ -1,10 +1,10 @@ --- slug: /integrations/database/supabase/database-actions title: Database Actions -description: Learn about Supabase database actions in your FlutterFlow app, including how to perform various database operations. -tags: [FlutterFlow, Supabase, Database, Actions] +description: Learn about supabase database actions in your FlutterFlow app, including how to perform various database operations. +tags: [FlutterFlow, supabase, Database, Actions] sidebar_position: 1 -keywords: [FlutterFlow, Supabase, Database, Actions] +keywords: [FlutterFlow, supabase, Database, Actions] toc_max_heading_level: 5 --- @@ -80,17 +80,15 @@ com/embed/f2a75f9b0e144f6aab06cc1f0965541b?sid=6f57ff8a-ca2a-4c47-833d-03fa928b8 8. Similarly, add the field for the other UI elements. - - - :::tip[How to & Tips]

+ If you have a flow like this, *HomePage* -> *AssignmentDetailsPage* -> -*UpdateAssignmentPage*, you can enable the **Replace Route** option (see point no. 5 [here](/actions/actions/navigation/navigate)) when you navigate from *AssignmentDetailsPage* to *UpdateAssignmentPage*. And then chain the [Navigate Back](/actions/actions/navigation/navigate-back#adding-navigate-back-action) action after the update action. This will directly open the *HomePage* after the row is updated. +*UpdateAssignmentPage*, you can enable the **Replace Route** option (see point no. 5 [here](../../../ff-concepts/navigation-routing/page-navigation.md#navigate-to-action)) when you navigate from *AssignmentDetailsPage* to *UpdateAssignmentPage*. And then chain the [Navigate Back](../../../ff-concepts/navigation-routing/page-navigation.md#navigate-back-action) action after the update action. This will directly open the *HomePage* after the row is updated. ::: diff --git a/docs/ff-integrations/gemini/gemini.md b/docs/ff-integrations/gemini/gemini.md index c8e258d4..7b1ea0f3 100644 --- a/docs/ff-integrations/gemini/gemini.md +++ b/docs/ff-integrations/gemini/gemini.md @@ -92,8 +92,7 @@ This action enables your app to analyze images and generate descriptive text abo * **Input**: *Text prompt* - "Identify the object in the image?" * **Input**: *Image Type* - There are two ways you can provide an image. - - + **Image Network URL**: You can provide the URL of the image hosted on the internet. If you upload an image to [Firebase](/actions/actions/utilities/upload-data#id-1.-firebase) or [Supabase](/actions/actions/utilities/upload-data#id-2.-supabase), you can provide the image via ***Widget State > Uploaded File URL****.* + + **Image Network URL**: You can provide the URL of the image hosted on the internet. If you upload an image to **Firebase** or **Supabase**, you can provide the image via ***Widget State > Uploaded File URL****.* + **Uploaded Image File**: You can also provide an image file directly [from your device](/actions/actions/utilities/upload-data#id-3.-local-upload-widget-state) via ***Widget State > Uploaded Local File****.* * **Output**: *Action Output Variable Name* - "This is a pipe organ. It is a large musical instrument that is used in churches, concert halls, and other large buildings. The sound of a pipe organ is very powerful and can be used to create a wide variety of music." diff --git a/docs/ff-integrations/notifications/one-signal/one-signal.md b/docs/ff-integrations/notifications/one-signal/one-signal.md index 49a08636..e4f71c17 100644 --- a/docs/ff-integrations/notifications/one-signal/one-signal.md +++ b/docs/ff-integrations/notifications/one-signal/one-signal.md @@ -62,7 +62,7 @@ com/embed/55a72de8e15e418581cc8b49fc108b12?sid=052ead4c-96e4-4e9a-95c5-40162eb0d
-4. Now, at appropriate event in your app, you can [add an action](/actions/actions/integrations/onesignal#adding-onesignal-action) that adds the user to the OneSignal's subscription. +4. Now, at appropriate event in your app, you can [add an action](#adding-onesignal-action) that adds the user to the OneSignal's subscription. 5. To test SMS functionality, follow the continuation of the instructions in the [SMS documentation](https://documentation.onesignal.com/docs/sending-sms-messages#sending-sms-notifications-from-dashboard). diff --git a/docs/ff-integrations/notifications/push-notifications/getting-started.md b/docs/ff-integrations/notifications/push-notifications/getting-started.md index a383cc5f..8d4bf09e 100644 --- a/docs/ff-integrations/notifications/push-notifications/getting-started.md +++ b/docs/ff-integrations/notifications/push-notifications/getting-started.md @@ -208,7 +208,7 @@ com/embed/f6a0aa69b9274b1c965a85d72dcfdda5?sid=dfdebe15-61bf-4bf1-8cd6-238c7b9a5 You might want to send a push notification when something happens in your app. For example, sending a push notification on a message sent, a push notification on a new appointment booked, a push notification on a price change, etc. -You can send the push notification on such event occurrence by adding the [Trigger Push Notification](/actions/actions/alerts-notifications/trigger-push-notification-action) action. +You can send the push notification on such event occurrence by adding the **Trigger Push Notification** action. For demonstration purposes, consider an example of sending a push notification to a post creator when someone comments on a post. diff --git a/docs/ff-integrations/streaming/mux/integrate-mux.md b/docs/ff-integrations/streaming/mux/integrate-mux.md index 78a6b56c..f1854fe5 100644 --- a/docs/ff-integrations/streaming/mux/integrate-mux.md +++ b/docs/ff-integrations/streaming/mux/integrate-mux.md @@ -244,7 +244,7 @@ False. To do so: 3. Under the **On Broadcast Stop:** - Add - the [Update Document](/actions/actions/backend-database/firestore#2.-defining-update-document-action) + the [Update Document](../../database/cloud-firestore/firestore-actions.md#update-document-action) action. - Set the reference to Action Outputs > broadcastOutput (action output variable name set in previous step) > Reference. diff --git a/docs/ff-integrations/supabase/supabase-setup.md b/docs/ff-integrations/supabase/supabase-setup.md index d72029bb..c36739a2 100644 --- a/docs/ff-integrations/supabase/supabase-setup.md +++ b/docs/ff-integrations/supabase/supabase-setup.md @@ -1,10 +1,10 @@ --- slug: /integrations/supabase/setup -title: Supabase Setup -description: Learn how to set up Supabase in your FlutterFlow app for database and authentication functionalities. -tags: [Supabase, Setup, Integration] +title: supabase Setup +description: Learn how to set up supabase in your FlutterFlow app for database and authentication functionalities. +tags: [supabase, Setup, Integration] sidebar_position: 1 -keywords: [FlutterFlow, Supabase, Setup, Integration] +keywords: [FlutterFlow, supabase, Setup, Integration] --- # Supabase Setup diff --git a/docs/intro/ff-ui/widget-palette.md b/docs/intro/ff-ui/widget-palette.md index ab827bfc..45c01b6f 100644 --- a/docs/intro/ff-ui/widget-palette.md +++ b/docs/intro/ff-ui/widget-palette.md @@ -19,11 +19,11 @@ From the Widgets tab, you can access all standard FlutterFlow widgets. They are ## 2. Components -Components are widgets with certain functionalities that can be reused throughout your app. They are constructed from either standard or custom widgets. Once you have created a [component](#) or [custom widget](../../ff-concepts/adding-customization/custom-widgets.md), you can access it from here. +Components are widgets with certain functionalities that can be reused throughout your app. They are constructed from either standard or custom widgets. Once you have created a [component](../../resources/ui-building-blocks/components/user-defined-components/getting-started.md) or [custom widget](../../ff-concepts/adding-customization/custom-widgets.md), you can access it from here. ## 3. Templates -Templates are predefined and ready-to-use widgets. These include UI elements that are commonly used in most apps and can serve as a starting point in creating parts of the user interface. You can also [create your own templates](#) from the standard widget. +Templates are predefined and ready-to-use widgets. These include UI elements that are commonly used in most apps and can serve as a starting point in creating parts of the user interface. You can also create your own templates from the standard widget. ## 4. Theme Widgets diff --git a/docs/resources/control-flow/backend-logic/api/rest-api.md b/docs/resources/control-flow/backend-logic/api/rest-api.md index 2c9ff34f..693fd43e 100644 --- a/docs/resources/control-flow/backend-logic/api/rest-api.md +++ b/docs/resources/control-flow/backend-logic/api/rest-api.md @@ -141,7 +141,7 @@ Sometimes you might want to retrieve the values of the response headers. For exa To access the response header: -1. Ensure you have added the [API call action](/actions/actions/backend-database/api-call) and +1. Ensure you have added the [API call action](../api/rest-api.md) and provided the **Action Output Variable Name**. 2. Now, whenever/wherever the **Value Source** is set to **From Variable**, select the **Action Outputs > [Action Output Variable Name]** (e.g., Action Outputs > loginResponse). 3. Set the **API Response Options** to **Get Response Header**. @@ -303,7 +303,7 @@ To create a request body in the multipart format: 1. Select the **Body** tab and set the *Body* dropdown to **Multipart**. 2. Click on the **+ Add Parameter** and enter the **Name** of the parameter. 3. Set the **Value Source** to **From Variable,** and then from the **Select Variable** dropdown, click on **+ Create New Variable**. Note: This will immediately create a new variable with the same name as of parameter. -4. Now move to the **Variables** tab and set the **Type** to **Uploaded File**. This will allow you to pass the file stored locally on the device using an action such as [Upload/Save Media](/actions/actions/utilities/upload-data/upload-save-media). +4. Now move to the **Variables** tab and set the **Type** to **Uploaded File**. This will allow you to pass the file stored locally on the device using an action such as **Upload/Save Media**.
@@ -351,7 +351,7 @@ Here's how you do it:

-3. On ListView, after adding the [API call backend query](docs/resources/control-flow/backend-logic/backend-query/api-call-query.md), access the values by setting the following options. +3. On ListView, after adding the [API call backend query](../../../../resources/control-flow/backend-logic/backend-query/api-call-query.md), access the values by setting the following options. 1. **Generate Children from Variable** by setting **API Response Options** to **As Data Type**. 2. Set **Available Options** to **Data Structure Field** because we want to grab only a specific field, which has a list of products and not other items such as 'total' and 'skip'. @@ -698,7 +698,7 @@ It acts as a middleman between your app and the API server. So, when you make an Let's see how to add an interceptor: 1. Navigate to the **Advanced Settings** tab. -2. Click on **+ Add Interceptors** and select **+ Create New Interceptor** to open the [Custom Action](/customizing-your-app/custom-functions/custom-actions) editor. +2. Click on **+ Add Interceptors** and select **+ Create New Interceptor** to open the [Custom Action](../../../../ff-concepts/adding-customization/custom-actions.md) editor. 3. Enter the **Action Name**. 4. In the boilerplate code, add your custom code within the `onRequest` function for request interception and modification and within the `onResponse` function for response interception and modification. diff --git a/docs/resources/control-flow/backend-logic/backend-query/backend-query.md b/docs/resources/control-flow/backend-logic/backend-query/backend-query.md index e481b317..dcd00259 100644 --- a/docs/resources/control-flow/backend-logic/backend-query/backend-query.md +++ b/docs/resources/control-flow/backend-logic/backend-query/backend-query.md @@ -75,9 +75,9 @@ To change the loading indicator: 1. Ensure you have added a backend query. 2. Open the **Backend Query** section (on the right side) and scroll down to the **Backend Query Loading Widget**. Open it by clicking on the arrow icon. -3. Set the **Loading Widget Type** to **Image**. You can also choose a [**Component**](/widgets-and-components/custom-components) if you have already designed a loading component. +3. Set the **Loading Widget Type** to **Image**. You can also choose a [**Component**](../../../../resources/ui-building-blocks/components/user-defined-components/getting-started.md) if you have already designed a loading component. 4. Enable the **View in UI Builder**. This allows you to see your custom loading indicator on canvas (before you actually run the app). -5. Choose the **Image Type**, [add the image](../../../../resources/ui-building-blocks/widgets/widget-commonalities.md#changing-image-type), and adjust its **Padding** and **Width**. +5. Choose the **Image Type**, [add the image](../../../../resources/ui-building-blocks/widgets/built-in-widgets/image.md#image-type), and adjust its **Padding** and **Width**. 6. To show the indicator in the center, turn on the **Center Image** toggle. 7. Run the app, and your custom loading indicator will appear while the data is being loaded. @@ -220,7 +220,7 @@ com/embed/ed9716ec74e542d8a264e87235ce3aec?sid=7b03c276-a8bb-4dbf-9131-acf0a1fa9

1. At this point, we have enabled the caching, but we still have one problem. Once the query is -cached, it will be used forever, although we update the data in our backend. This is because we are not clearing or invalidating the cache at the appropriate time. To properly invalidate the cache, you can use the **Should Override Cache** property OR [**Clear Query Cache**](/actions/actions/state-management/clear-query-cache) action. This helps you remove the cached data that has become stale or outdated. +cached, it will be used forever, although we update the data in our backend. This is because we are not clearing or invalidating the cache at the appropriate time. To properly invalidate the cache, you can use the **Should Override Cache** property OR **Clear Query Cache** action. This helps you remove the cached data that has become stale or outdated. 1. The *Should Override Cache* property accepts a boolean (True/False). That means we can provide a variable (e.g., an *App State* variable named *isCacheOverride)* that knows when to override the cache. So create one and set it here. @@ -242,7 +242,7 @@ page is loaded) and set the *isCacheOverride* variable accordingly. Here is how 1. [Update](/actions/actions/state-management/update-app-state) the **lastCacheTime** with the current time and **isCacheOverride** to True. Make sure you keep the **Update Type** to **Rebuild Current Page** so that the backend query is made again, which will invalidate the cache and display updated data. 2. You can also add an action to [Clear Query Cache](/actions/actions/state-management/clear-query-cache). - 3. Continuing the same action flow, [wait](/actions/actions/utilities/wait) for 1 sec and again update **isCacheOverride** to **False** so that the cached result won't override on page load for the next 30 min. + 3. Continuing the same action flow, [wait](../../../../resources/control-flow/time-based-logic/wait-action.md) for 1 sec and again update **isCacheOverride** to **False** so that the cached result won't override on page load for the next 30 min.
diff --git a/docs/resources/control-flow/functions/action-blocks.md b/docs/resources/control-flow/functions/action-blocks.md index 39f22269..eef77e4c 100644 --- a/docs/resources/control-flow/functions/action-blocks.md +++ b/docs/resources/control-flow/functions/action-blocks.md @@ -32,7 +32,7 @@ Usually, you will see a dropdown to choose between App Level, Page Level, or Com ![action-blocks.png](img/action-blocks.png) -### Input Parameters +### Action Parameters Action Blocks have access to the state variables available in the same scope as the Action Block (for e.g., Page State variables can be accessed from Page Level Action Blocks). However, there diff --git a/docs/resources/control-flow/functions/utility-functions.md b/docs/resources/control-flow/functions/utility-functions.md index 1479e8b7..cbf119ca 100644 --- a/docs/resources/control-flow/functions/utility-functions.md +++ b/docs/resources/control-flow/functions/utility-functions.md @@ -64,8 +64,8 @@ values with different text styles for each, consider using the **RichText** widg ## Code Expressions Oftentimes, you may need to quickly format data, convert a data type from one form to another, -or perform a simple calculation before setting the variable to a data source, such as a [widget -value source](#) or an [action parameter](#). +or perform a simple calculation before setting the variable to a data source, such as a widget +value source. **Code Expression** built-in functions can help with these tasks. A code expression is a piece of code that combines operators, variables, and/or values @@ -153,5 +153,5 @@ Here are some common expressions you can use for your business logic: You can also use custom functions to handle slightly more complex calculations or to process a wider range of data types that are not supported in Code Expression. :::info -To learn more about Custom Functions, **[refer](#)** here. +Learn more about [**Custom Functions**](../../../ff-concepts/adding-customization/custom-functions.md). ::: \ No newline at end of file diff --git a/docs/resources/control-flow/user-interactivity/forms/form-validation.md b/docs/resources/control-flow/user-interactivity/forms/form-validation.md index c496da4e..d542cd0d 100644 --- a/docs/resources/control-flow/user-interactivity/forms/form-validation.md +++ b/docs/resources/control-flow/user-interactivity/forms/form-validation.md @@ -55,10 +55,10 @@ Building and validating a *Form* includes the following steps: A form widget can only validate if there are any input fields. Here's an example of adding input fields for the signup form. 1. First, add the **Form** widget itself from the **Form Elements**. -2. Inside the form, add the [**Column**](#) widget from the **Layout Elements** tab. -3. Now, add two [**TextFields**](form-widgets/textfield) (one for email and one for password). -4. Add a [**Button**](#) widget and then add [Date/Time Picker](#) action to get the date of birth. -5. Add one more [**Button**](#) to validate and submit the form. +2. Inside the form, add the **Column** widget from the **Layout Elements** tab. +3. Now, add two [**TextFields**](form-widgets/text-field.md) (one for email and one for password). +4. Add a **Button** widget and then add **Date/Time Picker** action to get the date of birth. +5. Add one more **Button** to validate and submit the form. Here's how it looks: diff --git a/docs/resources/control-flow/user-interactivity/forms/form-widgets/text-field.md b/docs/resources/control-flow/user-interactivity/forms/form-widgets/text-field.md index 431e4456..9b624fe4 100644 --- a/docs/resources/control-flow/user-interactivity/forms/form-widgets/text-field.md +++ b/docs/resources/control-flow/user-interactivity/forms/form-widgets/text-field.md @@ -307,7 +307,7 @@ To reduce TextField's height to as minimum as possible, select the TextField wid ### Changing error message styling -You can also change the text styling for the error message. To do so, head over to **Properties Panel > Input Decoration Properties >** enable **Custom Error Style** and [change the text styling](#). +You can also change the text styling for the error message. To do so, head over to **Properties Panel > Input Decoration Properties >** enable **Custom Error Style** and [change the text styling](../../../../../resources/ui-building-blocks/widgets/built-in-widgets/text.md#common-text-styling-properties). ![changing-error-message-styling](../../imgs/changing-error-message-styling.avif) @@ -317,7 +317,7 @@ You might want to add an icon inside the TextField, either at the start or end. To add a leading or trailing icon, move to the **Properties Panel >** find the **Leading** and **Trailing Icon** property > Click on the **None** button **>** search and select the icon. -You can also [customize the icon's size and color](#). +You can also customize the icon's size and color. ![adding-icon](../../imgs/adding-icon.avif) @@ -683,7 +683,7 @@ To check user input for certain criteria or requirements (e.g., email), see *ste ### Validating input -You can validate the TextField value by wrapping it inside the [Form](../forms/form-validation) widget and adding the validation criteria. +You can validate the TextField value by wrapping it inside the [Form](../form-validation.md) widget and adding the validation criteria. :::tip Filtering ensures that only the allowed characters or values are entered, whereas the validation checks the entire input data against certain criteria. Both techniques can be used together or independently to ensure the correctness of user input in a TextField widget. diff --git a/docs/resources/ui-building-blocks/components/built-in-components/draggable.md b/docs/resources/ui-building-blocks/components/built-in-components/draggable.md index f561290e..4156e9f1 100644 --- a/docs/resources/ui-building-blocks/components/built-in-components/draggable.md +++ b/docs/resources/ui-building-blocks/components/built-in-components/draggable.md @@ -101,8 +101,8 @@ and click **Open**. This will open an **Action Flow Editor** in a new popup wind 1. Select the **On Drag Accept** and select **+ Add Conditional Action**. 5. From the **set variable** menu, select **Drag Target > Dragged Data**. This captures the data of the draggable item that we added in [step 2](/widgets-and-components/widgets/base-elements/draggable-+-dragtarget#id-2.-add-draggable-widgets). 8. Check if the captured data matches the expected item, i.e., plant. - 11. In the **TRUE** branch, you can add a [snackbar message](/actions/actions/alerts-notifications/show-snack-bar) and [update](/actions/actions/state-management/update-page-state) the `isShelfFull` variable to True. This will create an effect like the user has actually dragged and dropped the item onto the shelf. -3. Now, select the **On Drag Exit** andadd an action to [update](/actions/actions/state-management/update-page-state) the `isShelfFull` variable to False. This ensures that if the user decides not to drop the item and moves it away, the shelf image reverts to the empty one. + 11. In the **TRUE** branch, you can add a [snackbar message](../../../ui-building-blocks/pages/page-elements.md#snackbar) and [update](../../../ui-building-blocks/pages/page-lifecycle.md#page-state) the `isShelfFull` variable to True. This will create an effect like the user has actually dragged and dropped the item onto the shelf. +3. Now, select the **On Drag Exit** andadd an action to [update](../../../ui-building-blocks/pages/page-lifecycle.md#page-state) the `isShelfFull` variable to False. This ensures that if the user decides not to drop the item and moves it away, the shelf image reverts to the empty one.
On Drag Accept diff --git a/docs/resources/ui-building-blocks/components/built-in-components/pincode.md b/docs/resources/ui-building-blocks/components/built-in-components/pincode.md index ed1f08f2..ad9341d1 100644 --- a/docs/resources/ui-building-blocks/components/built-in-components/pincode.md +++ b/docs/resources/ui-building-blocks/components/built-in-components/pincode.md @@ -13,7 +13,7 @@ The PinCode widget allows you to enter the PIN or OTP. You could use this widget To add a PinCode widget: -1. Open the [Widget Palette](../../../../intro/flutterflow-ui/widget-palette) and locate the **PinCode** widget under the **Base Elements** tab. You can drag it into your desired location or add it directly from the widget tree or canvas area. +1. Open the [Widget Palette](../../../../intro/ff-ui/widget-palette) and locate the **PinCode** widget under the **Base Elements** tab. You can drag it into your desired location or add it directly from the widget tree or canvas area. 2. To increase the pin length (number of values users can enter), move to the properties panel, see the **Pin Length** property, and enter the value. **Note**: You can only set this value up to 8. 3. If you are using this widget to get a secret PIN from users, you can obscure it with a special character. To do so, enable the **Obscure Text** toggle and select the **Obscuring Character** among the *,-,?, and •. 4. You can also enable/disable the **Hint Text** toggle and select the **Hint Character** displayed when you haven't entered anything. @@ -432,5 +432,5 @@ You can change colors for the different states of the pin fields. To do so: You can show/hide the cursor using the **Show Cursor** toggle and change the color using the **Cursor Color** property. :::info[Clear pin code value] -See how to [**reset the pin code value**](../../../../resources/forms/reset-form-field). +See how to [**reset the pin code value**](../../../../resources/control-flow/user-interactivity/forms/form-actions/reset-form-field.md). ::: \ No newline at end of file diff --git a/docs/resources/ui-building-blocks/components/built-in-components/slider.md b/docs/resources/ui-building-blocks/components/built-in-components/slider.md index 584f6b38..d5d282fa 100644 --- a/docs/resources/ui-building-blocks/components/built-in-components/slider.md +++ b/docs/resources/ui-building-blocks/components/built-in-components/slider.md @@ -300,5 +300,5 @@ To show the slider value: :::info[Trigger action on change] -See how to [**trigger an action when a selection changes**](../../../../../resources/ui-building-blocks/widgets/widget-commonalities#trigger-action-on-selection-change) on this widget. +See how to [**trigger an action when a selection changes**](../../../../resources/ui-building-blocks/widgets/widget-commonalities#trigger-action-on-selection-change) on this widget. ::: \ No newline at end of file diff --git a/docs/resources/ui-building-blocks/components/overview.md b/docs/resources/ui-building-blocks/components/overview.md index dc407960..6a3e71d4 100644 --- a/docs/resources/ui-building-blocks/components/overview.md +++ b/docs/resources/ui-building-blocks/components/overview.md @@ -55,7 +55,7 @@ Leveraging components effectively helps you build a consistent, efficient, and m widgets like `Row`, `Column`, or `Stack` to create a combined widget that serve a specific function, like a `LoginComponent` or a `SearchBar`. -- **Custom Widgets:** For scenarios where more complex functionalities are required, FlutterFlow +- **[Custom Widgets:](../../../ff-concepts/adding-customization/custom-widgets.md)** For scenarios where more complex functionalities are required, FlutterFlow allows you to develop their own Custom Widgets. This involves writing Flutter code from scratch, offering the highest level of customization and flexibility. diff --git a/docs/resources/ui-building-blocks/components/user-defined-components/getting-started.md b/docs/resources/ui-building-blocks/components/user-defined-components/getting-started.md index 3ce2a0de..51003b79 100644 --- a/docs/resources/ui-building-blocks/components/user-defined-components/getting-started.md +++ b/docs/resources/ui-building-blocks/components/user-defined-components/getting-started.md @@ -1,12 +1,14 @@ --- -title: Getting Started +title: Creating a Component sidebar_position: 1 +slug: creating-components.md +keywords: [Custom Components] +tags: [Components] --- # User Defined Components -User-defined components in FlutterFlow are custom elements you create to meet specific needs in your -app. These components can be designed using FlutterFlow's drag-and-drop interface, allowing you to +User-defined Components or just Custom Components in FlutterFlow are custom elements you create to meet specific needs in your app. These components can be designed using FlutterFlow's drag-and-drop interface, allowing you to create reusable UI elements. This approach ensures consistency, saves time, and simplifies maintenance across your project. diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/text.md b/docs/resources/ui-building-blocks/widgets/built-in-widgets/text.md index 46077e20..5fe08e72 100644 --- a/docs/resources/ui-building-blocks/widgets/built-in-widgets/text.md +++ b/docs/resources/ui-building-blocks/widgets/built-in-widgets/text.md @@ -62,7 +62,7 @@ To modify the RichTextSpan objects, see the quick demo below: -## Common Text Properties +## Common Text Styling Properties ![text-props.png](imgs/text-props.png) diff --git a/docs/resources/ui-building-blocks/widgets/widget-commonalities.md b/docs/resources/ui-building-blocks/widgets/widget-commonalities.md index f3aaa584..5ecd5bbd 100644 --- a/docs/resources/ui-building-blocks/widgets/widget-commonalities.md +++ b/docs/resources/ui-building-blocks/widgets/widget-commonalities.md @@ -273,11 +273,11 @@ com/embed/6bffe7446e1d414f99baee759fda8fc0?sid=abfedd7c-3bc4-4eda-a9ab-341b72e4b

-Here is another example of setting the [color from *Conditional Value*](/advanced-functionality/conditional-logic#conditional-value-if-then-else). +You can also set the color from a [conditional value](../../../resources/control-flow/functions/conditional-logic.md#setting-widget-properties-with-conditional-logic). ## Copy variable -If you have a complex variable value (e.g., using [Conditional Logic](/advanced-functionality/conditional-logic)) and want to use the same logic in another variable value, you can do so by copying a variable. +If you have a complex variable value (e.g., using [Conditional Logic](../../../resources/control-flow/functions/conditional-logic.md)) and want to use the same logic in another variable value, you can do so by copying a variable. To copy-paste a variable: diff --git a/docs/testing-deployment-publishing/publishing/apple-appstore-deployment.md b/docs/testing-deployment-publishing/publishing/apple-appstore-deployment.md index 012e5566..116b71e7 100644 --- a/docs/testing-deployment-publishing/publishing/apple-appstore-deployment.md +++ b/docs/testing-deployment-publishing/publishing/apple-appstore-deployment.md @@ -17,13 +17,13 @@ FlutterFlow allows you to seamlessly deploy your apps directly to the App Store, - Create an [**Apple account**](https://appleid.apple.com/account?appId=632&returnUrl=https%3A//developer.apple.com/account/). - [**Purchase an Apple Developer membership**](https://developer.apple.com/programs/enroll/). Please see [**this link**](https://developer.apple.com/programs/) for more details on the Apple Developer program and how to sign up. - Set an App Launcher Icon for your app (under Settings & Integrations > General > App Assets). **The App Launcher icon can't be transparent or contain an alpha channel.** -- We recommend testing your application on a real device. [**Here are instructions**](#) on how to do this. +- We recommend testing your application on a real device. [**Here are instructions**](../running-your-app/local-run.md) on how to do this. ::: ## Deploy to App Store -Deploying to App Store comprises of the following steps: +Deploying to App Store consists of the following steps: 1. [Create a Bundle Identifier](#1-create-a-bundle-identifier) 2. [Add a new app to App Store Connect](#2-add-a-new-app-to-app-store-connect) @@ -327,7 +327,7 @@ Associating the Github repo allows you to introduce the custom code into your Fl To deploy from Github repo: -1. If you haven't added the Github repo yet, you can do so using the instructions [here](#). +1. If you haven't added the Github repo yet, you can do so using the instructions [here](../exporting-code/push-to-github.md). 2. From FlutterFlow, navigate to **Settings & Integrations > App Settings >** **Mobile Deployment > App Store**. 3. Find the **Deployment Settings** section and click on the arrow icon on the right to open it. diff --git a/docs/testing-deployment-publishing/publishing/google-playstore-deployment.md b/docs/testing-deployment-publishing/publishing/google-playstore-deployment.md index b9f50a81..51e474e7 100644 --- a/docs/testing-deployment-publishing/publishing/google-playstore-deployment.md +++ b/docs/testing-deployment-publishing/publishing/google-playstore-deployment.md @@ -18,7 +18,7 @@ FlutterFlow allows you to seamlessly deploy your apps directly to the Google Pla :::info[Prerequisites] 1. Register for a [**Google Play Developer account**](https://play.google.com/console/u/0/signup). -2. [**Test your application**](#) on a real device. +2. [**Test your application**](../running-your-app/local-run.md) on a real device. 3. Confirm the [**app details**](#). Especially the package name, which can't be changed after your app is deployed. 4. Set an [**App Launcher Icon**](#). The App Launcher icon can't be transparent or contain an alpha channel. @@ -328,11 +328,11 @@ You can now deploy directly from FlutterFlow or from your GitHub repository. -[Connecting the Github](#) repo allows you to introduce the custom code into your FlutterFlow project. You may want to deploy the modified code directly from your Github repo to Play Store. +[Connecting the Github](../exporting-code/push-to-github.md) repo allows you to introduce the custom code into your FlutterFlow project. You may want to deploy the modified code directly from your Github repo to Play Store. To deploy from Github repo: -1. If you haven't added the Github repo yet, you can do so using the instructions [here](#). +1. If you haven't added the Github repo yet, you can do so using the instructions [here](../exporting-code/push-to-github.md). 2. Navigate to **Settings & Integrations > App Settings >** **Mobile** **Deployment**. 3. Find the **Deployment Settings** section and click on the arrow icon on the right to open it. 4. Under the **Deployment Source**, enable the **Use Github repo**. diff --git a/docs/testing-deployment-publishing/publishing/pre-checks-publishing.md b/docs/testing-deployment-publishing/publishing/pre-checks-publishing.md index 64e0c5fc..1643a81a 100644 --- a/docs/testing-deployment-publishing/publishing/pre-checks-publishing.md +++ b/docs/testing-deployment-publishing/publishing/pre-checks-publishing.md @@ -13,17 +13,17 @@ This page outlines the important steps and checks to be made before publishing y Here’s a comprehensive list of these prechecks: -1. **Functionality Testing**: Test the app manually across devices. You can also implement integration tests using FlutterFlow’s [Automated Tests](#) framework to cover various scenarios. +1. **Functionality Testing**: Test the app manually across devices. You can also implement integration tests using FlutterFlow’s [**Automated Tests**](../testing/automated-tests.md) framework to cover various scenarios. 2. **Get Feedback**: Run your app in Run Mode to generate a [shareable link](#) to the session. You can share these links to gather feedback from users and testers, providing valuable insights and potential areas of improvement before the public release. -3. **Optimizations & Enhancements**: Improve performance by implementing [optimization and enhancement](#) suggestions. Ensure that images are properly sized, consider using higher compression for assets, and remove unused assets and custom widgets. These will help improve your app's speed and size. -4. **User Interface:** Check UI consistency across different screen sizes and resolutions using the [Canvas Size](#) option. +3. **Optimizations & Enhancements**: Improve performance by implementing [optimization and enhancement](../../intro/ff-ui/toolbar.md#optimizations--enhancements) suggestions. Ensure that images are properly sized, consider using higher compression for assets, and remove unused assets and custom widgets. These will help improve your app's speed and size. +4. **User Interface:** Check UI consistency across different screen sizes and resolutions using the [Canvas Size](../../intro/ff-ui/canvas.md) option. 5. **Accessibility Checks**: [Add semantic labels](#) to make the app more accessible to users with disabilities by providing meaningful descriptions. 6. **Security Measures**: Make sure all data handling practices comply with legal standards, including GDPR if applicable. Use HTTPS for all network connections and ensure that sensitive data is encrypted. 7. **Compliance with Store Guidelines**: Review the submission guidelines for [Apple’s App Store](https://developer.apple.com/app-store/review/guidelines/) and [Google Play Store](https://play.google/developer-content-policy/). Check for any specific requirements such as app metadata, privacy policies, and minimum functionality. 8. **Localization and Internationalization**: If your app targets users in multiple countries, consider [adding multi-language](#) support. 9. **License and Third-Party Attributions**: Adhere to licenses and include necessary attributions for third-party libraries and assets. -10. **Prepare Marketing Assets**: Prepare all the necessary marketing assets, such as screenshots, app icons, and promotional text. You can easily [generate screenshots](#) right within FlutterFlow. +10. **Prepare Marketing Assets**: Prepare all the necessary marketing assets, such as screenshots, app icons, and promotional text. You can easily [generate screenshots](../publishing/pre-checks-publishing.md#generate-screenshots) right within FlutterFlow. --- @@ -33,7 +33,7 @@ Alongside crafting beautiful apps, you can also generate screenshots for your mo :::info -If pages are rendered using a [**WebView**](#) widget, the generated screenshots will appear blank. +If pages are rendered using a **WebView** widget, the generated screenshots will appear blank. ::: diff --git a/docs/testing-deployment-publishing/publishing/web-publishing.md b/docs/testing-deployment-publishing/publishing/web-publishing.md index 2cafd85d..a855332c 100644 --- a/docs/testing-deployment-publishing/publishing/web-publishing.md +++ b/docs/testing-deployment-publishing/publishing/web-publishing.md @@ -43,14 +43,15 @@ To add platform support, navigate to the **Setting and Integrations > Project Se 1. **Use Original Engine Initialization**: This uses original Flutter web engine initialization, which sometimes helps in better loading time in the deployed web app. 2. **Use CanvasKit**: Enabling this option can provide high-quality graphics and text rendering on web platforms. **Note** that when using CanvasKit, some images can be blocked from loading if the server is not configured to allow loading them from other websites. To deal with this issue, you can set any of the following options, depending on where the images are hosted. - - **None:** If you are only loading images from your Firebase Storage, select this option and follow the steps [here](#). + - **None:** If you are only loading images from your Firebase Storage, select this option and follow the steps [here](#). - **Deploy with Firebase**: If images are not hosted on Firebase Storage *but you use Firebase to build your app*, choose this option and hit Deploy button. - **Custom Proxy URL**: If you are not using Firebase or prefer to set up your own CORS proxy, you can specify your own Custom Proxy URL. If you don't have one, you can create one by following the steps [here](https://github.com/Rob--W/cors-anywhere). 3. **Import Emoji library**: Importing the Emoji library is necessary if your app may use emojis anywhere in any text widget. However, this will increase the size of your app on web. :::info -Enabling web support automatically enables [**deep linking**](#) for your project. This helps in creating URLs for every page of your app. +Enabling web support automatically enables +[**deep linking**](../../ff-concepts/navigation-routing/deep-dynamic-linking.md) for your project. This helps in creating URLs for every page of your app. ::: @@ -58,7 +59,7 @@ Enabling web support automatically enables [**deep linking**](#) for your projec If you're creating a web-only application, setting the canvas size to desktop and building pages accordingly can work well. However, if you plan to target both mobile and web users, some design adjustments may be necessary to ensure that the UI is optimized for both platforms. -You can create separate widgets for different platforms and control their visibility using [Responsive Visibility](#). +You can create separate widgets for different platforms and control their visibility using [Responsive Visibility](../../ff-concepts/layout/responsive-layout.md#responsive-visibility). ### 3. Resolving web compatibility warnings @@ -68,7 +69,7 @@ Any known *Web Support* Issues will be displayed as a **Platform Support Warning ![platform-warnings](../imgs/platform-warnings.avif) -In such a situation, you can try to find a replacement package on *[pub.dev](https://pub.dev/)* (considering it meets your requirements and has a good score). +In such a situation, you can try to find a replacement package on [pub.dev](https://pub.dev/) (considering it meets your requirements and has a good score). :::warning @@ -154,7 +155,7 @@ Adding a custom domain to your web app can give it a more professional look and :::info[Important] - Only *Pro* and *Teams* plans include **one** free custom domain. The *Teams* plan comes with one custom domain for the whole team. If you are on the *Standard* plan, you will need to purchase a custom domain, as it is not included in the plan for free. -- Only paid plans can purchase domains. *Standard* and *Pro* users can buy from their *Account* page, and Teams owners can buy it from [**My Organization**](#). +- Only paid plans can purchase domains. *Standard* and *Pro* users can buy from their *Account* page, and Teams owners can buy it from **[My Organization](../../resources/projects/how-to-collaborate-on-projects.md#sharing-a-project-with-an-organization)**. - A single custom domain slot can be linked to only one domain or subdomain. - You can connect only one domain to a project, which can be either a root domain (like 'myapp.com') or a subdomain (such as 'beta.myapp.com'). That means if you connect a root domain, none of the subdomains under it will connected to the project. This leads to the rule of '*One project => One domain OR subdomain'*. @@ -162,7 +163,7 @@ Adding a custom domain to your web app can give it a more professional look and To add a custom domain: -1. Enter your **Custom Domain URL**. Ensure you only enter the domain name (without www) and extension (e.g., *mywebapp.com* and not *www.mywebapp.com*). +1. Enter your **Custom Domain URL**. Ensure you only enter the domain name (without www) and extension (e.g.,*mywebapp.com* and not *www.mywebapp.com*). 2. Now, you must set up the DNS. To do so: 1. Visit the website from where you bought the domain. 2. Open the DNS manager and create the records as per displayed in UI. **Note** that there should not be other A or AAA records after adding this. Here are quick links on how to do this on popular domain-selling websites. 1) [Godaddy](https://in.godaddy.com/help/add-an-a-record-19238) 2) [Namecheap](https://www.namecheap.com/support/knowledgebase/article.aspx/319/2237/how-can-i-set-up-an-a-address-record-for-my-domain/) 3) [Google Domains](https://support.google.com/a/answer/2579934?hl=en). Here's an example of how it looks in Godaddy. diff --git a/docs/testing-deployment-publishing/running-your-app/local-run.md b/docs/testing-deployment-publishing/running-your-app/local-run.md index 85c75aac..90c9ef28 100644 --- a/docs/testing-deployment-publishing/running-your-app/local-run.md +++ b/docs/testing-deployment-publishing/running-your-app/local-run.md @@ -326,9 +326,9 @@ If you downloaded Flutter via local run, it might not be added to your system's If you don't see your device in the list after refreshing, follow these steps: -1. Ensure you have added [Flutter to your path](#command-not-found-flutter-add-flutter-to-systems-path). +1. Ensure you have added Flutter to your path. 2. Open the Terminal and run the following command: - + ``` From 8b4300ab38863819a71577883c4bdea7488ac6ff Mon Sep 17 00:00:00 2001 From: PoojaB26 Date: Fri, 26 Jul 2024 19:38:00 +0530 Subject: [PATCH 2/5] Fix supabase casing. --- .../authentication/supabase-auth/auth-actions.md | 2 +- .../authentication/supabase-auth/email-supabase.md | 2 +- .../authentication/supabase-auth/initial-setup.md | 2 +- docs/ff-integrations/database/supabase/database-actions.md | 2 +- docs/ff-integrations/supabase/supabase-setup.md | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/ff-integrations/authentication/supabase-auth/auth-actions.md b/docs/ff-integrations/authentication/supabase-auth/auth-actions.md index fb7f5e37..0ece7c88 100644 --- a/docs/ff-integrations/authentication/supabase-auth/auth-actions.md +++ b/docs/ff-integrations/authentication/supabase-auth/auth-actions.md @@ -1,7 +1,7 @@ --- slug: /integrations/authentication/supabase/auth-actions title: Auth Actions -description: Learn how to add supabase authentication actions in your FlutterFlow app. +description: Learn how to add Supabaseauthentication actions in your FlutterFlow app. tags: [FlutterFlow, Auth Actions, Authentication, supabase] sidebar_position: 1 keywords: [FlutterFlow, Auth Actions, Authentication, supabase] diff --git a/docs/ff-integrations/authentication/supabase-auth/email-supabase.md b/docs/ff-integrations/authentication/supabase-auth/email-supabase.md index 9f73c75b..bfd0ba80 100644 --- a/docs/ff-integrations/authentication/supabase-auth/email-supabase.md +++ b/docs/ff-integrations/authentication/supabase-auth/email-supabase.md @@ -1,7 +1,7 @@ --- slug: /integrations/authentication/supabase/email-authentication title: Email Authentication -description: Learn how to integrate Email Login of supabase Auth into your FlutterFlow app. +description: Learn how to integrate Email Login of SupabaseAuth into your FlutterFlow app. tags: [FlutterFlow, Email Authentication, Authentication, supabase] sidebar_position: 2 keywords: [FlutterFlow, Email Authentication, Authentication, supabase] diff --git a/docs/ff-integrations/authentication/supabase-auth/initial-setup.md b/docs/ff-integrations/authentication/supabase-auth/initial-setup.md index a6bf55e9..2fbd0ee8 100644 --- a/docs/ff-integrations/authentication/supabase-auth/initial-setup.md +++ b/docs/ff-integrations/authentication/supabase-auth/initial-setup.md @@ -1,7 +1,7 @@ --- slug: /integrations/authentication/supabase/initial-setup title: Initial Setup -description: Learn how to perform the initial setup for supabase authentication in your FlutterFlow app. +description: Learn how to perform the initial setup for Supabaseauthentication in your FlutterFlow app. tags: [FlutterFlow, Initial Setup, Authentication, supabase] sidebar_position: 0 keywords: [FlutterFlow, Initial Setup, Authentication, supabase] diff --git a/docs/ff-integrations/database/supabase/database-actions.md b/docs/ff-integrations/database/supabase/database-actions.md index 33b5dc64..d68fbd40 100644 --- a/docs/ff-integrations/database/supabase/database-actions.md +++ b/docs/ff-integrations/database/supabase/database-actions.md @@ -1,7 +1,7 @@ --- slug: /integrations/database/supabase/database-actions title: Database Actions -description: Learn about supabase database actions in your FlutterFlow app, including how to perform various database operations. +description: Learn about Supabasedatabase actions in your FlutterFlow app, including how to perform various database operations. tags: [FlutterFlow, supabase, Database, Actions] sidebar_position: 1 keywords: [FlutterFlow, supabase, Database, Actions] diff --git a/docs/ff-integrations/supabase/supabase-setup.md b/docs/ff-integrations/supabase/supabase-setup.md index c36739a2..17b328d2 100644 --- a/docs/ff-integrations/supabase/supabase-setup.md +++ b/docs/ff-integrations/supabase/supabase-setup.md @@ -1,7 +1,7 @@ --- slug: /integrations/supabase/setup -title: supabase Setup -description: Learn how to set up supabase in your FlutterFlow app for database and authentication functionalities. +title: SupabaseSetup +description: Learn how to set up Supabasein your FlutterFlow app for database and authentication functionalities. tags: [supabase, Setup, Integration] sidebar_position: 1 keywords: [FlutterFlow, supabase, Setup, Integration] From af6e1449612ffd52ba3defcace1d149e89654c8c Mon Sep 17 00:00:00 2001 From: PoojaB26 Date: Fri, 26 Jul 2024 19:38:58 +0530 Subject: [PATCH 3/5] Fix supabase casing. --- docs/ff-integrations/authentication/authentication-types.md | 4 ++-- docs/ff-integrations/database/supabase/database-actions.md | 4 ++-- docs/ff-integrations/supabase/supabase-setup.md | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/ff-integrations/authentication/authentication-types.md b/docs/ff-integrations/authentication/authentication-types.md index c6cf215c..6fcb3f3f 100644 --- a/docs/ff-integrations/authentication/authentication-types.md +++ b/docs/ff-integrations/authentication/authentication-types.md @@ -1,8 +1,8 @@ --- slug: /integrations/authentication-types title: Auth Services -description: Learn about integrating various authentication services like Firebase, supabase, and Custom Authentication in FlutterFlow. -keywords: [FlutterFlow, Authentication, Firebase, supabase, Custom Authentication, App Settings] +description: Learn about integrating various authentication services like Firebase, Supabase, and Custom Authentication in FlutterFlow. +keywords: [FlutterFlow, Authentication, Firebase, Supabase, Custom Authentication, App Settings] sidebar_position: 1 --- diff --git a/docs/ff-integrations/database/supabase/database-actions.md b/docs/ff-integrations/database/supabase/database-actions.md index d68fbd40..fd9e7f57 100644 --- a/docs/ff-integrations/database/supabase/database-actions.md +++ b/docs/ff-integrations/database/supabase/database-actions.md @@ -2,9 +2,9 @@ slug: /integrations/database/supabase/database-actions title: Database Actions description: Learn about Supabasedatabase actions in your FlutterFlow app, including how to perform various database operations. -tags: [FlutterFlow, supabase, Database, Actions] +tags: [FlutterFlow, Supabase, Database, Actions] sidebar_position: 1 -keywords: [FlutterFlow, supabase, Database, Actions] +keywords: [FlutterFlow, Supabase, Database, Actions] toc_max_heading_level: 5 --- diff --git a/docs/ff-integrations/supabase/supabase-setup.md b/docs/ff-integrations/supabase/supabase-setup.md index 17b328d2..772e0ea6 100644 --- a/docs/ff-integrations/supabase/supabase-setup.md +++ b/docs/ff-integrations/supabase/supabase-setup.md @@ -2,9 +2,9 @@ slug: /integrations/supabase/setup title: SupabaseSetup description: Learn how to set up Supabasein your FlutterFlow app for database and authentication functionalities. -tags: [supabase, Setup, Integration] +tags: [Supabase, Setup, Integration] sidebar_position: 1 -keywords: [FlutterFlow, supabase, Setup, Integration] +keywords: [FlutterFlow, Supabase, Setup, Integration] --- # Supabase Setup From 74fce98999abc5828b89a3f1a61433d4c1330f49 Mon Sep 17 00:00:00 2001 From: PoojaB26 Date: Fri, 26 Jul 2024 19:40:21 +0530 Subject: [PATCH 4/5] Fix supabase casing. --- docs/ff-integrations/authentication/generated-code.md | 4 ++-- .../authentication/supabase-auth/auth-actions.md | 6 +++--- .../authentication/supabase-auth/email-supabase.md | 6 +++--- .../authentication/supabase-auth/initial-setup.md | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/ff-integrations/authentication/generated-code.md b/docs/ff-integrations/authentication/generated-code.md index 50cfdad7..efabc27b 100644 --- a/docs/ff-integrations/authentication/generated-code.md +++ b/docs/ff-integrations/authentication/generated-code.md @@ -2,8 +2,8 @@ slug: /integrations/authentication/generated-code title: Generated Code description: Learn about the generated code behind enabling authentication in FlutterFlow. -tags: [FlutterFlow, Authentication, Generated Code, Custom Authentication, Firebase, supabase] -keywords: [FlutterFlow, Authentication, Generated Code, Custom Authentication, Firebase, supabase] +tags: [FlutterFlow, Authentication, Generated Code, Custom Authentication, Firebase, Supabase] +keywords: [FlutterFlow, Authentication, Generated Code, Custom Authentication, Firebase, Supabase] sidebar_label: Generated Code --- diff --git a/docs/ff-integrations/authentication/supabase-auth/auth-actions.md b/docs/ff-integrations/authentication/supabase-auth/auth-actions.md index 0ece7c88..c71ed956 100644 --- a/docs/ff-integrations/authentication/supabase-auth/auth-actions.md +++ b/docs/ff-integrations/authentication/supabase-auth/auth-actions.md @@ -1,10 +1,10 @@ --- slug: /integrations/authentication/supabase/auth-actions title: Auth Actions -description: Learn how to add Supabaseauthentication actions in your FlutterFlow app. -tags: [FlutterFlow, Auth Actions, Authentication, supabase] +description: Learn how to add Supabase Authentication actions in your FlutterFlow app. +tags: [FlutterFlow, Auth Actions, Authentication, Supabase] sidebar_position: 1 -keywords: [FlutterFlow, Auth Actions, Authentication, supabase] +keywords: [FlutterFlow, Auth Actions, Authentication, Supabase] --- # Authentication Actions diff --git a/docs/ff-integrations/authentication/supabase-auth/email-supabase.md b/docs/ff-integrations/authentication/supabase-auth/email-supabase.md index bfd0ba80..e4e0fb83 100644 --- a/docs/ff-integrations/authentication/supabase-auth/email-supabase.md +++ b/docs/ff-integrations/authentication/supabase-auth/email-supabase.md @@ -1,10 +1,10 @@ --- slug: /integrations/authentication/supabase/email-authentication title: Email Authentication -description: Learn how to integrate Email Login of SupabaseAuth into your FlutterFlow app. -tags: [FlutterFlow, Email Authentication, Authentication, supabase] +description: Learn how to integrate Email Login of Supabase Auth into your FlutterFlow app. +tags: [FlutterFlow, Email Authentication, Authentication, Supabase] sidebar_position: 2 -keywords: [FlutterFlow, Email Authentication, Authentication, supabase] +keywords: [FlutterFlow, Email Authentication, Authentication, Supabase] --- # Email Authentication diff --git a/docs/ff-integrations/authentication/supabase-auth/initial-setup.md b/docs/ff-integrations/authentication/supabase-auth/initial-setup.md index 2fbd0ee8..fbe26043 100644 --- a/docs/ff-integrations/authentication/supabase-auth/initial-setup.md +++ b/docs/ff-integrations/authentication/supabase-auth/initial-setup.md @@ -1,10 +1,10 @@ --- slug: /integrations/authentication/supabase/initial-setup title: Initial Setup -description: Learn how to perform the initial setup for Supabaseauthentication in your FlutterFlow app. -tags: [FlutterFlow, Initial Setup, Authentication, supabase] +description: Learn how to perform the initial setup for Supabase Authentication in your FlutterFlow app. +tags: [FlutterFlow, Initial Setup, Authentication, Supabase] sidebar_position: 0 -keywords: [FlutterFlow, Initial Setup, Authentication, supabase] +keywords: [FlutterFlow, Initial Setup, Authentication, Supabase] --- # Initial Setup From f8b4aa18f7ab6d0424cf70cebf27ebf7e625c0d1 Mon Sep 17 00:00:00 2001 From: PoojaB26 Date: Fri, 26 Jul 2024 19:42:15 +0530 Subject: [PATCH 5/5] Fix supabase casing. --- docs/ff-integrations/database/supabase/database-actions.md | 2 +- docs/ff-integrations/supabase/supabase-setup.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ff-integrations/database/supabase/database-actions.md b/docs/ff-integrations/database/supabase/database-actions.md index fd9e7f57..f962a716 100644 --- a/docs/ff-integrations/database/supabase/database-actions.md +++ b/docs/ff-integrations/database/supabase/database-actions.md @@ -1,7 +1,7 @@ --- slug: /integrations/database/supabase/database-actions title: Database Actions -description: Learn about Supabasedatabase actions in your FlutterFlow app, including how to perform various database operations. +description: Learn about Supabase Database actions in your FlutterFlow app, including how to perform various database operations. tags: [FlutterFlow, Supabase, Database, Actions] sidebar_position: 1 keywords: [FlutterFlow, Supabase, Database, Actions] diff --git a/docs/ff-integrations/supabase/supabase-setup.md b/docs/ff-integrations/supabase/supabase-setup.md index 772e0ea6..40797c24 100644 --- a/docs/ff-integrations/supabase/supabase-setup.md +++ b/docs/ff-integrations/supabase/supabase-setup.md @@ -1,7 +1,7 @@ --- slug: /integrations/supabase/setup title: SupabaseSetup -description: Learn how to set up Supabasein your FlutterFlow app for database and authentication functionalities. +description: Learn how to set up Supabase in your FlutterFlow app for database and authentication functionalities. tags: [Supabase, Setup, Integration] sidebar_position: 1 keywords: [FlutterFlow, Supabase, Setup, Integration]