Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d4e15aa391 |
No files matched your search
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"@openstapps/proxy": patch
|
||||
---
|
||||
|
||||
Bumping proxy version to rebuild image
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
"@openstapps/projectmanagement": patch
|
||||
"@openstapps/core-tools": patch
|
||||
"@openstapps/easy-ast": patch
|
||||
"@openstapps/app": patch
|
||||
---
|
||||
|
||||
Updated node-glob dependency
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"@openstapps/backend": patch
|
||||
"@openstapps/logger": patch
|
||||
---
|
||||
|
||||
Updated nodemailer dependency
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
"@openstapps/app-cypress": patch
|
||||
---
|
||||
|
||||
removed edge browser
|
||||
@@ -120,6 +120,6 @@ audit:
|
||||
script:
|
||||
- pnpm audit --prod --audit-level critical
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == 'main'
|
||||
allow_failure: false
|
||||
- !reference [.limit_pipelines, rules]
|
||||
# - if: $CI_COMMIT_BRANCH == 'main'
|
||||
# allow_failure: false
|
||||
@@ -4,13 +4,6 @@
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Launch Chrome",
|
||||
"request": "launch",
|
||||
"type": "chrome",
|
||||
"url": "http://localhost:8100",
|
||||
"webRoot": "${workspaceFolder}/frontend/app/www"
|
||||
},
|
||||
{
|
||||
"type":"node",
|
||||
"request": "launch",
|
||||
|
||||
@@ -1,24 +1,5 @@
|
||||
# @openstapps/backend
|
||||
|
||||
## 4.0.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 3a274a3a: Upgrade to Capacitor 7 and Anuglar 18
|
||||
- @openstapps/core@4.0.2
|
||||
- @openstapps/core-tools@4.0.2
|
||||
- @openstapps/logger@4.0.2
|
||||
|
||||
## 4.0.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 6b06de40: Updated nodemailer dependency
|
||||
- Updated dependencies [6b06de40]
|
||||
- @openstapps/logger@4.0.2
|
||||
- @openstapps/core@4.0.2
|
||||
- @openstapps/core-tools@4.0.2
|
||||
|
||||
## 4.0.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -112,7 +112,7 @@ const menus = [
|
||||
icon: 'school',
|
||||
items: [
|
||||
{
|
||||
icon: 'star',
|
||||
icon: 'grade',
|
||||
route: '/favorites',
|
||||
title: 'favorites',
|
||||
translations: {
|
||||
|
||||
@@ -5,8 +5,8 @@ const userGroupSetting = {
|
||||
categories: ['profile'],
|
||||
defaultValue: 'students',
|
||||
description:
|
||||
'The user group the app is going to use primarily.' +
|
||||
' This settings for example is getting used for the predefined price category of mensa meals.',
|
||||
'The user group the app is going to be used.' +
|
||||
'This settings for example is getting used for the predefined price category of mensa meals.',
|
||||
inputType: SCSettingInputType.SingleChoice,
|
||||
name: 'group',
|
||||
order: 1,
|
||||
@@ -25,7 +25,7 @@ const userGroupSetting = {
|
||||
},
|
||||
en: {
|
||||
description:
|
||||
'The user group the app is going to use primarily.' +
|
||||
'The user group the app is going to be used.' +
|
||||
' This settings for example is getting used for the predefined price category of mensa meals.',
|
||||
name: 'Group',
|
||||
values: ['students', 'employees', 'guests'],
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@openstapps/backend",
|
||||
"description": "A reference implementation for a StApps backend",
|
||||
"version": "4.0.3",
|
||||
"version": "4.0.1",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"license": "AGPL-3.0-only",
|
||||
|
||||
@@ -1,12 +1,5 @@
|
||||
# @openstapps/proxy
|
||||
|
||||
## 4.0.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6b06de40]
|
||||
- @openstapps/logger@4.0.2
|
||||
|
||||
## 4.0.0
|
||||
|
||||
### Major Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@openstapps/proxy",
|
||||
"description": "NGINX proxy that is dynamically configured by a Node.js script",
|
||||
"version": "4.0.2",
|
||||
"version": "4.0.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"license": "AGPL-3.0-only",
|
||||
|
||||
@@ -1,11 +1,5 @@
|
||||
# @openstapps/backend-config
|
||||
|
||||
## 4.0.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 3a274a3a: Upgrade to Capacitor 7 and Anuglar 18
|
||||
|
||||
## 4.0.0
|
||||
|
||||
### Major Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@openstapps/backend-config",
|
||||
"description": "Backend Configuration for OpenStApps",
|
||||
"version": "4.0.3",
|
||||
"version": "4.0.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"license": "GPL-3.0-only",
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<group title="canteen" title.de="Mensa" icon="local_cafe" route="/canteen"/>
|
||||
<group title="campus map" title.de="Campus Karte" icon="map" route="/map"/>
|
||||
<group title="my app" title.de="Meine App" icon="school" route="/profile">
|
||||
<item title="favorites" title.de="Favoriten" icon="star" route="/favorites"/>
|
||||
<item title="favorites" title.de="Favoriten" icon="grade" route="/favorites"/>
|
||||
<item title="schedule" title.de="Stundenplan" icon="calendar_today" route="/schedule"/>
|
||||
<item title="library account" title.de="Bibliothekskonto" icon="badge" route="/library-account" authProvider="paia"/>
|
||||
<item title="settings" title.de="Einstellungen" icon="settings" route="/settings"/>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<group title="canteen" title.de="Mensa" icon="local_cafe" route="/canteen"/>
|
||||
<group title="campus map" title.de="Campus Karte" icon="map" route="/map"/>
|
||||
<group title="my app" title.de="Meine App" icon="school" route="/profile">
|
||||
<item title="favorites" title.de="Favoriten" icon="star" route="/favorites"/>
|
||||
<item title="favorites" title.de="Favoriten" icon="grade" route="/favorites"/>
|
||||
<item title="schedule" title.de="Stundenplan" icon="calendar_today" route="/schedule"/>
|
||||
<item title="library account" title.de="Bibliothekskonto" icon="badge" route="/library-account" authProvider="paia"/>
|
||||
<item title="settings" title.de="Einstellungen" icon="settings" route="/settings"/>
|
||||
|
||||
@@ -1,11 +1,5 @@
|
||||
# @openstapps/eslint-config
|
||||
|
||||
## 4.0.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 3a274a3a: Upgrade to Capacitor 7 and Anuglar 18
|
||||
|
||||
## 4.0.0
|
||||
|
||||
### Major Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@openstapps/eslint-config",
|
||||
"description": "A collection of configuration base files for StApps projects. Just an (unused) experiment for now.",
|
||||
"version": "4.0.3",
|
||||
"version": "4.0.0",
|
||||
"type": "commonjs",
|
||||
"license": "GPL-3.0-only",
|
||||
"repository": "git@gitlab.com:openstapps/eslint-config.git",
|
||||
@@ -22,8 +22,8 @@
|
||||
"typescript": "5.4.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@typescript-eslint/eslint-plugin": "7.11.0",
|
||||
"@typescript-eslint/parser": "7.11.0",
|
||||
"@typescript-eslint/eslint-plugin": "7.2.0",
|
||||
"@typescript-eslint/parser": "7.2.0",
|
||||
"eslint": "8.57.0",
|
||||
"eslint-config-prettier": "9.1.0",
|
||||
"eslint-plugin-jsdoc": "48.2.1",
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
# @openstapps/projectmanagement
|
||||
|
||||
## 4.0.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6b06de40]
|
||||
- @openstapps/logger@4.0.2
|
||||
- @openstapps/gitlab-api@4.0.2
|
||||
|
||||
## 4.0.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@openstapps/projectmanagement",
|
||||
"description": "Main documentation and scripts for maintenance.",
|
||||
"version": "4.0.2",
|
||||
"version": "4.0.1",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"license": "GPL-3.0-only",
|
||||
@@ -43,7 +43,7 @@
|
||||
"@openstapps/logger": "workspace:*",
|
||||
"commander": "10.0.0",
|
||||
"date-fns": "3.6.0",
|
||||
"glob": "10.5.0",
|
||||
"glob": "10.3.10",
|
||||
"mustache": "4.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -1,14 +1,5 @@
|
||||
# @openstapps/minimal-connector
|
||||
|
||||
## 4.0.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6b06de40]
|
||||
- @openstapps/logger@4.0.2
|
||||
- @openstapps/core@4.0.2
|
||||
- @openstapps/api@4.0.2
|
||||
|
||||
## 4.0.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@openstapps/minimal-connector",
|
||||
"description": "This is a minimal connector which serves as an example",
|
||||
"version": "4.0.2",
|
||||
"version": "4.0.1",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"license": "GPL-3.0-only",
|
||||
|
||||
@@ -1,16 +1,5 @@
|
||||
# @openstapps/minimal-plugin
|
||||
|
||||
## 4.0.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6b06de40]
|
||||
- @openstapps/logger@4.0.2
|
||||
- @openstapps/api-plugin@4.0.2
|
||||
- @openstapps/core@4.0.2
|
||||
- @openstapps/core-tools@4.0.2
|
||||
- @openstapps/api@4.0.2
|
||||
|
||||
## 4.0.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@openstapps/minimal-plugin",
|
||||
"description": "Minimal Plugin",
|
||||
"version": "4.0.2",
|
||||
"version": "4.0.1",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"license": "GPL-3.0-only",
|
||||
|
||||
@@ -1,21 +1,5 @@
|
||||
# @openstapps/app
|
||||
|
||||
## 4.0.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 3a274a3a: Upgrade to Capacitor 7 and Anuglar 18
|
||||
- @openstapps/api@4.0.2
|
||||
- @openstapps/collection-utils@4.0.0
|
||||
- @openstapps/core@4.0.2
|
||||
|
||||
## 4.0.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @openstapps/core@4.0.2
|
||||
- @openstapps/api@4.0.2
|
||||
|
||||
## 4.0.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
android {
|
||||
namespace = "de.anyschool.app"
|
||||
compileSdk = rootProject.ext.compileSdkVersion
|
||||
namespace "de.anyschool.app"
|
||||
compileSdk rootProject.ext.compileSdkVersion
|
||||
defaultConfig {
|
||||
applicationId "de.anyschool.app"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
@@ -13,7 +13,7 @@ android {
|
||||
aaptOptions {
|
||||
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
|
||||
// Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61
|
||||
ignoreAssetsPattern = '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'
|
||||
ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'
|
||||
}
|
||||
}
|
||||
buildTypes {
|
||||
|
||||
@@ -2,14 +2,13 @@
|
||||
|
||||
android {
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_21
|
||||
targetCompatibility JavaVersion.VERSION_21
|
||||
sourceCompatibility JavaVersion.VERSION_17
|
||||
targetCompatibility JavaVersion.VERSION_17
|
||||
}
|
||||
}
|
||||
|
||||
apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle"
|
||||
dependencies {
|
||||
implementation project(':capacitor-community-in-app-review')
|
||||
implementation project(':capacitor-community-screen-brightness')
|
||||
implementation project(':capacitor-app')
|
||||
implementation project(':capacitor-browser')
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
android:theme="@style/AppTheme"
|
||||
android:usesCleartextTraffic="true">
|
||||
<activity
|
||||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode|navigation|density"
|
||||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout"
|
||||
android:exported="true"
|
||||
android:label="@string/title_activity_main"
|
||||
android:launchMode="singleTask"
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
[
|
||||
{
|
||||
"pkg": "@capacitor-community/in-app-review",
|
||||
"classpath": "com.getcapacitor.community.inappreview.InAppReviewPlugin"
|
||||
},
|
||||
{
|
||||
"pkg": "@capacitor-community/screen-brightness",
|
||||
"classpath": "com.elylucas.capscreenbrightness.ScreenBrightnessPlugin"
|
||||
|
||||
@@ -7,6 +7,5 @@
|
||||
<item name="android:statusBarColor">@color/colorPrimary</item>
|
||||
<item name="android:windowBackground">@color/colorPrimary</item>
|
||||
<item name="android:navigationBarColor">@color/colorBackground</item>
|
||||
<item name="android:windowOptOutEdgeToEdgeEnforcement" tools:targetApi="35">true</item>
|
||||
</style>
|
||||
</resources>
|
||||
@@ -7,7 +7,6 @@
|
||||
<item name="colorPrimary">@color/colorPrimary</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||
<item name="colorAccent">@color/colorAccent</item>
|
||||
<item name="android:windowOptOutEdgeToEdgeEnforcement" tools:targetApi="35">true</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.DayNight.NoActionBar">
|
||||
@@ -18,7 +17,6 @@
|
||||
<item name="android:windowBackground">@color/colorPrimary</item>
|
||||
<item name="android:navigationBarColor">@color/colorBackground</item>
|
||||
<item name="android:windowLightNavigationBar" tools:targetApi="27">true</item>
|
||||
<item name="android:windowOptOutEdgeToEdgeEnforcement" tools:targetApi="35">true</item>
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ buildscript {
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:8.13.0'
|
||||
classpath 'com.google.gms:google-services:4.4.4'
|
||||
classpath 'com.android.tools.build:gradle:8.2.1'
|
||||
classpath 'com.google.gms:google-services:4.4.0'
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
||||
@@ -1,60 +1,57 @@
|
||||
// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN
|
||||
include ':capacitor-android'
|
||||
project(':capacitor-android').projectDir = new File('../../../node_modules/.pnpm/@capacitor+android@8.2.0_@capacitor+core@8.2.0/node_modules/@capacitor/android/capacitor')
|
||||
|
||||
include ':capacitor-community-in-app-review'
|
||||
project(':capacitor-community-in-app-review').projectDir = new File('../../../node_modules/.pnpm/@capacitor-community+in-app-review@8.0.0_@capacitor+core@8.2.0/node_modules/@capacitor-community/in-app-review/android')
|
||||
project(':capacitor-android').projectDir = new File('../../../node_modules/.pnpm/@capacitor+android@6.2.1_@capacitor+core@6.2.1/node_modules/@capacitor/android/capacitor')
|
||||
|
||||
include ':capacitor-community-screen-brightness'
|
||||
project(':capacitor-community-screen-brightness').projectDir = new File('../../../node_modules/.pnpm/@capacitor-community+screen-brightness@8.0.0_@capacitor+core@8.2.0/node_modules/@capacitor-community/screen-brightness/android')
|
||||
project(':capacitor-community-screen-brightness').projectDir = new File('../../../node_modules/.pnpm/@capacitor-community+screen-brightness@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor-community/screen-brightness/android')
|
||||
|
||||
include ':capacitor-app'
|
||||
project(':capacitor-app').projectDir = new File('../../../node_modules/.pnpm/@capacitor+app@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/app/android')
|
||||
project(':capacitor-app').projectDir = new File('../../../node_modules/.pnpm/@capacitor+app@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/app/android')
|
||||
|
||||
include ':capacitor-browser'
|
||||
project(':capacitor-browser').projectDir = new File('../../../node_modules/.pnpm/@capacitor+browser@8.0.2_@capacitor+core@8.2.0/node_modules/@capacitor/browser/android')
|
||||
project(':capacitor-browser').projectDir = new File('../../../node_modules/.pnpm/@capacitor+browser@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/browser/android')
|
||||
|
||||
include ':capacitor-clipboard'
|
||||
project(':capacitor-clipboard').projectDir = new File('../../../node_modules/.pnpm/@capacitor+clipboard@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/clipboard/android')
|
||||
project(':capacitor-clipboard').projectDir = new File('../../../node_modules/.pnpm/@capacitor+clipboard@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/clipboard/android')
|
||||
|
||||
include ':capacitor-device'
|
||||
project(':capacitor-device').projectDir = new File('../../../node_modules/.pnpm/@capacitor+device@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/device/android')
|
||||
project(':capacitor-device').projectDir = new File('../../../node_modules/.pnpm/@capacitor+device@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/device/android')
|
||||
|
||||
include ':capacitor-dialog'
|
||||
project(':capacitor-dialog').projectDir = new File('../../../node_modules/.pnpm/@capacitor+dialog@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/dialog/android')
|
||||
project(':capacitor-dialog').projectDir = new File('../../../node_modules/.pnpm/@capacitor+dialog@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/dialog/android')
|
||||
|
||||
include ':capacitor-filesystem'
|
||||
project(':capacitor-filesystem').projectDir = new File('../../../node_modules/.pnpm/@capacitor+filesystem@8.1.2_@capacitor+core@8.2.0/node_modules/@capacitor/filesystem/android')
|
||||
project(':capacitor-filesystem').projectDir = new File('../../../node_modules/.pnpm/@capacitor+filesystem@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/filesystem/android')
|
||||
|
||||
include ':capacitor-geolocation'
|
||||
project(':capacitor-geolocation').projectDir = new File('../../../node_modules/.pnpm/@capacitor+geolocation@8.1.0_@capacitor+core@8.2.0/node_modules/@capacitor/geolocation/android')
|
||||
project(':capacitor-geolocation').projectDir = new File('../../../node_modules/.pnpm/@capacitor+geolocation@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/geolocation/android')
|
||||
|
||||
include ':capacitor-haptics'
|
||||
project(':capacitor-haptics').projectDir = new File('../../../node_modules/.pnpm/@capacitor+haptics@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/haptics/android')
|
||||
project(':capacitor-haptics').projectDir = new File('../../../node_modules/.pnpm/@capacitor+haptics@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/haptics/android')
|
||||
|
||||
include ':capacitor-keyboard'
|
||||
project(':capacitor-keyboard').projectDir = new File('../../../node_modules/.pnpm/@capacitor+keyboard@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/keyboard/android')
|
||||
project(':capacitor-keyboard').projectDir = new File('../../../node_modules/.pnpm/@capacitor+keyboard@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/keyboard/android')
|
||||
|
||||
include ':capacitor-local-notifications'
|
||||
project(':capacitor-local-notifications').projectDir = new File('../../../node_modules/.pnpm/@capacitor+local-notifications@8.0.2_@capacitor+core@8.2.0/node_modules/@capacitor/local-notifications/android')
|
||||
project(':capacitor-local-notifications').projectDir = new File('../../../node_modules/.pnpm/@capacitor+local-notifications@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/local-notifications/android')
|
||||
|
||||
include ':capacitor-network'
|
||||
project(':capacitor-network').projectDir = new File('../../../node_modules/.pnpm/@capacitor+network@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/network/android')
|
||||
project(':capacitor-network').projectDir = new File('../../../node_modules/.pnpm/@capacitor+network@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/network/android')
|
||||
|
||||
include ':capacitor-preferences'
|
||||
project(':capacitor-preferences').projectDir = new File('../../../node_modules/.pnpm/@capacitor+preferences@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/preferences/android')
|
||||
project(':capacitor-preferences').projectDir = new File('../../../node_modules/.pnpm/@capacitor+preferences@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/preferences/android')
|
||||
|
||||
include ':capacitor-screen-orientation'
|
||||
project(':capacitor-screen-orientation').projectDir = new File('../../../node_modules/.pnpm/@capacitor+screen-orientation@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/screen-orientation/android')
|
||||
project(':capacitor-screen-orientation').projectDir = new File('../../../node_modules/.pnpm/@capacitor+screen-orientation@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/screen-orientation/android')
|
||||
|
||||
include ':capacitor-share'
|
||||
project(':capacitor-share').projectDir = new File('../../../node_modules/.pnpm/@capacitor+share@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/share/android')
|
||||
project(':capacitor-share').projectDir = new File('../../../node_modules/.pnpm/@capacitor+share@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/share/android')
|
||||
|
||||
include ':capacitor-splash-screen'
|
||||
project(':capacitor-splash-screen').projectDir = new File('../../../node_modules/.pnpm/@capacitor+splash-screen@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/splash-screen/android')
|
||||
project(':capacitor-splash-screen').projectDir = new File('../../../node_modules/.pnpm/@capacitor+splash-screen@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/splash-screen/android')
|
||||
|
||||
include ':transistorsoft-capacitor-background-fetch'
|
||||
project(':transistorsoft-capacitor-background-fetch').projectDir = new File('../../../node_modules/.pnpm/@transistorsoft+capacitor-background-fetch@8.0.0_@capacitor+core@8.2.0/node_modules/@transistorsoft/capacitor-background-fetch/android')
|
||||
project(':transistorsoft-capacitor-background-fetch').projectDir = new File('../../../node_modules/.pnpm/@transistorsoft+capacitor-background-fetch@6.0.0_@capacitor+core@6.2.1/node_modules/@transistorsoft/capacitor-background-fetch/android')
|
||||
|
||||
include ':capacitor-secure-storage-plugin'
|
||||
project(':capacitor-secure-storage-plugin').projectDir = new File('../../../node_modules/.pnpm/capacitor-secure-storage-plugin@0.12.0_@capacitor+core@8.2.0/node_modules/capacitor-secure-storage-plugin/android')
|
||||
project(':capacitor-secure-storage-plugin').projectDir = new File('../../../node_modules/.pnpm/capacitor-secure-storage-plugin@0.10.0_@capacitor+core@6.2.1/node_modules/capacitor-secure-storage-plugin/android')
|
||||
@@ -1,7 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-all.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
@@ -15,8 +15,6 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
@@ -57,7 +55,7 @@
|
||||
# Darwin, MinGW, and NonStop.
|
||||
#
|
||||
# (3) This script is generated from the Groovy template
|
||||
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# within the Gradle project.
|
||||
#
|
||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||
@@ -85,8 +83,10 @@ done
|
||||
# This is normally unused
|
||||
# shellcheck disable=SC2034
|
||||
APP_BASE_NAME=${0##*/}
|
||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
|
||||
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD=maximum
|
||||
@@ -114,7 +114,7 @@ case "$( uname )" in #(
|
||||
NONSTOP* ) nonstop=true ;;
|
||||
esac
|
||||
|
||||
CLASSPATH="\\\"\\\""
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
@@ -133,13 +133,10 @@ location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD=java
|
||||
if ! command -v java >/dev/null 2>&1
|
||||
then
|
||||
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
@@ -147,7 +144,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||
case $MAX_FD in #(
|
||||
max*)
|
||||
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC2039,SC3045
|
||||
# shellcheck disable=SC3045
|
||||
MAX_FD=$( ulimit -H -n ) ||
|
||||
warn "Could not query maximum file descriptor limit"
|
||||
esac
|
||||
@@ -155,7 +152,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||
'' | soft) :;; #(
|
||||
*)
|
||||
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC2039,SC3045
|
||||
# shellcheck disable=SC3045
|
||||
ulimit -n "$MAX_FD" ||
|
||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||
esac
|
||||
@@ -200,20 +197,16 @@ if "$cygwin" || "$msys" ; then
|
||||
done
|
||||
fi
|
||||
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Collect all arguments for the java command:
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# and any embedded shellness will be escaped.
|
||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||
# treated as '${Hostname}' itself on the command line.
|
||||
# Collect all arguments for the java command;
|
||||
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
|
||||
# shell script including quotes and variable substitutions, so put them in
|
||||
# double quotes to make sure that they get re-expanded; and
|
||||
# * put everything else in single quotes, so that it's not re-expanded.
|
||||
|
||||
set -- \
|
||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||
-classpath "$CLASSPATH" \
|
||||
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
|
||||
org.gradle.wrapper.GradleWrapperMain \
|
||||
"$@"
|
||||
|
||||
# Stop when "xargs" is not available.
|
||||
|
||||
@@ -13,8 +13,6 @@
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
@rem SPDX-License-Identifier: Apache-2.0
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%"=="" @echo off
|
||||
@rem ##########################################################################
|
||||
@@ -45,11 +43,11 @@ set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if %ERRORLEVEL% equ 0 goto execute
|
||||
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
@@ -59,22 +57,22 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
ext {
|
||||
minSdkVersion = 24
|
||||
compileSdkVersion = 36
|
||||
targetSdkVersion = 36
|
||||
androidxActivityVersion = '1.11.0'
|
||||
androidxAppCompatVersion = '1.7.1'
|
||||
androidxCoordinatorLayoutVersion = '1.3.0'
|
||||
androidxCoreVersion = '1.17.0'
|
||||
androidxFragmentVersion = '1.8.9'
|
||||
coreSplashScreenVersion = '1.2.0'
|
||||
androidxWebkitVersion = '1.14.0'
|
||||
minSdkVersion = 22
|
||||
compileSdkVersion = 34
|
||||
targetSdkVersion = 34
|
||||
androidxActivityVersion = '1.8.0'
|
||||
androidxAppCompatVersion = '1.6.1'
|
||||
androidxCoordinatorLayoutVersion = '1.2.0'
|
||||
androidxCoreVersion = '1.12.0'
|
||||
androidxFragmentVersion = '1.6.2'
|
||||
coreSplashScreenVersion = '1.0.1'
|
||||
androidxWebkitVersion = '1.9.0'
|
||||
junitVersion = '4.13.2'
|
||||
androidxJunitVersion = '1.3.0'
|
||||
androidxEspressoCoreVersion = '3.7.0'
|
||||
cordovaAndroidVersion = '14.0.1'
|
||||
androidxJunitVersion = '1.1.5'
|
||||
androidxEspressoCoreVersion = '3.5.1'
|
||||
cordovaAndroidVersion = '10.1.1'
|
||||
}
|
||||
@@ -40,14 +40,16 @@
|
||||
"glob": "CHANGELOG.md",
|
||||
"input": ".",
|
||||
"output": "assets"
|
||||
}
|
||||
},
|
||||
"src/manifest.webmanifest"
|
||||
],
|
||||
"styles": [
|
||||
{
|
||||
"input": "src/global.scss",
|
||||
"inject": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"serviceWorker": "ngsw-config.json"
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
@@ -127,7 +129,8 @@
|
||||
"glob": "**/*",
|
||||
"input": "src/assets",
|
||||
"output": "/assets"
|
||||
}
|
||||
},
|
||||
"src/manifest.webmanifest"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
@@ -299,7 +299,7 @@
|
||||
"icon": "school",
|
||||
"items": [
|
||||
{
|
||||
"icon": "star",
|
||||
"icon": "grade",
|
||||
"route": "/favorites",
|
||||
"title": "favorites",
|
||||
"translations": {
|
||||
|
||||
@@ -26,7 +26,7 @@ describe('App', () => {
|
||||
it('should have a proper title', () => {
|
||||
cy.visit('/overview');
|
||||
|
||||
cy.title().should('equal', 'StApps');
|
||||
cy.title().should('equal', 'Goethe-Uni');
|
||||
});
|
||||
|
||||
it('should have a proper working navigation', () => {
|
||||
|
||||
@@ -33,9 +33,9 @@ describe('dashboard', async function () {
|
||||
describe('schedule section', function () {
|
||||
it('should lead to the week overview', function () {
|
||||
cy.get('.schedule')
|
||||
.contains('a', /Wochen.*ansicht/)
|
||||
.contains('a', /Wochen.*übersicht/)
|
||||
.click();
|
||||
cy.url().should('include', '/schedule/weekly-view');
|
||||
cy.url().should('include', '/schedule/week-overview');
|
||||
});
|
||||
|
||||
it('should lead to the calendar', function () {
|
||||
|
||||
@@ -100,7 +100,7 @@ describe('schedule', function () {
|
||||
cy.get('ion-searchbar').click().type('a');
|
||||
cy.wait('@search');
|
||||
cy.wait('@chips');
|
||||
cy.wait(1000);
|
||||
cy.wait(200);
|
||||
cy.contains('ion-item', 'UNIcert (Test)')
|
||||
.contains('stapps-add-event-action-chip', 'Termine Auswählen')
|
||||
.click();
|
||||
|
||||
@@ -20,7 +20,7 @@ const config = {
|
||||
htmlGlob: 'src/**/*.html',
|
||||
scriptGlob: 'src/**/*.ts',
|
||||
additionalIcons: {
|
||||
about: ['copyright', 'campaign', 'policy', 'description', 'text_snippet', 'expand_more', 'expand_all'],
|
||||
about: ['copyright', 'campaign', 'policy', 'description', 'text_snippet'],
|
||||
navigation: [
|
||||
'home',
|
||||
'newspaper',
|
||||
@@ -30,7 +30,7 @@ const config = {
|
||||
'local_library',
|
||||
'inventory_2',
|
||||
'map',
|
||||
'star',
|
||||
'grade',
|
||||
'account_circle',
|
||||
'settings',
|
||||
'info',
|
||||
|
||||
@@ -109,6 +109,7 @@
|
||||
504EC3011FED79650016851F /* Frameworks */,
|
||||
504EC3021FED79650016851F /* Resources */,
|
||||
F40DBF7576173B02228B7A71 /* [CP] Embed Pods Frameworks */,
|
||||
2D217985258DD775FC9B6A72 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -170,6 +171,21 @@
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
2D217985258DD775FC9B6A72 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-App/Pods-App-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
947055B15D65E7FC3ADB1FEB /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -288,7 +304,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
@@ -339,7 +355,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
@@ -357,7 +373,7 @@
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = YSGS9WV338;
|
||||
INFOPLIST_FILE = App/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = de.openstapps.app;
|
||||
@@ -379,7 +395,7 @@
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = YSGS9WV338;
|
||||
INFOPLIST_FILE = App/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = de.openstapps.app;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
require_relative '../../../../node_modules/.pnpm/@capacitor+ios@8.2.0_@capacitor+core@8.2.0/node_modules/@capacitor/ios/scripts/pods_helpers'
|
||||
require_relative '../../../../node_modules/.pnpm/@capacitor+ios@6.2.1_@capacitor+core@6.2.1/node_modules/@capacitor/ios/scripts/pods_helpers'
|
||||
|
||||
platform :ios, '15.0'
|
||||
platform :ios, '13.0'
|
||||
use_frameworks!
|
||||
|
||||
# workaround to avoid Xcode caching of Pods that requires
|
||||
@@ -9,27 +9,26 @@ use_frameworks!
|
||||
install! 'cocoapods', :disable_input_output_paths => true
|
||||
|
||||
def capacitor_pods
|
||||
pod 'Capacitor', :path => '../../../../node_modules/.pnpm/@capacitor+ios@8.2.0_@capacitor+core@8.2.0/node_modules/@capacitor/ios'
|
||||
pod 'CapacitorCordova', :path => '../../../../node_modules/.pnpm/@capacitor+ios@8.2.0_@capacitor+core@8.2.0/node_modules/@capacitor/ios'
|
||||
pod 'CapacitorCommunityInAppReview', :path => '../../../../node_modules/.pnpm/@capacitor-community+in-app-review@8.0.0_@capacitor+core@8.2.0/node_modules/@capacitor-community/in-app-review'
|
||||
pod 'CapacitorCommunityScreenBrightness', :path => '../../../../node_modules/.pnpm/@capacitor-community+screen-brightness@8.0.0_@capacitor+core@8.2.0/node_modules/@capacitor-community/screen-brightness'
|
||||
pod 'CapacitorApp', :path => '../../../../node_modules/.pnpm/@capacitor+app@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/app'
|
||||
pod 'CapacitorBrowser', :path => '../../../../node_modules/.pnpm/@capacitor+browser@8.0.2_@capacitor+core@8.2.0/node_modules/@capacitor/browser'
|
||||
pod 'CapacitorClipboard', :path => '../../../../node_modules/.pnpm/@capacitor+clipboard@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/clipboard'
|
||||
pod 'CapacitorDevice', :path => '../../../../node_modules/.pnpm/@capacitor+device@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/device'
|
||||
pod 'CapacitorDialog', :path => '../../../../node_modules/.pnpm/@capacitor+dialog@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/dialog'
|
||||
pod 'CapacitorFilesystem', :path => '../../../../node_modules/.pnpm/@capacitor+filesystem@8.1.2_@capacitor+core@8.2.0/node_modules/@capacitor/filesystem'
|
||||
pod 'CapacitorGeolocation', :path => '../../../../node_modules/.pnpm/@capacitor+geolocation@8.1.0_@capacitor+core@8.2.0/node_modules/@capacitor/geolocation'
|
||||
pod 'CapacitorHaptics', :path => '../../../../node_modules/.pnpm/@capacitor+haptics@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/haptics'
|
||||
pod 'CapacitorKeyboard', :path => '../../../../node_modules/.pnpm/@capacitor+keyboard@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/keyboard'
|
||||
pod 'CapacitorLocalNotifications', :path => '../../../../node_modules/.pnpm/@capacitor+local-notifications@8.0.2_@capacitor+core@8.2.0/node_modules/@capacitor/local-notifications'
|
||||
pod 'CapacitorNetwork', :path => '../../../../node_modules/.pnpm/@capacitor+network@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/network'
|
||||
pod 'CapacitorPreferences', :path => '../../../../node_modules/.pnpm/@capacitor+preferences@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/preferences'
|
||||
pod 'CapacitorScreenOrientation', :path => '../../../../node_modules/.pnpm/@capacitor+screen-orientation@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/screen-orientation'
|
||||
pod 'CapacitorShare', :path => '../../../../node_modules/.pnpm/@capacitor+share@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/share'
|
||||
pod 'CapacitorSplashScreen', :path => '../../../../node_modules/.pnpm/@capacitor+splash-screen@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/splash-screen'
|
||||
pod 'TransistorsoftCapacitorBackgroundFetch', :path => '../../../../node_modules/.pnpm/@transistorsoft+capacitor-background-fetch@8.0.0_@capacitor+core@8.2.0/node_modules/@transistorsoft/capacitor-background-fetch'
|
||||
pod 'CapacitorSecureStoragePlugin', :path => '../../../../node_modules/.pnpm/capacitor-secure-storage-plugin@0.12.0_@capacitor+core@8.2.0/node_modules/capacitor-secure-storage-plugin'
|
||||
pod 'Capacitor', :path => '../../../../node_modules/.pnpm/@capacitor+ios@6.2.1_@capacitor+core@6.2.1/node_modules/@capacitor/ios'
|
||||
pod 'CapacitorCordova', :path => '../../../../node_modules/.pnpm/@capacitor+ios@6.2.1_@capacitor+core@6.2.1/node_modules/@capacitor/ios'
|
||||
pod 'CapacitorCommunityScreenBrightness', :path => '../../../../node_modules/.pnpm/@capacitor-community+screen-brightness@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor-community/screen-brightness'
|
||||
pod 'CapacitorApp', :path => '../../../../node_modules/.pnpm/@capacitor+app@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/app'
|
||||
pod 'CapacitorBrowser', :path => '../../../../node_modules/.pnpm/@capacitor+browser@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/browser'
|
||||
pod 'CapacitorClipboard', :path => '../../../../node_modules/.pnpm/@capacitor+clipboard@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/clipboard'
|
||||
pod 'CapacitorDevice', :path => '../../../../node_modules/.pnpm/@capacitor+device@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/device'
|
||||
pod 'CapacitorDialog', :path => '../../../../node_modules/.pnpm/@capacitor+dialog@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/dialog'
|
||||
pod 'CapacitorFilesystem', :path => '../../../../node_modules/.pnpm/@capacitor+filesystem@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/filesystem'
|
||||
pod 'CapacitorGeolocation', :path => '../../../../node_modules/.pnpm/@capacitor+geolocation@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/geolocation'
|
||||
pod 'CapacitorHaptics', :path => '../../../../node_modules/.pnpm/@capacitor+haptics@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/haptics'
|
||||
pod 'CapacitorKeyboard', :path => '../../../../node_modules/.pnpm/@capacitor+keyboard@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/keyboard'
|
||||
pod 'CapacitorLocalNotifications', :path => '../../../../node_modules/.pnpm/@capacitor+local-notifications@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/local-notifications'
|
||||
pod 'CapacitorNetwork', :path => '../../../../node_modules/.pnpm/@capacitor+network@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/network'
|
||||
pod 'CapacitorPreferences', :path => '../../../../node_modules/.pnpm/@capacitor+preferences@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/preferences'
|
||||
pod 'CapacitorScreenOrientation', :path => '../../../../node_modules/.pnpm/@capacitor+screen-orientation@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/screen-orientation'
|
||||
pod 'CapacitorShare', :path => '../../../../node_modules/.pnpm/@capacitor+share@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/share'
|
||||
pod 'CapacitorSplashScreen', :path => '../../../../node_modules/.pnpm/@capacitor+splash-screen@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/splash-screen'
|
||||
pod 'TransistorsoftCapacitorBackgroundFetch', :path => '../../../../node_modules/.pnpm/@transistorsoft+capacitor-background-fetch@6.0.0_@capacitor+core@6.2.1/node_modules/@transistorsoft/capacitor-background-fetch'
|
||||
pod 'CapacitorSecureStoragePlugin', :path => '../../../../node_modules/.pnpm/capacitor-secure-storage-plugin@0.10.0_@capacitor+core@6.2.1/node_modules/capacitor-secure-storage-plugin'
|
||||
pod 'CordovaPlugins', :path => '../capacitor-cordova-ios-plugins'
|
||||
end
|
||||
|
||||
|
||||
@@ -1,161 +1,143 @@
|
||||
PODS:
|
||||
- Capacitor (8.2.0):
|
||||
- Capacitor (6.2.1):
|
||||
- CapacitorCordova
|
||||
- CapacitorApp (8.0.1):
|
||||
- CapacitorApp (6.0.0):
|
||||
- Capacitor
|
||||
- CapacitorBrowser (8.0.2):
|
||||
- CapacitorBrowser (6.0.1):
|
||||
- Capacitor
|
||||
- CapacitorClipboard (8.0.1):
|
||||
- CapacitorClipboard (6.0.0):
|
||||
- Capacitor
|
||||
- CapacitorCommunityInAppReview (8.0.0):
|
||||
- CapacitorCommunityScreenBrightness (6.0.0):
|
||||
- Capacitor
|
||||
- CapacitorCommunityScreenBrightness (8.0.0):
|
||||
- CapacitorCordova (6.2.1)
|
||||
- CapacitorDevice (6.0.0):
|
||||
- Capacitor
|
||||
- CapacitorCordova (8.2.0)
|
||||
- CapacitorDevice (8.0.1):
|
||||
- CapacitorDialog (6.0.0):
|
||||
- Capacitor
|
||||
- CapacitorDialog (8.0.1):
|
||||
- CapacitorFilesystem (6.0.0):
|
||||
- Capacitor
|
||||
- CapacitorFilesystem (8.1.2):
|
||||
- CapacitorGeolocation (6.0.0):
|
||||
- Capacitor
|
||||
- IONFilesystemLib (~> 1.1.1)
|
||||
- CapacitorGeolocation (8.1.0):
|
||||
- CapacitorHaptics (6.0.0):
|
||||
- Capacitor
|
||||
- IONGeolocationLib (= 2.0.0)
|
||||
- CapacitorHaptics (8.0.1):
|
||||
- CapacitorKeyboard (6.0.1):
|
||||
- Capacitor
|
||||
- CapacitorKeyboard (8.0.1):
|
||||
- CapacitorLocalNotifications (6.0.0):
|
||||
- Capacitor
|
||||
- CapacitorLocalNotifications (8.0.2):
|
||||
- CapacitorNetwork (6.0.1):
|
||||
- Capacitor
|
||||
- CapacitorNetwork (8.0.1):
|
||||
- CapacitorPreferences (6.0.1):
|
||||
- Capacitor
|
||||
- CapacitorPreferences (8.0.1):
|
||||
- CapacitorScreenOrientation (6.0.1):
|
||||
- Capacitor
|
||||
- CapacitorScreenOrientation (8.0.1):
|
||||
- Capacitor
|
||||
- CapacitorSecureStoragePlugin (0.12.0):
|
||||
- CapacitorSecureStoragePlugin (0.10.0):
|
||||
- Capacitor
|
||||
- SwiftKeychainWrapper
|
||||
- CapacitorShare (8.0.1):
|
||||
- CapacitorShare (6.0.1):
|
||||
- Capacitor
|
||||
- CapacitorSplashScreen (8.0.1):
|
||||
- CapacitorSplashScreen (6.0.1):
|
||||
- Capacitor
|
||||
- CordovaPlugins (8.2.0):
|
||||
- CordovaPlugins (6.2.1):
|
||||
- CapacitorCordova
|
||||
- IONFilesystemLib (1.1.2)
|
||||
- IONGeolocationLib (2.0.0)
|
||||
- SwiftKeychainWrapper (4.0.1)
|
||||
- TransistorsoftCapacitorBackgroundFetch (8.0.0):
|
||||
- TransistorsoftCapacitorBackgroundFetch (6.0.0):
|
||||
- Capacitor
|
||||
- TSBackgroundFetch (~> 4.0)
|
||||
- TSBackgroundFetch (4.0.6)
|
||||
|
||||
DEPENDENCIES:
|
||||
- "Capacitor (from `../../../../node_modules/.pnpm/@capacitor+ios@8.2.0_@capacitor+core@8.2.0/node_modules/@capacitor/ios`)"
|
||||
- "CapacitorApp (from `../../../../node_modules/.pnpm/@capacitor+app@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/app`)"
|
||||
- "CapacitorBrowser (from `../../../../node_modules/.pnpm/@capacitor+browser@8.0.2_@capacitor+core@8.2.0/node_modules/@capacitor/browser`)"
|
||||
- "CapacitorClipboard (from `../../../../node_modules/.pnpm/@capacitor+clipboard@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/clipboard`)"
|
||||
- "CapacitorCommunityInAppReview (from `../../../../node_modules/.pnpm/@capacitor-community+in-app-review@8.0.0_@capacitor+core@8.2.0/node_modules/@capacitor-community/in-app-review`)"
|
||||
- "CapacitorCommunityScreenBrightness (from `../../../../node_modules/.pnpm/@capacitor-community+screen-brightness@8.0.0_@capacitor+core@8.2.0/node_modules/@capacitor-community/screen-brightness`)"
|
||||
- "CapacitorCordova (from `../../../../node_modules/.pnpm/@capacitor+ios@8.2.0_@capacitor+core@8.2.0/node_modules/@capacitor/ios`)"
|
||||
- "CapacitorDevice (from `../../../../node_modules/.pnpm/@capacitor+device@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/device`)"
|
||||
- "CapacitorDialog (from `../../../../node_modules/.pnpm/@capacitor+dialog@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/dialog`)"
|
||||
- "CapacitorFilesystem (from `../../../../node_modules/.pnpm/@capacitor+filesystem@8.1.2_@capacitor+core@8.2.0/node_modules/@capacitor/filesystem`)"
|
||||
- "CapacitorGeolocation (from `../../../../node_modules/.pnpm/@capacitor+geolocation@8.1.0_@capacitor+core@8.2.0/node_modules/@capacitor/geolocation`)"
|
||||
- "CapacitorHaptics (from `../../../../node_modules/.pnpm/@capacitor+haptics@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/haptics`)"
|
||||
- "CapacitorKeyboard (from `../../../../node_modules/.pnpm/@capacitor+keyboard@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/keyboard`)"
|
||||
- "CapacitorLocalNotifications (from `../../../../node_modules/.pnpm/@capacitor+local-notifications@8.0.2_@capacitor+core@8.2.0/node_modules/@capacitor/local-notifications`)"
|
||||
- "CapacitorNetwork (from `../../../../node_modules/.pnpm/@capacitor+network@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/network`)"
|
||||
- "CapacitorPreferences (from `../../../../node_modules/.pnpm/@capacitor+preferences@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/preferences`)"
|
||||
- "CapacitorScreenOrientation (from `../../../../node_modules/.pnpm/@capacitor+screen-orientation@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/screen-orientation`)"
|
||||
- "CapacitorSecureStoragePlugin (from `../../../../node_modules/.pnpm/capacitor-secure-storage-plugin@0.12.0_@capacitor+core@8.2.0/node_modules/capacitor-secure-storage-plugin`)"
|
||||
- "CapacitorShare (from `../../../../node_modules/.pnpm/@capacitor+share@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/share`)"
|
||||
- "CapacitorSplashScreen (from `../../../../node_modules/.pnpm/@capacitor+splash-screen@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/splash-screen`)"
|
||||
- "Capacitor (from `../../../../node_modules/.pnpm/@capacitor+ios@6.2.1_@capacitor+core@6.2.1/node_modules/@capacitor/ios`)"
|
||||
- "CapacitorApp (from `../../../../node_modules/.pnpm/@capacitor+app@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/app`)"
|
||||
- "CapacitorBrowser (from `../../../../node_modules/.pnpm/@capacitor+browser@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/browser`)"
|
||||
- "CapacitorClipboard (from `../../../../node_modules/.pnpm/@capacitor+clipboard@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/clipboard`)"
|
||||
- "CapacitorCommunityScreenBrightness (from `../../../../node_modules/.pnpm/@capacitor-community+screen-brightness@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor-community/screen-brightness`)"
|
||||
- "CapacitorCordova (from `../../../../node_modules/.pnpm/@capacitor+ios@6.2.1_@capacitor+core@6.2.1/node_modules/@capacitor/ios`)"
|
||||
- "CapacitorDevice (from `../../../../node_modules/.pnpm/@capacitor+device@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/device`)"
|
||||
- "CapacitorDialog (from `../../../../node_modules/.pnpm/@capacitor+dialog@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/dialog`)"
|
||||
- "CapacitorFilesystem (from `../../../../node_modules/.pnpm/@capacitor+filesystem@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/filesystem`)"
|
||||
- "CapacitorGeolocation (from `../../../../node_modules/.pnpm/@capacitor+geolocation@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/geolocation`)"
|
||||
- "CapacitorHaptics (from `../../../../node_modules/.pnpm/@capacitor+haptics@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/haptics`)"
|
||||
- "CapacitorKeyboard (from `../../../../node_modules/.pnpm/@capacitor+keyboard@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/keyboard`)"
|
||||
- "CapacitorLocalNotifications (from `../../../../node_modules/.pnpm/@capacitor+local-notifications@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/local-notifications`)"
|
||||
- "CapacitorNetwork (from `../../../../node_modules/.pnpm/@capacitor+network@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/network`)"
|
||||
- "CapacitorPreferences (from `../../../../node_modules/.pnpm/@capacitor+preferences@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/preferences`)"
|
||||
- "CapacitorScreenOrientation (from `../../../../node_modules/.pnpm/@capacitor+screen-orientation@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/screen-orientation`)"
|
||||
- "CapacitorSecureStoragePlugin (from `../../../../node_modules/.pnpm/capacitor-secure-storage-plugin@0.10.0_@capacitor+core@6.2.1/node_modules/capacitor-secure-storage-plugin`)"
|
||||
- "CapacitorShare (from `../../../../node_modules/.pnpm/@capacitor+share@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/share`)"
|
||||
- "CapacitorSplashScreen (from `../../../../node_modules/.pnpm/@capacitor+splash-screen@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/splash-screen`)"
|
||||
- CordovaPlugins (from `../capacitor-cordova-ios-plugins`)
|
||||
- "TransistorsoftCapacitorBackgroundFetch (from `../../../../node_modules/.pnpm/@transistorsoft+capacitor-background-fetch@8.0.0_@capacitor+core@8.2.0/node_modules/@transistorsoft/capacitor-background-fetch`)"
|
||||
- "TransistorsoftCapacitorBackgroundFetch (from `../../../../node_modules/.pnpm/@transistorsoft+capacitor-background-fetch@6.0.0_@capacitor+core@6.2.1/node_modules/@transistorsoft/capacitor-background-fetch`)"
|
||||
|
||||
SPEC REPOS:
|
||||
trunk:
|
||||
- IONFilesystemLib
|
||||
- IONGeolocationLib
|
||||
- SwiftKeychainWrapper
|
||||
- TSBackgroundFetch
|
||||
|
||||
EXTERNAL SOURCES:
|
||||
Capacitor:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+ios@8.2.0_@capacitor+core@8.2.0/node_modules/@capacitor/ios"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+ios@6.2.1_@capacitor+core@6.2.1/node_modules/@capacitor/ios"
|
||||
CapacitorApp:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+app@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/app"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+app@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/app"
|
||||
CapacitorBrowser:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+browser@8.0.2_@capacitor+core@8.2.0/node_modules/@capacitor/browser"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+browser@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/browser"
|
||||
CapacitorClipboard:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+clipboard@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/clipboard"
|
||||
CapacitorCommunityInAppReview:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor-community+in-app-review@8.0.0_@capacitor+core@8.2.0/node_modules/@capacitor-community/in-app-review"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+clipboard@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/clipboard"
|
||||
CapacitorCommunityScreenBrightness:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor-community+screen-brightness@8.0.0_@capacitor+core@8.2.0/node_modules/@capacitor-community/screen-brightness"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor-community+screen-brightness@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor-community/screen-brightness"
|
||||
CapacitorCordova:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+ios@8.2.0_@capacitor+core@8.2.0/node_modules/@capacitor/ios"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+ios@6.2.1_@capacitor+core@6.2.1/node_modules/@capacitor/ios"
|
||||
CapacitorDevice:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+device@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/device"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+device@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/device"
|
||||
CapacitorDialog:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+dialog@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/dialog"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+dialog@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/dialog"
|
||||
CapacitorFilesystem:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+filesystem@8.1.2_@capacitor+core@8.2.0/node_modules/@capacitor/filesystem"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+filesystem@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/filesystem"
|
||||
CapacitorGeolocation:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+geolocation@8.1.0_@capacitor+core@8.2.0/node_modules/@capacitor/geolocation"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+geolocation@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/geolocation"
|
||||
CapacitorHaptics:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+haptics@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/haptics"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+haptics@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/haptics"
|
||||
CapacitorKeyboard:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+keyboard@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/keyboard"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+keyboard@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/keyboard"
|
||||
CapacitorLocalNotifications:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+local-notifications@8.0.2_@capacitor+core@8.2.0/node_modules/@capacitor/local-notifications"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+local-notifications@6.0.0_@capacitor+core@6.2.1/node_modules/@capacitor/local-notifications"
|
||||
CapacitorNetwork:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+network@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/network"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+network@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/network"
|
||||
CapacitorPreferences:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+preferences@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/preferences"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+preferences@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/preferences"
|
||||
CapacitorScreenOrientation:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+screen-orientation@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/screen-orientation"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+screen-orientation@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/screen-orientation"
|
||||
CapacitorSecureStoragePlugin:
|
||||
:path: "../../../../node_modules/.pnpm/capacitor-secure-storage-plugin@0.12.0_@capacitor+core@8.2.0/node_modules/capacitor-secure-storage-plugin"
|
||||
:path: "../../../../node_modules/.pnpm/capacitor-secure-storage-plugin@0.10.0_@capacitor+core@6.2.1/node_modules/capacitor-secure-storage-plugin"
|
||||
CapacitorShare:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+share@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/share"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+share@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/share"
|
||||
CapacitorSplashScreen:
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+splash-screen@8.0.1_@capacitor+core@8.2.0/node_modules/@capacitor/splash-screen"
|
||||
:path: "../../../../node_modules/.pnpm/@capacitor+splash-screen@6.0.1_@capacitor+core@6.2.1/node_modules/@capacitor/splash-screen"
|
||||
CordovaPlugins:
|
||||
:path: "../capacitor-cordova-ios-plugins"
|
||||
TransistorsoftCapacitorBackgroundFetch:
|
||||
:path: "../../../../node_modules/.pnpm/@transistorsoft+capacitor-background-fetch@8.0.0_@capacitor+core@8.2.0/node_modules/@transistorsoft/capacitor-background-fetch"
|
||||
:path: "../../../../node_modules/.pnpm/@transistorsoft+capacitor-background-fetch@6.0.0_@capacitor+core@6.2.1/node_modules/@transistorsoft/capacitor-background-fetch"
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
Capacitor: 49a454e1cdbd520bc106a220adca7913536a4933
|
||||
CapacitorApp: 942306cd1acf7774a00e89a3986af3a67c8cad7a
|
||||
CapacitorBrowser: 76847841b74c11ccac0a1afae18cf06e3bd59044
|
||||
CapacitorClipboard: c75fdaa6e622111119f35e7914ecfc67b05efecb
|
||||
CapacitorCommunityInAppReview: 4492bdd34aad4d27ed87949376022cc93b294ea1
|
||||
CapacitorCommunityScreenBrightness: e4075e1181f7e88259edb8b1e3b9a209e1144d45
|
||||
CapacitorCordova: a9ac88d84a1f5280f33b349fe50fce1902683ac0
|
||||
CapacitorDevice: ff033fa0c4ec19f5e059a073769a9b2347e69f57
|
||||
CapacitorDialog: 854c5dac405081cae697c177ca43bcaa95ae67bf
|
||||
CapacitorFilesystem: 2db285a1ac6e475cc27cae2e1bea999000f9e2be
|
||||
CapacitorGeolocation: 7132de914f9d853ec4642dc1d36e4e2018a4e8a8
|
||||
CapacitorHaptics: 4df2c625445cef39b67ea635a21802bc92df3b82
|
||||
CapacitorKeyboard: 867eb4b3c901d9bb5c3d0c93b546185d52484e19
|
||||
CapacitorLocalNotifications: 4db83a7f6bdd2f30dcedf5c6f92c415065467a24
|
||||
CapacitorNetwork: 8812ce60d11fb63d8f2e4ba51a49b2e59892ebe2
|
||||
CapacitorPreferences: cca2021f386efb75947c850334447d9ff22b14f1
|
||||
CapacitorScreenOrientation: 6c3c84223ea1dd44aaa7184e2b416dd1192270d0
|
||||
CapacitorSecureStoragePlugin: 50de0808ad398aa401e00f9e58adf88c77cb3c25
|
||||
CapacitorShare: 0c58305114538568059bfc07111f22dcb9cb2a82
|
||||
CapacitorSplashScreen: 4b46c72298db552b3c57ce021ef028b6dc7f1fa7
|
||||
CordovaPlugins: a59b2cf4431ebffa93e36e7cc3fc0aedfeb058ad
|
||||
IONFilesystemLib: 21a63377696b2d8fab5632ecfb7d2ac67bddb68a
|
||||
IONGeolocationLib: a5e40b54edc2ee9902036eda5aaa41ddf07bb68d
|
||||
Capacitor: c95400d761e376be9da6be5a05f226c0e865cebf
|
||||
CapacitorApp: 30145f2ea2311e4f3744472119ec87d2ddf4c0a7
|
||||
CapacitorBrowser: 6c0e04dc80556a966ebc2269ac72f09d83eec1ce
|
||||
CapacitorClipboard: c1cb27fea166aab5c99bda605d3bc768cf00eabe
|
||||
CapacitorCommunityScreenBrightness: 95d4c839fc8e925dcf75ffee66f62a00f560f146
|
||||
CapacitorCordova: 8d93e14982f440181be7304aa9559ca631d77fff
|
||||
CapacitorDevice: 38ad323d74e3a86b56253680538ac23a2c9b4a68
|
||||
CapacitorDialog: bd99f63c9788a137263b2d75e718b1fc4d9f70c3
|
||||
CapacitorFilesystem: 9c2cc1e89d3b8b91503b316e9f6c2915c9bf9419
|
||||
CapacitorGeolocation: 86f82a32b238ff79d5be6fc0943f2866965d3f1b
|
||||
CapacitorHaptics: 0cea833e6a8bf489dd6acaaebf6d953b90086c59
|
||||
CapacitorKeyboard: f38d730356be5569d72eb87ad9c8166947728c36
|
||||
CapacitorLocalNotifications: d051c73ec8bf38807214f5b905ee6426e13756f8
|
||||
CapacitorNetwork: 7ff188197e880d8485f280492b54d3202e9f3a61
|
||||
CapacitorPreferences: 97d529423bb7c1196455e9a1b6dd1074625c78bd
|
||||
CapacitorScreenOrientation: f3a0744a56f673929d18bd0d9a5ef5f5595e7352
|
||||
CapacitorSecureStoragePlugin: 545b51d782d35e61a39231ecf99a966b060a2cbb
|
||||
CapacitorShare: ec1bcbc16696696133740ac876192c0480ca3018
|
||||
CapacitorSplashScreen: d2d8fe9541d7bebdf735839b89edf6e762cea969
|
||||
CordovaPlugins: b40548c03c597049ef851a7014da5ac8f155d914
|
||||
SwiftKeychainWrapper: 807ba1d63c33a7d0613288512399cd1eda1e470c
|
||||
TransistorsoftCapacitorBackgroundFetch: 12dc742682562c9339241d12615f27ef7dbfb88f
|
||||
TSBackgroundFetch: 0afbeaae4e1132866e1d4b6e55265af26b5958ae
|
||||
TransistorsoftCapacitorBackgroundFetch: dfa73a0fd038bc1986255360e4b20165a4a0f066
|
||||
|
||||
PODFILE CHECKSUM: 809074712090e90da383be24c4ad182cd7a3dd1f
|
||||
PODFILE CHECKSUM: 601bc3c09529fe24d68110bc709379698476efe1
|
||||
|
||||
COCOAPODS: 1.16.2
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"$schema": "./node_modules/@angular/service-worker/config/schema.json",
|
||||
"index": "/index.html",
|
||||
"assetGroups": [
|
||||
{
|
||||
"name": "app",
|
||||
"installMode": "prefetch",
|
||||
"resources": {
|
||||
"files": ["/favicon.ico", "/index.html", "/manifest.webmanifest", "/*.css", "/*.js"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "assets",
|
||||
"installMode": "lazy",
|
||||
"updateMode": "prefetch",
|
||||
"resources": {
|
||||
"files": ["/assets/**", "/*.(svg|cur|jpg|jpeg|png|apng|webp|avif|gif|otf|ttf|woff|woff2)"]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@openstapps/app",
|
||||
"description": "The generic app tailored to fulfill needs of German universities, written using Ionic Framework.",
|
||||
"version": "4.0.3",
|
||||
"version": "4.0.1",
|
||||
"private": true,
|
||||
"license": "GPL-3.0-only",
|
||||
"author": "Karl-Philipp Wulfert <krlwlfrt@gmail.com>",
|
||||
@@ -48,56 +48,57 @@
|
||||
"test:integration": "sh integration-test.sh"
|
||||
},
|
||||
"dependencies": {
|
||||
"@angular/animations": "18.2.13",
|
||||
"@angular/cdk": "18.2.13",
|
||||
"@angular/common": "18.2.13",
|
||||
"@angular/core": "18.2.13",
|
||||
"@angular/forms": "18.2.13",
|
||||
"@angular/platform-browser": "18.2.13",
|
||||
"@angular/router": "18.2.13",
|
||||
"@awesome-cordova-plugins/calendar": "8.1.0",
|
||||
"@awesome-cordova-plugins/core": "8.1.0",
|
||||
"@capacitor-community/in-app-review": "8.0.0",
|
||||
"@capacitor-community/screen-brightness": "8.0.0",
|
||||
"@capacitor/app": "8.0.1",
|
||||
"@capacitor/browser": "8.0.2",
|
||||
"@capacitor/clipboard": "8.0.1",
|
||||
"@capacitor/core": "8.2.0",
|
||||
"@capacitor/device": "8.0.1",
|
||||
"@capacitor/dialog": "8.0.1",
|
||||
"@capacitor/filesystem": "8.1.2",
|
||||
"@capacitor/geolocation": "8.1.0",
|
||||
"@capacitor/haptics": "8.0.1",
|
||||
"@capacitor/keyboard": "8.0.1",
|
||||
"@capacitor/local-notifications": "8.0.2",
|
||||
"@capacitor/network": "8.0.1",
|
||||
"@capacitor/preferences": "8.0.1",
|
||||
"@capacitor/screen-orientation": "8.0.1",
|
||||
"@capacitor/share": "8.0.1",
|
||||
"@capacitor/splash-screen": "8.0.1",
|
||||
"@ionic/angular": "8.7.16",
|
||||
"@ionic/angular-server": "8.7.16",
|
||||
"@angular/animations": "17.3.12",
|
||||
"@angular/cdk": "17.3.10",
|
||||
"@angular/common": "17.3.12",
|
||||
"@angular/core": "17.3.12",
|
||||
"@angular/forms": "17.3.12",
|
||||
"@angular/platform-browser": "17.3.12",
|
||||
"@angular/router": "17.3.12",
|
||||
"@angular/service-worker": "17.3.12",
|
||||
"@awesome-cordova-plugins/calendar": "6.6.0",
|
||||
"@awesome-cordova-plugins/core": "6.6.0",
|
||||
"@capacitor-community/screen-brightness": "6.0.0",
|
||||
"@capacitor/app": "6.0.0",
|
||||
"@capacitor/browser": "6.0.1",
|
||||
"@capacitor/clipboard": "6.0.0",
|
||||
"@capacitor/core": "6.2.1",
|
||||
"@capacitor/device": "6.0.0",
|
||||
"@capacitor/dialog": "6.0.0",
|
||||
"@capacitor/filesystem": "6.0.0",
|
||||
"@capacitor/geolocation": "6.0.0",
|
||||
"@capacitor/haptics": "6.0.0",
|
||||
"@capacitor/keyboard": "6.0.1",
|
||||
"@capacitor/local-notifications": "6.0.0",
|
||||
"@capacitor/network": "6.0.1",
|
||||
"@capacitor/preferences": "6.0.1",
|
||||
"@capacitor/screen-orientation": "6.0.1",
|
||||
"@capacitor/share": "6.0.1",
|
||||
"@capacitor/splash-screen": "6.0.1",
|
||||
"@ionic-native/core": "5.36.0",
|
||||
"@ionic/angular": "8.6.1",
|
||||
"@ionic/angular-server": "8.6.1",
|
||||
"@ionic/storage-angular": "4.0.0",
|
||||
"@maplibre/ngx-maplibre-gl": "17.4.1",
|
||||
"@ngx-translate/core": "15.0.0",
|
||||
"@ngx-translate/http-loader": "8.0.0",
|
||||
"@openid/appauth": "1.3.2",
|
||||
"@openid/appauth": "1.3.1",
|
||||
"@openstapps/api": "workspace:*",
|
||||
"@openstapps/collection-utils": "workspace:*",
|
||||
"@openstapps/core": "workspace:*",
|
||||
"@transistorsoft/capacitor-background-fetch": "8.0.0",
|
||||
"@transistorsoft/capacitor-background-fetch": "6.0.0",
|
||||
"@types/dom-view-transitions": "1.0.4",
|
||||
"capacitor-secure-storage-plugin": "0.12.0",
|
||||
"capacitor-secure-storage-plugin": "0.10.0",
|
||||
"cordova-plugin-calendar": "5.1.6",
|
||||
"date-fns": "3.6.0",
|
||||
"deepmerge": "4.3.1",
|
||||
"form-data": "4.0.4",
|
||||
"geojson": "0.5.0",
|
||||
"ionic-appauth": "2.1.0",
|
||||
"ionicons": "8.0.13",
|
||||
"ionic-appauth": "0.9.0",
|
||||
"ionicons": "7.4.0",
|
||||
"jsonpath-plus": "10.3.0",
|
||||
"maplibre-gl": "4.0.2",
|
||||
"material-symbols": "0.17.1",
|
||||
"material-symbols": "0.27.2",
|
||||
"moment": "2.30.1",
|
||||
"ngx-date-fns": "11.0.0",
|
||||
"ngx-logger": "5.0.12",
|
||||
@@ -110,32 +111,32 @@
|
||||
"semver": "7.6.0",
|
||||
"swiper": "8.4.5",
|
||||
"tslib": "2.6.2",
|
||||
"zone.js": "0.14.10"
|
||||
"zone.js": "0.14.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/architect": "0.1802.20",
|
||||
"@angular-devkit/build-angular": "18.2.20",
|
||||
"@angular-devkit/core": "18.2.20",
|
||||
"@angular-devkit/schematics": "18.2.20",
|
||||
"@angular-eslint/builder": "18.4.3",
|
||||
"@angular-eslint/eslint-plugin": "18.4.3",
|
||||
"@angular-eslint/eslint-plugin-template": "18.4.3",
|
||||
"@angular-eslint/schematics": "18.4.1",
|
||||
"@angular-eslint/template-parser": "18.4.3",
|
||||
"@angular/cli": "18.2.20",
|
||||
"@angular/compiler": "18.2.13",
|
||||
"@angular/compiler-cli": "18.2.13",
|
||||
"@angular/language-server": "18.2.0",
|
||||
"@angular/language-service": "18.2.13",
|
||||
"@angular/platform-browser-dynamic": "18.2.13",
|
||||
"@capacitor/android": "8.2.0",
|
||||
"@capacitor/assets": "3.0.5",
|
||||
"@capacitor/cli": "8.2.0",
|
||||
"@capacitor/ios": "8.2.0",
|
||||
"@angular-devkit/architect": "0.1703.17",
|
||||
"@angular-devkit/build-angular": "17.3.17",
|
||||
"@angular-devkit/core": "17.3.17",
|
||||
"@angular-devkit/schematics": "17.3.17",
|
||||
"@angular-eslint/builder": "17.5.3",
|
||||
"@angular-eslint/eslint-plugin": "17.5.3",
|
||||
"@angular-eslint/eslint-plugin-template": "17.5.3",
|
||||
"@angular-eslint/schematics": "17.5.3",
|
||||
"@angular-eslint/template-parser": "17.5.3",
|
||||
"@angular/cli": "17.3.17",
|
||||
"@angular/compiler": "17.3.12",
|
||||
"@angular/compiler-cli": "17.3.12",
|
||||
"@angular/language-server": "17.3.2",
|
||||
"@angular/language-service": "17.3.12",
|
||||
"@angular/platform-browser-dynamic": "17.3.12",
|
||||
"@capacitor/android": "6.2.1",
|
||||
"@capacitor/assets": "3.0.4",
|
||||
"@capacitor/cli": "6.2.1",
|
||||
"@capacitor/ios": "6.2.1",
|
||||
"@compodoc/compodoc": "1.1.23",
|
||||
"@cypress/schematic": "4.1.1",
|
||||
"@ionic/angular-toolkit": "12.3.0",
|
||||
"@ionic/cli": "7.2.1",
|
||||
"@cypress/schematic": "3.0.0",
|
||||
"@ionic/angular-toolkit": "11.0.1",
|
||||
"@ionic/cli": "7.2.0",
|
||||
"@openstapps/prettier-config": "workspace:*",
|
||||
"@openstapps/tsconfig": "workspace:*",
|
||||
"@types/fontkit": "2.0.7",
|
||||
@@ -149,17 +150,17 @@
|
||||
"@types/karma-jasmine": "4.0.5",
|
||||
"@types/node": "22.15.31",
|
||||
"@types/semver": "7.5.8",
|
||||
"@typescript-eslint/eslint-plugin": "7.11.0",
|
||||
"@typescript-eslint/parser": "7.11.0",
|
||||
"@typescript-eslint/eslint-plugin": "7.2.0",
|
||||
"@typescript-eslint/parser": "7.2.0",
|
||||
"cordova-res": "0.15.4",
|
||||
"cypress": "15.0.0",
|
||||
"cypress": "14.5.0",
|
||||
"eslint": "8.57.0",
|
||||
"eslint-plugin-jsdoc": "48.2.1",
|
||||
"eslint-plugin-prettier": "5.1.3",
|
||||
"eslint-plugin-unicorn": "51.0.1",
|
||||
"fast-deep-equal": "3.1.3",
|
||||
"fontkit": "2.0.2",
|
||||
"glob": "10.5.0",
|
||||
"glob": "10.3.10",
|
||||
"http-server": "14.1.1",
|
||||
"is-docker": "2.2.1",
|
||||
"jasmine-core": "5.1.2",
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
width="1024"
|
||||
height="1024"
|
||||
viewBox="0 0 1024 1024"
|
||||
sodipodi:docname="logo_pwa.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
|
||||
xml:space="preserve"
|
||||
inkscape:export-filename="../src/assets/icons/icon-512x512.png"
|
||||
inkscape:export-xdpi="48"
|
||||
inkscape:export-ydpi="48"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs6" /><sodipodi:namedview
|
||||
id="namedview4"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.49999772"
|
||||
inkscape:cx="454.00207"
|
||||
inkscape:cy="347.00158"
|
||||
inkscape:window-width="1504"
|
||||
inkscape:window-height="1729"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g8" /><g
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="Image"
|
||||
id="g8"><rect
|
||||
style="fill:#00b5cc;fill-opacity:1;stroke-width:1.10978"
|
||||
id="rect2351"
|
||||
width="379.77051"
|
||||
height="379.77051"
|
||||
x="143.85109"
|
||||
y="141.62936"
|
||||
ry="50.263741"
|
||||
sodipodi:insensitive="true" /><rect
|
||||
style="fill:#3be40b;fill-opacity:1;stroke-width:1.11352"
|
||||
id="rect2353"
|
||||
width="154.14215"
|
||||
height="154.14215"
|
||||
x="580.75684"
|
||||
y="367.25772"
|
||||
ry="25.690359"
|
||||
sodipodi:insensitive="true" /><rect
|
||||
style="fill:#c90e20;fill-opacity:1;stroke-width:1.10084"
|
||||
id="rect2355"
|
||||
width="306.05032"
|
||||
height="306.05032"
|
||||
x="580.75684"
|
||||
y="578.53516"
|
||||
ry="35.743107"
|
||||
sodipodi:insensitive="true" /><rect
|
||||
style="fill:#e4a20b;fill-opacity:1;stroke-width:1.11912"
|
||||
id="rect2357"
|
||||
width="232.33018"
|
||||
height="232.33018"
|
||||
x="291.29138"
|
||||
y="578.53516"
|
||||
ry="33.509159"
|
||||
sodipodi:insensitive="true" /></g></svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
@@ -33,7 +33,6 @@ import {sampleAuthConfiguration} from './_helpers/data/sample-configuration';
|
||||
import {StorageProvider} from './modules/storage/storage.provider';
|
||||
import {SimpleBrowser} from './util/browser.factory';
|
||||
import {provideHttpClient, withInterceptorsFromDi} from '@angular/common/http';
|
||||
import {InAppReviewProvider} from './modules/settings/in-app-review/in-app-review.provider';
|
||||
|
||||
describe('AppComponent', () => {
|
||||
let platformReadySpy: any;
|
||||
@@ -41,7 +40,6 @@ describe('AppComponent', () => {
|
||||
let translateServiceSpy: jasmine.SpyObj<TranslateService>;
|
||||
let thingTranslateServiceSpy: jasmine.SpyObj<ThingTranslateService>;
|
||||
let settingsProvider: jasmine.SpyObj<SettingsProvider>;
|
||||
let inAppReviewProvider: jasmine.SpyObj<InAppReviewProvider>;
|
||||
let configProvider: jasmine.SpyObj<ConfigProvider>;
|
||||
let ngxLogger: jasmine.SpyObj<NGXLogger>;
|
||||
let scheduleSyncServiceSpy: jasmine.SpyObj<ScheduleSyncService>;
|
||||
@@ -87,7 +85,6 @@ describe('AppComponent', () => {
|
||||
{provide: ThingTranslateService, useValue: thingTranslateServiceSpy},
|
||||
{provide: ScheduleSyncService, useValue: scheduleSyncServiceSpy},
|
||||
{provide: SettingsProvider, useValue: settingsProvider},
|
||||
{provide: InAppReviewProvider, useValue: inAppReviewProvider},
|
||||
{provide: ConfigProvider, useValue: configProvider},
|
||||
{provide: NGXLogger, useValue: ngxLogger},
|
||||
{provide: StorageProvider, useValue: storageProvider},
|
||||
|
||||
@@ -17,7 +17,6 @@ import {Router} from '@angular/router';
|
||||
import {App, URLOpenListenerEvent} from '@capacitor/app';
|
||||
import {Platform, ToastController} from '@ionic/angular/standalone';
|
||||
import {SettingsProvider} from './modules/settings/settings.provider';
|
||||
import {InAppReviewProvider} from './modules/settings/in-app-review/in-app-review.provider';
|
||||
import {AuthHelperService} from './modules/auth/auth-helper.service';
|
||||
import {environment} from '../environments/environment';
|
||||
import {Capacitor} from '@capacitor/core';
|
||||
@@ -56,7 +55,6 @@ export class AppComponent implements AfterContentInit {
|
||||
constructor(
|
||||
private readonly platform: Platform,
|
||||
private readonly settingsProvider: SettingsProvider,
|
||||
private readonly inAppReviewProvider: InAppReviewProvider,
|
||||
private readonly router: Router,
|
||||
private readonly zone: NgZone,
|
||||
private readonly authHelper: AuthHelperService,
|
||||
@@ -88,8 +86,6 @@ export class AppComponent implements AfterContentInit {
|
||||
async hideSplash() {
|
||||
if (Capacitor.isNativePlatform()) {
|
||||
void SplashScreen.hide();
|
||||
await this.inAppReviewProvider.increaseSessionCount();
|
||||
void this.inAppReviewProvider.startInAppReviewIfFeasible();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
import {CommonModule, LocationStrategy, PathLocationStrategy, registerLocaleData} from '@angular/common';
|
||||
import {HTTP_INTERCEPTORS, HttpClient, provideHttpClient, withInterceptorsFromDi} from '@angular/common/http';
|
||||
import localeDe from '@angular/common/locales/de';
|
||||
import {APP_INITIALIZER, NgModule} from '@angular/core';
|
||||
import {APP_INITIALIZER, NgModule, isDevMode} from '@angular/core';
|
||||
import {BrowserModule} from '@angular/platform-browser';
|
||||
import {RouteReuseStrategy} from '@angular/router';
|
||||
import {IonicRouteStrategy, Platform, provideIonicAngular, IonApp} from '@ionic/angular/standalone';
|
||||
@@ -70,6 +70,7 @@ import {Capacitor} from '@capacitor/core';
|
||||
import {SplashScreen} from '@capacitor/splash-screen';
|
||||
import maplibregl from 'maplibre-gl';
|
||||
import {Protocol} from 'pmtiles';
|
||||
import {ServiceWorkerModule} from '@angular/service-worker';
|
||||
|
||||
registerLocaleData(localeDe);
|
||||
|
||||
@@ -182,6 +183,12 @@ export function createTranslateLoader(http: HttpClient) {
|
||||
level: environment.production ? NgxLoggerLevel.FATAL : NgxLoggerLevel.TRACE,
|
||||
}),
|
||||
IonApp,
|
||||
ServiceWorkerModule.register('ngsw-worker.js', {
|
||||
enabled: !isDevMode(),
|
||||
// Register the ServiceWorker as soon as the application is stable
|
||||
// or after 30 seconds (whichever comes first).
|
||||
registrationStrategy: 'registerWhenStable:30000',
|
||||
}),
|
||||
],
|
||||
providers: [
|
||||
{
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
<div #schedule class="schedule">
|
||||
<a [routerLink]="['/schedule/weekly-view']">
|
||||
<a [routerLink]="['/schedule/week-overview']">
|
||||
<ion-icon [size]="36" [weight]="300" name="calendar_month"></ion-icon>
|
||||
<ion-label [innerHTML]="'schedule.recurring' | translate"></ion-label>
|
||||
</a>
|
||||
|
||||
@@ -127,7 +127,6 @@ export class AddEventActionChipComponent {
|
||||
.filter(it => it.selected)
|
||||
.map(it => it.item),
|
||||
},
|
||||
mode: 'md', // TODO Remove if Issue 239 is solved.
|
||||
});
|
||||
|
||||
await modal.present();
|
||||
|
||||
@@ -36,7 +36,7 @@ export class ChipFilterComponent {
|
||||
/**
|
||||
* Emits when the chip has been activated/deactivated
|
||||
*/
|
||||
@Output() toggled = new EventEmitter<unknown>();
|
||||
@Output() toggle = new EventEmitter<unknown>();
|
||||
|
||||
/**
|
||||
* Value to emit when chip has been activated/deactivated
|
||||
@@ -47,6 +47,6 @@ export class ChipFilterComponent {
|
||||
* Signalize that the chip filter has been activated/deactivated
|
||||
*/
|
||||
emitToggle(value: unknown) {
|
||||
this.toggled.emit(value);
|
||||
this.toggle.emit(value);
|
||||
}
|
||||
}
|
||||
@@ -33,7 +33,7 @@ export const DataIcons = {
|
||||
'id card': SCIcon.badge,
|
||||
'message': SCIcon.newspaper,
|
||||
'organization': SCIcon.business_center,
|
||||
'periodical': SCIcon.feed,
|
||||
'periodical': SCIcon.news,
|
||||
'person': SCIcon.person,
|
||||
'point of interest': SCIcon.pin_drop,
|
||||
'publication event': SCIcon.campaign,
|
||||
|
||||
@@ -42,9 +42,11 @@
|
||||
}
|
||||
<!-- TODO see above -->
|
||||
@if (item.description && item.type !== 'job posting' && buttonShown) {
|
||||
<ion-button expand="full" fill="clear" (click)="toggleDescriptionAccordion()">
|
||||
<ion-icon [name]="buttonState" size="large"></ion-icon>
|
||||
</ion-button>
|
||||
<div class="read-more-container">
|
||||
<ion-button shape="round" size="small" (click)="toggleDescriptionAccordion()">
|
||||
READ_MORE...
|
||||
</ion-button>
|
||||
</div>
|
||||
}
|
||||
</ion-card-content>
|
||||
</ion-card>
|
||||
@@ -52,3 +52,21 @@ ion-card {
|
||||
--color: var(--ion-color-primary-contrast);
|
||||
}
|
||||
}
|
||||
|
||||
.read-more-container {
|
||||
position: relative;
|
||||
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
|
||||
margin-top: -24px;
|
||||
|
||||
background: linear-gradient(to bottom, transparent, var(--ion-color-primary));
|
||||
|
||||
ion-button {
|
||||
--background: var(--ion-color-primary-contrast);
|
||||
--color: var(--ion-color-primary);
|
||||
|
||||
height: 8px;
|
||||
}
|
||||
}
|
||||
@@ -18,8 +18,8 @@ import {SCThings} from '@openstapps/core';
|
||||
import {SCIcon} from '../../../util/ion-icon/icon';
|
||||
|
||||
const AccordionButtonState = {
|
||||
collapsed: SCIcon.expand_more,
|
||||
expanded: SCIcon.expand_less,
|
||||
collapsed: SCIcon.unfold_more,
|
||||
expanded: SCIcon.unfold_less,
|
||||
};
|
||||
|
||||
@Component({
|
||||
@@ -44,7 +44,7 @@ export class TitleCardComponent implements OnInit, OnChanges {
|
||||
|
||||
descriptionLinesTotal: number;
|
||||
|
||||
descriptionPreviewLines = 3;
|
||||
descriptionPreviewLines = 4;
|
||||
|
||||
descriptionLinesToDisplay = 0;
|
||||
|
||||
|
||||
@@ -383,7 +383,6 @@ export class SearchPageComponent implements OnInit {
|
||||
cssClass: 'context-menu-modal',
|
||||
showBackdrop: true,
|
||||
backdropDismiss: true,
|
||||
mode: 'md', // TODO has to be fixed to md for now. ios mode is unresponsive. Remove if Issue 239 is solved
|
||||
enterAnimation: (baseElement: HTMLElement) => enterAnimation(baseElement, this.animationController),
|
||||
leaveAnimation: (baseElement: HTMLElement) => leaveAnimation(baseElement, this.animationController),
|
||||
componentProps: {
|
||||
|
||||
@@ -37,8 +37,7 @@
|
||||
>
|
||||
</ion-searchbar>
|
||||
@if (showContextMenu) {
|
||||
<!-- TODO has to be fixed to md for now. ios mode displays broken/missing icon -->
|
||||
<ion-menu-button mode="md" menu="context" auto-hide="false" slot="end" (click)="openContextMenu()">
|
||||
<ion-menu-button menu="context" auto-hide="false" slot="end" (click)="openContextMenu()">
|
||||
<ion-icon name="tune"></ion-icon>
|
||||
</ion-menu-button>
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ import {FilterContext, SortContext} from './context-type';
|
||||
import {provideIonicAngular, ModalController} from '@ionic/angular/standalone';
|
||||
import {BehaviorSubject, of} from 'rxjs';
|
||||
import {addIcons} from 'ionicons';
|
||||
import {swapVertical, trash, menu} from 'ionicons/icons';
|
||||
import {swapVertical, trash} from 'ionicons/icons';
|
||||
|
||||
describe('ContextMenuModalComponent', () => {
|
||||
let fixture: ComponentFixture<ContextMenuModalComponent>;
|
||||
@@ -37,7 +37,6 @@ describe('ContextMenuModalComponent', () => {
|
||||
addIcons({
|
||||
delete: trash,
|
||||
sort: swapVertical,
|
||||
menu: menu,
|
||||
});
|
||||
|
||||
beforeEach(async () => {
|
||||
|
||||
@@ -62,9 +62,7 @@ export class TabsComponent {
|
||||
void this.loadMenuEntries();
|
||||
this.router.events.subscribe((event: unknown) => {
|
||||
if (event instanceof NavigationEnd) {
|
||||
setTimeout(() => {
|
||||
this.selectTab(event.url);
|
||||
}, 300);
|
||||
this.selectTab(event.url);
|
||||
}
|
||||
});
|
||||
this.selectTab(router.url);
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
'_EVENT' | translate: {count: myCoursesDay[1].length}
|
||||
}}</ion-label
|
||||
>
|
||||
<ion-icon class="ion-accordion-toggle-icon" name="expand_more"></ion-icon>
|
||||
<ion-icon class="ion-accordion-toggle-icon" name="keyboard_arrow_down"></ion-icon>
|
||||
</ion-item>
|
||||
<ion-list class="ion-padding" slot="content">
|
||||
@if (myCoursesDay[1].length === 0) {
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
-->
|
||||
<div class="header">
|
||||
<ion-button fill="clear" class="left-button" (click)="mainSwiper.pageBackwards()">
|
||||
<ion-icon slot="icon-only" name="chevron_left"></ion-icon>
|
||||
<ion-icon slot="icon-only" name="chevron_backward"></ion-icon>
|
||||
</ion-button>
|
||||
<ion-button fill="clear" class="right-button" (click)="mainSwiper.pageForward()">
|
||||
<ion-icon slot="icon-only" name="chevron_right"></ion-icon>
|
||||
<ion-icon slot="icon-only" name="chevron_forward"></ion-icon>
|
||||
</ion-button>
|
||||
<infinite-swiper
|
||||
class="header-swiper"
|
||||
|
||||
@@ -136,7 +136,7 @@ export class SchedulePageComponent implements OnInit, AfterViewInit {
|
||||
onInit() {
|
||||
this.tabChoreographer = new SharedAxisChoreographer(this.activatedRoute.snapshot.paramMap.get('mode'), [
|
||||
'calendar',
|
||||
'weekly-view',
|
||||
'week-overview',
|
||||
'single',
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
@if (tabChoreographer.currentValue === 'calendar') {
|
||||
<ion-title [innerHTML]="'schedule.calendar' | translate | titlecase"></ion-title>
|
||||
}
|
||||
@if (tabChoreographer.currentValue === 'weekly-view') {
|
||||
@if (tabChoreographer.currentValue === 'week-overview') {
|
||||
<ion-title [innerHTML]="'schedule.recurring' | translate | titlecase"></ion-title>
|
||||
}
|
||||
@if (tabChoreographer.currentValue === 'single') {
|
||||
@@ -39,7 +39,7 @@
|
||||
<ion-label class="ion-text-wrap" [innerHTML]="'schedule.calendar' | translate"></ion-label>
|
||||
<ion-icon name="calendar_today"></ion-icon>
|
||||
</ion-segment-button>
|
||||
<ion-segment-button value="weekly-view" layout="icon-start">
|
||||
<ion-segment-button value="week-overview" layout="icon-start">
|
||||
<ion-label class="ion-text-wrap" [innerHTML]="'schedule.recurring' | translate"></ion-label>
|
||||
<ion-icon name="event_repeat"></ion-icon>
|
||||
</ion-segment-button>
|
||||
@@ -61,7 +61,7 @@
|
||||
<stapps-calendar-view [layout]="layout"></stapps-calendar-view>
|
||||
}
|
||||
<!-- Schedule view needs full week -->
|
||||
@case ('weekly-view') {
|
||||
@case ('week-overview') {
|
||||
<stapps-schedule-view [layout]="layout"></stapps-schedule-view>
|
||||
}
|
||||
@case ('single') {
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
-->
|
||||
<div class="header">
|
||||
<ion-button fill="clear" class="left-button" (click)="mainSwiper.swiperRef.slidePrev()">
|
||||
<ion-icon slot="icon-only" name="chevron_left"></ion-icon>
|
||||
<ion-icon slot="icon-only" name="chevron_backward"></ion-icon>
|
||||
</ion-button>
|
||||
<ion-button fill="clear" class="right-button" (click)="mainSwiper.swiperRef.slideNext()">
|
||||
<ion-icon slot="icon-only" name="chevron_right"></ion-icon>
|
||||
<ion-icon slot="icon-only" name="chevron_forward"></ion-icon>
|
||||
</ion-button>
|
||||
<swiper
|
||||
class="header-swiper"
|
||||
|
||||
@@ -66,7 +66,7 @@ import {IonIconDirective} from 'src/app/util/ion-icon/ion-icon.directive';
|
||||
const settingsRoutes: Routes = [
|
||||
{path: 'schedule', redirectTo: 'schedule/calendar/now'},
|
||||
{path: 'schedule/calendar', redirectTo: 'schedule/calendar/now'},
|
||||
{path: 'schedule/weekly-view', redirectTo: 'schedule/weekly-view/now'},
|
||||
{path: 'schedule/week-overview', redirectTo: 'schedule/week-overview/now'},
|
||||
{path: 'schedule/single', redirectTo: 'schedule/single/now'},
|
||||
// calendar | recurring | single
|
||||
{path: 'schedule/:mode/:date', component: SchedulePageComponent},
|
||||
|
||||
@@ -1,94 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2022 StApps
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the Free
|
||||
* Software Foundation, version 3.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/* eslint-disable unicorn/no-useless-undefined, @typescript-eslint/no-non-null-assertion */
|
||||
import {TestBed} from '@angular/core/testing';
|
||||
import {StorageProvider} from '../../storage/storage.provider';
|
||||
import {
|
||||
InAppReviewProvider,
|
||||
IN_APP_REVIEW_COOLDOWN_DAYS,
|
||||
IN_APP_REVIEW_NECESSARY_SESSIONS,
|
||||
IN_APP_REVIEW_SETTINGS_KEY,
|
||||
IN_APP_REVIEW_SESSIONS_KEY,
|
||||
IN_APP_REVIEW_LAST_RATING_KEY,
|
||||
} from './in-app-review.provider';
|
||||
|
||||
describe('InappRatingProvider', () => {
|
||||
let storageProviderSpy: jasmine.SpyObj<StorageProvider>;
|
||||
let inappRatingProvider: InAppReviewProvider;
|
||||
const ONE_DAY_IN_MILLIS = 1000 * 3600 * 24;
|
||||
|
||||
beforeEach(async () => {
|
||||
storageProviderSpy = jasmine.createSpyObj('StorageProvider', ['init', 'get', 'has', 'put']);
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [],
|
||||
providers: [
|
||||
InAppReviewProvider,
|
||||
{
|
||||
provide: StorageProvider,
|
||||
useValue: storageProviderSpy,
|
||||
},
|
||||
],
|
||||
});
|
||||
// set settings returned from config
|
||||
inappRatingProvider = TestBed.inject(InAppReviewProvider);
|
||||
storageProviderSpy.has.and.returnValue(Promise.resolve(false));
|
||||
});
|
||||
|
||||
it('should set user sessions count starting with one', async () => {
|
||||
storageProviderSpy.get.and.returnValue(Promise.resolve(0));
|
||||
const sessionCount = await inappRatingProvider.increaseSessionCount();
|
||||
expect(sessionCount).toEqual(1);
|
||||
});
|
||||
|
||||
it('should start in app rating/review flow if contitions are met', async () => {
|
||||
const nowMinusCooldownDays = Date.now() - (IN_APP_REVIEW_COOLDOWN_DAYS + 1) * ONE_DAY_IN_MILLIS;
|
||||
spyOn(inappRatingProvider, 'requestReview').and.returnValue(Promise.resolve());
|
||||
|
||||
storageProviderSpy.get
|
||||
.withArgs(`${IN_APP_REVIEW_SETTINGS_KEY}.${IN_APP_REVIEW_SESSIONS_KEY}`)
|
||||
.and.returnValue(Promise.resolve(IN_APP_REVIEW_NECESSARY_SESSIONS));
|
||||
storageProviderSpy.get
|
||||
.withArgs(`${IN_APP_REVIEW_SETTINGS_KEY}.${IN_APP_REVIEW_LAST_RATING_KEY}`)
|
||||
.and.returnValue(Promise.resolve(nowMinusCooldownDays));
|
||||
await inappRatingProvider.startInAppReviewIfFeasible();
|
||||
expect(inappRatingProvider.requestReview).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
|
||||
it('should not start in app rating/review flow if contitions are not met', async () => {
|
||||
const nowMinusCooldownDays = Date.now() - IN_APP_REVIEW_COOLDOWN_DAYS * ONE_DAY_IN_MILLIS;
|
||||
spyOn(inappRatingProvider, 'requestReview').and.returnValue(Promise.resolve());
|
||||
|
||||
storageProviderSpy.get
|
||||
.withArgs(`${IN_APP_REVIEW_SETTINGS_KEY}.${IN_APP_REVIEW_SESSIONS_KEY}`)
|
||||
.and.returnValue(Promise.resolve(IN_APP_REVIEW_NECESSARY_SESSIONS - 1));
|
||||
storageProviderSpy.get
|
||||
.withArgs(`${IN_APP_REVIEW_SETTINGS_KEY}.${IN_APP_REVIEW_LAST_RATING_KEY}`)
|
||||
.and.returnValue(Promise.resolve(nowMinusCooldownDays));
|
||||
|
||||
await inappRatingProvider.startInAppReviewIfFeasible();
|
||||
|
||||
storageProviderSpy.get
|
||||
.withArgs(`${IN_APP_REVIEW_SETTINGS_KEY}.${IN_APP_REVIEW_SESSIONS_KEY}`)
|
||||
.and.returnValue(Promise.resolve(IN_APP_REVIEW_NECESSARY_SESSIONS));
|
||||
storageProviderSpy.get
|
||||
.withArgs(`${IN_APP_REVIEW_SETTINGS_KEY}.${IN_APP_REVIEW_LAST_RATING_KEY}`)
|
||||
.and.returnValue(Promise.resolve(nowMinusCooldownDays + ONE_DAY_IN_MILLIS));
|
||||
|
||||
await inappRatingProvider.startInAppReviewIfFeasible();
|
||||
|
||||
expect(inappRatingProvider.requestReview).toHaveBeenCalledTimes(0);
|
||||
});
|
||||
});
|
||||
@@ -1,120 +0,0 @@
|
||||
import {Injectable} from '@angular/core';
|
||||
import {InAppReview} from '@capacitor-community/in-app-review';
|
||||
import {StorageProvider} from '../../storage/storage.provider';
|
||||
|
||||
export const IN_APP_REVIEW_COOLDOWN_DAYS = 365;
|
||||
export const IN_APP_REVIEW_NECESSARY_SESSIONS = 3;
|
||||
|
||||
export const IN_APP_REVIEW_SETTINGS_KEY = 'inapp-rating';
|
||||
export const IN_APP_REVIEW_SESSIONS_KEY = 'sessions';
|
||||
export const IN_APP_REVIEW_LAST_RATING_KEY = 'last-rating';
|
||||
export type IN_APP_REVIEW_KEYS = typeof IN_APP_REVIEW_SESSIONS_KEY | typeof IN_APP_REVIEW_LAST_RATING_KEY;
|
||||
|
||||
/**
|
||||
* Provider for In-App Review
|
||||
*/
|
||||
@Injectable()
|
||||
export class InAppReviewProvider {
|
||||
requestReview: () => Promise<void>;
|
||||
|
||||
/**
|
||||
* @param storageProvider TODO
|
||||
*/
|
||||
constructor(private readonly storageProvider: StorageProvider) {
|
||||
this.requestReview = InAppReview.requestReview;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private inappRatingSettingStorageKey(key: string): string {
|
||||
return `${IN_APP_REVIEW_SETTINGS_KEY}.${key}`;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private async getInAppReviewSetting<T>(
|
||||
key: IN_APP_REVIEW_KEYS,
|
||||
defaultValue: T,
|
||||
): Promise<typeof defaultValue> {
|
||||
try {
|
||||
return await this.storageProvider.get<typeof defaultValue>(this.inappRatingSettingStorageKey(key));
|
||||
} catch {
|
||||
return defaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private async setInAppReviewSetting<T>(key: IN_APP_REVIEW_KEYS, value: T) {
|
||||
return this.storageProvider.put<typeof value>(this.inappRatingSettingStorageKey(key), value);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private async setInAppReviewSessions(value: number) {
|
||||
return this.setInAppReviewSetting(IN_APP_REVIEW_SESSIONS_KEY, value);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private async getInAppReviewSessions(): Promise<number> {
|
||||
return this.getInAppReviewSetting(IN_APP_REVIEW_SESSIONS_KEY, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private async setInAppReviewLastRating(value: Date) {
|
||||
return this.setInAppReviewSetting(IN_APP_REVIEW_LAST_RATING_KEY, value.getTime());
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private async getInAppReviewLastRating(): Promise<Date> {
|
||||
return this.getInAppReviewSetting(IN_APP_REVIEW_LAST_RATING_KEY, 0).then(timestamp => {
|
||||
return new Date(timestamp);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Increases session count to keep local info how often the app was used.
|
||||
*/
|
||||
public async increaseSessionCount(increment = 1): Promise<number> {
|
||||
try {
|
||||
const currentSessions = await this.getInAppReviewSessions();
|
||||
await this.setInAppReviewSessions(currentSessions + increment);
|
||||
return currentSessions + increment;
|
||||
} catch {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Invokes In App Review Flow/Views depending on the OS iff conditions are met.
|
||||
*/
|
||||
public async startInAppReviewIfFeasible(): Promise<boolean> {
|
||||
try {
|
||||
const currentSessions = await this.getInAppReviewSessions();
|
||||
const lastRating = await this.getInAppReviewLastRating();
|
||||
const dateDiffMillis = Math.abs(lastRating.getTime() - Date.now());
|
||||
const dateDiffDays = Math.floor(dateDiffMillis / (1000 * 3600 * 24));
|
||||
|
||||
if (currentSessions < IN_APP_REVIEW_NECESSARY_SESSIONS || dateDiffDays < IN_APP_REVIEW_COOLDOWN_DAYS) {
|
||||
return false;
|
||||
}
|
||||
|
||||
await this.requestReview();
|
||||
await this.setInAppReviewLastRating(new Date());
|
||||
|
||||
return true;
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -33,7 +33,7 @@
|
||||
}
|
||||
<ion-card-content>
|
||||
@if (!compactView) {
|
||||
<ion-note>{{ 'description' | thingTranslate: setting }}</ion-note>
|
||||
<ion-note>{{ 'description' | thingTranslate: setting | titlecase }}</ion-note>
|
||||
}
|
||||
@if (isVisible) {
|
||||
<div>
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
|
||||
<ion-button expand="block" (click)="presentResetAlert()" fill="outline">
|
||||
{{ 'settings.resetSettings' | translate }}
|
||||
<ion-icon slot="start" name="device_reset"></ion-icon>
|
||||
<ion-icon slot="start" name="history"></ion-icon>
|
||||
</ion-button>
|
||||
</div>
|
||||
</ion-content>
|
||||
@@ -55,7 +55,6 @@ import {
|
||||
IonToolbar,
|
||||
} from '@ionic/angular/standalone';
|
||||
import {IonIconDirective} from 'src/app/util/ion-icon/ion-icon.directive';
|
||||
import {InAppReviewProvider} from './in-app-review/in-app-review.provider';
|
||||
|
||||
const settingsRoutes: Routes = [{path: 'settings', component: SettingsPageComponent}];
|
||||
|
||||
@@ -102,13 +101,6 @@ const settingsRoutes: Routes = [{path: 'settings', component: SettingsPageCompon
|
||||
IonInput,
|
||||
IonNote,
|
||||
],
|
||||
providers: [
|
||||
ScheduleSyncService,
|
||||
SettingsProvider,
|
||||
InAppReviewProvider,
|
||||
CalendarService,
|
||||
ScheduleProvider,
|
||||
ThingTranslatePipe,
|
||||
],
|
||||
providers: [ScheduleSyncService, SettingsProvider, CalendarService, ScheduleProvider, ThingTranslatePipe],
|
||||
})
|
||||
export class SettingsModule {}
|
||||
@@ -304,8 +304,8 @@ describe('SettingsProvider', () => {
|
||||
},
|
||||
en: {
|
||||
description:
|
||||
'The user group the app is going to use primarily.' +
|
||||
' This settings for example is getting used for the predefined price category of mensa meals.',
|
||||
'The user group the app is going to be used.' +
|
||||
'This settings for example is getting used for the predefined price category of mensa meals.',
|
||||
name: 'Group',
|
||||
},
|
||||
},
|
||||
|
||||
@@ -14,10 +14,12 @@ export class EncryptedStorageProvider {
|
||||
* @returns The value of the resource, if found
|
||||
*/
|
||||
async get<T>(key: string): Promise<T | undefined> {
|
||||
if (!Capacitor.isNativePlatform()) return undefined;
|
||||
|
||||
try {
|
||||
const jwt = JSON.parse((await SecureStoragePlugin.get({key: `stapps:key:${key}`})).value);
|
||||
const jwt = JSON.parse(
|
||||
await (Capacitor.isNativePlatform()
|
||||
? SecureStoragePlugin.get({key: `stapps:key:${key}`}).then(it => it.value)
|
||||
: this.storageProvider.get<string>(`stapps:key:${key}`)),
|
||||
);
|
||||
const aesKey = await crypto.subtle.importKey('jwk', jwt, {name: 'AES-GCM'}, true, [
|
||||
'encrypt',
|
||||
'decrypt',
|
||||
@@ -48,8 +50,6 @@ export class EncryptedStorageProvider {
|
||||
* @returns A promise that resolves when the value is stored
|
||||
*/
|
||||
async set<T>(key: string, value: T): Promise<void> {
|
||||
if (!Capacitor.isNativePlatform()) return undefined;
|
||||
|
||||
try {
|
||||
const compressionStream = new CompressionStream('gzip');
|
||||
const writer = compressionStream.writable.getWriter();
|
||||
@@ -63,11 +63,14 @@ export class EncryptedStorageProvider {
|
||||
'decrypt',
|
||||
]);
|
||||
|
||||
const exportedKey = JSON.stringify(await crypto.subtle.exportKey('jwk', aesKey));
|
||||
await Promise.all([
|
||||
SecureStoragePlugin.set({
|
||||
key: `stapps:key:${key}`,
|
||||
value: JSON.stringify(await crypto.subtle.exportKey('jwk', aesKey)),
|
||||
}),
|
||||
Capacitor.isNativePlatform()
|
||||
? SecureStoragePlugin.set({
|
||||
key: `stapps:key:${key}`,
|
||||
value: exportedKey,
|
||||
})
|
||||
: this.storageProvider.put(`stapps:key:${key}`, exportedKey),
|
||||
this.storageProvider.put(`encrypted:${key}:iv`, iv),
|
||||
]);
|
||||
|
||||
@@ -81,10 +84,10 @@ export class EncryptedStorageProvider {
|
||||
}
|
||||
|
||||
async delete(key: string): Promise<void> {
|
||||
if (!Capacitor.isNativePlatform()) return;
|
||||
|
||||
await Promise.all([
|
||||
SecureStoragePlugin.remove({key: `stapps:key:${key}`}),
|
||||
Capacitor.isNativePlatform()
|
||||
? SecureStoragePlugin.remove({key: `stapps:key:${key}`})
|
||||
: this.storageProvider.delete(`stapps:key:${key}`),
|
||||
this.storageProvider.delete(`encrypted:${key}:iv`),
|
||||
this.storageProvider.delete(`encrypted:${key}`),
|
||||
]);
|
||||
|
||||
@@ -106,6 +106,7 @@ describe('StorageProvider', () => {
|
||||
});
|
||||
|
||||
it('should put multiple values into the storage', async () => {
|
||||
// @ts-expect-error no need to return anything for this case
|
||||
spyOn(storageProvider, 'put').and.callFake(() => Promise.resolve());
|
||||
await storageProvider.putMultiple(sampleEntries);
|
||||
|
||||
|
||||
@@ -120,9 +120,8 @@ export class StorageProvider {
|
||||
* Puts a value of type T into the storage using provided key
|
||||
* @param key Unique identifier
|
||||
* @param value Resource to store under the key
|
||||
* @returns Returns a promise that resolves when the key and value are set
|
||||
*/
|
||||
async put<T>(key: string, value: T) {
|
||||
async put<T>(key: string, value: T): Promise<T> {
|
||||
return this.storage.set(key, value);
|
||||
}
|
||||
|
||||
|
||||
@@ -150,12 +150,12 @@ const iconMap = new Map<string, MaterialSymbol>([
|
||||
[menuSharp, SCIcon.menu],
|
||||
[searchOutline, SCIcon.search],
|
||||
[searchSharp, SCIcon.search],
|
||||
[chevronExpand, SCIcon.expand_all],
|
||||
[caretDownSharp, SCIcon.expand_more],
|
||||
[chevronExpand, SCIcon.keyboard_arrow_down],
|
||||
[caretDownSharp, SCIcon.keyboard_arrow_down],
|
||||
[close, SCIcon.close],
|
||||
[closeSharp, SCIcon.close],
|
||||
[closeCircle, SCIcon.cancel],
|
||||
[ellipsisHorizontal, SCIcon.more_horiz],
|
||||
['chevron-down-outline', SCIcon.expand_more],
|
||||
['chevron-down-outline', SCIcon.keyboard_arrow_down],
|
||||
['arrow_back', SCIcon.arrow_back],
|
||||
]);
|
||||
@@ -1,48 +1,48 @@
|
||||
[
|
||||
{
|
||||
"licenseText": "The MIT License\n\nCopyright (c) 2010-2024 Google LLC. https://angular.dev/license\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n",
|
||||
"name": "@angular/animations@18.2.13",
|
||||
"licenseText": "Angular\n=======\n\nThe sources for this package are in the main [Angular](https://github.com/angular/angular) repo. Please file issues and pull requests against that repo.\n\nUsage information and reference details can be found in [Angular documentation](https://angular.io/docs).\n\nLicense: MIT\n",
|
||||
"name": "@angular/animations@17.3.12",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/angular/angular",
|
||||
"publisher": "angular"
|
||||
},
|
||||
{
|
||||
"licenseText": "The MIT License\n\nCopyright (c) 2024 Google LLC.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n",
|
||||
"name": "@angular/cdk@18.2.13",
|
||||
"name": "@angular/cdk@17.3.10",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/angular/components"
|
||||
},
|
||||
{
|
||||
"licenseText": "The MIT License\n\nCopyright (c) 2010-2024 Google LLC. https://angular.dev/license\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n",
|
||||
"name": "@angular/common@18.2.13",
|
||||
"licenseText": "Angular\n=======\n\nThe sources for this package are in the main [Angular](https://github.com/angular/angular) repo. Please file issues and pull requests against that repo.\n\nUsage information and reference details can be found in [Angular documentation](https://angular.io/docs).\n\nLicense: MIT\n",
|
||||
"name": "@angular/common@17.3.12",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/angular/angular",
|
||||
"publisher": "angular"
|
||||
},
|
||||
{
|
||||
"licenseText": "The MIT License\n\nCopyright (c) 2010-2024 Google LLC. https://angular.dev/license\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n",
|
||||
"name": "@angular/core@18.2.13",
|
||||
"licenseText": "Angular\n=======\n\nThe sources for this package are in the main [Angular](https://github.com/angular/angular) repo. Please file issues and pull requests against that repo.\n\nUsage information and reference details can be found in [Angular documentation](https://angular.io/docs).\n\nLicense: MIT\n",
|
||||
"name": "@angular/core@17.3.12",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/angular/angular",
|
||||
"publisher": "angular"
|
||||
},
|
||||
{
|
||||
"licenseText": "The MIT License\n\nCopyright (c) 2010-2024 Google LLC. https://angular.dev/license\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n",
|
||||
"name": "@angular/forms@18.2.13",
|
||||
"licenseText": "Angular\n=======\n\nThe sources for this package are in the main [Angular](https://github.com/angular/angular) repo. Please file issues and pull requests against that repo.\n\nUsage information and reference details can be found in [Angular documentation](https://angular.io/docs).\n\nLicense: MIT\n",
|
||||
"name": "@angular/forms@17.3.12",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/angular/angular",
|
||||
"publisher": "angular"
|
||||
},
|
||||
{
|
||||
"licenseText": "The MIT License\n\nCopyright (c) 2010-2024 Google LLC. https://angular.dev/license\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n",
|
||||
"name": "@angular/platform-browser@18.2.13",
|
||||
"licenseText": "Angular\n=======\n\nThe sources for this package are in the main [Angular](https://github.com/angular/angular) repo. Please file issues and pull requests against that repo.\n\nUsage information and reference details can be found in [Angular documentation](https://angular.io/docs).\n\nLicense: MIT\n",
|
||||
"name": "@angular/platform-browser@17.3.12",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/angular/angular",
|
||||
"publisher": "angular"
|
||||
},
|
||||
{
|
||||
"licenseText": "The MIT License\n\nCopyright (c) 2010-2024 Google LLC. https://angular.dev/license\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n",
|
||||
"name": "@angular/router@18.2.13",
|
||||
"licenseText": "Angular\n=======\n\nThe sources for this package are in the main [Angular](https://github.com/angular/angular) repo. Please file issues and pull requests against that repo.\n\nUsage information and reference details can be found in [Angular documentation](https://angular.io/docs).\n\nLicense: MIT\n",
|
||||
"name": "@angular/router@17.3.12",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/angular/angular",
|
||||
"publisher": "angular"
|
||||
@@ -59,22 +59,15 @@
|
||||
"repository": "https://github.com/danielsogl/awesome-cordova-plugins",
|
||||
"publisher": "ionic"
|
||||
},
|
||||
{
|
||||
"licenseText": "The MIT License (MIT)\n\nCopyright (c) 2022 Daniel Suchý\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n",
|
||||
"name": "@capacitor-community/in-app-review@7.0.1",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/capacitor-community/in-app-review"
|
||||
},
|
||||
{
|
||||
"licenseText": "MIT License\n\nCopyright (c) 2020 Drifty Co.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n",
|
||||
"name": "@capacitor-community/screen-brightness@7.0.0",
|
||||
"name": "@capacitor-community/screen-brightness@6.0.0",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/capacitor-community/screen-brightness",
|
||||
"publisher": "Ely Lucas"
|
||||
"repository": "https://github.com/capacitor-community/screen-brightness"
|
||||
},
|
||||
{
|
||||
"licenseText": "Copyright 2020-present Ionic\nhttps://ionic.io\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
|
||||
"name": "@capacitor/app@7.0.2",
|
||||
"name": "@capacitor/app@6.0.0",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-plugins",
|
||||
"publisher": "Ionic",
|
||||
@@ -82,7 +75,7 @@
|
||||
},
|
||||
{
|
||||
"licenseText": "Copyright 2020-present Ionic\nhttps://ionic.io\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
|
||||
"name": "@capacitor/browser@7.0.2",
|
||||
"name": "@capacitor/browser@6.0.1",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-plugins",
|
||||
"publisher": "Ionic",
|
||||
@@ -90,7 +83,7 @@
|
||||
},
|
||||
{
|
||||
"licenseText": "Copyright 2020-present Ionic\nhttps://ionic.io\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
|
||||
"name": "@capacitor/clipboard@7.0.2",
|
||||
"name": "@capacitor/clipboard@6.0.0",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-plugins",
|
||||
"publisher": "Ionic",
|
||||
@@ -98,7 +91,7 @@
|
||||
},
|
||||
{
|
||||
"licenseText": "MIT License\n\nCopyright (c) 2017-present Drifty Co.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n",
|
||||
"name": "@capacitor/core@7.4.2",
|
||||
"name": "@capacitor/core@6.2.1",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor",
|
||||
"publisher": "Ionic Team",
|
||||
@@ -107,7 +100,7 @@
|
||||
},
|
||||
{
|
||||
"licenseText": "Copyright 2020-present Ionic\nhttps://ionic.io\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
|
||||
"name": "@capacitor/device@7.0.2",
|
||||
"name": "@capacitor/device@6.0.0",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-plugins",
|
||||
"publisher": "Ionic",
|
||||
@@ -115,29 +108,7 @@
|
||||
},
|
||||
{
|
||||
"licenseText": "Copyright 2020-present Ionic\nhttps://ionic.io\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
|
||||
"name": "@capacitor/dialog@7.0.2",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-plugins",
|
||||
"publisher": "Ionic",
|
||||
"email": "hi@ionicframework.com"
|
||||
},
|
||||
{
|
||||
"licenseText": "MIT License\n\nCopyright (c) 2025 Ionic\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n",
|
||||
"name": "@capacitor/filesystem@7.1.4",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-filesystem",
|
||||
"publisher": "Outsystems"
|
||||
},
|
||||
{
|
||||
"licenseText": "MIT License\n\nCopyright (c) 2025 Ionic\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n",
|
||||
"name": "@capacitor/geolocation@7.1.5",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-geolocation",
|
||||
"publisher": "Outsystems"
|
||||
},
|
||||
{
|
||||
"licenseText": "Copyright 2020-present Ionic\nhttps://ionic.io\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
|
||||
"name": "@capacitor/haptics@7.0.2",
|
||||
"name": "@capacitor/dialog@6.0.0",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-plugins",
|
||||
"publisher": "Ionic",
|
||||
@@ -145,7 +116,7 @@
|
||||
},
|
||||
{
|
||||
"licenseText": "Copyright 2020-present Ionic\nhttps://ionic.io\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
|
||||
"name": "@capacitor/keyboard@7.0.2",
|
||||
"name": "@capacitor/filesystem@6.0.0",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-plugins",
|
||||
"publisher": "Ionic",
|
||||
@@ -153,7 +124,7 @@
|
||||
},
|
||||
{
|
||||
"licenseText": "Copyright 2020-present Ionic\nhttps://ionic.io\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
|
||||
"name": "@capacitor/local-notifications@7.0.2",
|
||||
"name": "@capacitor/geolocation@6.0.0",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-plugins",
|
||||
"publisher": "Ionic",
|
||||
@@ -161,7 +132,7 @@
|
||||
},
|
||||
{
|
||||
"licenseText": "Copyright 2020-present Ionic\nhttps://ionic.io\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
|
||||
"name": "@capacitor/network@7.0.2",
|
||||
"name": "@capacitor/haptics@6.0.0",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-plugins",
|
||||
"publisher": "Ionic",
|
||||
@@ -169,7 +140,7 @@
|
||||
},
|
||||
{
|
||||
"licenseText": "Copyright 2020-present Ionic\nhttps://ionic.io\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
|
||||
"name": "@capacitor/preferences@7.0.2",
|
||||
"name": "@capacitor/keyboard@6.0.1",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-plugins",
|
||||
"publisher": "Ionic",
|
||||
@@ -177,7 +148,31 @@
|
||||
},
|
||||
{
|
||||
"licenseText": "Copyright 2020-present Ionic\nhttps://ionic.io\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
|
||||
"name": "@capacitor/screen-orientation@7.0.2",
|
||||
"name": "@capacitor/local-notifications@6.0.0",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-plugins",
|
||||
"publisher": "Ionic",
|
||||
"email": "hi@ionicframework.com"
|
||||
},
|
||||
{
|
||||
"licenseText": "Copyright 2020-present Ionic\nhttps://ionic.io\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
|
||||
"name": "@capacitor/network@6.0.1",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-plugins",
|
||||
"publisher": "Ionic",
|
||||
"email": "hi@ionicframework.com"
|
||||
},
|
||||
{
|
||||
"licenseText": "Copyright 2020-present Ionic\nhttps://ionic.io\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
|
||||
"name": "@capacitor/preferences@6.0.1",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-plugins",
|
||||
"publisher": "Ionic",
|
||||
"email": "hi@ionicframework.com"
|
||||
},
|
||||
{
|
||||
"licenseText": "Copyright 2020-present Ionic\nhttps://ionic.io\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
|
||||
"name": "@capacitor/screen-orientation@6.0.1",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-plugins",
|
||||
"publisher": "Ionic",
|
||||
@@ -185,7 +180,7 @@
|
||||
},
|
||||
{
|
||||
"licenseText": "Copyright 2020-present Ionic\nhttps://ionic.io\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
|
||||
"name": "@capacitor/share@7.0.2",
|
||||
"name": "@capacitor/share@6.0.1",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-plugins",
|
||||
"publisher": "Ionic",
|
||||
@@ -193,21 +188,27 @@
|
||||
},
|
||||
{
|
||||
"licenseText": "Copyright 2020-present Ionic\nhttps://ionic.io\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
|
||||
"name": "@capacitor/splash-screen@7.0.2",
|
||||
"name": "@capacitor/splash-screen@6.0.1",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/capacitor-plugins",
|
||||
"publisher": "Ionic",
|
||||
"email": "hi@ionicframework.com"
|
||||
},
|
||||
{
|
||||
"name": "@ionic/angular-server@8.7.3",
|
||||
"name": "@ionic-native/core@5.36.0",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/ionic-native",
|
||||
"publisher": "ionic"
|
||||
},
|
||||
{
|
||||
"name": "@ionic/angular-server@8.6.1",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/ionic-framework",
|
||||
"publisher": "Ionic Team"
|
||||
},
|
||||
{
|
||||
"licenseText": "# @ionic/angular\n\nIonic Angular specific building blocks on top of [@ionic/core](https://www.npmjs.com/package/@ionic/core) components.\n\n\n## Related\n\n* [Ionic Core Components](https://www.npmjs.com/package/@ionic/core)\n* [Ionic Documentation](https://ionicframework.com/docs/)\n* [Ionic Discord](https://ionic.link/discord)\n* [Ionic Forum](https://forum.ionicframework.com/)\n* [Ionicons](http://ionicons.com/)\n* [Stencil](https://stenciljs.com/)\n* [Capacitor](https://capacitor.ionicframework.com/)\n\n\n## License\n\n* [MIT](https://raw.githubusercontent.com/ionic-team/ionic/main/LICENSE)\n\n## Testing Local Ionic Framework with `ng add`\n\nThis guide shows you how to test the local Ionic Framework build with a new Angular application using `ng add`. This is useful for development and testing changes before publishing.\n\n### Prerequisites\n\n- Node.js and npm installed\n- Angular CLI installed globally (`npm install -g @angular/cli`)\n\n### Build Local Ionic Framework\n\n1. Clone the repository (if not already done):\n ```sh\n git clone https://github.com/ionic-team/ionic-framework.git\n cd ionic-framework\n ```\n\n2. Pull the latest from `main`\n ```sh\n git pull origin main\n ```\n\n3. Install dependencies and build the `core` package:\n ```sh\n cd core\n npm install\n npm run build\n ```\n\n4. Install dependencies, sync the `core` build and build the Angular package:\n ```sh\n cd ../packages/angular\n npm install\n npm run sync\n npm run build\n ```\n\n5. Create a tarball:\n ```sh\n cd dist\n npm pack\n ```\n\n6. Copy the tarball to Downloads:\n ```sh\n cp ionic-angular-*.tgz ~/Downloads/ionic-angular.tgz\n ```\n\n### Test with New Angular App\n\n7. Create a new Angular app:\n ```sh\n # Change to whichever directory you want the app in\n cd ~/Documents/\n ng new my-app --style=css --ssr=false --zoneless=false\n cd my-app\n ```\n\n8. Install the local `@ionic/angular` package:\n ```sh\n npm install ~/Downloads/ionic-angular.tgz\n ```\n\n9. Run `ng add`:\n ```sh\n ng add @ionic/angular --skip-confirmation\n ```\n\n10. Serve the app:\n ```sh\n ng serve\n ```\n\nThe local Ionic Framework build is now active in the Angular app. Changes to the Ionic source code require rebuilding the packages and reinstalling the tarball to see updates.\n\n## Project Structure\n\n**common**\n\nThis is where logic that is shared between lazy loaded and standalone components live. For example, the lazy loaded IonPopover and standalone IonPopover components extend from a base IonPopover implementation that exists in this directory.\n\n**Note:** This directory exposes internal APIs and is only accessed in the `standalone` and `src` submodules. Ionic developers should never import directly from `@ionic/angular/common`. Instead, they should import from `@ionic/angular` or `@ionic/angular/standalone`.\n\n**standalone**\n\nThis is where the standalone component implementations live. It was added as a separate entry point to avoid any lazy loaded logic from accidentally being pulled in to the final build. Having a separate directory allows the lazy loaded implementation to remain accessible from `@ionic/angular` for backwards compatibility.\n\nIonic developers can access this by importing from `@ionic/angular/standalone`.\n\n**src**\n\nThis is where the lazy loaded component implementations live.\n\nIonic developers can access this by importing from `@ionic/angular`.\n",
|
||||
"name": "@ionic/angular@8.7.3",
|
||||
"licenseText": "# @ionic/angular\n\nIonic Angular specific building blocks on top of [@ionic/core](https://www.npmjs.com/package/@ionic/core) components.\n\n\n## Related\n\n* [Ionic Core Components](https://www.npmjs.com/package/@ionic/core)\n* [Ionic Documentation](https://ionicframework.com/docs/)\n* [Ionic Discord](https://ionic.link/discord)\n* [Ionic Forum](https://forum.ionicframework.com/)\n* [Ionicons](http://ionicons.com/)\n* [Stencil](https://stenciljs.com/)\n* [Capacitor](https://capacitor.ionicframework.com/)\n\n\n## License\n\n* [MIT](https://raw.githubusercontent.com/ionic-team/ionic/main/LICENSE)\n\n## Testing ng-add in ionic\n\n1. Pull the latest from `main`\n2. Build ionic/angular: `npm run build`\n3. Run `npm link` from `ionic/angular/dist` directory\n4. Create a blank angular project\n\n```\nng new add-test\n// Say yes to including the router, we need it\ncd add-test\n```\n\n5. To run schematics locally, we need the schematics-cli (once published, this will not be needed)\n\n```\nnpm install @angular-devkit/schematics-cli\n```\n\n6. Link `@ionic/angular`\n\n```\nnpm link @ionic/angular\n```\n\n\n7. Run the local copy of the ng-add schematic\n\n```\n$ npx schematics @ionic/angular:ng-add\n```\n\n\nYou'll now be able to add ionic components to a vanilla Angular app setup.\n\n## Project Structure\n\n**common**\n\nThis is where logic that is shared between lazy loaded and standalone components live. For example, the lazy loaded IonPopover and standalone IonPopover components extend from a base IonPopover implementation that exists in this directory.\n\n**Note:** This directory exposes internal APIs and is only accessed in the `standalone` and `src` submodules. Ionic developers should never import directly from `@ionic/angular/common`. Instead, they should import from `@ionic/angular` or `@ionic/angular/standalone`.\n\n**standalone**\n\nThis is where the standalone component implementations live. It was added as a separate entry point to avoid any lazy loaded logic from accidentally being pulled in to the final build. Having a separate directory allows the lazy loaded implementation to remain accessible from `@ionic/angular` for backwards compatibility.\n\nIonic developers can access this by importing from `@ionic/angular/standalone`.\n\n**src**\n\nThis is where the lazy loaded component implementations live.\n\nIonic developers can access this by importing from `@ionic/angular`.\n",
|
||||
"name": "@ionic/angular@8.6.1",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/ionic-framework"
|
||||
},
|
||||
@@ -226,14 +227,14 @@
|
||||
{"name": "@ngx-translate/http-loader@8.0.0", "licenses": "Custom: LICENSE"},
|
||||
{
|
||||
"licenseText": " Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under thiLine truncated
|
||||
"name": "@openid/appauth@1.3.2",
|
||||
"name": "@openid/appauth@1.3.1",
|
||||
"licenses": "Apache-2.0",
|
||||
"repository": "https://github.com/openid/AppAuth-JS",
|
||||
"publisher": "The OpenID Foundation"
|
||||
},
|
||||
{
|
||||
"licenseText": "# @transistorsoft/capacitor-background-fetch\n\n[](https://www.transistorsoft.com)\n\nBy [**Transistor Software**](http://transistorsoft.com), creators of [**Capacitor Background Geolocation**](http://www.transistorsoft.com/shop/products/capacitor-background-geolocation)\n\n------------------------------------------------------------------------------\n\n*Background Fetch* is a *very* simple plugin which attempts to awaken an app in the background about **every 15 minutes**, providing a short period of background running-time. This plugin will execute your provided `callbackFn` whenever a background-fetch event occurs.\n\nThere is **no way** to increase the rate which a fetch-event occurs and this plugin sets the rate to the most frequent possible — you will **never** receive an event faster than **15 minutes**. The operating-system will automatically throttle the rate the background-fetch events occur based upon usage patterns. Eg: if user hasn't turned on their phone for a long period of time, fetch events will occur less frequently or if an iOS user disables background refresh they may not happen at all.\n\n> ### :rotating_light: This plugin requires Capacitor 5 :rotating_light:\n>\n> For Capacitor 4, use the 1.x version of the plugin.\n\n\n:new: Background Fetch now provides a [__`scheduleTask`__](#executing-custom-tasks) method for scheduling arbitrary \"one-shot\" or periodic tasks.\n\n### iOS\n- There is **no way** to increase the rate which a fetch-event occurs and this plugin sets the rate to the most frequent possible — you will **never** receive an event faster than **15 minutes**. The operating-system will automatically throttle the rate the background-fetch events occur based upon usage patterns. Eg: if user hasn't turned on their phone for a long period of time, fetch events will occur less frequently.\n- [__`scheduleTask`__](#executing-custom-tasks) seems only to fire when the device is plugged into power.\n- ⚠️ When your app is **terminated**, iOS *no longer fires events* — There is *no such thing* as [__`stopOnTerminate: false`__](https://transistorsoft.github.io/capacitor-background-fetch/interfaces/backgroundfetchconfig.html#stoponterminate) for iOS.\n- iOS can take *days* before Apple's machine-learning algorithm settles in and begins regularly firing events. Do not sit staring at your logs waiting for an event to fire. If your [*simulated events*](#debugging) work, that's all you need to know that everything is correctly configured.\n- If the user doesn't open your *iOS* app for long periods of time, *iOS* will **stop firing events**.\n\n### Android\n- The Android plugin provides a __*Headless*__ mechanism allowing you to continue handling events even after app-termination (see [Receiving Events After App Termination](#receiving-events-after-app-termination-1))\n\n-------------------------------------------------------------\n\n# Contents\n- ### :books: [API Documentation](https://transistorsoft.github.io/capacitor-background-fetch/)\n- ### [Installing the Plugin](#installing-the-plugin)\n- ### [Setup Guides](#setup-guides)\n - [iOS Setup](help/INSTALL-IOS.md)\n - [Android Setup](help/INSTALL-ANDROID.md)\n- ### [Example](#example)\n- ### [Receiving events after app termination](#receiving-events-after-app-termination-1)\n- ### [Debugging](#debugging)\n\n-------------------------------------------------------------\n\n## Installing the plugin\n\n### With `yarn`\n\n```bash\n$ yarn add @transistorsoft/capacitor-background-fetch\n$ npx cap sync\n```\n\n### With `npm`\n```bash\n$ npm install --save @transistorsoft/capacitor-background-fetch\n$ npx cap sync\n```\n\n- Proceed to [Required Setup Guides](#setup-guides)\n\n## Setup Guides\n\n### iOS Setup\n\n- [Required Setup](help/INSTALL-IOS.md)\n\n### Android Setup\n\n- [Required Setup](help/INSTALL-ANDROID.md)\n\n## Example ##\n\n:information_source: This repo contains its own *Example App*. See [`/example`](./example/README.md)\n\n#### Angular Example:\n\n- See API Docs [__`BackgroundFetch.configure`__](https://transistorsoft.github.io/capacitor-background-fetch/classes/backgroundfetch.html#configure)\n\n```javascript\nimport { Component } from '@angular/core';\n\nimport {BackgroundFetch} from '@transistorsoft/capacitor-background-fetch';\n\n@Component({\n selector: 'app-home',\n templateUrl: 'home.page.html',\n styleUrls: ['home.page.scss'],\n})\nexport class HomePage {\n constructor() {}\n\n // Initialize in ngAfterContentInit\n // [WARNING] DO NOT use ionViewWillEnter, as that method won't run when app is launched in background.\n ngAfterContentInit() {\n this.initBackgroundFetch();\n }\n\n async initBackgroundFetch() {\n const status = await BackgroundFetch.configure({\n minimumFetchInterval: 15\n }, async (taskId) => {\n console.log('[BackgroundFetch] EVENT:', taskId);\n //Line truncated
|
||||
"name": "@transistorsoft/capacitor-background-fetch@7.1.0",
|
||||
"name": "@transistorsoft/capacitor-background-fetch@6.0.0",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/transistorsoft/capacitor-background-fetch",
|
||||
"publisher": "Transistor Software",
|
||||
@@ -254,7 +255,7 @@
|
||||
},
|
||||
{
|
||||
"licenseText": "MIT License\n\nCopyright (c) 2019 martinkasa\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n",
|
||||
"name": "capacitor-secure-storage-plugin@0.11.0",
|
||||
"name": "capacitor-secure-storage-plugin@0.10.0",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/martinkasa/capacitor-secure-storage-plugin",
|
||||
"publisher": "martinkasa"
|
||||
@@ -298,14 +299,14 @@
|
||||
},
|
||||
{
|
||||
"licenseText": "MIT License\n\nCopyright (c) 2019 Wi3land\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n",
|
||||
"name": "ionic-appauth@2.1.0",
|
||||
"name": "ionic-appauth@0.9.0",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/wi3land/ionic-appauth",
|
||||
"publisher": "wi3land"
|
||||
},
|
||||
{
|
||||
"licenseText": "The MIT License (MIT)\n\nCopyright (c) 2015-present Ionic (http://ionic.io/)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n",
|
||||
"name": "ionicons@8.0.13",
|
||||
"name": "ionicons@7.4.0",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/ionic-team/ionicons",
|
||||
"publisher": "Ben Sperry",
|
||||
@@ -382,7 +383,7 @@
|
||||
"publisher": "Brandon Liu"
|
||||
},
|
||||
{
|
||||
"licenseText": "# Prettier license\n\nPrettier is released under the MIT license:\n\nCopyright © James Long and contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n## Licenses of bundled dependencies\n\nThe published Prettier artifact additionally contains code with the following licenses:\nMIT, ISC, BSD-2-Clause, BSD-3-Clause, Apache-2.0\n\n## Bundled dependencies\n\n### @angular/compiler@v17.0.2\n\n> Angular - the compiler library\n\nLicense: MIT\nRepository: <https://github.com/angular/angular.git>\nAuthor: angular\n\n----------------------------------------\n\n### @babel/code-frame@v7.23.5\n\n> Generate errors that contain a code frame that point to source locations.\n\nLicense: MIT\nHomepage: <https://babel.dev/docs/en/next/babel-code-frame>\nRepository: <https://github.com/babel/babel.git>\nAuthor: The Babel Team (https://babel.dev/team)\n\n> MIT License\n>\n> Copyright (c) 2014-present Sebastian McKenzie and other contributors\n>\n> Permission is hereby granted, free of charge, to any person obtaining\n> a copy of this software and associated documentation files (the\n> \"Software\"), to deal in the Software without restriction, including\n> without limitation the rights to use, copy, modify, merge, publish,\n> distribute, sublicense, and/or sell copies of the Software, and to\n> permit persons to whom the Software is furnished to do so, subject to\n> the following conditions:\n>\n> The above copyright notice and this permission notice shall be\n> included in all copies or substantial portions of the Software.\n>\n> THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n----------------------------------------\n\n### @babel/helper-validator-identifier@v7.22.20\n\n> Validate identifier/keywords name\n\nLicense: MIT\nRepository: <https://github.com/babel/babel.git>\nAuthor: The Babel Team (https://babel.dev/team)\n\n> MIT License\n>\n> Copyright (c) 2014-present Sebastian McKenzie and other contributors\n>\n> Permission is hereby granted, free of charge, to any person obtaining\n> a copy of this software and associated documentation files (the\n> \"Software\"), to deal in the Software without restriction, including\n> without limitation the rights to use, copy, modify, merge, publish,\n> distribute, sublicense, and/or sell copies of the Software, and to\n> permit persons to whom the Software is furnished to do so, subject to\n> the following conditions:\n>\n> The above copyright notice and this permission notice shall be\n> included in all copies or substantial portions of the Software.\n>\n> THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n----------------------------------------\n\n### @babel/highlight@v7.23.4\n\n> Syntax highlight JavaScript strings for output in terminals.\n\nLicense: MIT\nHomepage: <https://babel.dev/docs/en/next/babel-highlight>\nRepository: <https://github.com/babel/babel.git>\nAuthor: The Babel Team (https://babel.dev/team)\n\n> MIT License\n>\n> Copyright (c) 2014-present Sebastian McKenzie and other contributors\n>\n> Permission is hereby granted, free of charge, to any person obtaining\n> a copy of this software and associated documentation fiLine truncated
|
||||
"licenseText": "# Prettier license\n\nPrettier is released under the MIT license:\n\nCopyright © James Long and contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n",
|
||||
"name": "prettier@3.1.1",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/prettier/prettier",
|
||||
@@ -418,8 +419,8 @@
|
||||
"publisher": "Microsoft Corp."
|
||||
},
|
||||
{
|
||||
"licenseText": "The MIT License\n\nCopyright (c) 2010-2024 Google LLC. https://angular.io/license\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n",
|
||||
"name": "zone.js@0.14.10",
|
||||
"licenseText": "The MIT License\n\nCopyright (c) 2010-2023 Google LLC. https://angular.io/license\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n",
|
||||
"name": "zone.js@0.14.4",
|
||||
"licenses": "MIT",
|
||||
"repository": "https://github.com/angular/angular",
|
||||
"publisher": "Brian Ford"
|
||||
|
||||
@@ -500,7 +500,7 @@
|
||||
"view": {
|
||||
"today": "Heute"
|
||||
},
|
||||
"recurring": "Wochen­ansicht",
|
||||
"recurring": "Wochen­übersicht",
|
||||
"calendar": "Kalender",
|
||||
"single": "Einzel­termine",
|
||||
"addEventPage": {
|
||||
|
||||
@@ -500,7 +500,7 @@
|
||||
"view": {
|
||||
"today": "Today"
|
||||
},
|
||||
"recurring": "Weekly View",
|
||||
"recurring": "Week Overview",
|
||||
"calendar": "Calendar",
|
||||
"single": "Single Events",
|
||||
"addEventPage": {
|
||||
|
||||
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 101 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 2.9 KiB |