forked from EVOgeek/Vmeda.Online
		
	MOBILE-3947 app: Upgrade to Ionic 7
This commit is contained in:
		
							parent
							
								
									ba50fb8d6e
								
							
						
					
					
						commit
						dbb3db08ae
					
				
							
								
								
									
										74
									
								
								.eslintrc.js
									
									
									
									
									
								
							
							
						
						
									
										74
									
								
								.eslintrc.js
									
									
									
									
									
								
							@ -5,6 +5,7 @@ const appConfig = {
 | 
				
			|||||||
        node: true,
 | 
					        node: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    plugins: [
 | 
					    plugins: [
 | 
				
			||||||
 | 
					        '@angular-eslint',
 | 
				
			||||||
        '@typescript-eslint',
 | 
					        '@typescript-eslint',
 | 
				
			||||||
        'header',
 | 
					        'header',
 | 
				
			||||||
        'jsdoc',
 | 
					        'jsdoc',
 | 
				
			||||||
@ -13,12 +14,12 @@ const appConfig = {
 | 
				
			|||||||
    ],
 | 
					    ],
 | 
				
			||||||
    extends: [
 | 
					    extends: [
 | 
				
			||||||
        'eslint:recommended',
 | 
					        'eslint:recommended',
 | 
				
			||||||
 | 
					        'plugin:@typescript-eslint/eslint-recommended',
 | 
				
			||||||
        'plugin:@typescript-eslint/recommended',
 | 
					        'plugin:@typescript-eslint/recommended',
 | 
				
			||||||
        'prettier',
 | 
					 | 
				
			||||||
        'plugin:@angular-eslint/recommended',
 | 
					        'plugin:@angular-eslint/recommended',
 | 
				
			||||||
        'plugin:promise/recommended',
 | 
					        'plugin:promise/recommended',
 | 
				
			||||||
        'plugin:jsdoc/recommended',
 | 
					        'plugin:jsdoc/recommended',
 | 
				
			||||||
        "plugin:deprecation/recommended",
 | 
					        'plugin:deprecation/recommended',
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    parser: '@typescript-eslint/parser',
 | 
					    parser: '@typescript-eslint/parser',
 | 
				
			||||||
    parserOptions: {
 | 
					    parserOptions: {
 | 
				
			||||||
@ -61,16 +62,6 @@ const appConfig = {
 | 
				
			|||||||
                allowArgumentsExplicitlyTypedAsAny: true,
 | 
					                allowArgumentsExplicitlyTypedAsAny: true,
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
        '@typescript-eslint/indent': [
 | 
					 | 
				
			||||||
            'error',
 | 
					 | 
				
			||||||
            4,
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                SwitchCase: 1,
 | 
					 | 
				
			||||||
                ignoredNodes: [
 | 
					 | 
				
			||||||
                    'ClassProperty *',
 | 
					 | 
				
			||||||
                ],
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
        '@typescript-eslint/lines-between-class-members': [
 | 
					        '@typescript-eslint/lines-between-class-members': [
 | 
				
			||||||
            'error',
 | 
					            'error',
 | 
				
			||||||
            'always',
 | 
					            'always',
 | 
				
			||||||
@ -103,6 +94,20 @@ const appConfig = {
 | 
				
			|||||||
        ],
 | 
					        ],
 | 
				
			||||||
        '@typescript-eslint/naming-convention': [
 | 
					        '@typescript-eslint/naming-convention': [
 | 
				
			||||||
            'error',
 | 
					            'error',
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                selector: [
 | 
				
			||||||
 | 
					                  'classProperty',
 | 
				
			||||||
 | 
					                  'objectLiteralProperty',
 | 
				
			||||||
 | 
					                  'typeProperty',
 | 
				
			||||||
 | 
					                  'classMethod',
 | 
				
			||||||
 | 
					                  'objectLiteralMethod',
 | 
				
			||||||
 | 
					                  'typeMethod',
 | 
				
			||||||
 | 
					                  'accessor',
 | 
				
			||||||
 | 
					                  'enumMember'
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                modifiers: ['requiresQuotes'],
 | 
				
			||||||
 | 
					                format: null,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                selector: 'property',
 | 
					                selector: 'property',
 | 
				
			||||||
                format: ['camelCase'],
 | 
					                format: ['camelCase'],
 | 
				
			||||||
@ -200,17 +205,6 @@ const appConfig = {
 | 
				
			|||||||
        ],
 | 
					        ],
 | 
				
			||||||
        'id-match': 'error',
 | 
					        'id-match': 'error',
 | 
				
			||||||
        'jsdoc/check-alignment': 'error',
 | 
					        'jsdoc/check-alignment': 'error',
 | 
				
			||||||
        'jsdoc/newline-after-description': 'error',
 | 
					 | 
				
			||||||
        'jsdoc/require-param-type': 'off',
 | 
					 | 
				
			||||||
        'jsdoc/require-returns-type': 'off',
 | 
					 | 
				
			||||||
        'jsdoc/require-param': 'off',
 | 
					 | 
				
			||||||
        'jsdoc/check-values': 'off',
 | 
					 | 
				
			||||||
        'jsdoc/check-tag-names': [
 | 
					 | 
				
			||||||
            'warn',
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                "definedTags": ["deprecatedonmoodle"]
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
        ],
 | 
					 | 
				
			||||||
        'jsdoc/check-param-names': [
 | 
					        'jsdoc/check-param-names': [
 | 
				
			||||||
            'warn',
 | 
					            'warn',
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -218,6 +212,23 @@ const appConfig = {
 | 
				
			|||||||
                enableFixer: true
 | 
					                enableFixer: true
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
 | 
					        'jsdoc/check-tag-names': [
 | 
				
			||||||
 | 
					            'warn',
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                'definedTags': ['deprecatedonmoodle']
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        'jsdoc/check-values': 'off',
 | 
				
			||||||
 | 
					        'jsdoc/require-param-type': 'off',
 | 
				
			||||||
 | 
					        'jsdoc/require-param': 'off',
 | 
				
			||||||
 | 
					        'jsdoc/require-returns-type': 'off',
 | 
				
			||||||
 | 
					        'jsdoc/tag-lines': [
 | 
				
			||||||
 | 
					            'error',
 | 
				
			||||||
 | 
					            'any',
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                startLines: 1,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
        'linebreak-style': [
 | 
					        'linebreak-style': [
 | 
				
			||||||
            'error',
 | 
					            'error',
 | 
				
			||||||
            'unix',
 | 
					            'unix',
 | 
				
			||||||
@ -240,7 +251,7 @@ const appConfig = {
 | 
				
			|||||||
        'no-fallthrough': 'off',
 | 
					        'no-fallthrough': 'off',
 | 
				
			||||||
        'no-invalid-this': 'error',
 | 
					        'no-invalid-this': 'error',
 | 
				
			||||||
        'no-irregular-whitespace': 'error',
 | 
					        'no-irregular-whitespace': 'error',
 | 
				
			||||||
        'no-multiple-empty-lines': ['error', { "max": 1 }],
 | 
					        'no-multiple-empty-lines': ['error', { max: 1 }],
 | 
				
			||||||
        'no-new-wrappers': 'error',
 | 
					        'no-new-wrappers': 'error',
 | 
				
			||||||
        'no-sequences': 'error',
 | 
					        'no-sequences': 'error',
 | 
				
			||||||
        'no-trailing-spaces': 'error',
 | 
					        'no-trailing-spaces': 'error',
 | 
				
			||||||
@ -318,15 +329,14 @@ module.exports = {
 | 
				
			|||||||
            files: ['*.html'],
 | 
					            files: ['*.html'],
 | 
				
			||||||
            extends: ['plugin:@angular-eslint/template/recommended'],
 | 
					            extends: ['plugin:@angular-eslint/template/recommended'],
 | 
				
			||||||
            rules: {
 | 
					            rules: {
 | 
				
			||||||
                'max-len': ['warn', { code: 140 }],
 | 
					                '@angular-eslint/template/alt-text': 'error',
 | 
				
			||||||
                '@angular-eslint/template/accessibility-valid-aria': 'warn',
 | 
					                '@angular-eslint/template/elements-content': 'error',
 | 
				
			||||||
                '@angular-eslint/template/accessibility-alt-text': 'error',
 | 
					                '@angular-eslint/template/label-has-associated-control': 'error',
 | 
				
			||||||
                '@angular-eslint/template/accessibility-elements-content': 'error',
 | 
					                '@angular-eslint/template/table-scope': 'error',
 | 
				
			||||||
                '@angular-eslint/template/accessibility-label-for': 'error',
 | 
					                '@angular-eslint/template/valid-aria': 'error',
 | 
				
			||||||
                '@angular-eslint/template/no-positive-tabindex': 'error',
 | 
					 | 
				
			||||||
                '@angular-eslint/template/accessibility-table-scope': 'error',
 | 
					 | 
				
			||||||
                '@angular-eslint/template/accessibility-valid-aria': 'error',
 | 
					 | 
				
			||||||
                '@angular-eslint/template/no-duplicate-attributes': 'error',
 | 
					                '@angular-eslint/template/no-duplicate-attributes': 'error',
 | 
				
			||||||
 | 
					                '@angular-eslint/template/no-positive-tabindex': 'error',
 | 
				
			||||||
 | 
					                'max-len': ['warn', { code: 140 }],
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										4
									
								
								.github/workflows/testing.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/testing.yml
									
									
									
									
										vendored
									
									
								
							@ -8,8 +8,8 @@ jobs:
 | 
				
			|||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
    - uses: actions/checkout@v2
 | 
					    - uses: actions/checkout@v4
 | 
				
			||||||
    - uses: actions/setup-node@v3
 | 
					    - uses: actions/setup-node@v4
 | 
				
			||||||
      with:
 | 
					      with:
 | 
				
			||||||
        node-version-file: '.nvmrc'
 | 
					        node-version-file: '.nvmrc'
 | 
				
			||||||
    - name: Install npm packages
 | 
					    - name: Install npm packages
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
## BUILD STAGE
 | 
					## BUILD STAGE
 | 
				
			||||||
FROM node:14 as build-stage
 | 
					FROM node:18 as build-stage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WORKDIR /app
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,56 +0,0 @@
 | 
				
			|||||||
// (C) Copyright 2015 Moodle Pty Ltd.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Licensed under the Apache License, Version 2.0 (the "License");
 | 
					 | 
				
			||||||
// you may not use this file except in compliance with the License.
 | 
					 | 
				
			||||||
// You may obtain a copy of the License at
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
//     http://www.apache.org/licenses/LICENSE-2.0
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Unless required by applicable law or agreed to in writing, software
 | 
					 | 
				
			||||||
// distributed under the License is distributed on an "AS IS" BASIS,
 | 
					 | 
				
			||||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
					 | 
				
			||||||
// See the License for the specific language governing permissions and
 | 
					 | 
				
			||||||
// limitations under the License.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Based on the template node_modules/cordova-android/bin/templates/project/Activity.java
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
package com.moodle.moodlemobile;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import android.os.Bundle;
 | 
					 | 
				
			||||||
import android.view.KeyEvent;
 | 
					 | 
				
			||||||
import android.view.View;
 | 
					 | 
				
			||||||
import org.apache.cordova.*;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
public class MainActivity extends CordovaActivity
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    @Override
 | 
					 | 
				
			||||||
    public void onCreate(Bundle savedInstanceState)
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        super.onCreate(savedInstanceState);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // enable Cordova apps to be started in the background
 | 
					 | 
				
			||||||
        Bundle extras = getIntent().getExtras();
 | 
					 | 
				
			||||||
        if (extras != null && extras.getBoolean("cdvStartInBackground", false)) {
 | 
					 | 
				
			||||||
            moveTaskToBack(true);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Set by <content src="index.html" /> in config.xml
 | 
					 | 
				
			||||||
        loadUrl(launchUrl);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @Override
 | 
					 | 
				
			||||||
    public boolean dispatchKeyEvent(KeyEvent event) {
 | 
					 | 
				
			||||||
        // Forward back key events to the web view.
 | 
					 | 
				
			||||||
        if (this.appView != null && event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
 | 
					 | 
				
			||||||
            View webview = this.appView.getView();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (webview != null) {
 | 
					 | 
				
			||||||
                webview.dispatchKeyEvent(event);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            return true;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        return super.dispatchKeyEvent(event);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										48
									
								
								angular.json
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								angular.json
									
									
									
									
									
								
							@ -1,7 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
 | 
					  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
 | 
				
			||||||
  "version": 1,
 | 
					  "version": 1,
 | 
				
			||||||
  "defaultProject": "app",
 | 
					 | 
				
			||||||
  "newProjectRoot": "projects",
 | 
					  "newProjectRoot": "projects",
 | 
				
			||||||
  "projects": {
 | 
					  "projects": {
 | 
				
			||||||
    "app": {
 | 
					    "app": {
 | 
				
			||||||
@ -12,11 +11,8 @@
 | 
				
			|||||||
      "schematics": {},
 | 
					      "schematics": {},
 | 
				
			||||||
      "architect": {
 | 
					      "architect": {
 | 
				
			||||||
        "build": {
 | 
					        "build": {
 | 
				
			||||||
          "builder": "@angular-builders/custom-webpack:browser",
 | 
					          "builder": "@angular-devkit/build-angular:browser",
 | 
				
			||||||
          "options": {
 | 
					          "options": {
 | 
				
			||||||
            "customWebpackConfig": {
 | 
					 | 
				
			||||||
              "path": "./webpack.config.js"
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            "allowedCommonJsDependencies":[
 | 
					            "allowedCommonJsDependencies":[
 | 
				
			||||||
              "chart.js"
 | 
					              "chart.js"
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
@ -63,12 +59,6 @@
 | 
				
			|||||||
              },
 | 
					              },
 | 
				
			||||||
              "outputHashing": "all",
 | 
					              "outputHashing": "all",
 | 
				
			||||||
              "sourceMap": false,
 | 
					              "sourceMap": false,
 | 
				
			||||||
              "extractCss": true,
 | 
					 | 
				
			||||||
              "namedChunks": false,
 | 
					 | 
				
			||||||
              "aot": true,
 | 
					 | 
				
			||||||
              "extractLicenses": true,
 | 
					 | 
				
			||||||
              "vendorChunk": false,
 | 
					 | 
				
			||||||
              "buildOptimizer": true,
 | 
					 | 
				
			||||||
              "budgets": [
 | 
					              "budgets": [
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                  "type": "initial",
 | 
					                  "type": "initial",
 | 
				
			||||||
@ -77,24 +67,25 @@
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
 | 
					            "development": {
 | 
				
			||||||
 | 
					              "buildOptimizer": false,
 | 
				
			||||||
 | 
					              "optimization": false,
 | 
				
			||||||
 | 
					              "vendorChunk": true,
 | 
				
			||||||
 | 
					              "extractLicenses": false,
 | 
				
			||||||
 | 
					              "sourceMap": true,
 | 
				
			||||||
 | 
					              "namedChunks": true
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
            "testing": {
 | 
					            "testing": {
 | 
				
			||||||
              "optimization": {
 | 
					              "optimization": {
 | 
				
			||||||
                "scripts": false,
 | 
					                "scripts": false,
 | 
				
			||||||
                "styles": true
 | 
					                "styles": true
 | 
				
			||||||
              },
 | 
					              }
 | 
				
			||||||
              "outputHashing": "all",
 | 
					 | 
				
			||||||
              "sourceMap": false,
 | 
					 | 
				
			||||||
              "extractCss": true,
 | 
					 | 
				
			||||||
              "namedChunks": false,
 | 
					 | 
				
			||||||
              "aot": true,
 | 
					 | 
				
			||||||
              "extractLicenses": true,
 | 
					 | 
				
			||||||
              "vendorChunk": false,
 | 
					 | 
				
			||||||
              "buildOptimizer": true
 | 
					 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "ci": {
 | 
					            "ci": {
 | 
				
			||||||
              "progress": false
 | 
					              "progress": false
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          }
 | 
					          },
 | 
				
			||||||
 | 
					          "defaultConfiguration": "production"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "serve": {
 | 
					        "serve": {
 | 
				
			||||||
          "builder": "@angular-devkit/build-angular:dev-server",
 | 
					          "builder": "@angular-devkit/build-angular:dev-server",
 | 
				
			||||||
@ -107,11 +98,12 @@
 | 
				
			|||||||
            "production": {
 | 
					            "production": {
 | 
				
			||||||
              "browserTarget": "app:build:production"
 | 
					              "browserTarget": "app:build:production"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "ci": {
 | 
					            "development": {
 | 
				
			||||||
              "progress": false
 | 
					              "browserTarget": "app:build:development"
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
 | 
					          "defaultConfiguration": "development"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "extract-i18n": {
 | 
					        "extract-i18n": {
 | 
				
			||||||
          "builder": "@angular-devkit/build-angular:extract-i18n",
 | 
					          "builder": "@angular-devkit/build-angular:extract-i18n",
 | 
				
			||||||
          "options": {
 | 
					          "options": {
 | 
				
			||||||
@ -129,7 +121,7 @@
 | 
				
			|||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "ionic-cordova-build": {
 | 
					        "ionic-cordova-build": {
 | 
				
			||||||
          "builder": "@ionic/angular-toolkit:cordova-build",
 | 
					          "builder": "@ionic/cordova-builders:cordova-build",
 | 
				
			||||||
          "options": {
 | 
					          "options": {
 | 
				
			||||||
            "browserTarget": "app:build"
 | 
					            "browserTarget": "app:build"
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
@ -140,7 +132,7 @@
 | 
				
			|||||||
          }
 | 
					          }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "ionic-cordova-serve": {
 | 
					        "ionic-cordova-serve": {
 | 
				
			||||||
          "builder": "@ionic/angular-toolkit:cordova-serve",
 | 
					          "builder": "@ionic/cordova-builders:cordova-serve",
 | 
				
			||||||
          "options": {
 | 
					          "options": {
 | 
				
			||||||
            "cordovaBuildTarget": "app:ionic-cordova-build",
 | 
					            "cordovaBuildTarget": "app:ionic-cordova-build",
 | 
				
			||||||
            "devServerTarget": "app:serve"
 | 
					            "devServerTarget": "app:serve"
 | 
				
			||||||
@ -157,7 +149,9 @@
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
  "cli": {
 | 
					  "cli": {
 | 
				
			||||||
    "analytics": false,
 | 
					    "analytics": false,
 | 
				
			||||||
    "defaultCollection": "@ionic/angular-toolkit"
 | 
					    "schematicCollections": [
 | 
				
			||||||
 | 
					      "@ionic/angular-toolkit"
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "schematics": {
 | 
					  "schematics": {
 | 
				
			||||||
    "@ionic/angular-toolkit:component": {
 | 
					    "@ionic/angular-toolkit:component": {
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										123
									
								
								config.xml
									
									
									
									
									
								
							
							
						
						
									
										123
									
								
								config.xml
									
									
									
									
									
								
							@ -1,5 +1,5 @@
 | 
				
			|||||||
<?xml version='1.0' encoding='utf-8'?>
 | 
					<?xml version='1.0' encoding='utf-8'?>
 | 
				
			||||||
<widget android-versionCode="44000" id="com.moodle.moodlemobile" ios-CFBundleVersion="4.4.0.0" version="4.4.0" versionCode="44000" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
 | 
					<widget id="com.moodle.moodlemobile" version="4.4.0" versionCode="44000" android-versionCode="44000" ios-CFBundleVersion="4.4.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
 | 
				
			||||||
    <name>Moodle</name>
 | 
					    <name>Moodle</name>
 | 
				
			||||||
    <description>Moodle official app</description>
 | 
					    <description>Moodle official app</description>
 | 
				
			||||||
    <author email="mobile@moodle.com" href="http://moodle.com">Moodle Mobile team</author>
 | 
					    <author email="mobile@moodle.com" href="http://moodle.com">Moodle Mobile team</author>
 | 
				
			||||||
@ -60,7 +60,6 @@
 | 
				
			|||||||
        <preference name="AndroidWindowSplashScreenAnimatedIcon" value="resources/android/android-splash.xml" />
 | 
					        <preference name="AndroidWindowSplashScreenAnimatedIcon" value="resources/android/android-splash.xml" />
 | 
				
			||||||
        <preference name="AndroidWindowSplashScreenBackground" value="#FFFFFF" />
 | 
					        <preference name="AndroidWindowSplashScreenBackground" value="#FFFFFF" />
 | 
				
			||||||
        <preference name="AndroidWindowSplashScreenIconBackgroundColor" value="#FFFFFF" />
 | 
					        <preference name="AndroidWindowSplashScreenIconBackgroundColor" value="#FFFFFF" />
 | 
				
			||||||
        <resource-file src="MainActivity.java" target="app/src/main/java/com/moodle/moodlemobile/MainActivity.java" />
 | 
					 | 
				
			||||||
        <resource-file src="google-services.json" target="app/google-services.json" />
 | 
					        <resource-file src="google-services.json" target="app/google-services.json" />
 | 
				
			||||||
        <resource-file src="resources/android/icon/drawable-ldpi-smallicon.png" target="app/src/main/res/mipmap-ldpi/smallicon.png" />
 | 
					        <resource-file src="resources/android/icon/drawable-ldpi-smallicon.png" target="app/src/main/res/mipmap-ldpi/smallicon.png" />
 | 
				
			||||||
        <resource-file src="resources/android/icon/drawable-mdpi-smallicon.png" target="app/src/main/res/mipmap-mdpi/smallicon.png" />
 | 
					        <resource-file src="resources/android/icon/drawable-mdpi-smallicon.png" target="app/src/main/res/mipmap-mdpi/smallicon.png" />
 | 
				
			||||||
@ -68,136 +67,16 @@
 | 
				
			|||||||
        <resource-file src="resources/android/icon/drawable-xhdpi-smallicon.png" target="app/src/main/res/mipmap-xhdpi/smallicon.png" />
 | 
					        <resource-file src="resources/android/icon/drawable-xhdpi-smallicon.png" target="app/src/main/res/mipmap-xhdpi/smallicon.png" />
 | 
				
			||||||
        <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
 | 
					        <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
 | 
				
			||||||
        <resource-file src="resources/android/xml/backup_rules.xml" target="app/src/main/res/xml/backup_rules.xml" />
 | 
					        <resource-file src="resources/android/xml/backup_rules.xml" target="app/src/main/res/xml/backup_rules.xml" />
 | 
				
			||||||
        <edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity[@android:name='MainActivity']">
 | 
					 | 
				
			||||||
            <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|screenLayout|smallestScreenSize" android:exported="true" />
 | 
					 | 
				
			||||||
        </edit-config>
 | 
					 | 
				
			||||||
        <edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application">
 | 
					        <edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application">
 | 
				
			||||||
            <application android:allowBackup="true" android:dataExtractionRules="@xml/backup_rules" android:largeHeap="true" android:networkSecurityConfig="@xml/network_security_config" />
 | 
					            <application android:allowBackup="true" android:dataExtractionRules="@xml/backup_rules" android:largeHeap="true" android:networkSecurityConfig="@xml/network_security_config" />
 | 
				
			||||||
        </edit-config>
 | 
					        </edit-config>
 | 
				
			||||||
        <config-file parent="/manifest/application" target="AndroidManifest.xml">
 | 
					        <config-file parent="/manifest/application" target="AndroidManifest.xml">
 | 
				
			||||||
            <meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />
 | 
					            <meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />
 | 
				
			||||||
        </config-file>
 | 
					        </config-file>
 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="Clipboard">
 | 
					 | 
				
			||||||
                <param name="android-package" value="com.verso.cordova.clipboard.Clipboard" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="CordovaHttpPlugin">
 | 
					 | 
				
			||||||
                <param name="android-package" value="com.silkimen.cordovahttp.CordovaHttpPlugin" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="Camera">
 | 
					 | 
				
			||||||
                <param name="android-package" value="org.apache.cordova.camera.CameraLauncher" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="LaunchMyApp">
 | 
					 | 
				
			||||||
                <param name="android-package" value="nl.xservices.plugins.LaunchMyApp" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="Device">
 | 
					 | 
				
			||||||
                <param name="android-package" value="org.apache.cordova.device.Device" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="File">
 | 
					 | 
				
			||||||
                <param name="android-package" value="org.apache.cordova.file.FileUtils" />
 | 
					 | 
				
			||||||
                <param name="onload" value="true" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
            <allow-navigation href="cdvfile:*" />
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="FileOpener2">
 | 
					 | 
				
			||||||
                <param name="android-package" value="io.github.pwlin.cordova.plugins.fileopener2.FileOpener2" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="FileTransfer">
 | 
					 | 
				
			||||||
                <param name="android-package" value="org.apache.cordova.filetransfer.FileTransfer" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="Geolocation">
 | 
					 | 
				
			||||||
                <param name="android-package" value="org.apache.cordova.geolocation.Geolocation" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="InAppBrowser">
 | 
					 | 
				
			||||||
                <param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="LocalNotification">
 | 
					 | 
				
			||||||
                <param name="android-package" value="de.appplant.cordova.plugin.localnotification.LocalNotification" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/manifest/application" target="AndroidManifest.xml">
 | 
					 | 
				
			||||||
            <provider android:authorities="${applicationId}.localnotifications.provider" android:exported="false" android:grantUriPermissions="true" android:name="de.appplant.cordova.plugin.notification.util.AssetProvider">
 | 
					 | 
				
			||||||
                <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/localnotification_provider_paths" />
 | 
					 | 
				
			||||||
            </provider>
 | 
					 | 
				
			||||||
            <receiver android:exported="false" android:name="de.appplant.cordova.plugin.localnotification.TriggerReceiver" />
 | 
					 | 
				
			||||||
            <receiver android:exported="false" android:name="de.appplant.cordova.plugin.localnotification.ClearReceiver" />
 | 
					 | 
				
			||||||
            <service android:exported="false" android:name="de.appplant.cordova.plugin.localnotification.ClickReceiver" />
 | 
					 | 
				
			||||||
            <receiver android:directBootAware="true" android:exported="false" android:name="de.appplant.cordova.plugin.localnotification.RestoreReceiver">
 | 
					 | 
				
			||||||
                <intent-filter>
 | 
					 | 
				
			||||||
                    <action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
 | 
					 | 
				
			||||||
                    <action android:name="android.intent.action.BOOT_COMPLETED" />
 | 
					 | 
				
			||||||
                </intent-filter>
 | 
					 | 
				
			||||||
            </receiver>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="Capture">
 | 
					 | 
				
			||||||
                <param name="android-package" value="org.apache.cordova.mediacapture.Capture" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="NetworkStatus">
 | 
					 | 
				
			||||||
                <param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="QRScanner">
 | 
					 | 
				
			||||||
                <param name="android-package" value="com.bitpay.cordova.qrscanner.QRScanner" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="CDVOrientation">
 | 
					 | 
				
			||||||
                <param name="android-package" value="cordova.plugins.screenorientation.CDVOrientation" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="StatusBar">
 | 
					 | 
				
			||||||
                <param name="android-package" value="org.apache.cordova.statusbar.StatusBar" />
 | 
					 | 
				
			||||||
                <param name="onload" value="true" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="SQLitePlugin">
 | 
					 | 
				
			||||||
                <param name="android-package" value="io.sqlc.SQLitePlugin" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="res/xml/config.xml">
 | 
					 | 
				
			||||||
            <feature name="PushNotification">
 | 
					 | 
				
			||||||
                <param name="android-package" value="com.adobe.phonegap.push.PushPlugin" />
 | 
					 | 
				
			||||||
            </feature>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
        <config-file parent="/*" target="AndroidManifest.xml">
 | 
					        <config-file parent="/*" target="AndroidManifest.xml">
 | 
				
			||||||
            <uses-feature android:name="android.hardware.bluetooth" android:required="false" />
 | 
					            <uses-feature android:name="android.hardware.bluetooth" android:required="false" />
 | 
				
			||||||
            <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
 | 
					            <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
 | 
				
			||||||
        </config-file>
 | 
					        </config-file>
 | 
				
			||||||
        <config-file parent="/*" target="AndroidManifest.xml">
 | 
					 | 
				
			||||||
            <queries>
 | 
					 | 
				
			||||||
                <intent>
 | 
					 | 
				
			||||||
                    <action android:name="android.media.action.IMAGE_CAPTURE" />
 | 
					 | 
				
			||||||
                </intent>
 | 
					 | 
				
			||||||
                <intent>
 | 
					 | 
				
			||||||
                    <action android:name="android.intent.action.GET_CONTENT" />
 | 
					 | 
				
			||||||
                </intent>
 | 
					 | 
				
			||||||
            </queries>
 | 
					 | 
				
			||||||
        </config-file>
 | 
					 | 
				
			||||||
    </platform>
 | 
					    </platform>
 | 
				
			||||||
    <platform name="ios">
 | 
					    <platform name="ios">
 | 
				
			||||||
        <resource-file src="GoogleService-Info.plist" />
 | 
					        <resource-file src="GoogleService-Info.plist" />
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										1135
									
								
								cordova-plugin-moodleapp/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1135
									
								
								cordova-plugin-moodleapp/package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										46772
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										46772
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										171
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										171
									
								
								package.json
									
									
									
									
									
								
							@ -45,39 +45,17 @@
 | 
				
			|||||||
    "lang:create-langindex": "./scripts/create_langindex.sh"
 | 
					    "lang:create-langindex": "./scripts/create_langindex.sh"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "@angular/animations": "~10.0.14",
 | 
					    "@angular/animations": "^16.2.0",
 | 
				
			||||||
    "@angular/common": "~10.0.14",
 | 
					    "@angular/common": "^16.2.0",
 | 
				
			||||||
    "@angular/core": "~10.0.14",
 | 
					    "@angular/compiler": "^16.2.0",
 | 
				
			||||||
    "@angular/forms": "~10.0.14",
 | 
					    "@angular/core": "^16.2.0",
 | 
				
			||||||
    "@angular/platform-browser": "~10.0.14",
 | 
					    "@angular/forms": "^16.2.0",
 | 
				
			||||||
    "@angular/platform-browser-dynamic": "~10.0.14",
 | 
					    "@angular/platform-browser": "^16.2.0",
 | 
				
			||||||
    "@angular/router": "~10.0.14",
 | 
					    "@angular/platform-browser-dynamic": "^16.2.0",
 | 
				
			||||||
    "@ionic-native/badge": "^5.36.0",
 | 
					    "@angular/router": "^16.2.0",
 | 
				
			||||||
    "@ionic-native/camera": "^5.36.0",
 | 
					    "@ionic/angular": "^7.0.0",
 | 
				
			||||||
    "@ionic-native/chooser": "^5.36.0",
 | 
					    "@ionic/cordova-builders": "^10.0.0",
 | 
				
			||||||
    "@ionic-native/clipboard": "^5.36.0",
 | 
					    "@moodlehq/cordova-plugin-advanced-http": "3.3.1-moodle.1",
 | 
				
			||||||
    "@ionic-native/core": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/device": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/diagnostic": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/file": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/file-opener": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/file-transfer": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/geolocation": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/http": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/in-app-browser": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/ionic-webview": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/keyboard": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/local-notifications": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/media-capture": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/network": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/qr-scanner": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/splash-screen": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/sqlite": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/status-bar": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/web-intent": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic-native/zip": "^5.36.0",
 | 
					 | 
				
			||||||
    "@ionic/angular": "^5.9.4",
 | 
					 | 
				
			||||||
    "@moodlehq/cordova-plugin-advanced-http": "^3.3.1-moodle.1",
 | 
					 | 
				
			||||||
    "@moodlehq/cordova-plugin-camera": "6.0.0-moodle.2",
 | 
					    "@moodlehq/cordova-plugin-camera": "6.0.0-moodle.2",
 | 
				
			||||||
    "@moodlehq/cordova-plugin-file-transfer": "1.7.1-moodle.5",
 | 
					    "@moodlehq/cordova-plugin-file-transfer": "1.7.1-moodle.5",
 | 
				
			||||||
    "@moodlehq/cordova-plugin-inappbrowser": "5.0.0-moodle.3",
 | 
					    "@moodlehq/cordova-plugin-inappbrowser": "5.0.0-moodle.3",
 | 
				
			||||||
@ -89,8 +67,8 @@
 | 
				
			|||||||
    "@moodlehq/cordova-plugin-zip": "3.1.0-moodle.1",
 | 
					    "@moodlehq/cordova-plugin-zip": "3.1.0-moodle.1",
 | 
				
			||||||
    "@moodlehq/ionic-native-push": "5.36.0-moodle.2",
 | 
					    "@moodlehq/ionic-native-push": "5.36.0-moodle.2",
 | 
				
			||||||
    "@moodlehq/phonegap-plugin-push": "4.0.0-moodle.7",
 | 
					    "@moodlehq/phonegap-plugin-push": "4.0.0-moodle.7",
 | 
				
			||||||
    "@ngx-translate/core": "^13.0.0",
 | 
					    "@ngx-translate/core": "^15.0.0",
 | 
				
			||||||
    "@ngx-translate/http-loader": "^6.0.0",
 | 
					    "@ngx-translate/http-loader": "^8.0.0",
 | 
				
			||||||
    "@types/chart.js": "^2.9.31",
 | 
					    "@types/chart.js": "^2.9.31",
 | 
				
			||||||
    "@types/cordova": "0.0.34",
 | 
					    "@types/cordova": "0.0.34",
 | 
				
			||||||
    "@types/dom-mediacapture-record": "1.0.7",
 | 
					    "@types/dom-mediacapture-record": "1.0.7",
 | 
				
			||||||
@ -119,7 +97,7 @@
 | 
				
			|||||||
    "cordova.plugins.diagnostic": "^7.1.1",
 | 
					    "cordova.plugins.diagnostic": "^7.1.1",
 | 
				
			||||||
    "core-js": "^3.9.1",
 | 
					    "core-js": "^3.9.1",
 | 
				
			||||||
    "es6-promise-plugin": "^4.2.2",
 | 
					    "es6-promise-plugin": "^4.2.2",
 | 
				
			||||||
    "hammerjs": "^2.0.8",
 | 
					    "ionicons": "^7.0.0",
 | 
				
			||||||
    "jszip": "^3.7.1",
 | 
					    "jszip": "^3.7.1",
 | 
				
			||||||
    "mathjax": "2.7.9",
 | 
					    "mathjax": "2.7.9",
 | 
				
			||||||
    "moment": "^2.29.4",
 | 
					    "moment": "^2.29.4",
 | 
				
			||||||
@ -127,52 +105,42 @@
 | 
				
			|||||||
    "mp3-mediarecorder": "4.0.5",
 | 
					    "mp3-mediarecorder": "4.0.5",
 | 
				
			||||||
    "nl.kingsquare.cordova.background-audio": "^1.0.1",
 | 
					    "nl.kingsquare.cordova.background-audio": "^1.0.1",
 | 
				
			||||||
    "ogv": "^1.8.9",
 | 
					    "ogv": "^1.8.9",
 | 
				
			||||||
    "rxjs": "~6.5.5",
 | 
					    "rxjs": "~7.8.0",
 | 
				
			||||||
    "ts-md5": "^1.2.7",
 | 
					    "ts-md5": "^1.2.7",
 | 
				
			||||||
    "tslib": "^2.3.1",
 | 
					    "tslib": "^2.3.0",
 | 
				
			||||||
    "video.js": "^7.21.1",
 | 
					    "video.js": "^7.21.1",
 | 
				
			||||||
    "zone.js": "~0.10.3"
 | 
					    "zone.js": "~0.13.0"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
    "@angular-builders/custom-webpack": "^10.0.1",
 | 
					    "@angular-devkit/build-angular": "^16.2.10",
 | 
				
			||||||
    "@angular-devkit/architect": "^0.1202.7",
 | 
					    "@angular-eslint/builder": "^16.2.0",
 | 
				
			||||||
    "@angular-devkit/build-angular": "~0.1000.8",
 | 
					    "@angular-eslint/eslint-plugin": "^16.2.0",
 | 
				
			||||||
    "@angular-eslint/builder": "^4.2.0",
 | 
					    "@angular-eslint/eslint-plugin-template": "^16.2.0",
 | 
				
			||||||
    "@angular-eslint/eslint-plugin": "^4.2.0",
 | 
					    "@angular-eslint/schematics": "^16.2.0",
 | 
				
			||||||
    "@angular-eslint/eslint-plugin-template": "^4.2.0",
 | 
					    "@angular-eslint/template-parser": "^16.2.0",
 | 
				
			||||||
    "@angular-eslint/schematics": "^4.2.0",
 | 
					    "@angular/cli": "^16.2.10",
 | 
				
			||||||
    "@angular-eslint/template-parser": "^4.2.0",
 | 
					    "@angular/compiler-cli": "^16.2.0",
 | 
				
			||||||
    "@angular/cli": "~10.0.8",
 | 
					    "@angular/language-service": "^16.2.0",
 | 
				
			||||||
    "@angular/compiler": "~10.0.14",
 | 
					    "@ionic/angular-toolkit": "^10.0.0",
 | 
				
			||||||
    "@angular/compiler-cli": "~10.0.14",
 | 
					    "@ionic/cli": "^7.1.5",
 | 
				
			||||||
    "@angular/language-service": "~10.0.14",
 | 
					 | 
				
			||||||
    "@ionic/angular-toolkit": "^2.3.3",
 | 
					 | 
				
			||||||
    "@ionic/cli": "^6.19.0",
 | 
					 | 
				
			||||||
    "@storybook/addon-controls": "~6.1.21",
 | 
					 | 
				
			||||||
    "@storybook/addon-viewport": "~6.1.21",
 | 
					 | 
				
			||||||
    "@storybook/angular": "~6.1.21",
 | 
					 | 
				
			||||||
    "@types/faker": "^5.1.3",
 | 
					    "@types/faker": "^5.1.3",
 | 
				
			||||||
    "@types/jest": "^26.0.24",
 | 
					    "@types/jest": "^26.0.24",
 | 
				
			||||||
    "@types/marked": "^4.3.1",
 | 
					    "@types/node": "^18.0.0",
 | 
				
			||||||
    "@types/node": "^12.12.64",
 | 
					 | 
				
			||||||
    "@types/resize-observer-browser": "^0.1.5",
 | 
					    "@types/resize-observer-browser": "^0.1.5",
 | 
				
			||||||
    "@types/webpack-env": "^1.16.0",
 | 
					    "@types/webpack-env": "^1.18.4",
 | 
				
			||||||
    "@typescript-eslint/eslint-plugin": "^4.22.0",
 | 
					    "@typescript-eslint/eslint-plugin": "^6.0.0",
 | 
				
			||||||
    "@typescript-eslint/parser": "^4.22.0",
 | 
					    "@typescript-eslint/parser": "^6.0.0",
 | 
				
			||||||
    "check-es-compat": "^1.1.1",
 | 
					    "check-es-compat": "^3.1.0",
 | 
				
			||||||
    "compare-versions": "^4.1.4",
 | 
					 | 
				
			||||||
    "concurrently": "^8.2.0",
 | 
					    "concurrently": "^8.2.0",
 | 
				
			||||||
    "cordova-plugin-moodleapp": "file:cordova-plugin-moodleapp",
 | 
					    "cordova-plugin-moodleapp": "file:cordova-plugin-moodleapp",
 | 
				
			||||||
    "cross-env": "^7.0.3",
 | 
					    "cross-env": "^7.0.3",
 | 
				
			||||||
    "eslint": "^7.25.0",
 | 
					    "eslint": "^8.0.0",
 | 
				
			||||||
    "eslint-config-prettier": "^8.3.0",
 | 
					    "eslint-plugin-deprecation": "^2.0.0",
 | 
				
			||||||
    "eslint-plugin-deprecation": "^1.5.0",
 | 
					 | 
				
			||||||
    "eslint-plugin-header": "^3.1.1",
 | 
					    "eslint-plugin-header": "^3.1.1",
 | 
				
			||||||
    "eslint-plugin-import": "^2.22.1",
 | 
					    "eslint-plugin-jest": "^27.6.0",
 | 
				
			||||||
    "eslint-plugin-jest": "^24.3.6",
 | 
					    "eslint-plugin-jsdoc": "^46.9.0",
 | 
				
			||||||
    "eslint-plugin-jsdoc": "^32.3.3",
 | 
					 | 
				
			||||||
    "eslint-plugin-prefer-arrow": "^1.2.3",
 | 
					    "eslint-plugin-prefer-arrow": "^1.2.3",
 | 
				
			||||||
    "eslint-plugin-promise": "^5.1.0",
 | 
					    "eslint-plugin-promise": "^6.1.1",
 | 
				
			||||||
    "faker": "^5.1.0",
 | 
					    "faker": "^5.1.0",
 | 
				
			||||||
    "fs-extra": "^9.1.0",
 | 
					    "fs-extra": "^9.1.0",
 | 
				
			||||||
    "gulp": "4.0.2",
 | 
					    "gulp": "4.0.2",
 | 
				
			||||||
@ -182,24 +150,17 @@
 | 
				
			|||||||
    "gulp-htmlmin": "^5.0.1",
 | 
					    "gulp-htmlmin": "^5.0.1",
 | 
				
			||||||
    "gulp-rename": "^2.0.0",
 | 
					    "gulp-rename": "^2.0.0",
 | 
				
			||||||
    "gulp-slash": "^1.1.3",
 | 
					    "gulp-slash": "^1.1.3",
 | 
				
			||||||
    "jest": "^26.5.2",
 | 
					    "jest": "^29.7.0",
 | 
				
			||||||
    "jest-preset-angular": "^8.3.1",
 | 
					 | 
				
			||||||
    "jest-raw-loader": "^1.0.1",
 | 
					 | 
				
			||||||
    "jsonc-parser": "^2.3.1",
 | 
					    "jsonc-parser": "^2.3.1",
 | 
				
			||||||
    "marked": "^4.3.0",
 | 
					    "keytar": "^7.2.0",
 | 
				
			||||||
    "minimatch": "^5.1.0",
 | 
					    "minimatch": "^5.1.0",
 | 
				
			||||||
    "native-run": "^1.4.0",
 | 
					    "native-run": "^2.0.0",
 | 
				
			||||||
    "patch-package": "^6.5.0",
 | 
					    "patch-package": "^6.5.0",
 | 
				
			||||||
    "storybook-addon-designs": "~6.1.0",
 | 
					    "ts-node": "^8.3.0",
 | 
				
			||||||
    "storybook-addon-rtl-direction": "0.0.19",
 | 
					    "typescript": "~5.1.3"
 | 
				
			||||||
    "storybook-dark-mode": "^3.0.0",
 | 
					 | 
				
			||||||
    "terser-webpack-plugin": "^4.2.3",
 | 
					 | 
				
			||||||
    "ts-jest": "^26.4.1",
 | 
					 | 
				
			||||||
    "ts-node": "~8.3.0",
 | 
					 | 
				
			||||||
    "typescript": "^3.9.9"
 | 
					 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "engines": {
 | 
					  "engines": {
 | 
				
			||||||
    "node": ">=14.15.0 <15"
 | 
					    "node": ">=18.18.2 <19"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "cordova": {
 | 
					  "cordova": {
 | 
				
			||||||
    "platforms": [
 | 
					    "platforms": [
 | 
				
			||||||
@ -210,11 +171,26 @@
 | 
				
			|||||||
      "@moodlehq/cordova-plugin-advanced-http": {
 | 
					      "@moodlehq/cordova-plugin-advanced-http": {
 | 
				
			||||||
        "ANDROIDBLACKLISTSECURESOCKETPROTOCOLS": "SSLv3,TLSv1"
 | 
					        "ANDROIDBLACKLISTSECURESOCKETPROTOCOLS": "SSLv3,TLSv1"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "cordova-clipboard": {},
 | 
					 | 
				
			||||||
      "cordova-plugin-badge": {},
 | 
					 | 
				
			||||||
      "@moodlehq/cordova-plugin-camera": {
 | 
					      "@moodlehq/cordova-plugin-camera": {
 | 
				
			||||||
        "ANDROIDX_CORE_VERSION": "1.6.+"
 | 
					        "ANDROIDX_CORE_VERSION": "1.6.+"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
 | 
					      "@moodlehq/cordova-plugin-file-transfer": {},
 | 
				
			||||||
 | 
					      "@moodlehq/cordova-plugin-inappbrowser": {},
 | 
				
			||||||
 | 
					      "@moodlehq/cordova-plugin-intent": {},
 | 
				
			||||||
 | 
					      "@moodlehq/cordova-plugin-ionic-webview": {},
 | 
				
			||||||
 | 
					      "@moodlehq/cordova-plugin-local-notification": {
 | 
				
			||||||
 | 
					        "ANDROID_SUPPORT_V4_VERSION": "26.+"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "@moodlehq/cordova-plugin-qrscanner": {},
 | 
				
			||||||
 | 
					      "@moodlehq/cordova-plugin-statusbar": {},
 | 
				
			||||||
 | 
					      "@moodlehq/cordova-plugin-zip": {},
 | 
				
			||||||
 | 
					      "@moodlehq/phonegap-plugin-push": {
 | 
				
			||||||
 | 
					        "ANDROIDX_CORE_VERSION": "1.6.+",
 | 
				
			||||||
 | 
					        "FCM_VERSION": "23.+"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "cordova-clipboard": {},
 | 
				
			||||||
 | 
					      "cordova-plugin-androidx-adapter": {},
 | 
				
			||||||
 | 
					      "cordova-plugin-badge": {},
 | 
				
			||||||
      "cordova-plugin-chooser": {},
 | 
					      "cordova-plugin-chooser": {},
 | 
				
			||||||
      "cordova-plugin-customurlscheme": {
 | 
					      "cordova-plugin-customurlscheme": {
 | 
				
			||||||
        "URL_SCHEME": "moodlemobile",
 | 
					        "URL_SCHEME": "moodlemobile",
 | 
				
			||||||
@ -227,39 +203,20 @@
 | 
				
			|||||||
      "cordova-plugin-geolocation": {
 | 
					      "cordova-plugin-geolocation": {
 | 
				
			||||||
        "GPS_REQUIRED": "false"
 | 
					        "GPS_REQUIRED": "false"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "@moodlehq/cordova-plugin-inappbrowser": {},
 | 
					 | 
				
			||||||
      "cordova-plugin-ionic-keyboard": {},
 | 
					      "cordova-plugin-ionic-keyboard": {},
 | 
				
			||||||
      "@moodlehq/cordova-plugin-ionic-webview": {},
 | 
					 | 
				
			||||||
      "@moodlehq/cordova-plugin-local-notification": {
 | 
					 | 
				
			||||||
        "ANDROID_SUPPORT_V4_VERSION": "26.+"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "cordova-plugin-media-capture": {},
 | 
					      "cordova-plugin-media-capture": {},
 | 
				
			||||||
      "cordova-plugin-network-information": {},
 | 
					      "cordova-plugin-network-information": {},
 | 
				
			||||||
      "@moodlehq/cordova-plugin-qrscanner": {},
 | 
					      "cordova-plugin-prevent-override": {},
 | 
				
			||||||
      "@moodlehq/cordova-plugin-statusbar": {},
 | 
					      "cordova-plugin-screen-orientation": {},
 | 
				
			||||||
      "cordova-plugin-wkuserscript": {},
 | 
					      "cordova-plugin-wkuserscript": {},
 | 
				
			||||||
      "cordova-plugin-wkwebview-cookies": {},
 | 
					      "cordova-plugin-wkwebview-cookies": {},
 | 
				
			||||||
      "@moodlehq/cordova-plugin-zip": {},
 | 
					 | 
				
			||||||
      "cordova-sqlite-storage": {},
 | 
					      "cordova-sqlite-storage": {},
 | 
				
			||||||
      "@moodlehq/phonegap-plugin-push": {
 | 
					 | 
				
			||||||
        "ANDROIDX_CORE_VERSION": "1.6.+",
 | 
					 | 
				
			||||||
        "FCM_VERSION": "23.+"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "@moodlehq/cordova-plugin-intent": {},
 | 
					 | 
				
			||||||
      "nl.kingsquare.cordova.background-audio": {},
 | 
					 | 
				
			||||||
      "cordova.plugins.diagnostic": {
 | 
					      "cordova.plugins.diagnostic": {
 | 
				
			||||||
        "ANDROID_SUPPORT_VERSION": "28.+",
 | 
					        "ANDROID_SUPPORT_VERSION": "28.+",
 | 
				
			||||||
        "ANDROIDX_VERSION": "1.0.0",
 | 
					        "ANDROIDX_VERSION": "1.0.0",
 | 
				
			||||||
        "ANDROIDX_APPCOMPAT_VERSION": "1.3.1"
 | 
					        "ANDROIDX_APPCOMPAT_VERSION": "1.3.1"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "@moodlehq/cordova-plugin-file-transfer": {},
 | 
					      "nl.kingsquare.cordova.background-audio": {}
 | 
				
			||||||
      "cordova-plugin-prevent-override": {},
 | 
					 | 
				
			||||||
      "cordova-plugin-androidx-adapter": {},
 | 
					 | 
				
			||||||
      "cordova-plugin-screen-orientation": {},
 | 
					 | 
				
			||||||
      "cordova-plugin-moodleapp": {}
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "optionalDependencies": {
 | 
					 | 
				
			||||||
    "keytar": "^7.2.0"
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,13 +0,0 @@
 | 
				
			|||||||
diff --git a/node_modules/@ionic/core/dist/types/components.d.ts b/node_modules/@ionic/core/dist/types/components.d.ts
 | 
					 | 
				
			||||||
index fd9b7ad..4d29d1e 100644
 | 
					 | 
				
			||||||
--- a/node_modules/@ionic/core/dist/types/components.d.ts
 | 
					 | 
				
			||||||
+++ b/node_modules/@ionic/core/dist/types/components.d.ts
 | 
					 | 
				
			||||||
@@ -972,7 +972,7 @@ export namespace Components {
 | 
					 | 
				
			||||||
         /**
 | 
					 | 
				
			||||||
           * If `true`, a button tag will be rendered and the item will be tappable.
 | 
					 | 
				
			||||||
          */
 | 
					 | 
				
			||||||
-        "button": boolean;
 | 
					 | 
				
			||||||
+        "button": boolean | '';
 | 
					 | 
				
			||||||
         /**
 | 
					 | 
				
			||||||
           * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
 | 
					 | 
				
			||||||
          */
 | 
					 | 
				
			||||||
@ -1,21 +0,0 @@
 | 
				
			|||||||
diff --git a/node_modules/eslint-plugin-ecmascript-compat/lib/compatibility.js b/node_modules/eslint-plugin-ecmascript-compat/lib/compatibility.js
 | 
					 | 
				
			||||||
index 57772cd..f3667fd 100644
 | 
					 | 
				
			||||||
--- a/node_modules/eslint-plugin-ecmascript-compat/lib/compatibility.js
 | 
					 | 
				
			||||||
+++ b/node_modules/eslint-plugin-ecmascript-compat/lib/compatibility.js
 | 
					 | 
				
			||||||
@@ -1,5 +1,7 @@
 | 
					 | 
				
			||||||
 /* eslint-disable camelcase, no-underscore-dangle */
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+const compareVersions = require('compare-versions').compare;
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 function forbiddenFeatures(features, targets) {
 | 
					 | 
				
			||||||
   return features.filter(feature => !isFeatureSupportedByTargets(feature, targets));
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
@@ -30,7 +32,7 @@ function isCompatFeatureSupportedByTarget(compatFeature, target) {
 | 
					 | 
				
			||||||
     return true;
 | 
					 | 
				
			||||||
   }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-  return !support.isNone && target.version >= versionAdded;
 | 
					 | 
				
			||||||
+  return !support.isNone && target.version.split('-').every(version => compareVersions(version, versionAdded, '>='));
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 function getSimpleSupportStatement(compatFeature, target) {
 | 
					 | 
				
			||||||
@ -1,30 +0,0 @@
 | 
				
			|||||||
diff --git a/node_modules/event-target-shim/index.d.ts b/node_modules/event-target-shim/index.d.ts
 | 
					 | 
				
			||||||
index 7a5bfc7..ba5e7d8 100644
 | 
					 | 
				
			||||||
--- a/node_modules/event-target-shim/index.d.ts
 | 
					 | 
				
			||||||
+++ b/node_modules/event-target-shim/index.d.ts
 | 
					 | 
				
			||||||
@@ -359,7 +359,7 @@ export declare namespace defineCustomEventTarget {
 | 
					 | 
				
			||||||
 	/**
 | 
					 | 
				
			||||||
 	 * The interface of CustomEventTarget.
 | 
					 | 
				
			||||||
 	 */
 | 
					 | 
				
			||||||
-	type CustomEventTarget<TEventMap extends Record<string, Event>, TMode extends "standard" | "strict"> = EventTarget<TEventMap, TMode> & defineEventAttribute.EventAttributes<any, TEventMap>;
 | 
					 | 
				
			||||||
+	type CustomEventTarget<TEventMap extends Record<string, Event>, TMode extends "standard" | "strict"> = EventTarget<TEventMap, TMode> & defineEventAttribute.EventAttributes<any>;
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 /**
 | 
					 | 
				
			||||||
  * Define an event attribute.
 | 
					 | 
				
			||||||
@@ -368,14 +368,12 @@ export declare namespace defineCustomEventTarget {
 | 
					 | 
				
			||||||
  * @param _eventClass Unused, but to infer `Event` class type.
 | 
					 | 
				
			||||||
  * @deprecated Use `getEventAttributeValue`/`setEventAttributeValue` pair on your derived class instead because of static analysis friendly.
 | 
					 | 
				
			||||||
  */
 | 
					 | 
				
			||||||
-export declare function defineEventAttribute<TEventTarget extends EventTarget, TEventType extends string, TEventConstrucor extends typeof Event>(target: TEventTarget, type: TEventType, _eventClass?: TEventConstrucor): asserts target is TEventTarget & defineEventAttribute.EventAttributes<TEventTarget, Record<TEventType, InstanceType<TEventConstrucor>>>;
 | 
					 | 
				
			||||||
+export declare function defineEventAttribute<TEventTarget extends EventTarget, TEventType extends string, TEventConstrucor extends typeof Event>(target: TEventTarget, type: TEventType, _eventClass?: TEventConstrucor): asserts target is TEventTarget & defineEventAttribute.EventAttributes<TEventTarget>;
 | 
					 | 
				
			||||||
 export declare namespace defineEventAttribute {
 | 
					 | 
				
			||||||
 	/**
 | 
					 | 
				
			||||||
 	 * Definition of event attributes.
 | 
					 | 
				
			||||||
 	 */
 | 
					 | 
				
			||||||
-	type EventAttributes<TEventTarget extends EventTarget<any, any>, TEventMap extends Record<string, Event>> = {
 | 
					 | 
				
			||||||
-		[P in string & keyof TEventMap as `on${P}`]: EventTarget.CallbackFunction<TEventTarget, TEventMap[P]> | null;
 | 
					 | 
				
			||||||
-	};
 | 
					 | 
				
			||||||
+	type EventAttributes<TEventTarget extends EventTarget<any, any>> = Record<string, EventTarget.CallbackFunction<TEventTarget, any> | null>;
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 /**
 | 
					 | 
				
			||||||
  * Set the warning handler.
 | 
					 | 
				
			||||||
@ -194,10 +194,7 @@ export const APP_ROUTES = new InjectionToken('APP_ROUTES');
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
@NgModule({
 | 
					@NgModule({
 | 
				
			||||||
    imports: [
 | 
					    imports: [
 | 
				
			||||||
        RouterModule.forRoot([], {
 | 
					        RouterModule.forRoot([], { preloadingStrategy: PreloadAllModules }),
 | 
				
			||||||
            preloadingStrategy: PreloadAllModules,
 | 
					 | 
				
			||||||
            relativeLinkResolution: 'corrected',
 | 
					 | 
				
			||||||
        }),
 | 
					 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    providers: [
 | 
					    providers: [
 | 
				
			||||||
        { provide: ROUTES, multi: true, useFactory: buildAppRoutes, deps: [Injector] },
 | 
					        { provide: ROUTES, multi: true, useFactory: buildAppRoutes, deps: [Injector] },
 | 
				
			||||||
 | 
				
			|||||||
@ -17,10 +17,6 @@ import { Camera, CameraOptions } from '@ionic-native/camera/ngx';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import { CoreEmulatorCaptureHelper } from './capture-helper';
 | 
					import { CoreEmulatorCaptureHelper } from './capture-helper';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// @todo remove android.media.action.IMAGE_CAPTURE and android.intent.action.GET_CONTENT entries
 | 
					 | 
				
			||||||
// from config.xml once https://github.com/apache/cordova-plugin-camera/issues/673 is resolved.
 | 
					 | 
				
			||||||
// (this is written here because comments get stripped out from config.xml)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Emulates the Cordova Camera plugin in browser.
 | 
					 * Emulates the Cordova Camera plugin in browser.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
				
			|||||||
@ -16,7 +16,7 @@
 | 
				
			|||||||
window.__Zone_disable_customElements = true;
 | 
					window.__Zone_disable_customElements = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Zone JS is required by default for Angular itself.
 | 
					// Zone JS is required by default for Angular itself.
 | 
				
			||||||
import 'zone.js/dist/zone';
 | 
					import 'zone.js';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Platform polyfills
 | 
					// Platform polyfills
 | 
				
			||||||
import 'core-js/es/array/includes';
 | 
					import 'core-js/es/array/includes';
 | 
				
			||||||
 | 
				
			|||||||
@ -32,17 +32,17 @@
 | 
				
			|||||||
@import "bootstrap.scss";
 | 
					@import "bootstrap.scss";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Core CSS required for Ionic components to work properly */
 | 
					/* Core CSS required for Ionic components to work properly */
 | 
				
			||||||
@import "~@ionic/angular/css/core.css";
 | 
					@import "@ionic/angular/css/core.css";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Basic CSS for apps built with Ionic */
 | 
					/* Basic CSS for apps built with Ionic */
 | 
				
			||||||
@import "~@ionic/angular/css/normalize.css";
 | 
					@import "@ionic/angular/css/normalize.css";
 | 
				
			||||||
@import "~@ionic/angular/css/structure.css";
 | 
					@import "@ionic/angular/css/structure.css";
 | 
				
			||||||
@import "~@ionic/angular/css/typography.css";
 | 
					@import "@ionic/angular/css/typography.css";
 | 
				
			||||||
@import "~@ionic/angular/css/display.css";
 | 
					@import "@ionic/angular/css/display.css";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Optional CSS utils that can be commented out */
 | 
					/* Optional CSS utils that can be commented out */
 | 
				
			||||||
@import "~@ionic/angular/css/padding.css";
 | 
					@import "@ionic/angular/css/padding.css";
 | 
				
			||||||
@import "~@ionic/angular/css/float-elements.css";
 | 
					@import "@ionic/angular/css/float-elements.css";
 | 
				
			||||||
@import "~@ionic/angular/css/text-alignment.css";
 | 
					@import "@ionic/angular/css/text-alignment.css";
 | 
				
			||||||
@import "~@ionic/angular/css/text-transformation.css";
 | 
					@import "@ionic/angular/css/text-transformation.css";
 | 
				
			||||||
@import "~@ionic/angular/css/flex-utils.css";
 | 
					@import "@ionic/angular/css/flex-utils.css";
 | 
				
			||||||
 | 
				
			|||||||
@ -8,7 +8,6 @@
 | 
				
			|||||||
      "cordova-plugin-moodleapp",
 | 
					      "cordova-plugin-moodleapp",
 | 
				
			||||||
      "cordova",
 | 
					      "cordova",
 | 
				
			||||||
      "dom-mediacapture-record",
 | 
					      "dom-mediacapture-record",
 | 
				
			||||||
      "node",
 | 
					 | 
				
			||||||
      "resize-observer-browser",
 | 
					      "resize-observer-browser",
 | 
				
			||||||
      "webpack-env"
 | 
					      "webpack-env"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user