Skip to content

Commit efe378a

Browse files
Library Pages (#339)
* Library Pages * Apply suggestions from code review Co-authored-by: Pooja Bhaumik <[email protected]> * fix * All pages in library are availalbe to use * revert all lib pages support --------- Co-authored-by: Pooja Bhaumik <[email protected]>
1 parent 1932f83 commit efe378a

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

docs/resources/projects/libraries.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,47 @@ You can easily upgrade to newer versions of the libraries as they become availab
249249
![update-library](imgs/update-library.avif)
250250

251251

252+
## Library Pages
253+
254+
You can also add and manage pages within a library, making it easy to reuse those pages across multiple projects. These pages function like any regular project page in your app; they support navigation, parameters, state management, and transitions.
255+
256+
Including pages with libraries offers a modular approach to development, making it ideal for large teams and complex, multi-feature apps. For example, instead of recreating common flows like onboarding and payment flows, you can build them in a library once and use them wherever needed.
257+
258+
:::tip[Possible Use Cases]
259+
- **Super Apps** like Gojek and Uber with distinct modules such as ride booking, shopping, and payments. Each module can be developed as a separate library and imported into a single main project.
260+
- **Enterprise Apps** with isolated user journeys for different roles, such as admin and customer. Each role-based flow can be built as its own library and integrated into the core app as needed.
261+
- **White-labeled Apps** that share common onboarding flows can benefit from libraries. The onboarding process can be built once as a library and reused across all branded versions of the app.
262+
:::
263+
264+
The library author selects which pages to include and publishes the library. When users import or update the library, they can override the default route names to prevent conflicts between the library and their project. Library pages then appear in navigation actions just like any regular page.
265+
266+
<div style={{
267+
position: 'relative',
268+
paddingBottom: 'calc(56.67989417989418% + 41px)', // Keeps the aspect ratio and additional padding
269+
height: 0,
270+
width: '100%'}}>
271+
<iframe
272+
src="https://demo.arcade.software/fAgLrElyGNdf82NWGJte?embed&show_copy_link=true"
273+
title=""
274+
style={{
275+
position: 'absolute',
276+
top: 0,
277+
left: 0,
278+
width: '100%',
279+
height: '100%',
280+
colorScheme: 'light'
281+
}}
282+
frameborder="0"
283+
loading="lazy"
284+
webkitAllowFullScreen
285+
mozAllowFullScreen
286+
allowFullScreen
287+
allow="clipboard-write">
288+
</iframe>
289+
</div>
290+
<p></p>
291+
292+
252293

253294
## Library Values
254295

@@ -290,6 +331,7 @@ To create library values, navigate to **Settings and Integrations > App Settings
290331
</div>
291332
<p></p>
292333

334+
293335
#### Use Library Values
294336
After setting Library Values, they function just like any other variable in FlutterFlow. You can bind them to components, actions, API calls, or any property that allows you to configure dynamic values across your library project. You can access Library Values via the ****Set from Variable**** menu.
295337

@@ -333,6 +375,7 @@ To set library values, navigate to **Settings and Integrations > Project Setup >
333375
For different [**development environments**](../../testing-deployment-publishing/development-environments/development-environments.md) (e.g., development vs. production), you can bind Library Values to [**environment values**](../../testing-deployment-publishing/development-environments/development-environments.md#environment-values). For instance, you could have two different Library Values for an API key, such as `DEV_OPENAI_API_KEY` and `PROD_OPENAI_API_KEY`, and bind them to the development and production environments to track API usage separately.
334376
:::
335377

378+
336379
## Libraries with Firebase
337380
You can create collections and enable various Firebase features in library projects without connecting a separate Firebase project.
338381

0 commit comments

Comments
 (0)