{"version":1,"pages":[{"id":"-MXpqQYNIetG1vW737sg","title":"Get started with Bravo Studio 👏","pathname":"/","siteSpaceId":"sitesp_mO3BW","description":""},{"id":"UGPIrQaqXZvUp9qzcDja","title":"Create your first app","pathname":"/get-started/create-your-first-app","siteSpaceId":"sitesp_mO3BW","emoji":"1f680","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"-Mj-RjqNG5r43cZMv4rh","title":"Bravo introduction","pathname":"/get-started/your-bravo-app-projects","siteSpaceId":"sitesp_mO3BW","emoji":"1f31f","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"uT8gLnnHD81MokHEyS3W","title":"Get ready to create your app with ChatGPT","pathname":"/get-started/your-bravo-app-projects/get-ready-to-create-your-app-with-chatgpt","siteSpaceId":"sitesp_mO3BW","description":"Learn how automating initial development stages can boost efficiency, enhance collaboration, and optimize your project workflow.","breadcrumbs":[{"label":"Get Started"},{"label":"Bravo introduction","emoji":"1f31f"}]},{"id":"-MkBo7DtgLG-IHbj1vIg","title":"Create an app","pathname":"/get-started/your-bravo-app-projects/create-a-project","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Bravo introduction","emoji":"1f31f"}]},{"id":"-MfgwbNukApTGaf5UCJC","title":"Creating an app with Figma","pathname":"/get-started/your-bravo-app-projects/create-a-project/creating-an-app-project-with-figma","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Bravo introduction","emoji":"1f31f"},{"label":"Create an app"}]},{"id":"-MfhbBgd0qU1gCkSS7Go","title":"Creating an app with Adobe XD","pathname":"/get-started/your-bravo-app-projects/create-a-project/1-adobe-xd-how-to-use-the-bravo-plugin","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Bravo introduction","emoji":"1f31f"},{"label":"Create an app"}]},{"id":"-MflFl0o47oOrTYQJGkB","title":"Duplicate an app","pathname":"/get-started/your-bravo-app-projects/duplicating-a-project","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Bravo introduction","emoji":"1f31f"}]},{"id":"-MflGJyCXU_Q592Ea__K","title":"Delete an app","pathname":"/get-started/your-bravo-app-projects/app-projects-deleting-a-project","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Bravo introduction","emoji":"1f31f"}]},{"id":"KdCb8oixLkOAQq7HIuTQ","title":"Replace linked Figma file","pathname":"/get-started/your-bravo-app-projects/replace-linked-figma-file","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Bravo introduction","emoji":"1f31f"}]},{"id":"-MflH-4TSpFo2rNoV7uX","title":"The app page","pathname":"/get-started/your-bravo-app-projects/app-projects-the-app-project-page","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Bravo introduction","emoji":"1f31f"}]},{"id":"-Medz0aO3QwTD8sLJpPu","title":"Sharing your app","pathname":"/get-started/your-bravo-app-projects/sharing-your-app","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Bravo introduction","emoji":"1f31f"}]},{"id":"cdn3ib07Th81apCyzbax","title":"Add an editor to your app","pathname":"/get-started/your-bravo-app-projects/add-an-editor-to-your-app","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Bravo introduction","emoji":"1f31f"}]},{"id":"-MflJEZfgMLcBsnNQF5D","title":"Fonts","pathname":"/get-started/your-bravo-app-projects/app-projects-uploading-custom-fonts","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Bravo introduction","emoji":"1f31f"}]},{"id":"-Mfi09Qb0saEmp-MZkWn","title":"Adobe XD - Supported fonts","pathname":"/get-started/your-bravo-app-projects/app-projects-uploading-custom-fonts/5-adobe-xd-supported-fonts","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Bravo introduction","emoji":"1f31f"},{"label":"Fonts"}]},{"id":"-MflEqUBYacF9qHsoQL6","title":"Bravo Vision previewer","pathname":"/get-started/bravo-vision-previewer","siteSpaceId":"sitesp_mO3BW","emoji":"1f4f1","description":"","breadcrumbs":[{"label":"Get Started"}]},{"id":"CPzxPLgOZkQEUtwrnHDW","title":"Unlock power features to create interactive apps","pathname":"/get-started/unlock-power-features-to-create-interactive-apps","siteSpaceId":"sitesp_mO3BW","emoji":"2728","description":"Upgrade your free account to the Solo plan to add interaction to your app","breadcrumbs":[{"label":"Get Started"}]},{"id":"IxqVf3uDDa4ZUQrUe7kv","title":"Help and tutorials","pathname":"/get-started/help-and-tutorials","siteSpaceId":"sitesp_mO3BW","emoji":"1f393","description":"Tips for contacting support and accessing further resources","breadcrumbs":[{"label":"Get Started"}]},{"id":"-Mj-XmiGXMHZq28Ozr_B","title":"App guide tutorials","pathname":"/get-started/help-and-tutorials/app-cases","siteSpaceId":"sitesp_mO3BW","emoji":"1f4d6","description":"See how to build full app functionalities with these articles and tutorials.","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"}]},{"id":"Bi342Dc7ZMnVcWhOAYCB","title":"Sample app tutorial: Your first binding","pathname":"/get-started/help-and-tutorials/app-cases/sample-app-tutorial-your-first-binding","siteSpaceId":"sitesp_mO3BW","description":"Learn the essentials of Bravo with this beginner's tutorial.","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"},{"label":"App guide tutorials","emoji":"1f4d6"}]},{"id":"1TGxCKYYstAzcnT9SuFQ","title":"How to build a Fitness app with Bravo, Xano and RevenueCat","pathname":"/get-started/help-and-tutorials/app-cases/how-to-build-a-fitness-app-with-bravo-xano-and-revenuecat","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"},{"label":"App guide tutorials","emoji":"1f4d6"}]},{"id":"-MeeNIz3GyRtj1PMgVyo","title":"Foodgram: Social content sharing","pathname":"/get-started/help-and-tutorials/app-cases/bravo-app-kit-foodgram","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"},{"label":"App guide tutorials","emoji":"1f4d6"}]},{"id":"-MhXaODb-0M15SPJkYZ4","title":"Expedition journal: Write and share your adventures","pathname":"/get-started/help-and-tutorials/app-cases/bravo-app-kit-expedition-journals","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"},{"label":"App guide tutorials","emoji":"1f4d6"}]},{"id":"-MhT5NhDyoHbG0U64jiP","title":"My Subscriptions: Display data based on device ID","pathname":"/get-started/help-and-tutorials/app-cases/bravo-app-kit-my-subscriptions","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"},{"label":"App guide tutorials","emoji":"1f4d6"}]},{"id":"-MhXbxBVTj-EZwbCRpQ6","title":"My Notes: using user ID and email from Firebase","pathname":"/get-started/help-and-tutorials/app-cases/build-a-notes-app-with-user-id-and-email-from-firebase","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"},{"label":"App guide tutorials","emoji":"1f4d6"}]},{"id":"-Mj3ZuuBwx4jwpiYxz_r","title":"My Store: Sell physical products with Bravo and Stripe","pathname":"/get-started/help-and-tutorials/app-cases/bravo-store-sell-physical-products-with-bravo-and-stripe","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"},{"label":"App guide tutorials","emoji":"1f4d6"}]},{"id":"-MfDq7w3eJqrtiYNF2vU","title":"Learn with videos","pathname":"/get-started/help-and-tutorials/learn-with-videos","siteSpaceId":"sitesp_mO3BW","emoji":"1f4fa","description":"Check out these videos to get a sense of what Bravo can do!","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"}]},{"id":"-MfDvFOVQ0MRIghRoZNW","title":"Learn with articles","pathname":"/get-started/help-and-tutorials/learn-with-articles","siteSpaceId":"sitesp_mO3BW","emoji":"1f4da","description":"Check out these articles to learn step-by-step how to Bravo","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"}]},{"id":"MIo1Rg8FVeAWI9mEBlWp","title":"Browse by app feature","pathname":"/get-started/help-and-tutorials/browse-by-app-feature","siteSpaceId":"sitesp_mO3BW","emoji":"1f5c3","description":"Learn how to implement specific functionalities inside your apps","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"}]},{"id":"YDzxCcp8cA6peOos8D47","title":"Save or \"bookmark\" a page","pathname":"/get-started/help-and-tutorials/browse-by-app-feature/save-or-bookmark-a-page","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"},{"label":"Browse by app feature","emoji":"1f5c3"}]},{"id":"p48sq5wpdv3KJsmPxac5","title":"Backend search with Airtable","pathname":"/get-started/help-and-tutorials/browse-by-app-feature/backend-search-with-airtable","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"},{"label":"Browse by app feature","emoji":"1f5c3"}]},{"id":"9DWJ2Bf5r1POIcUEP73A","title":"Backend search with Xano","pathname":"/get-started/help-and-tutorials/browse-by-app-feature/backend-search-xano","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"},{"label":"Browse by app feature","emoji":"1f5c3"}]},{"id":"C69yWup2kDDFO5AdWptV","title":"Nested lists (list within a list)","pathname":"/get-started/help-and-tutorials/browse-by-app-feature/nested-lists-list-within-a-list","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"},{"label":"Browse by app feature","emoji":"1f5c3"}]},{"id":"Pgl5O7BBf15MYUs05trS","title":"Create and edit user profile (Firebase + Airtable)","pathname":"/get-started/help-and-tutorials/browse-by-app-feature/create-and-edit-user-profile-firebase-+-airtable","siteSpaceId":"sitesp_mO3BW","description":"Learn how to allow users to create and edit user profiles, using Firebase for authentication and Airtable as the app backend.","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"},{"label":"Browse by app feature","emoji":"1f5c3"}]},{"id":"jwYRY6OFsIQI1ob9fB5g","title":"Skeleton loader","pathname":"/get-started/help-and-tutorials/browse-by-app-feature/skeleton-loader","siteSpaceId":"sitesp_mO3BW","description":"How to build skeleton loading screens in Bravo Studio","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"},{"label":"Browse by app feature","emoji":"1f5c3"}]},{"id":"0SghAJRcU7jeEVxgGwV3","title":"Create albums in your app with Bravo Infinite images","pathname":"/get-started/help-and-tutorials/browse-by-app-feature/create-albums-in-your-app-with-bravo-infinite-images","siteSpaceId":"sitesp_mO3BW","breadcrumbs":[{"label":"Get Started"},{"label":"Help and tutorials","emoji":"1f393"},{"label":"Browse by app feature","emoji":"1f5c3"}]},{"id":"-Mj--FwnT72h_BoJ78Sn","title":"Get your Figma ready for Bravo","pathname":"/set-up-design/setting-up-your-design-file","siteSpaceId":"sitesp_mO3BW","emoji":"1f58c","description":"","breadcrumbs":[{"label":"Set up your design"}]},{"id":"ACrqT37S6gANFp3cSgcr","title":"Structuring the design: the layer hierarchy","pathname":"/set-up-design/setting-up-your-design-file/structuring-the-design-the-layer-hierarchy","siteSpaceId":"sitesp_mO3BW","emoji":"1f5c3","description":"","breadcrumbs":[{"label":"Set up your design"},{"label":"Get your Figma ready for Bravo","emoji":"1f58c"}]},{"id":"-MXrEeGwIxR1H9L8F1ba","title":"Bravo Tags: adding functionality to the UI elements","pathname":"/set-up-design/setting-up-your-design-file/what-are-bravo-tags","siteSpaceId":"sitesp_mO3BW","emoji":"1fa84","description":"","breadcrumbs":[{"label":"Set up your design"},{"label":"Get your Figma ready for Bravo","emoji":"1f58c"}]},{"id":"RMwQ9MnTJko6ICXwFH0r","title":"The container","pathname":"/set-up-design/setting-up-your-design-file/the-container","siteSpaceId":"sitesp_mO3BW","emoji":"1f9f1","description":"","breadcrumbs":[{"label":"Set up your design"},{"label":"Get your Figma ready for Bravo","emoji":"1f58c"}]},{"id":"Ut0ai92UkNJ4zvNzE7Sq","title":"Setting up a container on Figma","pathname":"/set-up-design/setting-up-your-design-file/the-container/setting-up-a-container-on-figma","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Set up your design"},{"label":"Get your Figma ready for Bravo","emoji":"1f58c"},{"label":"The container","emoji":"1f9f1"}]},{"id":"GeW8hCI4ym43FNQ0GQMB","title":"Setting up a container on Adobe XD","pathname":"/set-up-design/setting-up-your-design-file/the-container/setting-up-a-container-on-adobe-xd","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Set up your design"},{"label":"Get your Figma ready for Bravo","emoji":"1f58c"},{"label":"The container","emoji":"1f9f1"}]},{"id":"3smNzWid4GNWcY8I14ZN","title":"App navigation","pathname":"/set-up-design/setting-up-your-design-file/app-navigation","siteSpaceId":"sitesp_mO3BW","emoji":"1f4f2","description":"","breadcrumbs":[{"label":"Set up your design"},{"label":"Get your Figma ready for Bravo","emoji":"1f58c"}]},{"id":"xAY9OqYutwxplLEMbuGB","title":"Setting up app navigation on Figma","pathname":"/set-up-design/setting-up-your-design-file/app-navigation/setting-up-app-navigation-on-figma","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Set up your design"},{"label":"Get your Figma ready for Bravo","emoji":"1f58c"},{"label":"App navigation","emoji":"1f4f2"}]},{"id":"uwSsC6jxd4vH1GpsbtnS","title":"Setting up app navigation on Adobe XD","pathname":"/set-up-design/setting-up-your-design-file/app-navigation/setting-up-app-navigation-on-adobe-xd","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Set up your design"},{"label":"Get your Figma ready for Bravo","emoji":"1f58c"},{"label":"App navigation","emoji":"1f4f2"}]},{"id":"A0ah6yH6s5ZlD9eSfMxt","title":"Bravo plugin for Figma","pathname":"/set-up-design/bravo-plugin-for-figma","siteSpaceId":"sitesp_mO3BW","emoji":"1f50c","description":"Use our Figma plugin to speed up your Bravorizing process!","breadcrumbs":[{"label":"Set up your design"}]},{"id":"-MfDz7zz4OgoSEUDE-CF","title":"Sample design files","pathname":"/set-up-design/sample-design-files","siteSpaceId":"sitesp_mO3BW","emoji":"1f4be","description":"","breadcrumbs":[{"label":"Set up your design"}]},{"id":"-MhxgodWeJZkztsD-_1-","title":"Best Practices","pathname":"/set-up-design/bravo-best-practices","siteSpaceId":"sitesp_mO3BW","emoji":"1f913","description":"","breadcrumbs":[{"label":"Set up your design"}]},{"id":"KIykVtQSJ6uuFi4aJ4No","title":"Bravo Tags Master List","pathname":"/bravo-tags/bravo-tags-master-list","siteSpaceId":"sitesp_mO3BW","emoji":"1f4d2","description":"Copy and paste these tags into the layer names in your design file and see your app come to life with Bravo Vision.","breadcrumbs":[{"label":"App components"}]},{"id":"-MiW-bYknDuMGbQbDM8v","title":"Menus","pathname":"/bravo-tags/menus","siteSpaceId":"sitesp_mO3BW","emoji":"1f6aa","description":"","breadcrumbs":[{"label":"App components"}]},{"id":"-MfgK8shFqo0zxJokODn","title":"Modal Menu","pathname":"/bravo-tags/menus/modal-menu","siteSpaceId":"sitesp_mO3BW","description":"The menu that slides in from the bottom and covers the entire screen.","breadcrumbs":[{"label":"App components"},{"label":"Menus","emoji":"1f6aa"}]},{"id":"iDtp3sQJ2h6iFgVfHzJE","title":"Modal pages","pathname":"/bravo-tags/menus/modal-pages","siteSpaceId":"sitesp_mO3BW","description":"Pages that slides in from the bottom and covers the screen.","breadcrumbs":[{"label":"App components"},{"label":"Menus","emoji":"1f6aa"}]},{"id":"-MffwgJQdidVe-yD9suY","title":"Tabs Menu","pathname":"/bravo-tags/menus/tabs-menu","siteSpaceId":"sitesp_mO3BW","description":"The menu that stays fixed on every screen as a bottom navigation bar.","breadcrumbs":[{"label":"App components"},{"label":"Menus","emoji":"1f6aa"}]},{"id":"JYacR4krKvJ5OLSyk3gC","title":"Pop Up pages","pathname":"/bravo-tags/menus/tabs-menu-1","siteSpaceId":"sitesp_mO3BW","description":"Pop-up pages can be effective for drawing attention to specific information or encouraging user interaction.","breadcrumbs":[{"label":"App components"},{"label":"Menus","emoji":"1f6aa"}]},{"id":"-MfcSjwAROU4V_9AmUtT","title":"Slide Menu","pathname":"/bravo-tags/menus/slide-menu","siteSpaceId":"sitesp_mO3BW","description":"The menu that opens by sliding in from the left side of the screen.","breadcrumbs":[{"label":"App components"},{"label":"Menus","emoji":"1f6aa"}]},{"id":"fqDWQE7c6zuNKJ7vqMNM","title":"Pages","pathname":"/bravo-tags/pages","siteSpaceId":"sitesp_mO3BW","emoji":"1f35e","description":"","breadcrumbs":[{"label":"App components"}]},{"id":"dESqzIo9h13t5Y1JywoZ","title":"Modal pages","pathname":"/bravo-tags/pages/modal-pages","siteSpaceId":"sitesp_mO3BW","description":"Pages that slides in from the bottom and covers the screen.","breadcrumbs":[{"label":"App components"},{"label":"Pages","emoji":"1f35e"}]},{"id":"DFej0NM8CX6tWlWPVmBU","title":"Pop-up pages","pathname":"/bravo-tags/pages/pop-up-pages","siteSpaceId":"sitesp_mO3BW","description":"Pop-up pages can be effective for drawing attention to specific information or encouraging user interaction.","breadcrumbs":[{"label":"App components"},{"label":"Pages","emoji":"1f35e"}]},{"id":"LH7ieOqnEja8qYwTG1XZ","title":"Swipe page","pathname":"/bravo-tags/pages/swipe-page","siteSpaceId":"sitesp_mO3BW","description":"Add a component with a vertical swipe effect","breadcrumbs":[{"label":"App components"},{"label":"Pages","emoji":"1f35e"}]},{"id":"RtIgpFvTOsw9gAyzallk","title":"Transitions page","pathname":"/bravo-tags/pages/transitions-page","siteSpaceId":"sitesp_mO3BW","description":"Transitions are used to create a smooth and visually appealing flow between different views or states of an app, enhancing the overall user experience.","breadcrumbs":[{"label":"App components"},{"label":"Pages","emoji":"1f35e"}]},{"id":"0kOvIcbTq0Bb7uvHCX5q","title":"Page reveal animations","pathname":"/bravo-tags/pages/page-reveal-animations","siteSpaceId":"sitesp_mO3BW","description":"Refers to an animated effect where content or elements gradually become visible on the screen, often in response to a user interaction.","breadcrumbs":[{"label":"App components"},{"label":"Pages","emoji":"1f35e"}]},{"id":"DRjp3RyB2LE6uDN1AXJ4","title":"Page tabs","pathname":"/bravo-tags/pages/page-tabs","siteSpaceId":"sitesp_mO3BW","description":"Add a screen with tabs displaying different content","breadcrumbs":[{"label":"App components"},{"label":"Pages","emoji":"1f35e"}]},{"id":"-MjEuCoxVeFtMzbx5TyU","title":"Stateful pages","pathname":"/bravo-tags/pages/stateful-pages","siteSpaceId":"sitesp_mO3BW","emoji":"1f52e","description":"","breadcrumbs":[{"label":"App components"},{"label":"Pages","emoji":"1f35e"}]},{"id":"-MjEt9m6b1UkpCdzm80z","title":"Containers","pathname":"/bravo-tags/containers","siteSpaceId":"sitesp_mO3BW","emoji":"1f4e6","description":"","breadcrumbs":[{"label":"App components"}]},{"id":"N1v0nNzdOma98lhZgfvE","title":"Swipe to delete","pathname":"/bravo-tags/containers/swipe-to-delete","siteSpaceId":"sitesp_mO3BW","description":"Enable a native swipe-to-delete functionality in your app","breadcrumbs":[{"label":"App components"},{"label":"Containers","emoji":"1f4e6"}]},{"id":"-MflemfL0ubni4NumrtW","title":"Top bar","pathname":"/bravo-tags/containers/container-top-bar","siteSpaceId":"sitesp_mO3BW","description":"The top bar container fixes its position to the top of the screen and does not scroll with the rest of the screen.","breadcrumbs":[{"label":"App components"},{"label":"Containers","emoji":"1f4e6"}]},{"id":"-Mflw8c0Nt3wzH7s_3qW","title":"Carousel slider","pathname":"/bravo-tags/containers/container-horizontal-slider","siteSpaceId":"sitesp_mO3BW","description":"Slides a collection of containers horizontally.","breadcrumbs":[{"label":"App components"},{"label":"Containers","emoji":"1f4e6"}]},{"id":"-MflkMRna1UrV9OI71iK","title":"Aspect ratio relative to screen","pathname":"/bravo-tags/containers/aspect-ratio-relative-to-screen","siteSpaceId":"sitesp_mO3BW","description":"The height of the container is calculated with the screen height.","breadcrumbs":[{"label":"App components"},{"label":"Containers","emoji":"1f4e6"}]},{"id":"yKnzuDphXNPkY0bTh1wP","title":"Sortable List","pathname":"/bravo-tags/containers/sortable-list","siteSpaceId":"sitesp_mO3BW","description":"Creates a sortable list with API data","breadcrumbs":[{"label":"App components"},{"label":"Containers","emoji":"1f4e6"}]},{"id":"-Mg5Px8TkpARnzFh0GXl","title":"Layer (sticky element)","pathname":"/bravo-tags/containers/layer-sticky-element","siteSpaceId":"sitesp_mO3BW","description":"A container that fixes its position on-screen and does not scroll with the rest of the screen.","breadcrumbs":[{"label":"App components"},{"label":"Containers","emoji":"1f4e6"}]},{"id":"7xy8oYD5IdgifKKBlJpa","title":"Intro & Onboarding","pathname":"/bravo-tags/intro-and-onboarding","siteSpaceId":"sitesp_mO3BW","emoji":"1f44b","breadcrumbs":[{"label":"App components"}]},{"id":"-Mhs_T0Wj1RK6mQEYoi2","title":"Intro page","pathname":"/bravo-tags/intro-and-onboarding/page-intro","siteSpaceId":"sitesp_mO3BW","description":"Displays an Intro screen of your choice.","breadcrumbs":[{"label":"App components"},{"label":"Intro & Onboarding","emoji":"1f44b"}]},{"id":"Dc7KRgu5MKxjO3LzSM5Y","title":"Post-login page (Onboarding)","pathname":"/bravo-tags/intro-and-onboarding/post-login-page-onboarding","siteSpaceId":"sitesp_mO3BW","description":"Add a page that will be displayed after a user logs in or registers","breadcrumbs":[{"label":"App components"},{"label":"Intro & Onboarding","emoji":"1f44b"}]},{"id":"B5jOVXAMejJtFdaKkcol","title":"Loading experience","pathname":"/bravo-tags/loading-experience","siteSpaceId":"sitesp_mO3BW","emoji":"231b","breadcrumbs":[{"label":"App components"}]},{"id":"-MhwmDNtP4MfrXis-yus","title":"Loading page","pathname":"/bravo-tags/loading-experience/state-custom-loading-page","siteSpaceId":"sitesp_mO3BW","description":"The app page will display in place of the default Bravo loading screen.","breadcrumbs":[{"label":"App components"},{"label":"Loading experience","emoji":"231b"}]},{"id":"vkHmRhnmNLJ4Q1HX8cc1","title":"Custom loading page","pathname":"/bravo-tags/loading-experience/custom-loading-page","siteSpaceId":"sitesp_mO3BW","description":"Show a special loading page for a specific page.","breadcrumbs":[{"label":"App components"},{"label":"Loading experience","emoji":"231b"}]},{"id":"RL0DMieUVj3TF8Ni70iM","title":"No loading","pathname":"/bravo-tags/loading-experience/no-loading","siteSpaceId":"sitesp_mO3BW","description":"Avoid showing the loader on specific user actions","breadcrumbs":[{"label":"App components"},{"label":"Loading experience","emoji":"231b"}]},{"id":"Co1ZMvnuW3lwoRO7mim7","title":"Preload","pathname":"/bravo-tags/loading-experience/preload","siteSpaceId":"sitesp_mO3BW","description":"Optimising asset loading feature","breadcrumbs":[{"label":"App components"},{"label":"Loading experience","emoji":"231b"}]},{"id":"iY5JEJLITVtVdXEcHi4I","title":"Form & input fields","pathname":"/bravo-tags/form-and-input-fields","siteSpaceId":"sitesp_mO3BW","emoji":"1f4dd","description":"Create native forms with different input formats","breadcrumbs":[{"label":"App components"}]},{"id":"R7H3ihjlSf84G0ea972A","title":"Password Visibility Toggle","pathname":"/bravo-tags/form-and-input-fields/password-visibility-toggle","siteSpaceId":"sitesp_mO3BW","emoji":"1f441","description":"The Password Visibility Toggle is a feature that effortlessly hides/reveals your password on login and signup screens for enhanced security and convenience.","breadcrumbs":[{"label":"App components"},{"label":"Form & input fields","emoji":"1f4dd"}]},{"id":"pBEbtVdB8cRb5R0JlS39","title":"Stateful input","pathname":"/bravo-tags/form-and-input-fields/stateful-input","siteSpaceId":"sitesp_mO3BW","emoji":"1fa77","description":"Create a stateful input component in a form","breadcrumbs":[{"label":"App components"},{"label":"Form & input fields","emoji":"1f4dd"}]},{"id":"AyEPOD0BZmMRG1KdPvrB","title":"Checkboxes (Multiple select)","pathname":"/bravo-tags/form-and-input-fields/stateful-input/checkboxes-multiple-select","siteSpaceId":"sitesp_mO3BW","emoji":"2611","breadcrumbs":[{"label":"App components"},{"label":"Form & input fields","emoji":"1f4dd"},{"label":"Stateful input","emoji":"1fa77"}]},{"id":"sPN923zpHffYRbYBJKmq","title":"Required Checkbox","pathname":"/bravo-tags/form-and-input-fields/stateful-input/required-checkbox","siteSpaceId":"sitesp_mO3BW","emoji":"2705","breadcrumbs":[{"label":"App components"},{"label":"Form & input fields","emoji":"1f4dd"},{"label":"Stateful input","emoji":"1fa77"}]},{"id":"MiiBKA6OYTBqktT8yJPB","title":"Radio buttons (Single select)","pathname":"/bravo-tags/form-and-input-fields/stateful-input/radio-buttons-single-select","siteSpaceId":"sitesp_mO3BW","emoji":"1f518","breadcrumbs":[{"label":"App components"},{"label":"Form & input fields","emoji":"1f4dd"},{"label":"Stateful input","emoji":"1fa77"}]},{"id":"mitYnUnkWr35RXhr1Z0n","title":"Input time Interval","pathname":"/bravo-tags/form-and-input-fields/input-time-interval","siteSpaceId":"sitesp_mO3BW","emoji":"23f3","description":"Create the time interval that you want!","breadcrumbs":[{"label":"App components"},{"label":"Form & input fields","emoji":"1f4dd"}]},{"id":"kP7Oub38Z6HHaq4GsbiA","title":"Dropdown selector","pathname":"/bravo-tags/form-and-input-fields/dropdown-selector","siteSpaceId":"sitesp_mO3BW","emoji":"1f4c4","description":"Creates a selector input component.","breadcrumbs":[{"label":"App components"},{"label":"Form & input fields","emoji":"1f4dd"}]},{"id":"UT1ddvvxIyLlEaomwOsu","title":"Slider control","pathname":"/bravo-tags/form-and-input-fields/slider-control","siteSpaceId":"sitesp_mO3BW","emoji":"1f39a","description":"","breadcrumbs":[{"label":"App components"},{"label":"Form & input fields","emoji":"1f4dd"}]},{"id":"5vDDhsGf1YfwoVihMzKI","title":"Calendar picker","pathname":"/bravo-tags/form-and-input-fields/calendar-picker","siteSpaceId":"sitesp_mO3BW","emoji":"1f5d3","breadcrumbs":[{"label":"App components"},{"label":"Form & input fields","emoji":"1f4dd"}]},{"id":"-Mflqdp7MgJmD1I9Voub","title":"Send form input to a database","pathname":"/bravo-tags/form-and-input-fields/data-biding-send-form-input-to-a-database","siteSpaceId":"sitesp_mO3BW","emoji":"1f4c4","description":"","breadcrumbs":[{"label":"App components"},{"label":"Form & input fields","emoji":"1f4dd"}]},{"id":"waGxzQCXVqoOv6Mu7XYj","title":"Components","pathname":"/bravo-tags/components","siteSpaceId":"sitesp_mO3BW","emoji":"1f48e","breadcrumbs":[{"label":"App components"}]},{"id":"-MhmOMWUKLmQ7WSzRoAy","title":"Autoplay Video","pathname":"/bravo-tags/components/component-autoplay-video","siteSpaceId":"sitesp_mO3BW","description":"Autoplays an audio-less video when the user is on that app page.","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"-MhnNLrWgtXV8W00jZq1","title":"GIF","pathname":"/bravo-tags/components/component-gif","siteSpaceId":"sitesp_mO3BW","description":"A GIF will replace the content of the rectangle.","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"dJYmRGfvhRDGwlnRfXnm","title":"SVG Component","pathname":"/bravo-tags/components/svg-component","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"-MhnKlTve9keY8CCKWNI","title":"Web view","pathname":"/bravo-tags/components/component-webview","siteSpaceId":"sitesp_mO3BW","description":"A web page will replace the content of the rectangle.","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"WOPDTeFhgqKHTdqw6Lym","title":"Web Components using AI","pathname":"/bravo-tags/components/web-component-using-ai","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"vf0IEyfiofU7lhFhAhmI","title":"Web view communication","pathname":"/bravo-tags/components/web-view-communication","siteSpaceId":"sitesp_mO3BW","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"-MhmaTa6BHAhMuPS1wZg","title":"LottieFile","pathname":"/bravo-tags/components/component-lottie","siteSpaceId":"sitesp_mO3BW","description":"A Lottie will replace the content of the rectangle.","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"xR4FWXhqNi0yiUDSzv1i","title":"Lottie-animated component","pathname":"/bravo-tags/components/lottie-animated-component","siteSpaceId":"sitesp_mO3BW","description":"Create stateful components with Lottie animations","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"-MhsVAekvhP6rUUAsWSE","title":"Flexible text (Flexo)","pathname":"/bravo-tags/components/component-flexible-text","siteSpaceId":"sitesp_mO3BW","description":"The text box will expand down to fit the content connected via API.","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"ArwgfPqxQljLwFSEQwUa","title":"Zoomable image","pathname":"/bravo-tags/components/zoomable-image","siteSpaceId":"sitesp_mO3BW","description":"Makes an image zoomable with pinch gesture.","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"6xRs5qZUoOttwy4ZiyEX","title":"Component states","pathname":"/bravo-tags/components/component-states","siteSpaceId":"sitesp_mO3BW","description":"Add states such as pressed and active to your UI elements.","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"x5AXWZWsioMirUf3I15M","title":"Stateful component (like button)","pathname":"/bravo-tags/components/stateful-component-like-button","siteSpaceId":"sitesp_mO3BW","description":"Create components with default and active states","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"7AVJ4hfwY9MeQj304iBu","title":"Setting up the backend of Stateful component (like button)","pathname":"/bravo-tags/components/setting-up-the-backend-of-stateful-component-like-button","siteSpaceId":"sitesp_mO3BW","description":"Managing the stateful components requires the creation of a database that keeps track of the state for each component, and API requests to exchange the information.","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"IainpLM8HjnsPjJHFKgM","title":"Haptic Feedback (Buzzz)","pathname":"/bravo-tags/components/haptic-feedback","siteSpaceId":"sitesp_mO3BW","description":"Make your phone vibrate when adding interaction on your apps, such as navigation links or any action.","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"TkV6HpDtMAKTcPQ2HAkU","title":"Progress bar","pathname":"/bravo-tags/components/progress-bar","siteSpaceId":"sitesp_mO3BW","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"W2eSAX1HAAdgwiexxhZA","title":"Rich text","pathname":"/bravo-tags/components/rich-text","siteSpaceId":"sitesp_mO3BW","description":"Display the same text style as the content you get from an API","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"U25cJ6SxHwy1293N52JW","title":"Date, Time and Currency Formatter","pathname":"/bravo-tags/components/date-time-and-currency-formatter","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"dCYSQVpea4AgHWQTbUKQ","title":"Scrollable text","pathname":"/bravo-tags/components/scrollable-text","siteSpaceId":"sitesp_mO3BW","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"Oe6Jfnsei9PaZNA3RahS","title":"Text Lines & Truncation","pathname":"/bravo-tags/components/text-lines-and-truncation","siteSpaceId":"sitesp_mO3BW","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"IlkoPRkE5LYTMBUZw6gB","title":"Status bar","pathname":"/bravo-tags/components/status-bar","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App components"},{"label":"Components","emoji":"1f48e"}]},{"id":"-MjEt_1NfhBRb977DR2F","title":"Mobile actions","pathname":"/bravo-tags/mobile-actions","siteSpaceId":"sitesp_mO3BW","emoji":"26a1","description":"","breadcrumbs":[{"label":"App components"}]},{"id":"g7hui93WPfkaGKDkSNjf","title":"Mobile Actions","pathname":"/bravo-tags/mobile-actions/mobile-actions","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App components"},{"label":"Mobile actions","emoji":"26a1"}]},{"id":"-MhwozoNAwel9yl8R8MD","title":"Play audio","pathname":"/bravo-tags/mobile-actions/action-play-audio","siteSpaceId":"sitesp_mO3BW","description":"Plays an MP3 track in your app.","breadcrumbs":[{"label":"App components"},{"label":"Mobile actions","emoji":"26a1"}]},{"id":"NOew8DxB5EsEN2jXl8Er","title":"Record audio","pathname":"/bravo-tags/mobile-actions/record-audio","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App components"},{"label":"Mobile actions","emoji":"26a1"}]},{"id":"-Mhxk_3jXH6OSlaz5bi0","title":"Play video","pathname":"/bravo-tags/mobile-actions/how-to-use-video-components-in-your-apps","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App components"},{"label":"Mobile actions","emoji":"26a1"}]},{"id":"-Me_u1Re1GsxYUresX8R","title":"Scan QR code (external URL)","pathname":"/bravo-tags/mobile-actions/scan-qr-code","siteSpaceId":"sitesp_mO3BW","description":"Open the camera to scan QR codes.","breadcrumbs":[{"label":"App components"},{"label":"Mobile actions","emoji":"26a1"}]},{"id":"r1KilFqEVwr7UTsSGKaS","title":"Scan codes (remote action)","pathname":"/bravo-tags/mobile-actions/scan-codes-remote-action","siteSpaceId":"sitesp_mO3BW","description":"Scan a barcode or QR code and send its data via API","breadcrumbs":[{"label":"App components"},{"label":"Mobile actions","emoji":"26a1"}]},{"id":"-MhxbA_PKkuV6MhfQWK2","title":"Search & filter","pathname":"/bravo-tags/mobile-actions/component-search-and-filter","siteSpaceId":"sitesp_mO3BW","description":"The text box will turn into a search field where users can filter items from a list on the same page by text content.","breadcrumbs":[{"label":"App components"},{"label":"Mobile actions","emoji":"26a1"}]},{"id":"-MhxdXIECPzqtCMJlIW5","title":"Refresh page","pathname":"/bravo-tags/mobile-actions/action-pull-to-refresh","siteSpaceId":"sitesp_mO3BW","description":"Refreshes a screen connected to external data.","breadcrumbs":[{"label":"App components"},{"label":"Mobile actions","emoji":"26a1"}]},{"id":"-MlB_Y5YxaiuhOaZ5jVN","title":"Share location","pathname":"/bravo-tags/mobile-actions/share-location","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App components"},{"label":"Mobile actions","emoji":"26a1"}]},{"id":"-MhxhrQ1kux5vHu8igCa","title":"App Icon & Splash Screen","pathname":"/bravo-tags/app-icon-and-splash-screen","siteSpaceId":"sitesp_mO3BW","emoji":"1f4f1","description":"Replace the default Bravo app icon and splash screen with your custom design.","breadcrumbs":[{"label":"App components"}]},{"id":"-MlB_aX0GK4Hr9GjSPtE","title":"Map with markers","pathname":"/bravo-tags/map-with-markers","siteSpaceId":"sitesp_mO3BW","emoji":"1f5fa","description":"","breadcrumbs":[{"label":"App components"}]},{"id":"BGlohXXxik2bwegrtmQx","title":"Charts","pathname":"/bravo-tags/charts","siteSpaceId":"sitesp_mO3BW","emoji":"1f4c8","description":"Create a pie or bar chart connected to API data","breadcrumbs":[{"label":"App components"}]},{"id":"-MjFDqSsp7OPydVfnNri","title":"Set up a no-code backend","pathname":"/connect-api/browse-by-backend","siteSpaceId":"sitesp_mO3BW","emoji":"1f5c2","description":"Find tutorials on how to set up API requests to connect to these popular no-code backends.","breadcrumbs":[{"label":"Data and Backend"}]},{"id":"-MjFGk1BX92rByQTiqjE","title":"Xano","pathname":"/connect-api/browse-by-backend/xano","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"}]},{"id":"-Mfm3hksRf0vi1xtnTt7","title":"Nested lists (list > list > detail page) with Xano","pathname":"/connect-api/browse-by-backend/xano/xano-build-nested-lists","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"},{"label":"Xano"}]},{"id":"-Mj3nxxlsQWRxJ4920Xk","title":"Create a bookmark functionality with remote actions and device ID with Xano","pathname":"/connect-api/browse-by-backend/xano/xano-create-a-bookmark-functionality-with-remote-actions-and-device-id","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"},{"label":"Xano"}]},{"id":"Dlx8Unp7GqTgLd2MEu5p","title":"Multi-user setup with Xano","pathname":"/connect-api/browse-by-backend/xano/multi-user-setup-with-xano","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"},{"label":"Xano"}]},{"id":"p2CSlrruHANEOWOpU7Vz","title":"Setting up the Xano Log in Snippet","pathname":"/connect-api/browse-by-backend/xano/setting-up-the-xano-log-in-snippet","siteSpaceId":"sitesp_mO3BW","emoji":"1f512","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"},{"label":"Xano"}]},{"id":"yPZFWzeg9Pq0BpDshJRm","title":"Refresh Token","pathname":"/connect-api/browse-by-backend/xano/setting-up-the-xano-log-in-snippet/refresh-token","siteSpaceId":"sitesp_mO3BW","emoji":"267b","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"},{"label":"Xano"},{"label":"Setting up the Xano Log in Snippet","emoji":"1f512"}]},{"id":"-Mjn9H_x8wVCLU7f43PT","title":"Airtable","pathname":"/connect-api/browse-by-backend/airtable","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"}]},{"id":"-Mfm1p4rW-2Qj-Lhaqi6","title":"Nested lists (list > list > detail page) with Airtable","pathname":"/connect-api/browse-by-backend/airtable/airtable-nested-lists-with-airtable-list-list-detail-page","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"},{"label":"Airtable"}]},{"id":"-MflzlnI8wkDovRpiZ-h","title":"Sort list with Airtable","pathname":"/connect-api/browse-by-backend/airtable/airtable-sort-list-with-airtable","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"},{"label":"Airtable"}]},{"id":"-MflxeT4CD3llsPgs-wv","title":"Connect multiple tables from Airtable to one app","pathname":"/connect-api/browse-by-backend/airtable/airtable-connect-multiple-tables-from-airtable-to-one-app","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"},{"label":"Airtable"}]},{"id":"aK6ylWKx15IfTxtFW3h6","title":"Update Airtable's API key to Access Token","pathname":"/connect-api/browse-by-backend/airtable/update-airtable-access-token","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"},{"label":"Airtable"}]},{"id":"-MjFGcq0zlQYTeQGt9tA","title":"Backendless","pathname":"/connect-api/browse-by-backend/backendless","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"}]},{"id":"-MjFIuEwAO1AFqQIa6wr","title":"Bubble","pathname":"/connect-api/browse-by-backend/bubble","siteSpaceId":"sitesp_mO3BW","description":"How to connect Bubble with Bravo Studio","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"}]},{"id":"-MjFKPaXr8XEuDGIvAAk","title":"Notion","pathname":"/connect-api/browse-by-backend/notion","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"}]},{"id":"-Mj4taB4rYofSbSKaois","title":"Getting data from a Notion table","pathname":"/connect-api/browse-by-backend/notion/notion-getting-data-from-a-notion-table","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"},{"label":"Notion"}]},{"id":"AEo7zTaXxA9fY1WHbtBi","title":"Firebase","pathname":"/connect-api/browse-by-backend/firebase","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"}]},{"id":"V10DXKcZIgN6OmvatR77","title":"Getting data from Firestore","pathname":"/connect-api/browse-by-backend/firebase/getting-data-from-firestore","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up a no-code backend","emoji":"1f5c2"},{"label":"Firebase"}]},{"id":"RTWLatLkNAmFdc8xsKOy","title":"Set up API requests","pathname":"/connect-api/set-up-api-requests","siteSpaceId":"sitesp_mO3BW","emoji":"1f4be","description":"","breadcrumbs":[{"label":"Data and Backend"}]},{"id":"-MlBaW90N9J52nDrxKSZ","title":"Set up from scratch","pathname":"/connect-api/set-up-api-requests/creating-an-api-collection","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up API requests","emoji":"1f4be"}]},{"id":"uc2NW9OD3VUm8SjH9g3M","title":"Airtable","pathname":"/connect-api/set-up-api-requests/creating-an-api-collection/airtable","siteSpaceId":"sitesp_mO3BW","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up API requests","emoji":"1f4be"},{"label":"Set up from scratch"}]},{"id":"-MflK_rNbkmAVesxZE_o","title":"Set up an API GET request for list page - Airtable","pathname":"/connect-api/set-up-api-requests/creating-an-api-collection/airtable/set-up-an-api-get-request-for-list-page-airtable","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up API requests","emoji":"1f4be"},{"label":"Set up from scratch"},{"label":"Airtable"}]},{"id":"-MflO1uC_zJbayAm5pFT","title":"Set up an API GET request for detail page - Airtable","pathname":"/connect-api/set-up-api-requests/creating-an-api-collection/airtable/data-library-connect-to-any-api-get-request-for-detail-page","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up API requests","emoji":"1f4be"},{"label":"Set up from scratch"},{"label":"Airtable"}]},{"id":"-MflQmAJxHesk5ekHPrQ","title":"Set up an API POST request - Airtable","pathname":"/connect-api/set-up-api-requests/creating-an-api-collection/airtable/data-library-connect-to-any-api-post-request","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up API requests","emoji":"1f4be"},{"label":"Set up from scratch"},{"label":"Airtable"}]},{"id":"-MflexVia0_bHEh8XAV2","title":"Set up an API DELETE request - Airtable","pathname":"/connect-api/set-up-api-requests/creating-an-api-collection/airtable/data-library-connect-to-any-api-delete-request","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up API requests","emoji":"1f4be"},{"label":"Set up from scratch"},{"label":"Airtable"}]},{"id":"GE9cEa9yfjSYiimHgLW2","title":"Xano","pathname":"/connect-api/set-up-api-requests/creating-an-api-collection/xano","siteSpaceId":"sitesp_mO3BW","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up API requests","emoji":"1f4be"},{"label":"Set up from scratch"}]},{"id":"mxZBecBvHKNNSE9Q34yP","title":"Set up an API GET request for list page - Xano","pathname":"/connect-api/set-up-api-requests/creating-an-api-collection/xano/set-up-an-api-get-request-for-list-page-xano","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up API requests","emoji":"1f4be"},{"label":"Set up from scratch"},{"label":"Xano"}]},{"id":"fZ4vyQXvmgpZVcfyqh0Z","title":"Set up an API GET request for detail page - Xano","pathname":"/connect-api/set-up-api-requests/creating-an-api-collection/xano/data-library-connect-to-any-api-get-request-for-detail-page-xano","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up API requests","emoji":"1f4be"},{"label":"Set up from scratch"},{"label":"Xano"}]},{"id":"BxyrNAAHYbZIR2cXcRhb","title":"Set up an API PATCH request - Xano","pathname":"/connect-api/set-up-api-requests/creating-an-api-collection/xano/data-library-connect-to-any-api-patch-request-xano","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up API requests","emoji":"1f4be"},{"label":"Set up from scratch"},{"label":"Xano"}]},{"id":"Dv6JgdsIkPH4WMXMlZTV","title":"Set up an API POST request - Xano","pathname":"/connect-api/set-up-api-requests/creating-an-api-collection/xano/data-library-connect-to-any-api-post-request-xano","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up API requests","emoji":"1f4be"},{"label":"Set up from scratch"},{"label":"Xano"}]},{"id":"JpQEIOiYLLpwu4NpWk0M","title":"Set up an API DELETE request - Xano","pathname":"/connect-api/set-up-api-requests/creating-an-api-collection/xano/data-library-connect-to-any-api-delete-request-xano","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up API requests","emoji":"1f4be"},{"label":"Set up from scratch"},{"label":"Xano"}]},{"id":"zPAHLylf5BjolPhzoNFe","title":"Using GraphQL body type","pathname":"/connect-api/set-up-api-requests/using-graphql-body-type","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up API requests","emoji":"1f4be"}]},{"id":"F8Y2cSU2ScUurzKnWpbr","title":"Set up with API wizard & importer","pathname":"/connect-api/set-up-api-requests/api-wizard-importer","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up API requests","emoji":"1f4be"}]},{"id":"-MflweVcfY_ZbSf9hMtz","title":"Using the Airtable API Wizard","pathname":"/connect-api/set-up-api-requests/api-wizard-importer/airtable-using-the-airtable-api-wizard","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up API requests","emoji":"1f4be"},{"label":"Set up with API wizard & importer"}]},{"id":"H8v1u7za5OCi7eqeQHSu","title":"Using the Xano API wizard","pathname":"/connect-api/set-up-api-requests/api-wizard-importer/using-the-xano-api-wizard","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Set up API requests","emoji":"1f4be"},{"label":"Set up with API wizard & importer"}]},{"id":"-Mj3oIiXYAtSh3WyXl5p","title":"Variables","pathname":"/connect-api/request-url-variables","siteSpaceId":"sitesp_mO3BW","emoji":"1f3b2","description":"","breadcrumbs":[{"label":"Data and Backend"}]},{"id":"kErYQy9Bbe7ofNk7dPKo","title":"Built-in variables","pathname":"/connect-api/request-url-variables/built-in-variables","siteSpaceId":"sitesp_mO3BW","description":"Learn about the built-in variables you can use in your requests","breadcrumbs":[{"label":"Data and Backend"},{"label":"Variables","emoji":"1f3b2"}]},{"id":"c3HCwh6gbBjJkwNXaf9k","title":"Set Variable","pathname":"/connect-api/request-url-variables/set-variable","siteSpaceId":"sitesp_mO3BW","breadcrumbs":[{"label":"Data and Backend"},{"label":"Variables","emoji":"1f3b2"}]},{"id":"-Mj-f1-GSMCb9_8uSM_Y","title":"Data Collection & Binding: Complete Collection","pathname":"/connect-api/data-library-and-binding-complete-collection","siteSpaceId":"sitesp_mO3BW","emoji":"1f4da","description":"All the tutorials on connecting to APIs in Bravo Studio and binding data to your app.","breadcrumbs":[{"label":"Data and Backend"}]},{"id":"-Mee4IAGBJ18ZPwSAL_m","title":"Pagination","pathname":"/connect-api/pagination","siteSpaceId":"sitesp_mO3BW","emoji":"1f5c2","description":"","breadcrumbs":[{"label":"Data and Backend"}]},{"id":"vXHRunO5ktmZKBQWBUkG","title":"Debugging API issues","pathname":"/connect-api/debugging-api-issues","siteSpaceId":"sitesp_mO3BW","emoji":"1f41b","description":"","breadcrumbs":[{"label":"Data and Backend"}]},{"id":"-MflkD1VcS5cJb8pY005","title":"Debugging requests in the API Collection","pathname":"/connect-api/debugging-api-issues/data-library-data-library-debug-section","siteSpaceId":"sitesp_mO3BW","emoji":"2699","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Debugging API issues","emoji":"1f41b"}]},{"id":"Qe54sha2ztzwvGCnkhnh","title":"Event logger","pathname":"/connect-api/debugging-api-issues/event-logger","siteSpaceId":"sitesp_mO3BW","emoji":"1f4f2","description":"","breadcrumbs":[{"label":"Data and Backend"},{"label":"Debugging API issues","emoji":"1f41b"}]},{"id":"jD2ZLX7H8r5F2EHkR24W","title":"Link property","pathname":"/connect-api/debugging-api-issues/link-property","siteSpaceId":"sitesp_mO3BW","emoji":"1f517","breadcrumbs":[{"label":"Data and Backend"},{"label":"Debugging API issues","emoji":"1f41b"}]},{"id":"UuSBQFMcYMDjOhcZJOla","title":"Data binding types","pathname":"/data-binding/data-binding-types","siteSpaceId":"sitesp_mO3BW","emoji":"1f91d","description":"Bravo excels in bridging the gap between Figma design and backend development Easily integrate real-time data through APIs, Bravo enables the development of dynamic and interactive user experiences.","breadcrumbs":[{"label":"Data binding"}]},{"id":"-MlB8eoip-nCcuajRtfp","title":"API binding types","pathname":"/data-binding/data-binding-types/bind-multiple-properties-to-a-ui-element","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data binding"},{"label":"Data binding types","emoji":"1f91d"}]},{"id":"-MlAEZqQg5yMtK7mAWMy","title":"Bind multiple API requests to one screen","pathname":"/data-binding/data-binding-types/bind-data-to-ui-multiple-requests","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data binding"},{"label":"Data binding types","emoji":"1f91d"}]},{"id":"-MflssHZZsI3e9HQ_pME","title":"How to connect my API to a mobile actions","pathname":"/data-binding/data-binding-types/data-biding-connect-dynamic-data-to-actions-tags","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data binding"},{"label":"Data binding types","emoji":"1f91d"}]},{"id":"-MfluW_5MCvTNJPUwVXZ","title":"Remote actions: trigger an API request with a UI element","pathname":"/data-binding/data-binding-types/data-binding-add-remote-actions-to-your-ui","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data binding"},{"label":"Data binding types","emoji":"1f91d"}]},{"id":"-Mj-nasvibyGvBEsmNv9","title":"Display data in your app","pathname":"/data-binding/display-data-in-your-app","siteSpaceId":"sitesp_mO3BW","emoji":"1f4a1","description":"Retrieve data (content) from any backend and display them in your app.","breadcrumbs":[{"label":"Data binding"}]},{"id":"-MfllnPeWFzs7Y7_eNNW","title":"Bind data to design for a list page","pathname":"/data-binding/display-data-in-your-app/data-biding-bind-data-to-ui-for-a-list-page","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data binding"},{"label":"Display data in your app","emoji":"1f4a1"}]},{"id":"-MflnsvAmWsTMw84cPsy","title":"Bind data to design for a detail page","pathname":"/data-binding/display-data-in-your-app/data-biding-bind-data-to-ui-for-a-detail-page","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Data binding"},{"label":"Display data in your app","emoji":"1f4a1"}]},{"id":"-Mj-tuGTSj-N5kd8Lv3R","title":"Create data from your app","pathname":"/data-binding/create-data-from-your-app","siteSpaceId":"sitesp_mO3BW","emoji":"1f195","description":"With Bravo tags and the data collection, you can add input fields in your app and send the data to a backend database.","breadcrumbs":[{"label":"Data binding"}]},{"id":"-Mj-w3-p0X9YKUgP7ouF","title":"Delete data from your app","pathname":"/data-binding/delete-data-from-your-app","siteSpaceId":"sitesp_mO3BW","emoji":"1f5d1","description":"Set up a DELETE request and connect it to your app design to delete data from your backend.","breadcrumbs":[{"label":"Data binding"}]},{"id":"fNHwBmes7j4jZKpjnOXx","title":"Conditional Visibility","pathname":"/data-binding/conditional-visibility","siteSpaceId":"sitesp_mO3BW","emoji":"1f6a6","description":"Show or hide certain UI elements based on API data.","breadcrumbs":[{"label":"Data binding"}]},{"id":"iRJM4fLAyHbllXH2xI01","title":"Conditional Actions","pathname":"/data-binding/conditional-actions","siteSpaceId":"sitesp_mO3BW","emoji":"1f39b","description":"Create conditional actions depending on API response data","breadcrumbs":[{"label":"Data binding"}]},{"id":"e1se8Rod2QViUgCCDVeW","title":"Open AI Assistant/Chatbot","pathname":"/integrations/open-ai-assistant-chatbot","siteSpaceId":"sitesp_mO3BW","icon":"brain-circuit","description":"This tutorial will guide you to build an Open AI chatbot app.","breadcrumbs":[{"label":"Integrations & Settings"}]},{"id":"9Q6N7NwB3sHH29dLvv42","title":"Deep Links","pathname":"/integrations/deep-links","siteSpaceId":"sitesp_mO3BW","emoji":"1f587","description":"Create a shareable link that will open your app to a specific screen.","breadcrumbs":[{"label":"Integrations & Settings"}]},{"id":"o41J5bhRIjVNh86hS6Rg","title":"Deep Links for Bravo Vision","pathname":"/integrations/deep-links/deep-links-for-bravo-vision","siteSpaceId":"sitesp_mO3BW","emoji":"1f587","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"Deep Links","emoji":"1f587"}]},{"id":"kLA13D1UPPs8dZ2qsZAJ","title":"Deep Links for published apps","pathname":"/integrations/deep-links/deep-links-for-published-apps","siteSpaceId":"sitesp_mO3BW","emoji":"1f587","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"Deep Links","emoji":"1f587"}]},{"id":"iExDQl92RWBYbmCOlyh5","title":"Troubleshooting Deep Links","pathname":"/integrations/deep-links/troubleshooting-deep-links","siteSpaceId":"sitesp_mO3BW","emoji":"1f587","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"Deep Links","emoji":"1f587"}]},{"id":"-MlBaal-edBRgAQZWwhD","title":"Push Notifications with OneSignal","pathname":"/integrations/push-notifications","siteSpaceId":"sitesp_mO3BW","emoji":"1f514","description":"This guide covers how to set up and send push notifications to engage with your app users.","breadcrumbs":[{"label":"Integrations & Settings"}]},{"id":"-MlBeWDZBMSG86e5fado","title":"How to get a Bravo page URL","pathname":"/integrations/push-notifications/how-to-get-a-bravo-page-url","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"Push Notifications with OneSignal","emoji":"1f514"}]},{"id":"MWqVkTS0iL7l8nlh7w6B","title":"Firebase Configuration","pathname":"/integrations/app-login-firebase","siteSpaceId":"sitesp_mO3BW","emoji":"2699","description":"Completing the Firebase Configuration is mandatory to enable Firebase Integrations as to manage User Authentication and create Deep Links for your app.","breadcrumbs":[{"label":"Integrations & Settings"}]},{"id":"-MlKCJiU-D-uwB_yI-hv","title":"User Authentication","pathname":"/integrations/user-authentication","siteSpaceId":"sitesp_mO3BW","emoji":"1f510","description":"Add user authentication to your apps by implementing a login method!","breadcrumbs":[{"label":"Integrations & Settings"}]},{"id":"l7xidEawqACygbhx7gwL","title":"Authentication with Kinde and Xano","pathname":"/integrations/user-authentication/authentication-with-kinde-and-xano","siteSpaceId":"sitesp_mO3BW","emoji":"1f511","description":"In this tutorial, you will learn how to set up simple passwordless authentication using Kinde.  This feature will help you secure your app content visible only to authenticated users.","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"User Authentication","emoji":"1f510"}]},{"id":"-MlBE_SZHg_oMte8TcdI","title":"🧙🏽Authentication with OAuth 2.0","pathname":"/integrations/user-authentication/oauth2","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"User Authentication","emoji":"1f510"}]},{"id":"-MlBII2o-je5Su8U4vRZ","title":"Using social logins to authenticate users","pathname":"/integrations/user-authentication/oauth2/example-using-social-logins-to-authenticate-users","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"User Authentication","emoji":"1f510"},{"label":"🧙🏽Authentication with OAuth 2.0"}]},{"id":"-MlBI_ua5xV7XGokKOsM","title":"Using AWS Cognito to authenticate users","pathname":"/integrations/user-authentication/oauth2/example-using-aws-cognito-to-authenticate-users","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"User Authentication","emoji":"1f510"},{"label":"🧙🏽Authentication with OAuth 2.0"}]},{"id":"-MlBIQ1-3cDbneR5QALD","title":"Connecting to Spotify API","pathname":"/integrations/user-authentication/oauth2/example-connecting-to-spotify-api","siteSpaceId":"sitesp_mO3BW","description":"Allow users to access their Spotify account information in your app.","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"User Authentication","emoji":"1f510"},{"label":"🧙🏽Authentication with OAuth 2.0"}]},{"id":"-MhNLHBUAjNK2_2VFaQX","title":"User login with Firebase","pathname":"/integrations/user-authentication/app-login-firebase","siteSpaceId":"sitesp_mO3BW","emoji":"1f4f2","description":"Set up a user authentication system using Firebase","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"User Authentication","emoji":"1f510"}]},{"id":"I7qBPmHghbBw5tRzLFYd","title":"Email and password Login with Firebase","pathname":"/integrations/user-authentication/app-login-firebase/email-password-login-firebase","siteSpaceId":"sitesp_mO3BW","emoji":"2709","description":"Set up a user authentication system using Email and Password with Firebase","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"User Authentication","emoji":"1f510"},{"label":"User login with Firebase","emoji":"1f4f2"}]},{"id":"qrrYQwgnwpUZsDn6ZTqH","title":"Phone Login with Firebase","pathname":"/integrations/user-authentication/app-login-firebase/phone-login-with-firebase","siteSpaceId":"sitesp_mO3BW","emoji":"1f4de","description":"Set up a user authentication system using Phone login with Firebase","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"User Authentication","emoji":"1f510"},{"label":"User login with Firebase","emoji":"1f4f2"}]},{"id":"m0wFJ6aHxiqZsp3F1JMt","title":"Social Login with Firebase","pathname":"/integrations/user-authentication/app-login-firebase/social-login-with-firebase","siteSpaceId":"sitesp_mO3BW","emoji":"1f34e","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"User Authentication","emoji":"1f510"},{"label":"User login with Firebase","emoji":"1f4f2"}]},{"id":"SxrVQznvt5Sj3Dw99Js6","title":"Anonymous Login with Firebase","pathname":"/integrations/user-authentication/app-login-firebase/anonymous-login-with-firebase","siteSpaceId":"sitesp_mO3BW","emoji":"1f47b","description":"Let app users enter some app sections without creating an account","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"User Authentication","emoji":"1f510"},{"label":"User login with Firebase","emoji":"1f4f2"}]},{"id":"Sv4cxwDosZQRrsbvH2Vb","title":"Authentication with custom backend","pathname":"/integrations/user-authentication/authentication-with-custom-backend","siteSpaceId":"sitesp_mO3BW","emoji":"26d3","description":"Authenticate your app users with your preferred backend tool","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"User Authentication","emoji":"1f510"}]},{"id":"2YZjgXX57rz65Ge6Kll1","title":"Set up Xano as your user authentication backend","pathname":"/integrations/user-authentication/authentication-with-custom-backend/set-up-xano-as-your-user-authentication-backend","siteSpaceId":"sitesp_mO3BW","description":"Follow this guide to configure Xano as the user authentication backend","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"User Authentication","emoji":"1f510"},{"label":"Authentication with custom backend","emoji":"26d3"}]},{"id":"c0PXggfPqczNbc4MZXMr","title":"Authentication with Supabase","pathname":"/integrations/user-authentication/authentication-with-supabase","siteSpaceId":"sitesp_mO3BW","emoji":"1f7e2","breadcrumbs":[{"label":"Integrations & Settings"},{"label":"User Authentication","emoji":"1f510"}]},{"id":"-MhNqPqG9KEQjZHxMeEF","title":"Stripe: One-time Payment","pathname":"/integrations/payment-with-stripe","siteSpaceId":"sitesp_mO3BW","emoji":"1f4b0","description":"","breadcrumbs":[{"label":"Integrations & Settings"}]},{"id":"eDa9kKKQAMSgzOffdC2I","title":"Chat: CometChat","pathname":"/integrations/chat-cometchat","siteSpaceId":"sitesp_mO3BW","emoji":"1f4ac","description":"","breadcrumbs":[{"label":"Integrations & Settings"}]},{"id":"HJQ0sO8YuB3s7UDZNKy9","title":"RevenueCat: In-app purchases and subscriptions","pathname":"/integrations/revenuecat-in-app-purchases-and-subscriptions","siteSpaceId":"sitesp_mO3BW","emoji":"1f4b8","description":"Bravo uses RevenueCat service to integrate In-App Purchases for iOS & Android apps.","breadcrumbs":[{"label":"Integrations & Settings"}]},{"id":"QEJi4cA8bL1DymVcBKgh","title":"Bravo Analytics","pathname":"/integrations/bravo-analytics","siteSpaceId":"sitesp_mO3BW","emoji":"1f4c9","breadcrumbs":[{"label":"Integrations & Settings"}]},{"id":"nlCATya40TEMZx7Y8Y5S","title":"Facebook App Events","pathname":"/integrations/facebook-app-events","siteSpaceId":"sitesp_mO3BW","emoji":"1f4f3","description":"Track user actions in your apps with Facebook App Events","breadcrumbs":[{"label":"Integrations & Settings"}]},{"id":"JVMPvC43JXbdtkXUulAs","title":"Google Analytics","pathname":"/integrations/google-analytics","siteSpaceId":"sitesp_mO3BW","emoji":"1f4ca","description":"Integrate Google Analytics and track events from your app","breadcrumbs":[{"label":"Integrations & Settings"}]},{"id":"yDpOuyhqh7IO8VNwDWWU","title":"Multilingual apps","pathname":"/integrations/multilingual-apps","siteSpaceId":"sitesp_mO3BW","emoji":"1f310","description":"","breadcrumbs":[{"label":"Integrations & Settings"}]},{"id":"ugBfhHyBGa69mPUg1YLO","title":"How to connect with Webflow API","pathname":"/integrations/how-to-connect-with-webflow-api","siteSpaceId":"sitesp_mO3BW","emoji":"1f578","description":"","breadcrumbs":[{"label":"Integrations & Settings"}]},{"id":"8Xgic0RNOsuZMtyiGA4M","title":"NFC connection","pathname":"/integrations/nfc-connection","siteSpaceId":"sitesp_mO3BW","emoji":"1f4e1","description":"","breadcrumbs":[{"label":"Integrations & Settings"}]},{"id":"b2JoqJqTYkhDEcDOriG3","title":"Admob","pathname":"/integrations/admob","siteSpaceId":"sitesp_mO3BW","emoji":"1f3af","description":"Bravo uses Google Admob service to integrate advertising for iOS & Android apps.","breadcrumbs":[{"label":"Integrations & Settings"}]},{"id":"-Mj-xGJ1PCt-yVfT0wDc","title":"Publishing your app","pathname":"/app-publication/publishing-your-app","siteSpaceId":"sitesp_mO3BW","emoji":"1f680","description":"","breadcrumbs":[{"label":"App Publication"}]},{"id":"-MhNujNYNFcHB26Geo2h","title":"iOS Publication: Complete Process","pathname":"/app-publication/publishing-your-app/ios-publication-complete-process","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App Publication"},{"label":"Publishing your app","emoji":"1f680"}]},{"id":"-MhNw39BxwmSQl3_uJeZ","title":"1. Generate Certificates, AppIDs and Provisions","pathname":"/app-publication/publishing-your-app/ios-publication-complete-process/generate-certificates-appids-and-provisions","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App Publication"},{"label":"Publishing your app","emoji":"1f680"},{"label":"iOS Publication: Complete Process"}]},{"id":"-MhO2w6-18Yt2U6mewYu","title":"2. Get the IPA","pathname":"/app-publication/publishing-your-app/ios-publication-complete-process/get-the-ipa","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App Publication"},{"label":"Publishing your app","emoji":"1f680"},{"label":"iOS Publication: Complete Process"}]},{"id":"-MhO4PPsVjhqQvYqQQgZ","title":"3. Upload IPA to App Store Connect","pathname":"/app-publication/publishing-your-app/ios-publication-complete-process/upload-ipa-to-app-store-connect","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App Publication"},{"label":"Publishing your app","emoji":"1f680"},{"label":"iOS Publication: Complete Process"}]},{"id":"-MhO5NK5sZz4IhjWMSpF","title":"4. Test your app on TestFlight (optional)","pathname":"/app-publication/publishing-your-app/ios-publication-complete-process/testflight","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App Publication"},{"label":"Publishing your app","emoji":"1f680"},{"label":"iOS Publication: Complete Process"}]},{"id":"-MhO5dz4yt-qN9yGwbVz","title":"6. App Store publication","pathname":"/app-publication/publishing-your-app/ios-publication-complete-process/app-store-publication","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App Publication"},{"label":"Publishing your app","emoji":"1f680"},{"label":"iOS Publication: Complete Process"}]},{"id":"-MhO6FivZFneccIjyxcH","title":"7. Updating an app in the App Store","pathname":"/app-publication/publishing-your-app/ios-publication-complete-process/updating-an-app-in-the-app-store","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App Publication"},{"label":"Publishing your app","emoji":"1f680"},{"label":"iOS Publication: Complete Process"}]},{"id":"-MhSix7CLg6-IkHHAhYz","title":"Android Publication: Complete Process","pathname":"/app-publication/publishing-your-app/android-publication-complete-process","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App Publication"},{"label":"Publishing your app","emoji":"1f680"}]},{"id":"-MhSkEMxBZPgiu9Mjzoe","title":"1. Create a Keystore File (optional)","pathname":"/app-publication/publishing-your-app/android-publication-complete-process/create-a-keystore-file-optional","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App Publication"},{"label":"Publishing your app","emoji":"1f680"},{"label":"Android Publication: Complete Process"}]},{"id":"-MhSlkJc3AcX7KxR8OQS","title":"2. Get the Debug APK to install","pathname":"/app-publication/publishing-your-app/android-publication-complete-process/untitled","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App Publication"},{"label":"Publishing your app","emoji":"1f680"},{"label":"Android Publication: Complete Process"}]},{"id":"-MhSnfOY6SzVlQQ_vQXc","title":"3. Install the Debug APK in your device","pathname":"/app-publication/publishing-your-app/android-publication-complete-process/3.-install-the-debug-apk-in-your-device","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App Publication"},{"label":"Publishing your app","emoji":"1f680"},{"label":"Android Publication: Complete Process"}]},{"id":"-MhSnz6zu8Nayp2vhO4C","title":"4. Get the AAB (Android App Bundle) file to publish","pathname":"/app-publication/publishing-your-app/android-publication-complete-process/4.-get-the-aab-android-app-bundle-file-to-publish","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App Publication"},{"label":"Publishing your app","emoji":"1f680"},{"label":"Android Publication: Complete Process"}]},{"id":"-MhSou3bfziFac9Of8wt","title":"5. Google Play publication","pathname":"/app-publication/publishing-your-app/android-publication-complete-process/google-play-publication","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App Publication"},{"label":"Publishing your app","emoji":"1f680"},{"label":"Android Publication: Complete Process"}]},{"id":"-MhSzBwTt8CSB_tCKqIi","title":"6. Updating an app in Google Play","pathname":"/app-publication/publishing-your-app/android-publication-complete-process/6.-updating-an-app-in-google-play","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App Publication"},{"label":"Publishing your app","emoji":"1f680"},{"label":"Android Publication: Complete Process"}]},{"id":"-MhT-8q7Un7qTgbRbEzn","title":"Android APK Installation Guide","pathname":"/app-publication/publishing-your-app/android-apk-installation-guide","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App Publication"},{"label":"Publishing your app","emoji":"1f680"}]},{"id":"-MfmrjT5txpKZC98Yjie","title":"Rejection from the app stores","pathname":"/app-publication/publishing-your-app/publication-rejection-from-the-app-stores","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"App Publication"},{"label":"Publishing your app","emoji":"1f680"}]},{"id":"-Mfms4gjfvg5O1pm4ciK","title":"Making changes to your app after publication","pathname":"/app-publication/publication-managing-your-app-after-publication","siteSpaceId":"sitesp_mO3BW","emoji":"1f39b","description":"","breadcrumbs":[{"label":"App Publication"}]},{"id":"-Mj50wRsrAlnivRXzJXG","title":"Versioning","pathname":"/app-publication/versioning","siteSpaceId":"sitesp_mO3BW","emoji":"1f6cd","description":"","breadcrumbs":[{"label":"App Publication"}]},{"id":"-Mfmt4YRqGQMPXwS-Kc7","title":"App rating alert","pathname":"/app-publication/publication-app-rating-alert","siteSpaceId":"sitesp_mO3BW","emoji":"1f31f","description":"","breadcrumbs":[{"label":"App Publication"}]},{"id":"-MfE6CrX18CZfRU8mwlF","title":"Troubleshoot","pathname":"/good-to-know/troubleshoot","siteSpaceId":"sitesp_mO3BW","emoji":"1f914","description":"","breadcrumbs":[{"label":"Good to Know"}]},{"id":"-MhxdSWWGKtBxTgeihts","title":"Errors when logging in","pathname":"/good-to-know/troubleshoot/errors-when-logging-in","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Good to Know"},{"label":"Troubleshoot","emoji":"1f914"}]},{"id":"-Mhxdt5HITNeeXjomKO5","title":"Errors when creating an app","pathname":"/good-to-know/troubleshoot/errors-when-importing","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Good to Know"},{"label":"Troubleshoot","emoji":"1f914"}]},{"id":"-MhxfjiQ0syC_kXKSgG4","title":"Errors in API requests","pathname":"/good-to-know/troubleshoot/errors-in-api-requests","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Good to Know"},{"label":"Troubleshoot","emoji":"1f914"}]},{"id":"-Mj4fiauYoTDhXGfjeNI","title":"Request timeouts on Bravo","pathname":"/good-to-know/troubleshoot/errors-in-api-requests/request-timeouts-on-bravo","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Good to Know"},{"label":"Troubleshoot","emoji":"1f914"},{"label":"Errors in API requests"}]},{"id":"-MhxfKS-Nr9XFk2WqxkC","title":"Errors after importing","pathname":"/good-to-know/troubleshoot/errors-after-importing","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Good to Know"},{"label":"Troubleshoot","emoji":"1f914"}]},{"id":"yhlWZ6IDdwJphe5ELaRc","title":"Errors in publication form","pathname":"/good-to-know/troubleshoot/errors-in-publication-form","siteSpaceId":"sitesp_mO3BW","description":"These are error messages that you may see when filling out the app build request form.","breadcrumbs":[{"label":"Good to Know"},{"label":"Troubleshoot","emoji":"1f914"}]},{"id":"BPA8zpuNkYnSeiAzwICg","title":"Manage your account","pathname":"/good-to-know/manage-your-account","siteSpaceId":"sitesp_mO3BW","emoji":"1f9d1-1f4bb","description":"","breadcrumbs":[{"label":"Good to Know"}]},{"id":"-Mi1nKiUgT-ab_F5dWxR","title":"Billing","pathname":"/good-to-know/billing","siteSpaceId":"sitesp_mO3BW","emoji":"1f4b3","description":"","breadcrumbs":[{"label":"Good to Know"}]},{"id":"-Mi0sKvq9Dypr-eZTSfM","title":"Bravo Subscription Plans Overview","pathname":"/good-to-know/billing/about-bravo-plans","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Good to Know"},{"label":"Billing","emoji":"1f4b3"}]},{"id":"cM3FDtfVXlnkQRGXzFfd","title":"App Add-ons","pathname":"/good-to-know/billing/app-add-ons","siteSpaceId":"sitesp_mO3BW","breadcrumbs":[{"label":"Good to Know"},{"label":"Billing","emoji":"1f4b3"}]},{"id":"-Mi20cocFfjYDEXwvoCs","title":"Upgrading a plan","pathname":"/good-to-know/billing/how-to-subscribe","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Good to Know"},{"label":"Billing","emoji":"1f4b3"}]},{"id":"LbiTYgAx1JDR8HgsdHVF","title":"Downgrading a plan","pathname":"/good-to-know/billing/downgrading-a-plan","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Good to Know"},{"label":"Billing","emoji":"1f4b3"}]},{"id":"INCFKlNdhhECMUqwCEQ5","title":"App allowance","pathname":"/good-to-know/billing/app-allowance","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Good to Know"},{"label":"Billing","emoji":"1f4b3"}]},{"id":"-Mi26Gws-LSs5uqc9PoL","title":"Invoices & payment method","pathname":"/good-to-know/billing/how-to-manage-your-subscriptions","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Good to Know"},{"label":"Billing","emoji":"1f4b3"}]},{"id":"Sx1IhVnzsApm9Q3WKo7V","title":"FAQ","pathname":"/good-to-know/billing/faq","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Good to Know"},{"label":"Billing","emoji":"1f4b3"}]},{"id":"-MfE67RNOug5-RTGa5-z","title":"FAQs","pathname":"/good-to-know/faq","siteSpaceId":"sitesp_mO3BW","emoji":"2753","description":"Browse through our frequently asked questions","breadcrumbs":[{"label":"Good to Know"}]},{"id":"-MXqyD8dD0frJNOHTmrk","title":"About Bravo Studio","pathname":"/good-to-know/faq/faq","siteSpaceId":"sitesp_mO3BW","description":"Frequently asked questions about the platform","breadcrumbs":[{"label":"Good to Know"},{"label":"FAQs","emoji":"2753"}]},{"id":"-MhyETHpjSe5UmDUFdXP","title":"Importing a design file","pathname":"/good-to-know/faq/importing-a-design-file","siteSpaceId":"sitesp_mO3BW","description":"Frequently asked questions about the platform","breadcrumbs":[{"label":"Good to Know"},{"label":"FAQs","emoji":"2753"}]},{"id":"-Mhstvjb9u_0sZeDt-Zn","title":"Bravo Vision","pathname":"/good-to-know/faq/bravo-vision","siteSpaceId":"sitesp_mO3BW","description":"Frequently asked questions about the platform","breadcrumbs":[{"label":"Good to Know"},{"label":"FAQs","emoji":"2753"}]},{"id":"-MhyI81_On4iBlnDD98S","title":"Bravo Tags","pathname":"/good-to-know/faq/bravo-tags","siteSpaceId":"sitesp_mO3BW","description":"Frequently asked questions about the platform","breadcrumbs":[{"label":"Good to Know"},{"label":"FAQs","emoji":"2753"}]},{"id":"-MhyF2qmhq-piSBLFAtM","title":"API & Data Library","pathname":"/good-to-know/faq/api-and-data-library","siteSpaceId":"sitesp_mO3BW","description":"Frequently asked questions about the platform","breadcrumbs":[{"label":"Good to Know"},{"label":"FAQs","emoji":"2753"}]},{"id":"-Mhy9bHDBsteOCizmN8H","title":"Login & Account","pathname":"/good-to-know/faq/login-and-account","siteSpaceId":"sitesp_mO3BW","description":"Frequently asked questions about the platform","breadcrumbs":[{"label":"Good to Know"},{"label":"FAQs","emoji":"2753"}]},{"id":"-MhyLKKXb8rcQHOAnnuX","title":"Other Features","pathname":"/good-to-know/faq/other-features","siteSpaceId":"sitesp_mO3BW","description":"","breadcrumbs":[{"label":"Good to Know"},{"label":"FAQs","emoji":"2753"}]},{"id":"mUU8vc1BJ6W6imwSmG39","title":"Bravo Support Guide","pathname":"/need-some-help/bravo-support-guide","siteSpaceId":"sitesp_mO3BW","emoji":"1f4d6","breadcrumbs":[{"label":"NEED SOME HELP?"}]},{"id":"-MiLROn4kAy-dRYeel7r","title":"Join the Bravo community","pathname":"/need-some-help/join-the-bravo-community","siteSpaceId":"sitesp_mO3BW","emoji":"1f91d","description":"","breadcrumbs":[{"label":"NEED SOME HELP?"}]},{"id":"vWecSqbxRieTzroh5QIo","title":"Bravo Assistant","pathname":"/need-some-help/bravo-assistant","siteSpaceId":"sitesp_mO3BW","emoji":"1f916","breadcrumbs":[{"label":"NEED SOME HELP?"}]},{"id":"c6DWNzfVDXbPN1D0YaQQ","title":"Production support","pathname":"/need-some-help/production-support","siteSpaceId":"sitesp_mO3BW","emoji":"1f465","description":"Get an extra hand with your app-building process","breadcrumbs":[{"label":"NEED SOME HELP?"}]},{"id":"Is6C2XQB1xTHOLSPFHUT","title":"Report an issue","pathname":"/need-some-help/report-an-issue","siteSpaceId":"sitesp_mO3BW","emoji":"1f41e","breadcrumbs":[{"label":"NEED SOME HELP?"}]}]}