Commit 853459d0 authored by Inomjon's avatar Inomjon

Merge remote-tracking branch 'origin/main'

parent 25f35564
......@@ -14,15 +14,15 @@ icons/Icon-192.png,1699015732000,9c7c0f593d1c730b54efb6f9588a165b208224ac63114bc
icons/Icon-512.png,1699015732000,c526e55a8395ac8f5a8d71dd0279e56fc0e43df8c93ca7e8216a6126f94170bf
icons/Icon-maskable-192.png,1699015732000,9c7c0f593d1c730b54efb6f9588a165b208224ac63114bc89190f3ec0fb22f45
icons/Icon-maskable-512.png,1699015732000,c526e55a8395ac8f5a8d71dd0279e56fc0e43df8c93ca7e8216a6126f94170bf
index.html,1699036298279,0869a7608a1d4acc9f1bf9b77b3634aa281fb8c5e79f66184685288164135ddb
flutter_service_worker.js,1699036298816,ab5825d1a958a85e8b9630a0e3f25d36a7da8e99abc5bb9cda994631230bf1b1
version.json,1699036297044,9b9a378cae53381828fb55ba706bfd7ee210b0a2dd101c14fe1fd93a2cd61cc3
assets/AssetManifest.bin,1699036297118,f9da0853e3f4bdc92b61a9d03959fb6d63cca419a955429f3fbf1677a83729db
assets/AssetManifest.json,1699036297118,d9f6f976e29195211609aab8ace54fe418c7727e96ba3b9c79bed9b25ee17a42
flutter.js,1699036268325,4a09e876d1dfb542450566a1d74330325dce39ff9a803f15a226debdc5e1f333
assets/FontManifest.json,1699036297118,638dde6f87e8796f3054f78065f73846fc5e170e081d2501d08e3ceaa300edb5
assets/packages/cupertino_icons/assets/CupertinoIcons.ttf,1699036298269,b501b0d579cac021ad1b019709f08d80343ac2718c73d782f448c414a9b0aeca
assets/fonts/MaterialIcons-Regular.otf,1699036298270,17565d70bc0b1e446c125bf7e1edc304f99b6225d81a041e7983758be3cfa67a
assets/shaders/ink_sparkle.frag,1699036297282,b06edffd839dcdd71190bcc56d6242ea3502c578615015f2ee2fb12777a0b9bd
assets/NOTICES,1699036297119,d23bb3e7e737c5a38ed848cc69e4b3032541a22ff2be6449477c9371bf45da04
main.dart.js,1699036296498,1342afd3e78494e4a558e87fffb386c3f85b45f37a2c606ed30ac11930fa15f6
index.html,1699451643804,8b40cf2b028689e777639b2ce797b635b308300ef9efe92f90058eaa31700b40
flutter_service_worker.js,1699451644077,3bf40f0e6ef78b7e78786297fffbbd1a31fb6f37a050c4e7994a10298ad1acf9
version.json,1699451642618,9b9a378cae53381828fb55ba706bfd7ee210b0a2dd101c14fe1fd93a2cd61cc3
assets/AssetManifest.json,1699451642695,d9f6f976e29195211609aab8ace54fe418c7727e96ba3b9c79bed9b25ee17a42
flutter.js,1699451614526,4a09e876d1dfb542450566a1d74330325dce39ff9a803f15a226debdc5e1f333
assets/FontManifest.json,1699451642695,638dde6f87e8796f3054f78065f73846fc5e170e081d2501d08e3ceaa300edb5
assets/AssetManifest.bin,1699451642695,f9da0853e3f4bdc92b61a9d03959fb6d63cca419a955429f3fbf1677a83729db
assets/packages/cupertino_icons/assets/CupertinoIcons.ttf,1699451643795,b501b0d579cac021ad1b019709f08d80343ac2718c73d782f448c414a9b0aeca
assets/fonts/MaterialIcons-Regular.otf,1699451643795,946de43def216dcdb75e2fb81ab1fd38bd83460b9696b1bbd0f010850ffe29ff
assets/shaders/ink_sparkle.frag,1699451642855,b06edffd839dcdd71190bcc56d6242ea3502c578615015f2ee2fb12777a0b9bd
assets/NOTICES,1699451642696,d0f1418f904e527b73fa4ce410db294ffc19a263ed727dbbf17a9fb7353a8782
main.dart.js,1699451642337,8ea9b3a78794f61fc279ef44b1b45c669d8d5583b5f33f7f90651bec887126e1
06edd3d07f0b028e0af881e89663c234
\ No newline at end of file
assets/contact_avatar.png  assetassets/contact_avatar.pngassets/loading.json  assetassets/loading.jsonassets/mymeetinglogo.png  assetassets/mymeetinglogo.png2packages/cupertino_icons/assets/CupertinoIcons.ttf  asset2packages/cupertino_icons/assets/CupertinoIcons.ttf
\ No newline at end of file
{"assets/contact_avatar.png":["assets/contact_avatar.png"],"assets/loading.json":["assets/loading.json"],"assets/mymeetinglogo.png":["assets/mymeetinglogo.png"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"]}
\ No newline at end of file
[{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}]
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
{
"sksl": "// This SkSL shader is autogenerated by spirv-cross.\n\nfloat4 flutter_FragCoord;\n\nuniform vec4 u_color;\nuniform float u_alpha;\nuniform vec4 u_sparkle_color;\nuniform float u_sparkle_alpha;\nuniform float u_blur;\nuniform vec2 u_center;\nuniform float u_radius_scale;\nuniform float u_max_radius;\nuniform vec2 u_resolution_scale;\nuniform vec2 u_noise_scale;\nuniform float u_noise_phase;\nuniform vec2 u_circle1;\nuniform vec2 u_circle2;\nuniform vec2 u_circle3;\nuniform vec2 u_rotation1;\nuniform vec2 u_rotation2;\nuniform vec2 u_rotation3;\n\nvec4 fragColor;\n\nvec2 FLT_flutter_local_FlutterFragCoord()\n{\n return flutter_FragCoord.xy;\n}\n\nmat2 FLT_flutter_local_rotate2d(vec2 rad)\n{\n return mat2(vec2(rad.x, -rad.y), vec2(rad.y, rad.x));\n}\n\nfloat FLT_flutter_local_soft_circle(vec2 uv, vec2 xy, float radius, float blur)\n{\n float blur_half = blur * 0.5;\n float d = distance(uv, xy);\n return 1.0 - smoothstep(1.0 - blur_half, 1.0 + blur_half, d / radius);\n}\n\nfloat FLT_flutter_local_circle_grid(vec2 resolution, inout vec2 p, vec2 xy, vec2 rotation, float cell_diameter)\n{\n vec2 param = rotation;\n p = (FLT_flutter_local_rotate2d(param) * (xy - p)) + xy;\n p = mod(p, vec2(cell_diameter)) / resolution;\n float cell_uv = (cell_diameter / resolution.y) * 0.5;\n float r = 0.64999997615814208984375 * cell_uv;\n vec2 param_1 = p;\n vec2 param_2 = vec2(cell_uv);\n float param_3 = r;\n float param_4 = r * 50.0;\n return FLT_flutter_local_soft_circle(param_1, param_2, param_3, param_4);\n}\n\nfloat FLT_flutter_local_turbulence(vec2 uv)\n{\n vec2 uv_scale = uv * vec2(0.800000011920928955078125);\n vec2 param = vec2(0.800000011920928955078125);\n vec2 param_1 = uv_scale;\n vec2 param_2 = u_circle1;\n vec2 param_3 = u_rotation1;\n float param_4 = 0.17000000178813934326171875;\n float _301 = FLT_flutter_local_circle_grid(param, param_1, param_2, param_3, param_4);\n float g1 = _301;\n vec2 param_5 = vec2(0.800000011920928955078125);\n vec2 param_6 = uv_scale;\n vec2 param_7 = u_circle2;\n vec2 param_8 = u_rotation2;\n float param_9 = 0.20000000298023223876953125;\n float _313 = FLT_flutter_local_circle_grid(param_5, param_6, param_7, param_8, param_9);\n float g2 = _313;\n vec2 param_10 = vec2(0.800000011920928955078125);\n vec2 param_11 = uv_scale;\n vec2 param_12 = u_circle3;\n vec2 param_13 = u_rotation3;\n float param_14 = 0.2750000059604644775390625;\n float _326 = FLT_flutter_local_circle_grid(param_10, param_11, param_12, param_13, param_14);\n float g3 = _326;\n float v = (((g1 * g1) + g2) - g3) * 0.5;\n return clamp(0.449999988079071044921875 + (0.800000011920928955078125 * v), 0.0, 1.0);\n}\n\nfloat FLT_flutter_local_soft_ring(vec2 uv, vec2 xy, float radius, float thickness, float blur)\n{\n vec2 param = uv;\n vec2 param_1 = xy;\n float param_2 = radius + thickness;\n float param_3 = blur;\n float circle_outer = FLT_flutter_local_soft_circle(param, param_1, param_2, param_3);\n vec2 param_4 = uv;\n vec2 param_5 = xy;\n float param_6 = max(radius - thickness, 0.0);\n float param_7 = blur;\n float circle_inner = FLT_flutter_local_soft_circle(param_4, param_5, param_6, param_7);\n return clamp(circle_outer - circle_inner, 0.0, 1.0);\n}\n\nfloat FLT_flutter_local_triangle_noise(inout vec2 n)\n{\n n = fract(n * vec2(5.398700237274169921875, 5.442100048065185546875));\n n += vec2(dot(n.yx, n + vec2(21.5351009368896484375, 14.3136997222900390625)));\n float xy = n.x * n.y;\n return (fract(xy * 95.43070220947265625) + fract(xy * 75.0496063232421875)) - 1.0;\n}\n\nfloat FLT_flutter_local_threshold(float v, float l, float h)\n{\n return step(l, v) * (1.0 - step(h, v));\n}\n\nfloat FLT_flutter_local_sparkle(vec2 uv, float t)\n{\n vec2 param = uv;\n float _224 = FLT_flutter_local_triangle_noise(param);\n float n = _224;\n float param_1 = n;\n float param_2 = 0.0;\n float param_3 = 0.0500000007450580596923828125;\n float s = FLT_flutter_local_threshold(param_1, param_2, param_3);\n float param_4 = n + sin(3.1415927410125732421875 * (t + 0.3499999940395355224609375));\n float param_5 = 0.100000001490116119384765625;\n float param_6 = 0.1500000059604644775390625;\n s += FLT_flutter_local_threshold(param_4, param_5, param_6);\n float param_7 = n + sin(3.1415927410125732421875 * (t + 0.699999988079071044921875));\n float param_8 = 0.20000000298023223876953125;\n float param_9 = 0.25;\n s += FLT_flutter_local_threshold(param_7, param_8, param_9);\n float param_10 = n + sin(3.1415927410125732421875 * (t + 1.0499999523162841796875));\n float param_11 = 0.300000011920928955078125;\n float param_12 = 0.3499999940395355224609375;\n s += FLT_flutter_local_threshold(param_10, param_11, param_12);\n return clamp(s, 0.0, 1.0) * 0.550000011920928955078125;\n}\n\nvoid FLT_main()\n{\n vec2 p = FLT_flutter_local_FlutterFragCoord();\n vec2 uv_1 = p * u_resolution_scale;\n vec2 density_uv = uv_1 - mod(p, u_noise_scale);\n float radius = u_max_radius * u_radius_scale;\n vec2 param_13 = uv_1;\n float turbulence = FLT_flutter_local_turbulence(param_13);\n vec2 param_14 = p;\n vec2 param_15 = u_center;\n float param_16 = radius;\n float param_17 = 0.0500000007450580596923828125 * u_max_radius;\n float param_18 = u_blur;\n float ring = FLT_flutter_local_soft_ring(param_14, param_15, param_16, param_17, param_18);\n vec2 param_19 = density_uv;\n float param_20 = u_noise_phase;\n float sparkle = ((FLT_flutter_local_sparkle(param_19, param_20) * ring) * turbulence) * u_sparkle_alpha;\n vec2 param_21 = p;\n vec2 param_22 = u_center;\n float param_23 = radius;\n float param_24 = u_blur;\n float wave_alpha = (FLT_flutter_local_soft_circle(param_21, param_22, param_23, param_24) * u_alpha) * u_color.w;\n vec4 wave_color = vec4(u_color.xyz * wave_alpha, wave_alpha);\n vec4 sparkle_color = vec4(u_sparkle_color.xyz * u_sparkle_color.w, u_sparkle_color.w);\n fragColor = mix(wave_color, sparkle_color, vec4(sparkle));\n}\n\nhalf4 main(float2 iFragCoord)\n{\n flutter_FragCoord = float4(iFragCoord, 0, 0);\n FLT_main();\n return fragColor;\n}\n",
"stage": 1,
"target_platform": 2,
"uniforms": [
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 0,
"name": "u_color",
"rows": 4,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 1,
"name": "u_alpha",
"rows": 1,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 2,
"name": "u_sparkle_color",
"rows": 4,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 3,
"name": "u_sparkle_alpha",
"rows": 1,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 4,
"name": "u_blur",
"rows": 1,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 5,
"name": "u_center",
"rows": 2,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 6,
"name": "u_radius_scale",
"rows": 1,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 7,
"name": "u_max_radius",
"rows": 1,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 8,
"name": "u_resolution_scale",
"rows": 2,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 9,
"name": "u_noise_scale",
"rows": 2,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 10,
"name": "u_noise_phase",
"rows": 1,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 11,
"name": "u_circle1",
"rows": 2,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 12,
"name": "u_circle2",
"rows": 2,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 13,
"name": "u_circle3",
"rows": 2,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 14,
"name": "u_rotation1",
"rows": 2,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 15,
"name": "u_rotation2",
"rows": 2,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 16,
"name": "u_rotation3",
"rows": 2,
"type": 10
}
]
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
"use strict";var Module={};var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads");var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",data=>onmessage({data:data}));var fs=require("fs");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(fs.readFileSync(f,"utf8")+"//# sourceURL="+f)},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}var initializedJS=false;var pendingNotifiedProxyingQueues=[];function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+"\n");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=(info,receiveInstance)=>{var module=Module["wasmModule"];Module["wasmModule"]=null;var instance=new WebAssembly.Instance(module,info);return receiveInstance(instance)};self.onunhandledrejection=e=>{throw e.reason??e};function handleMessage(e){try{if(e.data.cmd==="load"){let messageQueue=[];self.onmessage=e=>messageQueue.push(e);self.startWorker=instance=>{Module=instance;postMessage({"cmd":"loaded"});for(let msg of messageQueue){handleMessage(msg)}self.onmessage=handleMessage};Module["wasmModule"]=e.data.wasmModule;for(const handler of e.data.handlers){Module[handler]=function(){postMessage({cmd:"callHandler",handler:handler,args:[...arguments]})}}Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;if(typeof e.data.urlOrBlob=="string"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}skwasm(Module)}else if(e.data.cmd==="run"){Module["__emscripten_thread_init"](e.data.pthread_ptr,0,0,1);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInitTLS();if(!initializedJS){pendingNotifiedProxyingQueues.forEach(queue=>{Module["executeNotifiedProxyingQueue"](queue)});pendingNotifiedProxyingQueues=[];initializedJS=true}try{Module["invokeEntryPoint"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!="unwind"){throw ex}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processProxyingQueue"){if(initializedJS){Module["executeNotifiedProxyingQueue"](e.data.queue)}else{pendingNotifiedProxyingQueues.push(e.data.queue)}}else if(e.data.cmd){err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){if(Module["__emscripten_thread_crashed"]){Module["__emscripten_thread_crashed"]()}throw ex}}self.onmessage=handleMessage;
This diff is collapsed.
'use strict';
const MANIFEST = 'flutter-app-manifest';
const TEMP = 'flutter-temp-cache';
const CACHE_NAME = 'flutter-app-cache';
const RESOURCES = {"assets/AssetManifest.bin": "65e028717d32de5857ab089092b00784",
"assets/AssetManifest.json": "ee6d3985235c95aed3f5b48d9a3e5964",
"assets/assets/contact_avatar.png": "412e3e7cbcf481d23f2f14bd39ca0eb1",
"assets/assets/loading.json": "d244b45026f841a1379c4c9215a74be7",
"assets/assets/mymeetinglogo.png": "adf31f515626b9f0d1eb113ad15c368b",
"assets/FontManifest.json": "dc3d03800ccca4601324923c0b1d6d57",
"assets/fonts/MaterialIcons-Regular.otf": "0ad5613ba032e74c3b3c108c814fc703",
"assets/NOTICES": "42df3b418c8c6ef292f0ae7dc5c4151c",
"assets/packages/cupertino_icons/assets/CupertinoIcons.ttf": "89ed8f4e49bcdfc0b5bfc9b24591e347",
"assets/shaders/ink_sparkle.frag": "f8b80e740d33eb157090be4e995febdf",
"canvaskit/canvaskit.js": "bbf39143dfd758d8d847453b120c8ebb",
"canvaskit/canvaskit.wasm": "42df12e09ecc0d5a4a34a69d7ee44314",
"canvaskit/chromium/canvaskit.js": "96ae916cd2d1b7320fff853ee22aebb0",
"canvaskit/chromium/canvaskit.wasm": "be0e3b33510f5b7b0cc76cc4d3e50048",
"canvaskit/skwasm.js": "95f16c6690f955a45b2317496983dbe9",
"canvaskit/skwasm.wasm": "1a074e8452fe5e0d02b112e22cdcf455",
"canvaskit/skwasm.worker.js": "51253d3321b11ddb8d73fa8aa87d3b15",
"favicon.png": "c237f3bfe305044077ff4bd2e7805651",
"flutter.js": "6b515e434cea20006b3ef1726d2c8894",
"icons/Icon-192.png": "8492e98f9e23d2757c184a797dd98562",
"icons/Icon-512.png": "3f113298f30f1c8dc1c1ee492b49dd34",
"icons/Icon-maskable-192.png": "8492e98f9e23d2757c184a797dd98562",
"icons/Icon-maskable-512.png": "3f113298f30f1c8dc1c1ee492b49dd34",
"index.html": "105632bd2c8325d723de590ca512a8db",
"/": "105632bd2c8325d723de590ca512a8db",
"main.dart.js": "38f4f276e78abc51f9fc8401f947b429",
"manifest.json": "06a98e3db4ad33d77b572058d067487e",
"version.json": "78ebccf0708fa628ba423077e482533d"};
// The application shell files that are downloaded before a service worker can
// start.
const CORE = ["main.dart.js",
"index.html",
"assets/AssetManifest.json",
"assets/FontManifest.json"];
// During install, the TEMP cache is populated with the application shell files.
self.addEventListener("install", (event) => {
self.skipWaiting();
return event.waitUntil(
caches.open(TEMP).then((cache) => {
return cache.addAll(
CORE.map((value) => new Request(value, {'cache': 'reload'})));
})
);
});
// During activate, the cache is populated with the temp files downloaded in
// install. If this service worker is upgrading from one with a saved
// MANIFEST, then use this to retain unchanged resource files.
self.addEventListener("activate", function(event) {
return event.waitUntil(async function() {
try {
var contentCache = await caches.open(CACHE_NAME);
var tempCache = await caches.open(TEMP);
var manifestCache = await caches.open(MANIFEST);
var manifest = await manifestCache.match('manifest');
// When there is no prior manifest, clear the entire cache.
if (!manifest) {
await caches.delete(CACHE_NAME);
contentCache = await caches.open(CACHE_NAME);
for (var request of await tempCache.keys()) {
var response = await tempCache.match(request);
await contentCache.put(request, response);
}
await caches.delete(TEMP);
// Save the manifest to make future upgrades efficient.
await manifestCache.put('manifest', new Response(JSON.stringify(RESOURCES)));
// Claim client to enable caching on first launch
self.clients.claim();
return;
}
var oldManifest = await manifest.json();
var origin = self.location.origin;
for (var request of await contentCache.keys()) {
var key = request.url.substring(origin.length + 1);
if (key == "") {
key = "/";
}
// If a resource from the old manifest is not in the new cache, or if
// the MD5 sum has changed, delete it. Otherwise the resource is left
// in the cache and can be reused by the new service worker.
if (!RESOURCES[key] || RESOURCES[key] != oldManifest[key]) {
await contentCache.delete(request);
}
}
// Populate the cache with the app shell TEMP files, potentially overwriting
// cache files preserved above.
for (var request of await tempCache.keys()) {
var response = await tempCache.match(request);
await contentCache.put(request, response);
}
await caches.delete(TEMP);
// Save the manifest to make future upgrades efficient.
await manifestCache.put('manifest', new Response(JSON.stringify(RESOURCES)));
// Claim client to enable caching on first launch
self.clients.claim();
return;
} catch (err) {
// On an unhandled exception the state of the cache cannot be guaranteed.
console.error('Failed to upgrade service worker: ' + err);
await caches.delete(CACHE_NAME);
await caches.delete(TEMP);
await caches.delete(MANIFEST);
}
}());
});
// The fetch handler redirects requests for RESOURCE files to the service
// worker cache.
self.addEventListener("fetch", (event) => {
if (event.request.method !== 'GET') {
return;
}
var origin = self.location.origin;
var key = event.request.url.substring(origin.length + 1);
// Redirect URLs to the index.html
if (key.indexOf('?v=') != -1) {
key = key.split('?v=')[0];
}
if (event.request.url == origin || event.request.url.startsWith(origin + '/#') || key == '') {
key = '/';
}
// If the URL is not the RESOURCE list then return to signal that the
// browser should take over.
if (!RESOURCES[key]) {
return;
}
// If the URL is the index.html, perform an online-first request.
if (key == '/') {
return onlineFirst(event);
}
event.respondWith(caches.open(CACHE_NAME)
.then((cache) => {
return cache.match(event.request).then((response) => {
// Either respond with the cached resource, or perform a fetch and
// lazily populate the cache only if the resource was successfully fetched.
return response || fetch(event.request).then((response) => {
if (response && Boolean(response.ok)) {
cache.put(event.request, response.clone());
}
return response;
});
})
})
);
});
self.addEventListener('message', (event) => {
// SkipWaiting can be used to immediately activate a waiting service worker.
// This will also require a page refresh triggered by the main worker.
if (event.data === 'skipWaiting') {
self.skipWaiting();
return;
}
if (event.data === 'downloadOffline') {
downloadOffline();
return;
}
});
// Download offline will check the RESOURCES for all files not in the cache
// and populate them.
async function downloadOffline() {
var resources = [];
var contentCache = await caches.open(CACHE_NAME);
var currentContent = {};
for (var request of await contentCache.keys()) {
var key = request.url.substring(origin.length + 1);
if (key == "") {
key = "/";
}
currentContent[key] = true;
}
for (var resourceKey of Object.keys(RESOURCES)) {
if (!currentContent[resourceKey]) {
resources.push(resourceKey);
}
}
return contentCache.addAll(resources);
}
// Attempt to download the resource online before falling back to
// the offline cache.
function onlineFirst(event) {
return event.respondWith(
fetch(event.request).then((response) => {
return caches.open(CACHE_NAME).then((cache) => {
cache.put(event.request, response.clone());
return response;
});
}).catch((error) => {
return caches.open(CACHE_NAME).then((cache) => {
return cache.match(event.request).then((response) => {
if (response != null) {
return response;
}
throw error;
});
});
})
);
}
<!DOCTYPE html>
<html>
<head>
<!--
If you are serving your web app in a path other than the root, change the
href value below to reflect the base path you are serving from.
The path provided below has to start and end with a slash "/" in order for
it to work correctly.
For more details:
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
This is a placeholder for base href that will be replaced by the value of
the `--base-href` argument provided to `flutter build`.
-->
<base href="/">
<meta charset="UTF-8">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<meta name="description" content="A new Flutter project.">
<!-- iOS meta tags & icons -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="vmeeting">
<link rel="apple-touch-icon" href="icons/Icon-192.png">
<!-- Favicon -->
<link rel="icon" type="image/png" href="favicon.png"/>
<title>vmeeting</title>
<link rel="manifest" href="manifest.json">
<script>
// The value below is injected by flutter build, do not touch.
const serviceWorkerVersion = "1232452124";
</script>
<!-- This script adds the flutter initialization JS code -->
<script src="flutter.js" defer></script>
</head>
<body>
<script>
window.addEventListener('load', function(ev) {
// Download main.dart.js
_flutter.loader.loadEntrypoint({
serviceWorker: {
serviceWorkerVersion: serviceWorkerVersion,
},
onEntrypointLoaded: function(engineInitializer) {
engineInitializer.initializeEngine().then(function(appRunner) {
appRunner.runApp();
});
}
});
});
</script>
</body>
</html>
This diff is collapsed.
{
"name": "vmeeting",
"short_name": "vmeeting",
"start_url": ".",
"display": "standalone",
"background_color": "#0175C2",
"theme_color": "#0175C2",
"description": "A new Flutter project.",
"orientation": "portrait-primary",
"prefer_related_applications": false,
"icons": [
{
"src": "icons/Icon-192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "icons/Icon-512.png",
"sizes": "512x512",
"type": "image/png"
},
{
"src": "icons/Icon-maskable-192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "icons/Icon-maskable-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
]
}
{"app_name":"vmeeting","version":"1.0.0","build_number":"1","package_name":"vmeeting"}
\ No newline at end of file
......@@ -28,7 +28,7 @@ class UserRepository {
_loginToCubeChat(context, user, controller);
}
} else {
createSession(user).then((cubeSession) {
await createSession(user).then((cubeSession) {
CubeUser userss = CubeUser(
id: cubeSession.user?.id,
login: user.login,
......@@ -36,6 +36,7 @@ class UserRepository {
);
_loginToCubeChat(context, userss,controller);
}).catchError((exception) {
isChaking = false;
controller.inputElevatedButton.add(false);
errorMessage(context," ConnectyCube 11");
});
......
......@@ -18,24 +18,19 @@ class AvatarImage extends StatelessWidget {
color: ColorConst.appWhiteColor),
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Center(
child: (imagePath == null || imagePath!.isEmpty)
? Image.asset(
"assets/contact_avatar.png",
width: radius * 1.8,
height: radius * 1.8,
fit: BoxFit.fill,
)
: ClipOval(
child: SizedBox.fromSize(// Image radius
child: Image.network(
imagePath!,
width: radius * 1.8,
height: radius * 1.8,
fit: BoxFit.fill,
),
),
),
child: ClipOval(
child: SizedBox.fromSize(
// Image radius
child: FadeInImage(
image: NetworkImage(imagePath!),
placeholder: const AssetImage("assets/contact_avatar.png"),
imageErrorBuilder: (context, error, stackTrace) {
return Image.asset('assets/contact_avatar.png',
fit: BoxFit.fitWidth);
},
fit: BoxFit.fitWidth,
),
),
),
),
);
......
......@@ -29,6 +29,7 @@ class _UserSignInPageState extends State<UserSignInPage> {
final _loginFocusNode = FocusNode();
final _passwordControlle = TextEditingController(text: "");
final _passwordFocusNode = FocusNode();
bool isVisiblePasswoed = true;
@override
void initState() {
......@@ -107,14 +108,29 @@ class _UserSignInPageState extends State<UserSignInPage> {
color: Colors.grey.withOpacity(0.2),
focusNode: _passwordFocusNode,
textEditingController: _passwordControlle,
obscureText: isVisiblePasswoed,
suffixIcon: InkWell(
onTap: () {
setState(() {
isVisiblePasswoed = !isVisiblePasswoed;
});
},
child: Icon(isVisiblePasswoed
? Icons.visibility
: Icons.visibility_off),
),
),
SizedBox(height: context.h * 0.02),
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
TextButton(onPressed: (){
Navigator.pushReplacementNamed(context, MainRoutes.user_signup_page);},
child: SmallText(text: "Forget password ?",color: ColorConst.appMainColor,)),
SizedBox(width: context.w*0.05),
TextButton(onPressed: (){
Navigator.pushReplacementNamed(context, MainRoutes.user_signup_page);
}, child: SmallText(text: "Sign Up",color: ColorConst.appMainColor,))
}, child: SmallText(text: "Sign Up",color: ColorConst.appMainColor,)),
],),
SizedBox(height: context.h * 0.13),
buildButtons(),
......
......@@ -24,6 +24,7 @@ class UserSignUpPage extends StatefulWidget {
class _UserSignUpPageState extends State<UserSignUpPage> {
late UserSignUpBloc userSignUpBloc;
late bool isDarkMode = false;
bool isVisiblePasswoed = true;
final _loginControlle = TextEditingController(text: "");
final _loginFocusNode = FocusNode();
......@@ -124,6 +125,17 @@ class _UserSignUpPageState extends State<UserSignUpPage> {
color: Colors.grey.withOpacity(0.2),
focusNode: _passwordFocusNode,
textEditingController: _passwordControlle,
obscureText: isVisiblePasswoed,
suffixIcon: InkWell(
onTap: () {
setState(() {
isVisiblePasswoed = !isVisiblePasswoed;
});
},
child: Icon(isVisiblePasswoed
? Icons.visibility
: Icons.visibility_off),
),
),
SizedBox(height: context.h * 0.03),
AuthTextFild(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment