1
0
mirror of https://github.com/flutter/samples.git synced 2025-11-08 13:58:47 +00:00
Files
samples/experimental/web_dashboard
dependabot[bot] 66f8fc6011 Bump cloud_firestore from 4.14.0 to 4.15.6 in /experimental/web_dashboard (#2179)
Bumps
[cloud_firestore](https://github.com/firebase/flutterfire/tree/master/packages/cloud_firestore)
from 4.14.0 to 4.15.6.
<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>v4.15.6</code></h4>
<ul>
<li><strong>FIX</strong>(firestore,windows): fix compilation issue on
Windows (<a
href="https://redirect.github.com/firebase/flutterfire/issues/12375">#12375</a>).
(<a
href="f24d0a76ff">f24d0a76</a>)</li>
</ul>
<h4><code>cloud_firestore_web</code> - <code>v3.10.6</code></h4>
<ul>
<li><strong>FIX</strong>(firestore,web): fix an issue where hot restart
would throw an error in console (<a
href="https://redirect.github.com/firebase/flutterfire/issues/12382">#12382</a>).
(<a
href="a5dc05daab">a5dc05da</a>)</li>
</ul>
<h4><code>cloud_functions_web</code> - <code>v4.7.0</code></h4>
<ul>
<li><strong>FEAT</strong>(functions,web): migrate web to js_interop to
be compatible with WASM (<a
href="https://redirect.github.com/firebase/flutterfire/issues/12205">#12205</a>).
(<a
href="51f6563e1c">51f6563e</a>)</li>
</ul>
<h4><code>firebase_auth_web</code> - <code>v5.9.6</code></h4>
<ul>
<li><strong>REFACTOR</strong>(auth,web): update error handling to ensure
stack traces are preserved. (<a
href="https://redirect.github.com/firebase/flutterfire/issues/12392">#12392</a>).
(<a
href="280dcb3d77">280dcb3d</a>)</li>
<li><strong>FIX</strong>(auth,web): lower SDK minimum version constraint
to &quot;3.2.0&quot; (<a
href="https://redirect.github.com/firebase/flutterfire/issues/12369">#12369</a>).
(<a
href="fa412b4482">fa412b44</a>)</li>
</ul>
<h4><code>firebase_core</code> - <code>v2.25.5</code></h4>
<ul>
<li><strong>FIX</strong>(core,web): fix compatibility with TrustedTypes
(<a
href="https://redirect.github.com/firebase/flutterfire/issues/12383">#12383</a>).
(<a
href="6c1f73d0c8">6c1f73d0</a>)</li>
</ul>
<h4><code>firebase_core_web</code> - <code>v2.11.5</code></h4>
<ul>
<li><strong>FIX</strong>(core,web): fix compatibility with TrustedTypes
(<a
href="https://redirect.github.com/firebase/flutterfire/issues/12383">#12383</a>).
(<a
href="6c1f73d0c8">6c1f73d0</a>)</li>
<li><strong>FIX</strong>(auth,web): lower SDK minimum version constraint
to &quot;3.2.0&quot; (<a
href="https://redirect.github.com/firebase/flutterfire/issues/12369">#12369</a>).
(<a
href="fa412b4482">fa412b44</a>)</li>
</ul>
<h4><code>firebase_messaging</code> - <code>v14.7.17</code></h4>
<ul>
<li><strong>FIX</strong>(messaging,android): revert changes made to
potential fix as it was causing ANR reports for users (<a
href="https://redirect.github.com/firebase/flutterfire/issues/12396">#12396</a>).
(<a
href="07ef487971">07ef4879</a>)</li>
</ul>
<h4><code>firebase_storage</code> - <code>v11.6.7</code></h4>
<ul>
<li><strong>FIX</strong>(storage): <code>Task.cancel()</code> method
wasn't properly updating <code>task.snapshot</code> and
<code>cancel()</code> wasn't working in certain conditions. (<a
href="https://redirect.github.com/firebase/flutterfire/issues/12322">#12322</a>).
(<a
href="c3ca5d101b">c3ca5d10</a>)</li>
</ul>
<h4><code>firebase_storage_platform_interface</code> -
<code>v5.1.10</code></h4>
<ul>
<li><strong>FIX</strong>(storage): <code>Task.cancel()</code> method
wasn't properly updating <code>task.snapshot</code> and
<code>cancel()</code> wasn't working in certain conditions. (<a
href="https://redirect.github.com/firebase/flutterfire/issues/12322">#12322</a>).
(<a
href="c3ca5d101b">c3ca5d10</a>)</li>
</ul>
<h2>2024-02-19</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="15d8a1c59e"><code>15d8a1c</code></a>
chore(release): prepare for release (<a
href="https://github.com/firebase/flutterfire/tree/master/packages/cloud_firestore/issues/12406">#12406</a>)</li>
<li><a
href="557f2cd321"><code>557f2cd</code></a>
ci(firestore, web): skip live 2nd database tests on CI runs (<a
href="https://github.com/firebase/flutterfire/tree/master/packages/cloud_firestore/issues/12401">#12401</a>)</li>
<li><a
href="f24d0a76ff"><code>f24d0a7</code></a>
fix(firestore, windows): fix compilation issue on Windows (<a
href="https://github.com/firebase/flutterfire/tree/master/packages/cloud_firestore/issues/12375">#12375</a>)</li>
<li><a
href="a5dc05daab"><code>a5dc05d</code></a>
fix(firestore, web): fix an issue where hot restart would throw an error
in c...</li>
<li><a
href="40433ee2bb"><code>40433ee</code></a>
ci: fix firestore e2e tests (<a
href="https://github.com/firebase/flutterfire/tree/master/packages/cloud_firestore/issues/12374">#12374</a>)</li>
<li><a
href="bd2a678488"><code>bd2a678</code></a>
ci: updates to improve e2e tests (<a
href="https://github.com/firebase/flutterfire/tree/master/packages/cloud_firestore/issues/12343">#12343</a>)</li>
<li><a
href="376310f343"><code>376310f</code></a>
chore(release): prepare for release (<a
href="https://github.com/firebase/flutterfire/tree/master/packages/cloud_firestore/issues/12351">#12351</a>)</li>
<li><a
href="fdde75b02f"><code>fdde75b</code></a>
fix(firestore, web): Propagate <code>FirebaseException</code> properly,
fix `mergeFields...</li>
<li><a
href="051a6b5bac"><code>051a6b5</code></a>
test(firestore): fix broken stream e2e tests that require tear down (<a
href="https://github.com/firebase/flutterfire/tree/master/packages/cloud_firestore/issues/12330">#12330</a>)</li>
<li><a
href="2b83defa84"><code>2b83def</code></a>
fix(firestore): expose <code>AggregateField</code> type to users (<a
href="https://github.com/firebase/flutterfire/tree/master/packages/cloud_firestore/issues/12305">#12305</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/firebase/flutterfire/commits/cloud_firestore-v4.15.6/packages/cloud_firestore">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cloud_firestore&package-manager=pub&previous-version=4.14.0&new-version=4.15.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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>
2024-03-01 14:05:05 +11:00
..
2023-11-16 08:55:44 +10:00
2022-05-11 12:48:11 -07:00
2020-03-02 16:04:10 -08:00
2020-03-02 16:04:10 -08:00

web_dashboard

In progress

A dashboard app that displays daily entries.

  1. How to use an AdaptiveScaffold adaptive layout for large, medium, and small screens.
  2. How to use Firebase Cloud Firestore database with Google Sign-In.
  3. How to use charts to display data.
  4. (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