Bumps [firebase_core](https://github.com/firebase/flutterfire/tree/master/packages/firebase_core), [cloud_firestore](https://github.com/firebase/flutterfire/tree/master/packages/cloud_firestore) and [firebase_auth](https://github.com/firebase/flutterfire/tree/master/packages/firebase_auth). These dependencies needed to be updated together. Updates `firebase_core` from 2.32.0 to 3.1.0 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/firebase/flutterfire/blob/master/CHANGELOG.md">firebase_core's changelog</a>.</em></p> <blockquote> <h4><code>firebase_core</code> - <code>v3.1.0</code></h4> <ul> <li><strong>FEAT</strong>: add support for demo project (<a href="https://redirect.github.com/firebase/flutterfire/issues/11973">#11973</a>). (<a href="859ec1dd44">859ec1dd</a>)</li> </ul> <h4><code>firebase_core_platform_interface</code> - <code>v5.1.0</code></h4> <ul> <li><strong>FEAT</strong>: add support for demo project (<a href="https://redirect.github.com/firebase/flutterfire/issues/11973">#11973</a>). (<a href="859ec1dd44">859ec1dd</a>)</li> </ul> <h4><code>firebase_core_web</code> - <code>v2.17.2</code></h4> <ul> <li><strong>FIX</strong>(firestore,web): ensure streams are removed on "hot restart" (<a href="https://redirect.github.com/firebase/flutterfire/issues/12913">#12913</a>). (<a href="c1a67e5489">c1a67e54</a>)</li> </ul> <h4><code>firebase_database_web</code> - <code>v0.2.5+9</code></h4> <ul> <li><strong>FIX</strong>(database,web): clean up stream handlers on "hot restart" (<a href="https://redirect.github.com/firebase/flutterfire/issues/12915">#12915</a>). (<a href="e298cb4e57">e298cb4e</a>)</li> </ul> <h4><code>firebase_storage_web</code> - <code>v3.9.9</code></h4> <ul> <li><strong>FIX</strong>(storage,web): clean up stream handlers on "hot restart" (<a href="https://redirect.github.com/firebase/flutterfire/issues/12927">#12927</a>). (<a href="0ea7099c13">0ea7099c</a>)</li> </ul> <h4><code>firebase_vertexai</code> - <code>v0.2.2</code></h4> <ul> <li><strong>FEAT</strong>(vertexai): add name constructor for function calling schema (<a href="https://redirect.github.com/firebase/flutterfire/issues/12898">#12898</a>). (<a href="466884b647">466884b6</a>)</li> </ul> <h2>2024-06-06</h2> <h3>Changes</h3> <hr /> <p>Packages with breaking changes:</p> <ul> <li>There are no breaking changes in this release.</li> </ul> <p>Packages with other changes:</p> <ul> <li><a href="https://github.com/firebase/flutterfire/blob/master/#firebase_vertexai---v021"><code>firebase_vertexai</code> - <code>v0.2.1</code></a></li> </ul> <hr /> <h4><code>firebase_vertexai</code> - <code>v0.2.1</code></h4> <ul> <li><strong>FIX</strong>(vertexai): fix the countTokens brokage (<a href="https://redirect.github.com/firebase/flutterfire/issues/12899">#12899</a>). (<a href="e946eb9b42">e946eb9b</a>)</li> </ul> <h2>2024-06-04 - <a href="https://github.com/firebase/flutterfire/blob/master/VERSIONS.md#flutter-bom-200-2024-06-04">BoM 2.0.0</a></h2> <h3>Changes</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="f7d4a7a043"><code>f7d4a7a</code></a> chore(release): publish packages</li> <li><a href="c1a67e5489"><code>c1a67e5</code></a> fix(firestore, web): ensure streams are removed on "hot restart" (<a href="https://github.com/firebase/flutterfire/tree/master/packages/firebase_core/issues/12913">#12913</a>)</li> <li><a href="a224a023c8"><code>a224a02</code></a> chore(all): migrate example web directories to new structure (<a href="https://github.com/firebase/flutterfire/tree/master/packages/firebase_core/issues/12911">#12911</a>)</li> <li><a href="1333f4af91"><code>1333f4a</code></a> chore: topics for all FlutterFire plugins in <code>pubspec.yaml</code> files (<a href="https://github.com/firebase/flutterfire/tree/master/packages/firebase_core/issues/12841">#12841</a>)</li> <li><a href="859ec1dd44"><code>859ec1d</code></a> feat: add support for demo project (<a href="https://github.com/firebase/flutterfire/tree/master/packages/firebase_core/issues/11973">#11973</a>)</li> <li><a href="1b33533fde"><code>1b33533</code></a> chore(release): publish packages + BoM 2.0.0 (<a href="https://github.com/firebase/flutterfire/tree/master/packages/firebase_core/issues/12895">#12895</a>)</li> <li><a href="f67914c463"><code>f67914c</code></a> feat: bump Firebase android SDK to <code>33.1.0</code> (<a href="https://github.com/firebase/flutterfire/tree/master/packages/firebase_core/issues/12874">#12874</a>)</li> <li><a href="52accfc6c3"><code>52accfc</code></a> refactor!: android plugins require <code>minSdk 21</code>, auth requires <code>minSdk 23</code> ahe...</li> <li><a href="de0cea2c3c"><code>de0cea2</code></a> refactor!: bump all iOS deployment targets to iOS 13 ahead of Firebase iOS SD...</li> <li><a href="fcb3c2123c"><code>fcb3c21</code></a> feat: bump Firebase iOS SDK to <code>10.27.0</code> (<a href="https://github.com/firebase/flutterfire/tree/master/packages/firebase_core/issues/12871">#12871</a>)</li> <li>Additional commits viewable in <a href="https://github.com/firebase/flutterfire/commits/firebase_core-v3.1.0/packages/firebase_core">compare view</a></li> </ul> </details> <br /> Updates `cloud_firestore` from 4.17.5 to 5.0.1 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/firebase/flutterfire/blob/master/CHANGELOG.md">cloud_firestore's changelog</a>.</em></p> <blockquote> <h4><code>cloud_firestore</code> - <code>v5.0.1</code></h4> <ul> <li><strong>FIX</strong>(firestore,macos): add Nonull decorator to PigeonParser to remove warnings when building (<a href="https://redirect.github.com/firebase/flutterfire/issues/12930">#12930</a>). (<a href="264b764346">264b7643</a>)</li> <li><strong>FIX</strong>(firestore,web): ensure streams are removed on "hot restart" (<a href="https://redirect.github.com/firebase/flutterfire/issues/12913">#12913</a>). (<a href="c1a67e5489">c1a67e54</a>)</li> </ul> <h4><code>cloud_firestore_web</code> - <code>v4.0.1</code></h4> <ul> <li><strong>FIX</strong>(firestore,web): ensure streams are removed on "hot restart" (<a href="https://redirect.github.com/firebase/flutterfire/issues/12913">#12913</a>). (<a href="c1a67e5489">c1a67e54</a>)</li> </ul> <h4><code>firebase_app_check</code> - <code>v0.3.0+1</code></h4> <ul> <li><strong>FIX</strong>(app-check,web): fixed broken <code>onTokenChanged</code> and ensured it is properly cleaned up. Streams are also cleaned up on "hot restart" (<a href="https://redirect.github.com/firebase/flutterfire/issues/12933">#12933</a>). (<a href="093b5fef8c">093b5fef</a>)</li> <li><strong>FIX</strong>(firebase_app_check,ios): Replace angles with quotes in import statement (<a href="https://redirect.github.com/firebase/flutterfire/issues/12929">#12929</a>). (<a href="f2fc902b9e">f2fc902b</a>)</li> <li><strong>FIX</strong>(app-check,ios): update app check to stable release (<a href="https://redirect.github.com/firebase/flutterfire/issues/12924">#12924</a>). (<a href="ced1168482">ced11684</a>)</li> </ul> <h4><code>firebase_app_check_web</code> - <code>v0.1.2+9</code></h4> <ul> <li><strong>FIX</strong>(app-check,web): fixed broken <code>onTokenChanged</code> and ensured it is properly cleaned up. Streams are also cleaned up on "hot restart" (<a href="https://redirect.github.com/firebase/flutterfire/issues/12933">#12933</a>). (<a href="093b5fef8c">093b5fef</a>)</li> </ul> <h4><code>firebase_auth</code> - <code>v5.1.0</code></h4> <ul> <li><strong>FIX</strong>(auth,ios): fix the parsing of an error that could specifically happen when using MicrosoftProvider (<a href="https://redirect.github.com/firebase/flutterfire/issues/12920">#12920</a>). (<a href="3b415e641e">3b415e64</a>)</li> <li><strong>FEAT</strong>(auth,apple): create a credential with <code>idToken</code>, <code>rawNonce</code> & <code>appleFullPersonName</code> (<a href="https://redirect.github.com/firebase/flutterfire/issues/12356">#12356</a>). (<a href="177930802c">17793080</a>)</li> </ul> <h4><code>firebase_auth_platform_interface</code> - <code>v7.4.0</code></h4> <ul> <li><strong>FEAT</strong>(auth,apple): create a credential with <code>idToken</code>, <code>rawNonce</code> & <code>appleFullPersonName</code> (<a href="https://redirect.github.com/firebase/flutterfire/issues/12356">#12356</a>). (<a href="177930802c">17793080</a>)</li> </ul> <h4><code>firebase_auth_web</code> - <code>v5.12.2</code></h4> <ul> <li><strong>FIX</strong>(auth,web): unsubscribe from stream handlers after "hot restart" (<a href="https://redirect.github.com/firebase/flutterfire/issues/12908">#12908</a>). (<a href="a76c8866c7">a76c8866</a>)</li> <li><strong>FIX</strong>(auth,web): stream handlers are properly cleaned up and recreated (<a href="https://redirect.github.com/firebase/flutterfire/issues/12903">#12903</a>). (<a href="daaef12c7c">daaef12c</a>)</li> </ul> <h4><code>firebase_core</code> - <code>v3.1.0</code></h4> <ul> <li><strong>FEAT</strong>: add support for demo project (<a href="https://redirect.github.com/firebase/flutterfire/issues/11973">#11973</a>). (<a href="859ec1dd44">859ec1dd</a>)</li> </ul> <h4><code>firebase_core_platform_interface</code> - <code>v5.1.0</code></h4> <ul> <li><strong>FEAT</strong>: add support for demo project (<a href="https://redirect.github.com/firebase/flutterfire/issues/11973">#11973</a>). (<a href="859ec1dd44">859ec1dd</a>)</li> </ul> <h4><code>firebase_core_web</code> - <code>v2.17.2</code></h4> <ul> <li><strong>FIX</strong>(firestore,web): ensure streams are removed on "hot restart" (<a href="https://redirect.github.com/firebase/flutterfire/issues/12913">#12913</a>). (<a href="c1a67e5489">c1a67e54</a>)</li> </ul> <h4><code>firebase_database_web</code> - <code>v0.2.5+9</code></h4> <ul> <li><strong>FIX</strong>(database,web): clean up stream handlers on "hot restart" (<a href="https://redirect.github.com/firebase/flutterfire/issues/12915">#12915</a>). (<a href="e298cb4e57">e298cb4e</a>)</li> </ul> <h4><code>firebase_storage_web</code> - <code>v3.9.9</code></h4> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="f7d4a7a043"><code>f7d4a7a</code></a> chore(release): publish packages</li> <li><a href="264b764346"><code>264b764</code></a> fix(firestore, macos): add Nonull decorator to PigeonParser to remove warning...</li> <li><a href="c1a67e5489"><code>c1a67e5</code></a> fix(firestore, web): ensure streams are removed on "hot restart" (<a href="https://github.com/firebase/flutterfire/tree/master/packages/cloud_firestore/issues/12913">#12913</a>)</li> <li><a href="a224a023c8"><code>a224a02</code></a> chore(all): migrate example web directories to new structure (<a href="https://github.com/firebase/flutterfire/tree/master/packages/cloud_firestore/issues/12911">#12911</a>)</li> <li><a href="1333f4af91"><code>1333f4a</code></a> chore: topics for all FlutterFire plugins in <code>pubspec.yaml</code> files (<a href="https://github.com/firebase/flutterfire/tree/master/packages/cloud_firestore/issues/12841">#12841</a>)</li> <li><a href="1b33533fde"><code>1b33533</code></a> chore(release): publish packages + BoM 2.0.0 (<a href="https://github.com/firebase/flutterfire/tree/master/packages/cloud_firestore/issues/12895">#12895</a>)</li> <li><a href="e6069b3bdf"><code>e6069b3</code></a> chore(cloud_firestore): upgrade gradle (<a href="https://github.com/firebase/flutterfire/tree/master/packages/cloud_firestore/issues/12875">#12875</a>)</li> <li><a href="52accfc6c3"><code>52accfc</code></a> refactor!: android plugins require <code>minSdk 21</code>, auth requires <code>minSdk 23</code> ahe...</li> <li><a href="de0cea2c3c"><code>de0cea2</code></a> refactor!: bump all iOS deployment targets to iOS 13 ahead of Firebase iOS SD...</li> <li><a href="0a89020864"><code>0a89020</code></a> chore: move the Flutter Favorite image in the correct image folder (<a href="https://github.com/firebase/flutterfire/tree/master/packages/cloud_firestore/issues/12870">#12870</a>)</li> <li>Additional commits viewable in <a href="https://github.com/firebase/flutterfire/commits/cloud_firestore-v5.0.1/packages/cloud_firestore">compare view</a></li> </ul> </details> <br /> Updates `firebase_auth` from 4.20.0 to 5.1.0 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/firebase/flutterfire/blob/master/CHANGELOG.md">firebase_auth's changelog</a>.</em></p> <blockquote> <h4><code>firebase_auth</code> - <code>v5.1.0</code></h4> <ul> <li><strong>FIX</strong>(auth,ios): fix the parsing of an error that could specifically happen when using MicrosoftProvider (<a href="https://redirect.github.com/firebase/flutterfire/issues/12920">#12920</a>). (<a href="3b415e641e">3b415e64</a>)</li> <li><strong>FEAT</strong>(auth,apple): create a credential with <code>idToken</code>, <code>rawNonce</code> & <code>appleFullPersonName</code> (<a href="https://redirect.github.com/firebase/flutterfire/issues/12356">#12356</a>). (<a href="177930802c">17793080</a>)</li> </ul> <h4><code>firebase_auth_platform_interface</code> - <code>v7.4.0</code></h4> <ul> <li><strong>FEAT</strong>(auth,apple): create a credential with <code>idToken</code>, <code>rawNonce</code> & <code>appleFullPersonName</code> (<a href="https://redirect.github.com/firebase/flutterfire/issues/12356">#12356</a>). (<a href="177930802c">17793080</a>)</li> </ul> <h4><code>firebase_auth_web</code> - <code>v5.12.2</code></h4> <ul> <li><strong>FIX</strong>(auth,web): unsubscribe from stream handlers after "hot restart" (<a href="https://redirect.github.com/firebase/flutterfire/issues/12908">#12908</a>). (<a href="a76c8866c7">a76c8866</a>)</li> <li><strong>FIX</strong>(auth,web): stream handlers are properly cleaned up and recreated (<a href="https://redirect.github.com/firebase/flutterfire/issues/12903">#12903</a>). (<a href="daaef12c7c">daaef12c</a>)</li> </ul> <h4><code>firebase_core</code> - <code>v3.1.0</code></h4> <ul> <li><strong>FEAT</strong>: add support for demo project (<a href="https://redirect.github.com/firebase/flutterfire/issues/11973">#11973</a>). (<a href="859ec1dd44">859ec1dd</a>)</li> </ul> <h4><code>firebase_core_platform_interface</code> - <code>v5.1.0</code></h4> <ul> <li><strong>FEAT</strong>: add support for demo project (<a href="https://redirect.github.com/firebase/flutterfire/issues/11973">#11973</a>). (<a href="859ec1dd44">859ec1dd</a>)</li> </ul> <h4><code>firebase_core_web</code> - <code>v2.17.2</code></h4> <ul> <li><strong>FIX</strong>(firestore,web): ensure streams are removed on "hot restart" (<a href="https://redirect.github.com/firebase/flutterfire/issues/12913">#12913</a>). (<a href="c1a67e5489">c1a67e54</a>)</li> </ul> <h4><code>firebase_database_web</code> - <code>v0.2.5+9</code></h4> <ul> <li><strong>FIX</strong>(database,web): clean up stream handlers on "hot restart" (<a href="https://redirect.github.com/firebase/flutterfire/issues/12915">#12915</a>). (<a href="e298cb4e57">e298cb4e</a>)</li> </ul> <h4><code>firebase_storage_web</code> - <code>v3.9.9</code></h4> <ul> <li><strong>FIX</strong>(storage,web): clean up stream handlers on "hot restart" (<a href="https://redirect.github.com/firebase/flutterfire/issues/12927">#12927</a>). (<a href="0ea7099c13">0ea7099c</a>)</li> </ul> <h4><code>firebase_vertexai</code> - <code>v0.2.2</code></h4> <ul> <li><strong>FEAT</strong>(vertexai): add name constructor for function calling schema (<a href="https://redirect.github.com/firebase/flutterfire/issues/12898">#12898</a>). (<a href="466884b647">466884b6</a>)</li> </ul> <h2>2024-06-06</h2> <h3>Changes</h3> <hr /> <p>Packages with breaking changes:</p> <ul> <li>There are no breaking changes in this release.</li> </ul> <p>Packages with other changes:</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="f7d4a7a043"><code>f7d4a7a</code></a> chore(release): publish packages</li> <li><a href="177930802c"><code>1779308</code></a> feat(auth, apple): create a credential with <code>idToken</code>, <code>rawNonce</code> & `appleFul...</li> <li><a href="3b415e641e"><code>3b415e6</code></a> fix(auth, ios): fix the parsing of an error that could specifically happen wh...</li> <li><a href="c1a67e5489"><code>c1a67e5</code></a> fix(firestore, web): ensure streams are removed on "hot restart" (<a href="https://github.com/firebase/flutterfire/tree/master/packages/firebase_auth/issues/12913">#12913</a>)</li> <li><a href="a224a023c8"><code>a224a02</code></a> chore(all): migrate example web directories to new structure (<a href="https://github.com/firebase/flutterfire/tree/master/packages/firebase_auth/issues/12911">#12911</a>)</li> <li><a href="a76c8866c7"><code>a76c886</code></a> fix(auth, web): unsubscribe from stream handlers after "hot restart" (<a href="https://github.com/firebase/flutterfire/tree/master/packages/firebase_auth/issues/12908">#12908</a>)</li> <li><a href="daaef12c7c"><code>daaef12</code></a> fix(auth, web): stream handlers are properly cleaned up and recreated (<a href="https://github.com/firebase/flutterfire/tree/master/packages/firebase_auth/issues/12903">#12903</a>)</li> <li><a href="1333f4af91"><code>1333f4a</code></a> chore: topics for all FlutterFire plugins in <code>pubspec.yaml</code> files (<a href="https://github.com/firebase/flutterfire/tree/master/packages/firebase_auth/issues/12841">#12841</a>)</li> <li><a href="e522fb1d0f"><code>e522fb1</code></a> chore(auth): upgrade gradle (<a href="https://github.com/firebase/flutterfire/tree/master/packages/firebase_auth/issues/12882">#12882</a>)</li> <li><a href="1b33533fde"><code>1b33533</code></a> chore(release): publish packages + BoM 2.0.0 (<a href="https://github.com/firebase/flutterfire/tree/master/packages/firebase_auth/issues/12895">#12895</a>)</li> <li>Additional commits viewable in <a href="https://github.com/firebase/flutterfire/commits/firebase_auth-v5.1.0/packages/firebase_auth">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
web_dashboard
In progress
A dashboard app that displays daily entries.
- How to use an AdaptiveScaffold adaptive layout for large, medium, and small screens.
- How to use Firebase Cloud Firestore database with Google Sign-In.
- How to use charts to display data.
- (in progress) How to set up routing for a web app
This app is web-first, and isn't guaranteed to run on iOS, Android or desktop platforms.
Running
Normal mode (DDC):
flutter run -d chrome
Skia / CanvasKit mode:
flutter run -d chrome --release --dart-define=FLUTTER_WEB_USE_SKIA=true
Running JSON code generator
flutter pub run grinder generate
Add Firebase
Step 1: Create a new Firebase project
Go to console.firebase.google.com and create a new Firebase project.
Step 2: Enable Google Sign In for your project
In the Firebase console, go to "Authentication" and enable Google sign in. Click on "Web SDK Configuration" and copy down your Web client ID.
Step 3: Add Client ID to index.html
Uncomment this line in index.html and replace <YOUR WEB CLIENT ID> with the
client ID from Step 2:
<!-- Uncomment and add Firebase client ID here: -->
<!-- <meta name="google-signin-client_id" content="<YOUR WEB CLIENT ID>"> -->
Step 4: Create a web app
In the Firebase console, under "Project overview", click "Add app", select Web,
and replace the contents of web/firebase_init.js.
// web/firebase_init.js
var firebaseConfig = {
apiKey: "",
authDomain: "",
databaseURL: "",
projectId: "",
storageBucket: "",
messagingSenderId: "",
appId: ""
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
Step 4: Create Cloud Firestore
Create a new Cloud Firestore database and add the following rules to disallow users from reading/writing other users' data:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
// Make sure the uid of the requesting user matches name of the user
// document. The wildcard expression {userId} makes the userId variable
// available in rules.
match /users/{userId}/{document=**} {
allow read, update, delete: if request.auth.uid == userId;
allow create: if request.auth.uid != null;
}
}
}
Step 5: Run the app
Run the app on port 5000:
flutter run -d chrome --web-port=5000
If you see CORS errors in your browser's console, go to the Services
section in the Google Cloud console, go to Credentials, and
verify that localhost:5000 is whitelisted.
(optional) Step 7: Set up iOS and Android
If you would like to run the app on iOS or Android, make sure you've installed the appropriate configuration files described at firebase.google.com/docs/flutter/setup from step 1, and follow the instructions detailed in the google_sign_in README