Skip to content

Commit b592fb2

Browse files
authored
feat(ui_storage): add StorageImage widget (#11080)
* implement storage image * implement hashblur loading state + docs * fix genBlurHash function * animate placeholders and image * add emulator data
1 parent b85e074 commit b592fb2

23 files changed

+9050
-14
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"projects": {
3+
"default": "flutterfire-e2e-tests"
4+
}
5+
}

packages/firebase_ui_storage/example/android/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@ subprojects {
2626
project.evaluationDependsOn(':app')
2727
}
2828

29-
task clean(type: Delete) {
29+
tasks.register("clean", Delete) {
3030
delete rootProject.buildDir
3131
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"version": "12.2.1",
3+
"storage": {
4+
"version": "12.2.1",
5+
"path": "storage_export"
6+
}
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"buckets": [
3+
{
4+
"id": "flutterfire-e2e-tests.appspot.com"
5+
}
6+
]
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"name": "dash_and_sparky.png",
3+
"bucket": "flutterfire-e2e-tests.appspot.com",
4+
"metageneration": 2,
5+
"generation": 1685705638475,
6+
"contentType": "image/png",
7+
"storageClass": "STANDARD",
8+
"contentDisposition": "inline",
9+
"downloadTokens": [
10+
"a7d35e4f-8a65-4f34-91c6-6b7e775d8d0e"
11+
],
12+
"etag": "BwUowYDgraXwJfZFSE2oel8gi50",
13+
"customMetadata": {
14+
"blurHash": ":eDJq[9wo~xUbKNexqWG-@M|xuRlt7ayWVoMIwskxVIvs+slNHt2j]j?RiocR%fRo0oJtRW=V@t2R*bHoMfSbca#oJaybHj@flbIsoWCbHaya}bHoeazbIayofWCn~j[R*oJ"
15+
},
16+
"timeCreated": "2023-06-02T11:33:58.475Z",
17+
"updated": "2023-06-02T11:33:59.550Z",
18+
"size": 1317289,
19+
"md5Hash": "keufmrwBZivgterJ1Goiaw==",
20+
"crc32c": "968555488"
21+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"name": "dash_laptop.png",
3+
"bucket": "flutterfire-e2e-tests.appspot.com",
4+
"metageneration": 2,
5+
"generation": 1685705638511,
6+
"contentType": "image/png",
7+
"storageClass": "STANDARD",
8+
"contentDisposition": "inline",
9+
"downloadTokens": [
10+
"b1562f34-4e8a-46ab-a798-79d02d4e1278"
11+
],
12+
"etag": "9Wt4WZeNTnZRYBiyvrfjfT3AmzY",
13+
"customMetadata": {
14+
"blurHash": ":DGd$~yD?wtTI8tlx]tS04flMvaxtSfkaKWBspWCISk8xwahRPk9H?oc%$j]Mdaeo}ofEQV]R6afoykBn-WD.SofRPaxo}j]aKaxH@j?tlj[VtafbYfiyFWDRPj[offkbcj]"
15+
},
16+
"timeCreated": "2023-06-02T11:33:58.511Z",
17+
"updated": "2023-06-02T11:33:59.630Z",
18+
"size": 4430869,
19+
"md5Hash": "pz0PYofr6UAwdpZHu8NVGw==",
20+
"crc32c": "869949075"
21+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"functions": [
3+
{
4+
"source": "functions",
5+
"codebase": "default",
6+
"ignore": [
7+
"node_modules",
8+
".git",
9+
"firebase-debug.log",
10+
"firebase-debug.*.log"
11+
],
12+
"predeploy": [
13+
"npm --prefix \"$RESOURCE_DIR\" run lint",
14+
"npm --prefix \"$RESOURCE_DIR\" run build"
15+
]
16+
}
17+
],
18+
"emulators": {
19+
"functions": {
20+
"port": 5001
21+
},
22+
"storage": {
23+
"port": 9199
24+
},
25+
"ui": {
26+
"enabled": true
27+
},
28+
"singleProjectMode": true
29+
},
30+
"storage": {
31+
"rules": "storage.rules"
32+
}
33+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
module.exports = {
2+
root: true,
3+
env: {
4+
es6: true,
5+
node: true,
6+
},
7+
extends: [
8+
"eslint:recommended",
9+
"plugin:import/errors",
10+
"plugin:import/warnings",
11+
"plugin:import/typescript",
12+
"google",
13+
"plugin:@typescript-eslint/recommended",
14+
],
15+
parser: "@typescript-eslint/parser",
16+
parserOptions: {
17+
project: ["tsconfig.json", "tsconfig.dev.json"],
18+
sourceType: "module",
19+
},
20+
ignorePatterns: [
21+
"/lib/**/*", // Ignore built files.
22+
],
23+
plugins: [
24+
"@typescript-eslint",
25+
"import",
26+
],
27+
rules: {
28+
"quotes": ["error", "double"],
29+
"import/no-unresolved": 0,
30+
"indent": ["error", 2],
31+
"object-curly-spacing": ["error", "always"],
32+
},
33+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Compiled JavaScript files
2+
lib/**/*.js
3+
lib/**/*.js.map
4+
5+
# TypeScript v1 declaration files
6+
typings/
7+
8+
# Node.js dependency directory
9+
node_modules/

0 commit comments

Comments
 (0)