From 41e6e58128959707f184a5ed6b1120c5b154f3fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Zieli=C5=84ski?= Date: Tue, 6 Dec 2022 14:59:34 +0100 Subject: [PATCH] add pwa support --- Frontend/angular.json | 12 +++-- Frontend/ngsw-config.json | 30 +++++++++++ Frontend/package-lock.json | 31 ++++++++++- Frontend/package.json | 1 + Frontend/src/app/app.module.ts | 11 +++- Frontend/src/assets/icons/icon-128x128.png | Bin 0 -> 3371 bytes Frontend/src/assets/icons/icon-144x144.png | Bin 0 -> 3907 bytes Frontend/src/assets/icons/icon-152x152.png | Bin 0 -> 4205 bytes Frontend/src/assets/icons/icon-192x192.png | Bin 0 -> 5004 bytes Frontend/src/assets/icons/icon-384x384.png | Bin 0 -> 9261 bytes Frontend/src/assets/icons/icon-48x48.png | Bin 0 -> 1071 bytes Frontend/src/assets/icons/icon-512x512.png | Bin 0 -> 21144 bytes Frontend/src/assets/icons/icon-72x72.png | Bin 0 -> 1864 bytes Frontend/src/assets/icons/icon-96x96.png | Bin 0 -> 2214 bytes Frontend/src/index.html | 7 ++- Frontend/src/manifest.webmanifest | 59 +++++++++++++++++++++ 16 files changed, 142 insertions(+), 9 deletions(-) create mode 100644 Frontend/ngsw-config.json create mode 100644 Frontend/src/assets/icons/icon-128x128.png create mode 100644 Frontend/src/assets/icons/icon-144x144.png create mode 100644 Frontend/src/assets/icons/icon-152x152.png create mode 100644 Frontend/src/assets/icons/icon-192x192.png create mode 100644 Frontend/src/assets/icons/icon-384x384.png create mode 100644 Frontend/src/assets/icons/icon-48x48.png create mode 100644 Frontend/src/assets/icons/icon-512x512.png create mode 100644 Frontend/src/assets/icons/icon-72x72.png create mode 100644 Frontend/src/assets/icons/icon-96x96.png create mode 100644 Frontend/src/manifest.webmanifest diff --git a/Frontend/angular.json b/Frontend/angular.json index ffd4c8b..9655ab0 100644 --- a/Frontend/angular.json +++ b/Frontend/angular.json @@ -25,14 +25,19 @@ "inlineStyleLanguage": "scss", "assets": [ "src/favicon.ico", - "src/assets" + "src/assets", + "src/manifest.webmanifest" ], "styles": [ "./node_modules/@angular/material/prebuilt-themes/indigo-pink.css", "src/styles.scss" ], "scripts": [], - "allowedCommonJsDependencies": [ "moment" ] + "allowedCommonJsDependencies": [ + "moment" + ], + "serviceWorker": true, + "ngswConfigPath": "ngsw-config.json" }, "configurations": { "production": { @@ -95,7 +100,8 @@ "inlineStyleLanguage": "scss", "assets": [ "src/favicon.ico", - "src/assets" + "src/assets", + "src/manifest.webmanifest" ], "styles": [ "./node_modules/@angular/material/prebuilt-themes/indigo-pink.css", diff --git a/Frontend/ngsw-config.json b/Frontend/ngsw-config.json new file mode 100644 index 0000000..f8bf210 --- /dev/null +++ b/Frontend/ngsw-config.json @@ -0,0 +1,30 @@ +{ + "$schema": "./node_modules/@angular/service-worker/config/schema.json", + "index": "/index.html", + "assetGroups": [ + { + "name": "app", + "installMode": "prefetch", + "resources": { + "files": [ + "/favicon.ico", + "/index.html", + "/manifest.webmanifest", + "/*.css", + "/*.js" + ] + } + }, + { + "name": "assets", + "installMode": "lazy", + "updateMode": "prefetch", + "resources": { + "files": [ + "/assets/**", + "/*.(svg|cur|jpg|jpeg|png|apng|webp|avif|gif|otf|ttf|woff|woff2)" + ] + } + } + ] +} diff --git a/Frontend/package-lock.json b/Frontend/package-lock.json index d67b48a..98f96af 100644 --- a/Frontend/package-lock.json +++ b/Frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "diuna", - "version": "0.0.0", + "version": "0.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "diuna", - "version": "0.0.0", + "version": "0.0.1", "dependencies": { "@abacritt/angularx-social-login": "^1.2.5", "@angular/animations": "^15.0.2", @@ -20,6 +20,7 @@ "@angular/platform-browser-dynamic": "^15.0.2", "@angular/pwa": "^15.0.2", "@angular/router": "^15.0.2", + "@angular/service-worker": "^15.0.2", "jwt-decode": "^3.1.2", "moment": "^2.29.4", "rxjs": "^7.6.0", @@ -732,6 +733,24 @@ "rxjs": "^6.5.3 || ^7.4.0" } }, + "node_modules/@angular/service-worker": { + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-15.0.2.tgz", + "integrity": "sha512-r+9qS3ZoLkNutukzJLchZtr/NG16DGTcLu/Q2K84gTi/ybf88OCphL3uKwefF8BFguXoMNL+LLHEulrE1UzWaA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "bin": { + "ngsw-config": "ngsw-config.js" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "15.0.2", + "@angular/core": "15.0.2" + } + }, "node_modules/@assemblyscript/loader": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", @@ -12338,6 +12357,14 @@ "tslib": "^2.3.0" } }, + "@angular/service-worker": { + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-15.0.2.tgz", + "integrity": "sha512-r+9qS3ZoLkNutukzJLchZtr/NG16DGTcLu/Q2K84gTi/ybf88OCphL3uKwefF8BFguXoMNL+LLHEulrE1UzWaA==", + "requires": { + "tslib": "^2.3.0" + } + }, "@assemblyscript/loader": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", diff --git a/Frontend/package.json b/Frontend/package.json index 09f2ffe..cb2694c 100644 --- a/Frontend/package.json +++ b/Frontend/package.json @@ -22,6 +22,7 @@ "@angular/platform-browser-dynamic": "^15.0.2", "@angular/pwa": "^15.0.2", "@angular/router": "^15.0.2", + "@angular/service-worker": "^15.0.2", "jwt-decode": "^3.1.2", "moment": "^2.29.4", "rxjs": "^7.6.0", diff --git a/Frontend/src/app/app.module.ts b/Frontend/src/app/app.module.ts index 83d810d..53c7a3f 100644 --- a/Frontend/src/app/app.module.ts +++ b/Frontend/src/app/app.module.ts @@ -1,4 +1,4 @@ -import { NgModule } from '@angular/core'; +import { NgModule, isDevMode } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppRoutingModule } from './app-routing.module'; @@ -8,6 +8,7 @@ import { MainViewComponent } from './main-view/main-view.component'; import { MaterialModule } from './material.module'; import { LoginPageComponent } from './components/login-page/login-page.component'; import { HttpClientModule } from '@angular/common/http'; +import { ServiceWorkerModule } from '@angular/service-worker'; @NgModule({ @@ -21,7 +22,13 @@ import { HttpClientModule } from '@angular/common/http'; AppRoutingModule, BrowserAnimationsModule, MaterialModule, - HttpClientModule + HttpClientModule, + ServiceWorkerModule.register('ngsw-worker.js', { + enabled: !isDevMode(), + // Register the ServiceWorker as soon as the application is stable + // or after 30 seconds (whichever comes first). + registrationStrategy: 'registerWhenStable:30000' + }) ], providers: [], bootstrap: [AppComponent] diff --git a/Frontend/src/assets/icons/icon-128x128.png b/Frontend/src/assets/icons/icon-128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..943cdd1e6823b063fcc8211ef86ae7987715d44b GIT binary patch literal 3371 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 B+OYrt literal 0 HcmV?d00001 diff --git a/Frontend/src/assets/icons/icon-192x192.png b/Frontend/src/assets/icons/icon-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..978699c8f60a2902b6bf3f08481f449858a06813 GIT binary patch literal 5004 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 literal 0 HcmV?d00001 diff --git a/Frontend/src/assets/icons/icon-384x384.png b/Frontend/src/assets/icons/icon-384x384.png new file mode 100644 index 0000000000000000000000000000000000000000..b0abc2c14fa0acf861077bb5ee3256a5d57f6153 GIT binary patch literal 9261 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 BN`L?W literal 0 HcmV?d00001 diff --git a/Frontend/src/assets/icons/icon-48x48.png b/Frontend/src/assets/icons/icon-48x48.png new file mode 100644 index 0000000000000000000000000000000000000000..d26a989649729ac88a63eb1175a81b171c79f5f4 GIT binary patch literal 1071 zcmV+~1kn45P)Px&=}AOERA@u(SW8S3K^XqF?NVsLw$NG*9I$IFNKm0IB0+Xy>Qh`Yp07(Us3dr=p{~bc6%IAOepYyT};h+!U zLDyf$N*N$afw2(aL3vv1;C*pc3dT|AOc((kg}rtm0D7mF2`3N^1>rcqn3@vQ2=qNX z1mEW;F~G7)Z-G&zjsP1D`r)`xM1_Pb0t$^u01+Zd8uX0>rA&cBtsBuF@;a!5k}LvL zTqx5>LIQ>jmqwWGxn3r7Ir`HR5=c}cecxK(y0eEq5{VW^B|wtRb$2gkdfLjPP_SuS zySHH%{6AiEZM9`N)RtxFyT4x|1bNd&ClDBf<6^O}f+{-?hP7w7cYAFi_iLd!E zyF57JXNw|0%%{$_A*1*JJg+Xm`|2E&`k7D~a^U;)Q2go?W{4(0)+G56^w`mT#YO>w zJQI=#=-1bSHO=P2hU^6jtqB2pJD8MoC=C__I^PY2o!QE@xjqF8m1z#w*5sFiQD>mP z{RTp=&oM00a?7C5WWxXREvKx?Y>lxQJy;TfjHT5`owb4^ke0gzn%q)2FRcPQqY(Nv z$7Aw=uVx%s?Q~>qzKOm^)tFXtP{855x)GsY-??}Fy7OSo^Mr5i=2J*7*p)EHCWS!I z>%>6EO%9|se>?g+8sL6hgOr?N=vE$q=XD)?Uz?zwSpto9Q%unq9&nNf=r`1ZHAX^6 ziUNEErhvj}q|+^xm$D zBBpyy6vU#nIImbs6AmfeY zPrxYINbT?W1W)tHF%uwjGB-CssU5m!_&eLcn&*qp0dnr)pKxFRK}SbiL5NosS~CJ& zZNhhQ6b}u!;JQ-qPhIY-gZgH5mNz6yBG$AY-Dx zk12^0h0j#$mvtli=dYB}m!5c+dgHeHaRr+)mwGXOY(+Ckv?)mmPgx-(g+TYUtq3~b zOTij<&V&+h)Gb5U@1X{s7#ep1gI}M+-B^Q=*G?5UZ%h_}aX}=~Xp(?PhfyD%RDilm pMH);hAktyfhbI-F?oyEke*@~ubN@BiiM9X$002ovPDHLkV1kej<^})& literal 0 HcmV?d00001 diff --git a/Frontend/src/assets/icons/icon-512x512.png b/Frontend/src/assets/icons/icon-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..387c8ca682c84e614a24a839f0d1ce34a11a866e GIT binary patch literal 21144 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
  • OuzxhgNps$NoB~pInz?i+4P7@s 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 literal 0 HcmV?d00001 diff --git a/Frontend/src/assets/icons/icon-72x72.png b/Frontend/src/assets/icons/icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4113ab3ef716868635fcef698ebd540760895e GIT binary patch literal 1864 zcmV-O2ePx+0!c(cRCr$Pn|W*$RUF5^v-i<%OKGt!XHcNfAoo#%Qh`8~aETyD5CQ@cf|4MK zMuQlQM}inNMgbuZ4Ol=xs$hfC09p-^LxECSpmLU8+wFF{_s*F2mM**9ZD*I6>9%I( zukD-P{O0@n%{0pZG=Nxp9o%j z0&-WLLqox;h@#XP!(kY2E!-7F zyt?(-bKA7>)Re$meTmnP7zUC75<^@^@F4@@c?wYhG7Mb;Fp)jk&+Y684_Yz}Q2|O_ zUJQm&L=@qvE}`v~LrWzS8BfQ80R@Y%-8mVY+ZNAwM89`TfIPKjA#V>&p9xSJQUanp z)t6v7v@BF4qkt}J2D~+w;jO(QdH_;8j0uqa{5NPi{Y5~N>XE@vCS)LS!kb`JTH5X` z{~3)%8v{0`yv@+|8V9fCChGUjlR6&J{R;vVtR}clnfJW_U;TA@I`yUBz$jGUI2N_r z#)%$))DA@hq#HB`iR0H(y-jDf!+vI)U%NsD)1-Idym}1oisMqpBf5Xl01;&gPrMHO zz*$se&DOD^i;agvQ2}Wmn+nrJ|7^SQ)JJe$J{XUfM7^h|fYjYbA$i*8RG_W+6F4sB z)8CA~D>#oG@H+f|YZ3va2ArcVEEqGWE*sT!>9 zUaL@4Y1x26NzZ%h%ILxy(L;_%_iyP)R6xXe+KN9z0V&i-%KI43vY+6(T1d|sM!pPn zw?Sw)@=91>3Ar1fG^E0P_beRe{iAeU)=X&oPNMcCIMd|!pvf3U&v~jY!hU`i+&4~z z_+m5(bagQ3axmVP0)lLP-yl(-Lr*8r4tfzxcRq6n!l6zAyb-QPSwN=vJ`oRm3 zkn^g)TUlM8xE`LHzX!4Uqk)= zg|t0oVF8rJG&o9sfbHZ50b54b1xb0Epzf9(A3*BvqmexAv(OqOVi)6BFKWLYAJUaf zQ#V1|dwd8WQU_VP8FhPR0X}z#y>awv7=|v24z4InoR1M)wg;HgIN7zi>TKs%7k!`1~B)q*Fh z?F~rNCl^UmK5Vs%8Ah#waoA#Mx|s9&ak#Gh7}BK;BUeD3mKA7gx!lnfAa89M>JPja zxK=k{I<)=rpvfH3$~Y)|e%D%&rgiY-`*4;X4)|9jWWYFf4Rn1cN&_fj#S3bTxM0>s z7h|0kxUN6=45S}48|0f;*98Xz0ZPo>0A2rQs4_>%L2#^xj)7Duk3yaPxOC&7wgB1w z_!Q171>sAs5dbmTM5Hc07Us^^SPAoYbC9;YSP-D*tZlvlnP#*cQH%N(>oPANXt`+b zbA$7`sD_5Z*T6ZHd&_G?K;t=7oRq8V;Un=!Yz# z%eM9T;U5&q5{o)>1bmj8uokWh_-FJfNSe9{sW>N#ub2O^feeV};YtQb z-n_s=KGG)6wzj`$dgjn&3Ucsof0+Ze@lLyRY{@d{VRpIlMf|_tK*a}u@4U18sJsQQ zHAv3#LNpe=&Bsvm^PQrL*-n26$KT(^We0wT1;jec@YY?W3vcaJkRzpEhXX_kaZ~YT z_^fx}zEv!Gmx{tcWkB(oYIKwg5UNAYAUT7C z<&c~~at6s6B#eNZLBjaSHAv1NIfH}|kTXaazyAQ@NUDuUY5-pV0000 literal 0 HcmV?d00001 diff --git a/Frontend/src/assets/icons/icon-96x96.png b/Frontend/src/assets/icons/icon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..b5ff242259003d89acd6c0c9337ad21aa18701b6 GIT binary patch literal 2214 zcmb7``8yQ+0>!_x82eI*ENN1*Oh^oaFfx`&)>q0tvJXkdlI1l>$XZ6SQzXkIOLVOv zWg^SGLMUXHWfJZ*W4qnI;6C?3$tBvts1unQ zpU$_a)^8O?DX4)y?n=sIX-{}$H_kV9d|FQxxa(7^R`y8Z>V(li4uPfrM% z2~cvG-c5&Ac-t-1WZmrsL&uahrwdF9f1lVK)Tk?C6d!zsgXdW{siL*Y&Ia3aqMR== zC~hK8v^4S8vQ*r`!P!z=;_(9XemNdoxm8kBZE$Ezb``&D21EAtr285FK4qc8`*aaP z6KZG4cDaA(o(a|m$Yx{aEB(WEuN;Gpv(aCk-1ZT)7f_a*_PLMb@<<+USMi!UlT!QGu(DCE;Gfle1dkt zE*RkAXV`hje;0{~C1tNYmj@;VY^HAVatu0mq~1lH_u~fhYPIg)Bm?MBeZ|R}zj1iQ zNYl{r(W}A7iKKg_qHx}B9J~{)x>9xX8K(hMXf0n*CDL)kDS0wI>%Bu#A^xU#jOcB- zX0OdO{k|@2Ceg^A-opU}guY zzd&@&&zQH&2jpK@ie<7FD!~u0OXsF73cjY}n2nC&3%X55#&;b05f!D$r=mDlhB-}t zQEt(2%n(*PscUd1Kj4g?s9DBg8o2@XU9j-P>)MuTVuD+wgkL-Ncx1wq(Y7Ah;9LM# zHA=K=BB&zLWzYhBrVMfdBcWyLc{xLFw=_ktR(TrdKE?=)5=oN?Uxmpy-Cg487F-yU z>fN9J2wR@4;~QWoMl<6ROoNcCl)_ZKgcDk2JkRb7sMfedrv9j>O)U{lkrdb5%4maq zPCeO(VoUFF`Zc|QlTj34CWbI1L-W0>^J=pRZ+gis z=cW+J-<+WFb|8yQ_qN+M8u(tXye~vMYX*79eKMiJmG2p+MlpG?C>b}ry2w*xs2h%` zwHOmw2)3|849-6{WM*>|Yw%Wvh~k8=NKPgXjqaVrTJ@{m()>yhdAvOxTP4;mGd@}! z+De~ngbr-7l#=W~;fi3V&gN(&TsVJU1%?gyCYeab;-7qPCUXCHG35d+uGv|=rNBL4 z^|Rq^mA!I*Ovy})&%FTG`_`TQ+y3_Xq>>3h!;0Pg9)3*+0mFVs=`d9dYS<3m)7HqU z5re1;?r|v3zb?xg$&D|IH6Cj5!5aeF8^qrX-Ev;S=h&TcUn!TPhM#a))7_98`Kh_C z_Ul}hqYz>&p9sXrIZy3dE06kN=s0|aeekmUQ2(GUeWH5I5@2K%<3lHu7kUL7g{t7u zkCbT3u~z+2*Lr~OoQ!w-`iOK3Ov9b_?kSMtJ0t?+!SU(|Q=BmMXXu)zuaFc*)v~oO z&f@6{k~99K0)kL+?{Gtqw7@S5nDg2*If1Vn8|_Q1QnX~1;zHT5AP^UFfUs7}M*B01 zYuCqe=gdEv-_XBu20*JOkuvotFIJt_%v;|Vt#!w#jjoJXg#QbK?IGOyqN9yo=Q!LY z;$Y#aq#`1H6ve?`!TXPm!$RlyksOq~(=X!^V+1cVBw<-#HSy$RR$c|Vb(LMzzv-!79-`uqFGZ&pHy5Qx?^}1)d8{eKP}mDpQl6Dd{;Q=m+#K- zh`s%zt>?i@F7aaY`meuIGwpoDiARc=6%=|!{+k^i7ACQueE&N;A>>k8_ZX|bGG5hI z{xk(_M^$!AU_=_}6coE6cD}Z4`LFRTYDQyxlE=~L(}O4zceOeNx#rpPqHrKjfwPE| zz2#HB*ZX0#4NeN<$d|oPA2fe-q}tSQn5u7TJFO^}Luhw47^l0ZGdz22i70^Gqp9PX z54zpSuSUg*(CAG3nXn)Ynk2b&Uk!=|itCU6&NNHQ@Ct9PPsJalGY{O(uqQ7PK{g}b zEbt-h0^VCuRT6Mw?I692VekNudA!)K(D?rb2Zsf!xA`cISM~lJ4}do`$5me@#Qq23 C&mGkO literal 0 HcmV?d00001 diff --git a/Frontend/src/index.html b/Frontend/src/index.html index 4e1df2f..5ad4fcc 100644 --- a/Frontend/src/index.html +++ b/Frontend/src/index.html @@ -7,11 +7,14 @@ - + - + + + + diff --git a/Frontend/src/manifest.webmanifest b/Frontend/src/manifest.webmanifest new file mode 100644 index 0000000..ef8c5dc --- /dev/null +++ b/Frontend/src/manifest.webmanifest @@ -0,0 +1,59 @@ +{ + "name": "Diuna", + "short_name": "Diuna", + "theme_color": "#1976d2", + "background_color": "#fafafa", + "display": "standalone", + "scope": "./", + "start_url": "./", + "icons": [ + { + "src": "assets/icons/icon-72x72.png", + "sizes": "72x72", + "type": "image/png", + "purpose": "maskable any" + }, + { + "src": "assets/icons/icon-96x96.png", + "sizes": "96x96", + "type": "image/png", + "purpose": "maskable any" + }, + { + "src": "assets/icons/icon-128x128.png", + "sizes": "128x128", + "type": "image/png", + "purpose": "maskable any" + }, + { + "src": "assets/icons/icon-144x144.png", + "sizes": "144x144", + "type": "image/png", + "purpose": "maskable any" + }, + { + "src": "assets/icons/icon-152x152.png", + "sizes": "152x152", + "type": "image/png", + "purpose": "maskable any" + }, + { + "src": "assets/icons/icon-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable any" + }, + { + "src": "assets/icons/icon-384x384.png", + "sizes": "384x384", + "type": "image/png", + "purpose": "maskable any" + }, + { + "src": "assets/icons/icon-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable any" + } + ] +}