Skip to content

Commit 5fa6aa0

Browse files
committed
abridged files from new standlone articles and placed them in suitable articles by properly consolidating them
1 parent 57b7670 commit 5fa6aa0

19 files changed

+177
-292
lines changed

docs/ff-concepts/adding-customization/enable_image_upload_in_webview_on_device.md

Lines changed: 0 additions & 37 deletions
This file was deleted.

docs/ff-concepts/alerts/display-error-message-for-invalid-login-credentials.md

Lines changed: 0 additions & 30 deletions
This file was deleted.

docs/ff-concepts/file-handling/displaying-media.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,17 @@ For more details on how assets are stored in your project, see the directory [**
5050

5151
You can also access media files within your app that are stored temporarily in your application. For example, if you'd like to preview an image before sending it to cloud storage, you can do so by setting the source to **Widget State -> Uploaded Local File**.
5252

53+
:::info[Image Uploads via WebView May Fail on Real Devices]
54+
Image uploads inside a WebView may fail on physical devices even if they work in Run/Test mode. This happens because FlutterFlow doesn't auto-request Photo Library permissions at runtime.
55+
56+
To fix this:
57+
- Enable Photo Library in Settings > Permissions.
58+
- Add a Get Permission action to request access before uploading.
59+
- Reinstall the app on the device after adding the permission.
60+
61+
If permissions aren’t granted, the upload will silently fail. Users may have to manually allow access via their device’s app settings.
62+
:::
63+
5364
![dm-local-upload.avif](imgs/dm-local-upload.avif)
5465

5566
## AudioPlayer

docs/ff-concepts/state-management/missing-data-types-in-app-state-variable-list.md

Lines changed: 0 additions & 26 deletions
This file was deleted.

docs/ff-integrations/authentication/firebase-auth/auth-actions.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,29 @@ Follow the steps below to add this action:
2222

2323
![logout](../imgs/logout-action.png)
2424

25+
## Handling Invalid Login Credentials
26+
27+
When a user enters incorrect login credentials, FlutterFlow automatically displays a `SnackBar` with an error message. This helps users understand why their login attempt failed without needing custom logic.
28+
29+
![](../imgs/20250430121519975010.gif)
30+
31+
When the **Login Action** fails, a `SnackBar` is shown with the relevant error (e.g., “No user found” or “Wrong password”). This message appears automatically during runtime; no additional configuration is required.
32+
33+
:::tip
34+
There is no need to manually add alert dialogs for failed login attempts. FlutterFlow handles `SnackBar` display automatically when authentication fails.
35+
:::
36+
37+
### Customize the SnackBar (Optional)
38+
39+
1. Select the **Login Action** from your button or trigger.
40+
2. In the **Actions tab**, open the **Action Output** section.
41+
3. Use conditional logic to check the error message.
42+
4. Display a custom `SnackBar` or navigate based on the message content.
43+
44+
:::note
45+
To customize the `SnackBar` further, use the **Action Output** and attach additional logic based on the error string.
46+
:::
47+
2548
## Reset Password
2649

2750
With Firebase Authentication, there are two ways you can allow users to reset their password in your FlutterFlow app:

docs/generated-code/state-mgmt-gen-code.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,26 @@ For the **iOS** platform, it uses the [**KeyChain**](https://developer.apple.com
7373
In the case of the **Web**, it uses the [**Web Cryptography**](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) (Web Crypto) API.
7474
:::
7575

76+
## Example: Check Onboarding Completion Using App State
77+
78+
Use a persisted app state variable to ensure users complete onboarding before accessing certain parts of your app (e.g., home screen, checkout).
79+
80+
Follow the steps below:
81+
82+
1. **Create a Boolean Variable**
83+
- Go to **App Settings > State Management > Persisted Values**.
84+
- Create a boolean variable like `hasCompletedOnboarding`, default: `false`.
85+
86+
2. **Update After Onboarding**
87+
- On the final onboarding screen, add an **Update Persisted Value** action to set `hasCompletedOnboarding = true`.
88+
89+
3. **Add Conditional Navigation**
90+
- On the target page’s **Page Load**, add a **Conditional Action**:
91+
- If `hasCompletedOnboarding == false` → Navigate to the onboarding page.
92+
93+
:::tip
94+
Use `Local State` for session-only checks; use `Persisted` for cross-session logic.
95+
:::
7696

7797
## Global State
7898

docs/intro/before-you-begin/check-onboarding-completion-before-navigation.md

Lines changed: 0 additions & 43 deletions
This file was deleted.

docs/intro/ff-ui/builder.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,26 @@ keywords: [App Builder, FlutterFlow, UI, Design]
1313
On opening the project, you'll see the App Builder, which consists of four main sections:
1414
[Navigation Menu](#navigation-menu), [Toolbar](#toolbar), [Canvas](#canvas-area), and [Properties Panel](#properties-panel).
1515

16+
:::warning[Editor Performance Does Not Affect App Builds]
17+
18+
Slow performance in the FlutterFlow editor—such as UI lag or long loading times—may occur in large projects or long sessions, but **this does not impact the performance of your final app build**.
19+
20+
Editor slowness is typically caused by:
21+
- Large projects with many pages or custom functions.
22+
- Long text blocks typed directly into the editor.
23+
- Accumulated browser cache from extended sessions.
24+
25+
To improve responsiveness:
26+
- Draft long content externally before pasting into the editor.
27+
- Restart your browser regularly.
28+
- Use the macOS app version for better UI performance.
29+
- Close unused pages or widgets to free up memory.
30+
31+
The compiled app’s performance depends on your app logic, code efficiency, and device resources—not the speed of the editor environment.
32+
33+
:::
34+
35+
1636
![navigation-menu.avif](imgs/navigation-menu.avif)
1737

1838
## Navigation Menu
@@ -54,4 +74,5 @@ elements on the canvas. It allows you to add [Actions](../../resources/control-f
5474
The Properties Panel will vary slightly depending on the entity you have selected. To explore the details of each Properties Panel, click on the following:
5575

5676
- **[Page Properties](../../resources/ui/pages/pages-properties.md)** (when you have selected a Page)
57-
- **[Widget Properties](../../resources/ui/widgets/widget-properties.md)** (when you have selected any widget, including built-in components)
77+
- **[Widget Properties](../../resources/ui/widgets/widget-properties.md)** (when you have selected any widget, including built-in components)
78+

docs/intro/ff-ui/canvas.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,24 @@ It allows zoom level adjustments and previews in light or dark mode. It also inc
1818

1919
This is the canvas of the device screen where you can build the user interface. You can customize the screen by adding widgets using drag and drop from the [Widget Palette](../../intro/ff-ui/widget-palette.md) and by applying properties present in the [Properties Panel](../../intro/ff-ui/builder.md#properties-panel).
2020

21+
### Troubleshooting Copy-Paste Issues
22+
23+
If you're unable to copy and paste widgets on the Canvas, the issue may be due to clipboard permissions in your browser.
24+
25+
Follow these steps to enable clipboard access in Chrome:
26+
27+
1. Click the **lock icon** in the address bar next to `flutterflow.io`.
28+
2. In the permissions popup, locate **Clipboard**.
29+
3. Set clipboard access to **Allow**.
30+
4. Refresh the page and try again.
31+
32+
![](../imgs/20250430121511630414.png)
33+
34+
:::tip
35+
If you're using Firefox, Safari, or Edge, check that browser’s permission settings to enable clipboard access.
36+
:::
37+
38+
2139
## Show or hide Navigation Menu
2240

2341
From here, you can open or close the

0 commit comments

Comments
 (0)