From 3dab38764f6411948163d439ea81a0338ff15171 Mon Sep 17 00:00:00 2001 From: chrismclarke Date: Sun, 30 Aug 2020 20:54:03 -0700 Subject: [PATCH 01/20] bump version (2.4.4) --- maths-club-app/android/app/build.gradle | 4 ++-- maths-club-app/ios/App/App/Info.plist | 2 +- maths-club-app/package.json | 2 +- package.json | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/maths-club-app/android/app/build.gradle b/maths-club-app/android/app/build.gradle index 110d3082..169a826f 100644 --- a/maths-club-app/android/app/build.gradle +++ b/maths-club-app/android/app/build.gradle @@ -7,8 +7,8 @@ android { applicationId "io.c2dev.samimathsclub" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 2004003 - versionName "2.4.3" + versionCode 2004004 + versionName "2.4.4" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { diff --git a/maths-club-app/ios/App/App/Info.plist b/maths-club-app/ios/App/App/Info.plist index 8a21eef7..19916b90 100644 --- a/maths-club-app/ios/App/App/Info.plist +++ b/maths-club-app/ios/App/App/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.4.3 + 2.4.4 CFBundleURLTypes diff --git a/maths-club-app/package.json b/maths-club-app/package.json index 8515abd6..fdf7f099 100644 --- a/maths-club-app/package.json +++ b/maths-club-app/package.json @@ -1,6 +1,6 @@ { "name": "sami-maths-club-app", - "version": "2.4.3", + "version": "2.4.4", "scripts": { "ng": "ng", "start": "ng serve", diff --git a/package.json b/package.json index e7dc9674..ba8bafae 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sami-maths-club", - "version": "2.4.3", + "version": "2.4.4", "description": "", "main": "index.js", "scripts": { From 83d499b000e584011112efeddb44717cb44ae839 Mon Sep 17 00:00:00 2001 From: chrismclarke Date: Sun, 30 Aug 2020 21:47:09 -0700 Subject: [PATCH 02/20] add sentry eror handler --- maths-club-app/package.json | 2 + maths-club-app/src/app/app.module.ts | 18 +++-- maths-club-app/src/main.ts | 21 ++++-- maths-club-app/yarn.lock | 105 ++++++++++++++++++++++++++- 4 files changed, 134 insertions(+), 12 deletions(-) diff --git a/maths-club-app/package.json b/maths-club-app/package.json index fdf7f099..339a21b1 100644 --- a/maths-club-app/package.json +++ b/maths-club-app/package.json @@ -27,6 +27,8 @@ "@capacitor/cli": "^2.2.1", "@capacitor/core": "^2.2.1", "@capacitor/ios": "2.2.1", + "@sentry/angular": "^5.22.3", + "@sentry/tracing": "^5.22.3", "date-fns": "^2.16.0", "material-design-icons": "^3.0.1", "ngx-markdown": "^9.1.1", diff --git a/maths-club-app/src/app/app.module.ts b/maths-club-app/src/app/app.module.ts index faccd90b..fe060e03 100644 --- a/maths-club-app/src/app/app.module.ts +++ b/maths-club-app/src/app/app.module.ts @@ -1,5 +1,5 @@ import { BrowserModule } from "@angular/platform-browser"; -import { NgModule } from "@angular/core"; +import { NgModule, ErrorHandler } from "@angular/core"; import { HttpClientModule } from "@angular/common/http"; import { AppRoutingModule } from "./app-routing.module"; import { MarkdownModule } from "ngx-markdown"; @@ -13,9 +13,10 @@ import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; import { MaterialModule } from "./material.module"; import { LanguageSwitcherComponent } from "./components/language-switcher/language-switcher.component"; -import { FacilitatorNoteComponent } from './components/facilitator-note/facilitator-note.component'; -import { PrivacyPolicyComponent } from './components/privacy-policy/privacy-policy.component'; -import { AppTermsComponent } from './components/app-terms/app-terms.component'; +import { FacilitatorNoteComponent } from "./components/facilitator-note/facilitator-note.component"; +import { PrivacyPolicyComponent } from "./components/privacy-policy/privacy-policy.component"; +import { AppTermsComponent } from "./components/app-terms/app-terms.component"; +import * as Sentry from "@sentry/angular"; @NgModule({ declarations: [ @@ -38,7 +39,14 @@ import { AppTermsComponent } from './components/app-terms/app-terms.component'; FlexLayoutModule, MaterialModule, ], - providers: [], + providers: [ + { + provide: ErrorHandler, + useValue: Sentry.createErrorHandler({ + showDialog: false, + }), + }, + ], bootstrap: [AppComponent], }) export class AppModule {} diff --git a/maths-club-app/src/main.ts b/maths-club-app/src/main.ts index c7b673cf..52a4e9fe 100644 --- a/maths-club-app/src/main.ts +++ b/maths-club-app/src/main.ts @@ -1,12 +1,21 @@ -import { enableProdMode } from '@angular/core'; -import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; +import { enableProdMode } from "@angular/core"; +import { platformBrowserDynamic } from "@angular/platform-browser-dynamic"; -import { AppModule } from './app/app.module'; -import { environment } from './environments/environment'; +import { AppModule } from "./app/app.module"; +import { environment } from "./environments/environment"; + +import * as Sentry from "@sentry/angular"; + +Sentry.init({ + dsn: + "https://42bfde52d006481a8ccb51e308937929@o157757.ingest.sentry.io/5411348", + integrations: [], +}); if (environment.production) { enableProdMode(); } -platformBrowserDynamic().bootstrapModule(AppModule) - .catch(err => console.error(err)); +platformBrowserDynamic() + .bootstrapModule(AppModule) + .catch((err) => console.error(err)); diff --git a/maths-club-app/yarn.lock b/maths-club-app/yarn.lock index 0c6ebc9c..fae65631 100644 --- a/maths-club-app/yarn.lock +++ b/maths-club-app/yarn.lock @@ -155,6 +155,13 @@ universal-analytics "0.4.20" uuid "7.0.2" +"@angular/common@^10.0.3": + version "10.0.14" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-10.0.14.tgz#a08228323609a22559590f4295b26f247f7438f4" + integrity sha512-EOAuaMt2HwJF3DtIJ/ksHtnF8Pqh5K2rWISYLEs9R3WNaSGn74kbCODAT4pNhI8P22Ykl3H4FmQUgnDZ3uDAUg== + dependencies: + tslib "^2.0.0" + "@angular/common@~9.1.3": version "9.1.11" resolved "https://registry.yarnpkg.com/@angular/common/-/common-9.1.11.tgz#1323f7b043410791bd2d0d71b0bbb1f862319c04" @@ -183,6 +190,13 @@ resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.1.11.tgz#4c7100f53c87f47e793e149427b8bdee44302381" integrity sha512-MbVheCG0U8gt6xtiipau20N26mD2sXjLChVmRKgO6rbDruxboNMZfEd94q9NP9JRaUsVnjXvY7GMDldoymdXig== +"@angular/core@^10.0.3": + version "10.0.14" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-10.0.14.tgz#000f091e6c17239232120fdca871fdac6b529ebd" + integrity sha512-m+c9g6fA/gE+6K7It01b6r8TEmbuFjUZajQ9gG/pzist0mTBcqfvn0O4h5X+ebnSgw/bbnnp+4PbaXEi1pOWZQ== + dependencies: + tslib "^2.0.0" + "@angular/core@~9.1.3": version "9.1.11" resolved "https://registry.yarnpkg.com/@angular/core/-/core-9.1.11.tgz#7a92d27292212ed381be15f9000d4019867f1c7c" @@ -218,6 +232,13 @@ resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-9.1.11.tgz#4da8e2a4231d5162304746a39f54cb2d3f241b7c" integrity sha512-KDxoiFhW4UD+EqchcKpQVSLwg9Rd3JbWytZLchFV6nH8BFnshfJtw2tyPT8bMhFVG9n9zSR4QSGaozWgoDs9mw== +"@angular/router@^10.0.3": + version "10.0.14" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-10.0.14.tgz#e8942e93a8154e1be749e1f9d79afa5f7b5b9cb9" + integrity sha512-VWzaNyPZDY99TMszV1GlXJgVOxXsjhJrsv3mIcjaz1dfdlKOeKTVDLdnyXfP9CkwE3PRmvG7eSXppIj6nn9BpQ== + dependencies: + tslib "^2.0.0" + "@angular/router@~9.1.3": version "9.1.11" resolved "https://registry.yarnpkg.com/@angular/router/-/router-9.1.11.tgz#b6d28af55fe5631bbc46f306a0e7866253d4f3b1" @@ -1124,6 +1145,83 @@ semver "7.1.3" semver-intersect "1.4.0" +"@sentry/angular@^5.22.3": + version "5.22.3" + resolved "https://registry.yarnpkg.com/@sentry/angular/-/angular-5.22.3.tgz#f306bc90a383e5577b12724f8e2c5f9151a914a8" + integrity sha512-aZOi3k6CwFmTU1AtSXtIkw+gUYyMQKq0eicmnXLIqibK7hxs5fJCW2uHaw6ZR7U8FKn8uxcLveWooGBdTIsIrg== + dependencies: + "@angular/common" "^10.0.3" + "@angular/core" "^10.0.3" + "@angular/router" "^10.0.3" + "@sentry/browser" "5.22.3" + "@sentry/types" "5.22.3" + "@sentry/utils" "5.22.3" + rxjs "^6.6.0" + tslib "^1.9.3" + +"@sentry/browser@5.22.3": + version "5.22.3" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.22.3.tgz#7a64bd1cf01bf393741a3e4bf35f82aa927f5b4e" + integrity sha512-2TzE/CoBa5ZkvxJizDdi1Iz1ldmXSJpFQ1mL07PIXBjCt0Wxf+WOuFSj5IP4L40XHfJE5gU8wEvSH0VDR8nXtA== + dependencies: + "@sentry/core" "5.22.3" + "@sentry/types" "5.22.3" + "@sentry/utils" "5.22.3" + tslib "^1.9.3" + +"@sentry/core@5.22.3": + version "5.22.3" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.22.3.tgz#030f435f2b518f282ba8bd954dac90cd70888bd7" + integrity sha512-eGL5uUarw3o4i9QUb9JoFHnhriPpWCaqeaIBB06HUpdcvhrjoowcKZj1+WPec5lFg5XusE35vez7z/FPzmJUDw== + dependencies: + "@sentry/hub" "5.22.3" + "@sentry/minimal" "5.22.3" + "@sentry/types" "5.22.3" + "@sentry/utils" "5.22.3" + tslib "^1.9.3" + +"@sentry/hub@5.22.3": + version "5.22.3" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.22.3.tgz#08309a70d2ea8d5e313d05840c1711f34f2fffe5" + integrity sha512-INo47m6N5HFEs/7GMP9cqxOIt7rmRxdERunA3H2L37owjcr77MwHVeeJ9yawRS6FMtbWXplgWTyTIWIYOuqVbw== + dependencies: + "@sentry/types" "5.22.3" + "@sentry/utils" "5.22.3" + tslib "^1.9.3" + +"@sentry/minimal@5.22.3": + version "5.22.3" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.22.3.tgz#706e4029ae5494123d3875c658ba8911aa5cc440" + integrity sha512-HoINpYnVYCpNjn2XIPIlqH5o4BAITpTljXjtAftOx6Hzj+Opjg8tR8PWliyKDvkXPpc4kXK9D6TpEDw8MO0wZA== + dependencies: + "@sentry/hub" "5.22.3" + "@sentry/types" "5.22.3" + tslib "^1.9.3" + +"@sentry/tracing@^5.22.3": + version "5.22.3" + resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-5.22.3.tgz#9b5a376e3164c007a22e8642ec094104468cac0c" + integrity sha512-Zp59kMCk5v56ZAyErqjv/QvGOWOQ5fRltzeVQVp8unIDTk6gEFXfhwPsYHOokJe1mfkmrgPDV6xAkYgtL3KCDQ== + dependencies: + "@sentry/hub" "5.22.3" + "@sentry/minimal" "5.22.3" + "@sentry/types" "5.22.3" + "@sentry/utils" "5.22.3" + tslib "^1.9.3" + +"@sentry/types@5.22.3": + version "5.22.3" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.22.3.tgz#d1d547b30ee8bd7771fa893af74c4f3d71f0fd18" + integrity sha512-cv+VWK0YFgCVDvD1/HrrBWOWYG3MLuCUJRBTkV/Opdy7nkdNjhCAJQrEyMM9zX0sac8FKWKOHT0sykNh8KgmYw== + +"@sentry/utils@5.22.3": + version "5.22.3" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.22.3.tgz#e3bda3e789239eb16d436f768daa12829f33d18f" + integrity sha512-AHNryXMBvIkIE+GQxTlmhBXD0Ksh+5w1SwM5qi6AttH+1qjWLvV6WB4+4pvVvEoS8t5F+WaVUZPQLmCCWp6zKw== + dependencies: + "@sentry/types" "5.22.3" + tslib "^1.9.3" + "@types/color-name@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" @@ -9005,11 +9103,16 @@ tslib@1.11.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== -tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: version "1.13.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== +tslib@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" + integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ== + tsutils@^3.17.1: version "3.17.1" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" From a2831f10e9d33134552e4d1a1040fc4e7806134d Mon Sep 17 00:00:00 2001 From: chrismclarke Date: Sun, 30 Aug 2020 21:47:31 -0700 Subject: [PATCH 03/20] attempt ios safe area fix --- maths-club-app/src/index.html | 2 +- maths-club-app/src/styles.scss | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/maths-club-app/src/index.html b/maths-club-app/src/index.html index 9db980f3..50a3a220 100644 --- a/maths-club-app/src/index.html +++ b/maths-club-app/src/index.html @@ -4,7 +4,7 @@ SAMI Maths Club - + diff --git a/maths-club-app/src/styles.scss b/maths-club-app/src/styles.scss index c2248833..bd5b0082 100644 --- a/maths-club-app/src/styles.scss +++ b/maths-club-app/src/styles.scss @@ -4,6 +4,8 @@ html, body { height: 100%; + margin-top: env(safe-area-inset-top); + margin-bottom: env(safe-area-inset-bottom); } body { margin: 0; From 893b3bc73f0abf64798f29961865942653b67a48 Mon Sep 17 00:00:00 2001 From: chrismclarke Date: Sun, 30 Aug 2020 21:53:05 -0700 Subject: [PATCH 04/20] add catch for weekly problem issues --- maths-club-app/src/app/services/problem.service.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maths-club-app/src/app/services/problem.service.ts b/maths-club-app/src/app/services/problem.service.ts index b966ed09..923646ba 100644 --- a/maths-club-app/src/app/services/problem.service.ts +++ b/maths-club-app/src/app/services/problem.service.ts @@ -5,6 +5,7 @@ import { IProblemMeta, IProblem } from "../models/problem.models"; import { AppService } from "./app.service"; import { Router, ActivatedRoute } from "@angular/router"; import startOfWeek from "date-fns/startOfWeek"; +import * as Sentry from "@sentry/angular"; import { WEEKLY_PROBLEMS } from "../data/weeklyProblems"; @Injectable({ @@ -42,6 +43,11 @@ export class ProblemService { const weeklyProblemSlug = WEEKLY_PROBLEMS[problemWeek]; const index = problems.findIndex((p) => p.slug === weeklyProblemSlug); // TODO - if problem doesn't exist pick a suitable replacement + if (index === -1) { + Sentry.captureMessage("Unable to load weekly problem", { + extra: { problems, problemWeek, WEEKLY_PROBLEMS }, + }); + } return { index, featured: problems[index] }; } From c8b5c09d792c3484fd1baa9fb0df8dbd2c3d4302 Mon Sep 17 00:00:00 2001 From: chrismclarke Date: Sun, 30 Aug 2020 22:21:02 -0700 Subject: [PATCH 05/20] ios tweaks --- maths-club-app/src/app/app.component.scss | 3 +++ maths-club-app/src/app/services/problem.service.ts | 9 ++++++++- maths-club-app/src/styles.scss | 5 +++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/maths-club-app/src/app/app.component.scss b/maths-club-app/src/app/app.component.scss index bf75305d..aa73f7c6 100644 --- a/maths-club-app/src/app/app.component.scss +++ b/maths-club-app/src/app/app.component.scss @@ -1,5 +1,8 @@ @import "~material-design-icons/iconfont/material-icons.css"; +:host { + display: contents; +} mat-sidenav-container { height: 100%; } diff --git a/maths-club-app/src/app/services/problem.service.ts b/maths-club-app/src/app/services/problem.service.ts index 923646ba..ff00a2a0 100644 --- a/maths-club-app/src/app/services/problem.service.ts +++ b/maths-club-app/src/app/services/problem.service.ts @@ -39,7 +39,14 @@ export class ProblemService { private getFeaturedProblem( problems: IProblemMeta[] ): { index: number; featured: IProblemMeta } { - const problemWeek = startOfWeek(new Date()).toISOString().substring(0, 10); + const problemWeek = startOfWeek(new Date(), { + weekStartsOn: 0, + locale: { + code: "en-US", + }, + }) + .toISOString() + .substring(0, 10); const weeklyProblemSlug = WEEKLY_PROBLEMS[problemWeek]; const index = problems.findIndex((p) => p.slug === weeklyProblemSlug); // TODO - if problem doesn't exist pick a suitable replacement diff --git a/maths-club-app/src/styles.scss b/maths-club-app/src/styles.scss index bd5b0082..d44892b6 100644 --- a/maths-club-app/src/styles.scss +++ b/maths-club-app/src/styles.scss @@ -4,8 +4,9 @@ html, body { height: 100%; - margin-top: env(safe-area-inset-top); - margin-bottom: env(safe-area-inset-bottom); + // attempt fix for ios safe view areas + padding: env(safe-area-inset-top, 10px) env(safe-area-inset-right, 10px) + env(safe-area-inset-bottom, 10px) env(safe-area-inset-left, 10px); } body { margin: 0; From e7f160b064a618fc65c31e2a7574694e1bb1abae Mon Sep 17 00:00:00 2001 From: chrismclarke Date: Sun, 30 Aug 2020 22:33:58 -0700 Subject: [PATCH 06/20] weekly problem fix --- maths-club-app/src/app/services/problem.service.ts | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/maths-club-app/src/app/services/problem.service.ts b/maths-club-app/src/app/services/problem.service.ts index ff00a2a0..fbce3018 100644 --- a/maths-club-app/src/app/services/problem.service.ts +++ b/maths-club-app/src/app/services/problem.service.ts @@ -39,14 +39,9 @@ export class ProblemService { private getFeaturedProblem( problems: IProblemMeta[] ): { index: number; featured: IProblemMeta } { - const problemWeek = startOfWeek(new Date(), { - weekStartsOn: 0, - locale: { - code: "en-US", - }, - }) - .toISOString() - .substring(0, 10); + // set hour to avoid confusion with midnight day + const today = new Date().setHours(9); + const problemWeek = startOfWeek(today).toISOString().substring(0, 10); const weeklyProblemSlug = WEEKLY_PROBLEMS[problemWeek]; const index = problems.findIndex((p) => p.slug === weeklyProblemSlug); // TODO - if problem doesn't exist pick a suitable replacement From c9b99622335ad985bd641ebbfd7a64166630f4fa Mon Sep 17 00:00:00 2001 From: chrismclarke Date: Sun, 30 Aug 2020 22:45:40 -0700 Subject: [PATCH 07/20] more ios style testing --- maths-club-app/capacitor.config.json | 4 ++-- maths-club-app/src/styles.scss | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/maths-club-app/capacitor.config.json b/maths-club-app/capacitor.config.json index 55a42efc..4ded1a67 100644 --- a/maths-club-app/capacitor.config.json +++ b/maths-club-app/capacitor.config.json @@ -11,6 +11,6 @@ }, "cordova": {}, "ios": { - "contentInset": "automatic", - "clipToBounds": "true" } + "contentInset": "always" + } } diff --git a/maths-club-app/src/styles.scss b/maths-club-app/src/styles.scss index d44892b6..b3e97180 100644 --- a/maths-club-app/src/styles.scss +++ b/maths-club-app/src/styles.scss @@ -4,9 +4,9 @@ html, body { height: 100%; - // attempt fix for ios safe view areas - padding: env(safe-area-inset-top, 10px) env(safe-area-inset-right, 10px) - env(safe-area-inset-bottom, 10px) env(safe-area-inset-left, 10px); + // attempt fix for ios safe view areas.. possibly covered in capacitor.config.json contentInset + // padding: env(safe-area-inset-top, 10px) env(safe-area-inset-right, 10px) + // env(safe-area-inset-bottom, 10px) env(safe-area-inset-left, 10px); } body { margin: 0; From 3aee5a7b1af89f43ad85550a314444a59c914e42 Mon Sep 17 00:00:00 2001 From: chrismclarke Date: Sun, 30 Aug 2020 23:32:42 -0700 Subject: [PATCH 08/20] feature problem fix --- maths-club-app/src/app/services/problem.service.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/maths-club-app/src/app/services/problem.service.ts b/maths-club-app/src/app/services/problem.service.ts index fbce3018..e9b21c0f 100644 --- a/maths-club-app/src/app/services/problem.service.ts +++ b/maths-club-app/src/app/services/problem.service.ts @@ -4,7 +4,7 @@ import { BehaviorSubject } from "rxjs"; import { IProblemMeta, IProblem } from "../models/problem.models"; import { AppService } from "./app.service"; import { Router, ActivatedRoute } from "@angular/router"; -import startOfWeek from "date-fns/startOfWeek"; +import startOfISOWeek from "date-fns/startOfWeek"; import * as Sentry from "@sentry/angular"; import { WEEKLY_PROBLEMS } from "../data/weeklyProblems"; @@ -39,9 +39,9 @@ export class ProblemService { private getFeaturedProblem( problems: IProblemMeta[] ): { index: number; featured: IProblemMeta } { - // set hour to avoid confusion with midnight day - const today = new Date().setHours(9); - const problemWeek = startOfWeek(today).toISOString().substring(0, 10); + // use iso weeks to avoid timezone confusion when converting to isostring + const start = startOfISOWeek(new Date()); + const problemWeek = start.toISOString().substring(0, 10); const weeklyProblemSlug = WEEKLY_PROBLEMS[problemWeek]; const index = problems.findIndex((p) => p.slug === weeklyProblemSlug); // TODO - if problem doesn't exist pick a suitable replacement @@ -68,7 +68,9 @@ export class ProblemService { } problems = problems .filter((p) => p.hasFacilitatorVersion && p.hasStudentVersion) - .sort((a, b) => (a.featured ? -1 : a.added > b.added ? -1 : 1)); + .sort((a, b) => { + return a.featured ? -1 : b.featured ? 1 : a.added > b.added ? -1 : 1; + }); // filter out problems which do not have a student and facilitator version and emit this.problems$.next(problems); } From 758f6a4b54d3816441bb91e46821d6e3f3b526e6 Mon Sep 17 00:00:00 2001 From: chrismclarke Date: Mon, 31 Aug 2020 08:13:36 -0700 Subject: [PATCH 09/20] fix featured problem select --- maths-club-app/package.json | 1 - .../src/app/services/problem.service.ts | 27 ++++++++++--------- maths-club-app/yarn.lock | 5 ---- 3 files changed, 14 insertions(+), 19 deletions(-) diff --git a/maths-club-app/package.json b/maths-club-app/package.json index 339a21b1..6b39a304 100644 --- a/maths-club-app/package.json +++ b/maths-club-app/package.json @@ -29,7 +29,6 @@ "@capacitor/ios": "2.2.1", "@sentry/angular": "^5.22.3", "@sentry/tracing": "^5.22.3", - "date-fns": "^2.16.0", "material-design-icons": "^3.0.1", "ngx-markdown": "^9.1.1", "rxjs": "~6.5.4", diff --git a/maths-club-app/src/app/services/problem.service.ts b/maths-club-app/src/app/services/problem.service.ts index e9b21c0f..4a59cd25 100644 --- a/maths-club-app/src/app/services/problem.service.ts +++ b/maths-club-app/src/app/services/problem.service.ts @@ -4,7 +4,6 @@ import { BehaviorSubject } from "rxjs"; import { IProblemMeta, IProblem } from "../models/problem.models"; import { AppService } from "./app.service"; import { Router, ActivatedRoute } from "@angular/router"; -import startOfISOWeek from "date-fns/startOfWeek"; import * as Sentry from "@sentry/angular"; import { WEEKLY_PROBLEMS } from "../data/weeklyProblems"; @@ -36,21 +35,22 @@ export class ProblemService { this._subscribeToRouteChanges(); } - private getFeaturedProblem( - problems: IProblemMeta[] - ): { index: number; featured: IProblemMeta } { - // use iso weeks to avoid timezone confusion when converting to isostring - const start = startOfISOWeek(new Date()); - const problemWeek = start.toISOString().substring(0, 10); - const weeklyProblemSlug = WEEKLY_PROBLEMS[problemWeek]; - const index = problems.findIndex((p) => p.slug === weeklyProblemSlug); + /** + * Go through the list of featured problems and select problem selected for + * the current week (finds problem for next week and returns one previous) + * Return as the index of the problems passed + */ + private getFeaturedProblem(problems: IProblemMeta[]): { index: number } { + const today = new Date().toISOString().substring(0, 10); + const index = Object.keys(WEEKLY_PROBLEMS).findIndex((d) => today <= d) - 1; + const weeklySlug = Object.values(WEEKLY_PROBLEMS)[index]; // TODO - if problem doesn't exist pick a suitable replacement - if (index === -1) { + if (index < 0) { Sentry.captureMessage("Unable to load weekly problem", { - extra: { problems, problemWeek, WEEKLY_PROBLEMS }, + extra: { index, date: new Date(), today, WEEKLY_PROBLEMS }, }); } - return { index, featured: problems[index] }; + return { index: problems.findIndex((p) => p.slug === weeklySlug) }; } /** @@ -66,12 +66,13 @@ export class ProblemService { if (index !== -1) { problems[index] = { ...problems[index], featured: true }; } + // filter out problems which do not have a student and facilitator version and emit problems = problems .filter((p) => p.hasFacilitatorVersion && p.hasStudentVersion) .sort((a, b) => { return a.featured ? -1 : b.featured ? 1 : a.added > b.added ? -1 : 1; }); - // filter out problems which do not have a student and facilitator version and emit + // allow time to finish any previous animations this.problems$.next(problems); } diff --git a/maths-club-app/yarn.lock b/maths-club-app/yarn.lock index fae65631..4fecd426 100644 --- a/maths-club-app/yarn.lock +++ b/maths-club-app/yarn.lock @@ -3138,11 +3138,6 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -date-fns@^2.16.0: - version "2.16.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.16.0.tgz#d34f0f5f2fd498c984513042e8f7247ea86c4cb7" - integrity sha512-DWTRyfOA85sZ4IiXPHhiRIOs3fW5U6Msrp+gElXARa6EpoQTXPyHQmh7hr+ssw2nx9FtOQWnAMJKgL5vaJqILw== - date-format@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/date-format/-/date-format-2.1.0.tgz#31d5b5ea211cf5fd764cd38baf9d033df7e125cf" From b639b6e7a2144e751761850b2431d5af9652964f Mon Sep 17 00:00:00 2001 From: chrismclarke Date: Mon, 31 Aug 2020 09:05:49 -0700 Subject: [PATCH 10/20] list style fixes --- maths-club-app/src/app/app.component.ts | 8 ++++++++ .../problems-list/problems-list.component.html | 9 +++++---- .../problems-list/problems-list.component.scss | 13 ++++++++++--- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/maths-club-app/src/app/app.component.ts b/maths-club-app/src/app/app.component.ts index b908bbaf..43384bd0 100644 --- a/maths-club-app/src/app/app.component.ts +++ b/maths-club-app/src/app/app.component.ts @@ -6,6 +6,9 @@ import { slideTransition } from "./animations"; import { environment } from "src/environments/environment"; import { NotificationService } from "./services/notification.service"; +import { Plugins, Capacitor } from "@capacitor/core"; +const { StatusBar } = Plugins; + @Component({ selector: "app-root", templateUrl: "./app.component.html", @@ -20,6 +23,11 @@ export class AppComponent { public notifications: NotificationService ) { // this.notifications.init() + if (Capacitor.isNative) { + StatusBar.setOverlaysWebView({ + overlay: true, + }); + } } getRouteAnimationState(outlet: RouterOutlet) { return ( diff --git a/maths-club-app/src/app/components/problems-list/problems-list.component.html b/maths-club-app/src/app/components/problems-list/problems-list.component.html index 4614448d..1cc8e495 100644 --- a/maths-club-app/src/app/components/problems-list/problems-list.component.html +++ b/maths-club-app/src/app/components/problems-list/problems-list.component.html @@ -10,10 +10,11 @@ >

{{ problem.title }}

- + [style.background-image]=" + 'url(/assets/maths-club-pack/cover_images/' + problem.slug + '.svg)' + " + > diff --git a/maths-club-app/src/app/components/problems-list/problems-list.component.scss b/maths-club-app/src/app/components/problems-list/problems-list.component.scss index 7add6170..51019ea5 100644 --- a/maths-club-app/src/app/components/problems-list/problems-list.component.scss +++ b/maths-club-app/src/app/components/problems-list/problems-list.component.scss @@ -1,11 +1,10 @@ $min-item-width: 150px; -$max-item-height: 250px; +$max-item-height: 150px; .problems-list-container { width: 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax($min-item-width, 1fr)); - grid-template-rows: repeat(4, $max-item-height); column-gap: 10px; row-gap: 15px; } @@ -17,20 +16,28 @@ $max-item-height: 250px; justify-content: center; cursor: pointer; position: relative; + height: $max-item-height; } .problem-image { width: 100%; + flex: 1; + background-size: contain; + background-repeat: no-repeat; + background-position: center; } .problem-title { margin: 0; } .featured-problem { position: absolute; - top: 8px; + bottom: 0px; + height: 2em; + line-height: 2em; width: calc(100% - 2px); left: 0px; padding: 1px; background: #ffa41d; color: white; + font-size: 1.2em; } From 37178203415202e960e171039c951fcbe96ee2dd Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 31 Aug 2020 17:50:19 +0100 Subject: [PATCH 11/20] ios style tweaks --- .../android/app/src/main/assets/capacitor.config.json | 3 ++- maths-club-app/capacitor.config.json | 3 ++- maths-club-app/ios/App/App/capacitor.config.json | 3 ++- maths-club-app/ios/App/fastlane/Fastfile | 2 +- maths-club-app/src/app/app.component.html | 6 +++--- maths-club-app/src/app/app.component.scss | 10 ++++++++++ maths-club-app/src/app/app.component.ts | 4 +--- maths-club-app/src/styles.scss | 5 +++-- 8 files changed, 24 insertions(+), 12 deletions(-) diff --git a/maths-club-app/android/app/src/main/assets/capacitor.config.json b/maths-club-app/android/app/src/main/assets/capacitor.config.json index 55a42efc..223792cb 100644 --- a/maths-club-app/android/app/src/main/assets/capacitor.config.json +++ b/maths-club-app/android/app/src/main/assets/capacitor.config.json @@ -12,5 +12,6 @@ "cordova": {}, "ios": { "contentInset": "automatic", - "clipToBounds": "true" } + "clipToBounds": "true" + } } diff --git a/maths-club-app/capacitor.config.json b/maths-club-app/capacitor.config.json index 4ded1a67..223792cb 100644 --- a/maths-club-app/capacitor.config.json +++ b/maths-club-app/capacitor.config.json @@ -11,6 +11,7 @@ }, "cordova": {}, "ios": { - "contentInset": "always" + "contentInset": "automatic", + "clipToBounds": "true" } } diff --git a/maths-club-app/ios/App/App/capacitor.config.json b/maths-club-app/ios/App/App/capacitor.config.json index 55a42efc..223792cb 100644 --- a/maths-club-app/ios/App/App/capacitor.config.json +++ b/maths-club-app/ios/App/App/capacitor.config.json @@ -12,5 +12,6 @@ "cordova": {}, "ios": { "contentInset": "automatic", - "clipToBounds": "true" } + "clipToBounds": "true" + } } diff --git a/maths-club-app/ios/App/fastlane/Fastfile b/maths-club-app/ios/App/fastlane/Fastfile index 13835f96..231f20cf 100644 --- a/maths-club-app/ios/App/fastlane/Fastfile +++ b/maths-club-app/ios/App/fastlane/Fastfile @@ -71,7 +71,7 @@ platform :ios do ) end - private_lane :setup_project do + private_lane :setup_keychain do # TODO - create pw and share across steps (use export to share across ruby env) # export KEYCHAIN_PASSWORD = SecureRandom.uuid # TODO - consider using https://docs.fastlane.tools/actions/setup_ci/ diff --git a/maths-club-app/src/app/app.component.html b/maths-club-app/src/app/app.component.html index 15b98ca5..13eeff27 100644 --- a/maths-club-app/src/app/app.component.html +++ b/maths-club-app/src/app/app.component.html @@ -1,5 +1,5 @@ - + home @@ -13,7 +13,7 @@ - + @@ -23,7 +23,7 @@ SAMI Maths Club -
+
diff --git a/maths-club-app/src/app/app.component.scss b/maths-club-app/src/app/app.component.scss index aa73f7c6..27daee24 100644 --- a/maths-club-app/src/app/app.component.scss +++ b/maths-club-app/src/app/app.component.scss @@ -32,3 +32,13 @@ mat-sidenav-content { opacity: 0.5; text-align: left; } +// IOS Style Safe Areas - viewport-fit=cover fills notch space, so add padding as required +.safe-padding-top{ + padding-top: env(safe-area-inset-top)!important +} +.safe-padding-side{ + padding-left: env(safe-area-inset-left)!important ; + padding-right: env(safe-area-inset-right) !important +} + + diff --git a/maths-club-app/src/app/app.component.ts b/maths-club-app/src/app/app.component.ts index 43384bd0..72232595 100644 --- a/maths-club-app/src/app/app.component.ts +++ b/maths-club-app/src/app/app.component.ts @@ -24,9 +24,7 @@ export class AppComponent { ) { // this.notifications.init() if (Capacitor.isNative) { - StatusBar.setOverlaysWebView({ - overlay: true, - }); + // native code here } } getRouteAnimationState(outlet: RouterOutlet) { diff --git a/maths-club-app/src/styles.scss b/maths-club-app/src/styles.scss index b3e97180..e182c13d 100644 --- a/maths-club-app/src/styles.scss +++ b/maths-club-app/src/styles.scss @@ -5,8 +5,9 @@ html, body { height: 100%; // attempt fix for ios safe view areas.. possibly covered in capacitor.config.json contentInset - // padding: env(safe-area-inset-top, 10px) env(safe-area-inset-right, 10px) - // env(safe-area-inset-bottom, 10px) env(safe-area-inset-left, 10px); + // appears too big gap at status-bar - now added as padding to mat-toolbar instead + // padding: env(safe-area-inset-top) env(safe-area-inset-right) + // env(safe-area-inset-bottom) env(safe-area-inset-left); } body { margin: 0; From cd7747444cae256c70abf3b04eae49d67fec56b0 Mon Sep 17 00:00:00 2001 From: chrismclarke Date: Mon, 31 Aug 2020 10:17:23 -0700 Subject: [PATCH 12/20] overflow fix --- maths-club-app/src/app/app.component.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maths-club-app/src/app/app.component.scss b/maths-club-app/src/app/app.component.scss index aa73f7c6..a2a22795 100644 --- a/maths-club-app/src/app/app.component.scss +++ b/maths-club-app/src/app/app.component.scss @@ -12,7 +12,7 @@ mat-sidenav { } mat-sidenav-content { - overflow-x: hidden; + display: contents; } .bottom-items { position: absolute; From cb51fdae0872e4e865478ee566d359ce57dccc3b Mon Sep 17 00:00:00 2001 From: chrismclarke Date: Mon, 31 Aug 2020 10:20:05 -0700 Subject: [PATCH 13/20] make nav bar sticky --- maths-club-app/src/app/app.component.scss | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/maths-club-app/src/app/app.component.scss b/maths-club-app/src/app/app.component.scss index 5c7d8714..2677330d 100644 --- a/maths-club-app/src/app/app.component.scss +++ b/maths-club-app/src/app/app.component.scss @@ -10,6 +10,11 @@ mat-sidenav-container { mat-sidenav { width: 200px; } +mat-toolbar { + position: sticky; + top: 0; + z-index: 2; +} mat-sidenav-content { display: contents; @@ -33,12 +38,10 @@ mat-sidenav-content { text-align: left; } // IOS Style Safe Areas - viewport-fit=cover fills notch space, so add padding as required -.safe-padding-top{ - padding-top: env(safe-area-inset-top)!important +.safe-padding-top { + padding-top: env(safe-area-inset-top) !important; } -.safe-padding-side{ - padding-left: env(safe-area-inset-left)!important ; - padding-right: env(safe-area-inset-right) !important +.safe-padding-side { + padding-left: env(safe-area-inset-left) !important ; + padding-right: env(safe-area-inset-right) !important; } - - From 2d745de96e7df9c7a99c697543992c7765623bfa Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 31 Aug 2020 18:20:34 +0100 Subject: [PATCH 14/20] update app name --- .../android/app/src/main/assets/capacitor.config.json | 2 +- maths-club-app/capacitor.config.json | 2 +- maths-club-app/ios/App/App/capacitor.config.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/maths-club-app/android/app/src/main/assets/capacitor.config.json b/maths-club-app/android/app/src/main/assets/capacitor.config.json index 223792cb..52ccaa4b 100644 --- a/maths-club-app/android/app/src/main/assets/capacitor.config.json +++ b/maths-club-app/android/app/src/main/assets/capacitor.config.json @@ -1,6 +1,6 @@ { "appId": "io.c2dev.samimathsclub", - "appName": "samimathsclub", + "appName": "Maths Club", "bundledWebRuntime": false, "npmClient": "yarn", "webDir": "dist/sami-maths-club-app", diff --git a/maths-club-app/capacitor.config.json b/maths-club-app/capacitor.config.json index 223792cb..52ccaa4b 100644 --- a/maths-club-app/capacitor.config.json +++ b/maths-club-app/capacitor.config.json @@ -1,6 +1,6 @@ { "appId": "io.c2dev.samimathsclub", - "appName": "samimathsclub", + "appName": "Maths Club", "bundledWebRuntime": false, "npmClient": "yarn", "webDir": "dist/sami-maths-club-app", diff --git a/maths-club-app/ios/App/App/capacitor.config.json b/maths-club-app/ios/App/App/capacitor.config.json index 223792cb..52ccaa4b 100644 --- a/maths-club-app/ios/App/App/capacitor.config.json +++ b/maths-club-app/ios/App/App/capacitor.config.json @@ -1,6 +1,6 @@ { "appId": "io.c2dev.samimathsclub", - "appName": "samimathsclub", + "appName": "Maths Club", "bundledWebRuntime": false, "npmClient": "yarn", "webDir": "dist/sami-maths-club-app", From 5c05b6d154cb86d818a8cf81b7ccf83c750406a8 Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 31 Aug 2020 18:25:02 +0100 Subject: [PATCH 15/20] fix prod mode --- maths-club-app/src/environments/environment.prod.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maths-club-app/src/environments/environment.prod.ts b/maths-club-app/src/environments/environment.prod.ts index 579c5ae7..3c263dbc 100644 --- a/maths-club-app/src/environments/environment.prod.ts +++ b/maths-club-app/src/environments/environment.prod.ts @@ -1,6 +1,6 @@ import PACKAGE_JSON from "../../package.json"; export const environment = { - production: false, + production: true, APP_VERSION: PACKAGE_JSON.version, }; From 2489225113216105c013b3142dd559ed245b24c9 Mon Sep 17 00:00:00 2001 From: chrismclarke Date: Mon, 31 Aug 2020 10:34:56 -0700 Subject: [PATCH 16/20] scroll fixes --- maths-club-app/src/app/app.component.html | 5 ++++- maths-club-app/src/app/app.component.scss | 3 --- maths-club-app/src/styles.scss | 3 +++ 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/maths-club-app/src/app/app.component.html b/maths-club-app/src/app/app.component.html index 13eeff27..2adb52d9 100644 --- a/maths-club-app/src/app/app.component.html +++ b/maths-club-app/src/app/app.component.html @@ -23,7 +23,10 @@ SAMI Maths Club -
+
diff --git a/maths-club-app/src/app/app.component.scss b/maths-club-app/src/app/app.component.scss index 2677330d..ec2f4354 100644 --- a/maths-club-app/src/app/app.component.scss +++ b/maths-club-app/src/app/app.component.scss @@ -16,9 +16,6 @@ mat-toolbar { z-index: 2; } -mat-sidenav-content { - display: contents; -} .bottom-items { position: absolute; bottom: 0; diff --git a/maths-club-app/src/styles.scss b/maths-club-app/src/styles.scss index e182c13d..71d57f30 100644 --- a/maths-club-app/src/styles.scss +++ b/maths-club-app/src/styles.scss @@ -41,6 +41,9 @@ td { img { max-width: 500px; } + code { + white-space: pre-line; + } @media only screen and (max-width: 500px) { img { max-width: 100%; From 58f6c06a099d76f4dce8b955c17e264760a4b101 Mon Sep 17 00:00:00 2001 From: chrismclarke Date: Mon, 31 Aug 2020 10:35:20 -0700 Subject: [PATCH 17/20] add comments --- maths-club-app/src/styles.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/maths-club-app/src/styles.scss b/maths-club-app/src/styles.scss index 71d57f30..57ba00f4 100644 --- a/maths-club-app/src/styles.scss +++ b/maths-club-app/src/styles.scss @@ -41,6 +41,7 @@ td { img { max-width: 500px; } + // avoid code blocks adding horizontal scroll space code { white-space: pre-line; } From a807aa0cb67261dce5af3419035c775fd01dc762 Mon Sep 17 00:00:00 2001 From: chrismclarke Date: Mon, 31 Aug 2020 10:47:00 -0700 Subject: [PATCH 18/20] update android name --- maths-club-app/android/app/src/main/res/values/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maths-club-app/android/app/src/main/res/values/strings.xml b/maths-club-app/android/app/src/main/res/values/strings.xml index 260f6682..7578d721 100644 --- a/maths-club-app/android/app/src/main/res/values/strings.xml +++ b/maths-club-app/android/app/src/main/res/values/strings.xml @@ -1,7 +1,7 @@ - samimathsclub - samimathsclub + Maths Club + Maths Club io.c2dev.samimathsclub io.c2dev.samimathsclub From 76a41bd633bcc43369ca64266cf3999380991ffc Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 31 Aug 2020 18:48:26 +0100 Subject: [PATCH 19/20] update ios name --- maths-club-app/ios/App/App/Info.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maths-club-app/ios/App/App/Info.plist b/maths-club-app/ios/App/App/Info.plist index 19916b90..897391cc 100644 --- a/maths-club-app/ios/App/App/Info.plist +++ b/maths-club-app/ios/App/App/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion en CFBundleDisplayName - samimathsclub + Maths Club CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier From f07f5c64a16bacb6ae11ca201f37ee592e57ab2d Mon Sep 17 00:00:00 2001 From: chrismclarke Date: Mon, 31 Aug 2020 10:48:57 -0700 Subject: [PATCH 20/20] bump version (2.4.5) --- maths-club-app/android/app/build.gradle | 4 ++-- maths-club-app/ios/App/App/Info.plist | 2 +- maths-club-app/package.json | 2 +- package.json | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/maths-club-app/android/app/build.gradle b/maths-club-app/android/app/build.gradle index 169a826f..cadf487f 100644 --- a/maths-club-app/android/app/build.gradle +++ b/maths-club-app/android/app/build.gradle @@ -7,8 +7,8 @@ android { applicationId "io.c2dev.samimathsclub" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 2004004 - versionName "2.4.4" + versionCode 2004005 + versionName "2.4.5" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { diff --git a/maths-club-app/ios/App/App/Info.plist b/maths-club-app/ios/App/App/Info.plist index 19916b90..231db8b1 100644 --- a/maths-club-app/ios/App/App/Info.plist +++ b/maths-club-app/ios/App/App/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.4.4 + 2.4.5 CFBundleURLTypes diff --git a/maths-club-app/package.json b/maths-club-app/package.json index 6b39a304..dcf7a37a 100644 --- a/maths-club-app/package.json +++ b/maths-club-app/package.json @@ -1,6 +1,6 @@ { "name": "sami-maths-club-app", - "version": "2.4.4", + "version": "2.4.5", "scripts": { "ng": "ng", "start": "ng serve", diff --git a/package.json b/package.json index ba8bafae..850b6056 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sami-maths-club", - "version": "2.4.4", + "version": "2.4.5", "description": "", "main": "index.js", "scripts": {