initial push
17
AuthentesApp/.browserslistrc
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
|
||||||
|
# For additional information regarding the format and rule options, please see:
|
||||||
|
# https://github.com/browserslist/browserslist#queries
|
||||||
|
|
||||||
|
# For the full list of supported browsers by the Angular framework, please see:
|
||||||
|
# https://angular.io/guide/browser-support
|
||||||
|
|
||||||
|
# You can see what browsers were selected by your queries by running:
|
||||||
|
# npx browserslist
|
||||||
|
|
||||||
|
last 1 Chrome version
|
||||||
|
last 1 Firefox version
|
||||||
|
last 2 Edge major versions
|
||||||
|
last 2 Safari major versions
|
||||||
|
last 2 iOS major versions
|
||||||
|
Firefox ESR
|
||||||
|
not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line.
|
16
AuthentesApp/.editorconfig
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# Editor configuration, see https://editorconfig.org
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[*.ts]
|
||||||
|
quote_type = single
|
||||||
|
|
||||||
|
[*.md]
|
||||||
|
max_line_length = off
|
||||||
|
trim_trailing_whitespace = false
|
47
AuthentesApp/.eslintrc.json
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
{
|
||||||
|
"root": true,
|
||||||
|
"ignorePatterns": ["projects/**/*"],
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": ["*.ts"],
|
||||||
|
"parserOptions": {
|
||||||
|
"project": ["tsconfig.json", "e2e/tsconfig.json"],
|
||||||
|
"createDefaultProgram": true
|
||||||
|
},
|
||||||
|
"extends": [
|
||||||
|
"plugin:@angular-eslint/ng-cli-compat",
|
||||||
|
"plugin:@angular-eslint/ng-cli-compat--formatting-add-on",
|
||||||
|
"plugin:@angular-eslint/template/process-inline-templates"
|
||||||
|
],
|
||||||
|
"rules": {
|
||||||
|
"@angular-eslint/component-class-suffix": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"suffixes": ["Page", "Component"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@angular-eslint/component-selector": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"type": "element",
|
||||||
|
"prefix": "app",
|
||||||
|
"style": "kebab-case"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@angular-eslint/directive-selector": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"type": "attribute",
|
||||||
|
"prefix": "app",
|
||||||
|
"style": "camelCase"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"files": ["*.html"],
|
||||||
|
"extends": ["plugin:@angular-eslint/template/recommended"],
|
||||||
|
"rules": {}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
31
AuthentesApp/.gitignore
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# Specifies intentionally untracked files to ignore when using Git
|
||||||
|
# http://git-scm.com/docs/gitignore
|
||||||
|
|
||||||
|
*~
|
||||||
|
*.sw[mnpcod]
|
||||||
|
.tmp
|
||||||
|
*.tmp
|
||||||
|
*.tmp.*
|
||||||
|
*.sublime-project
|
||||||
|
*.sublime-workspace
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
UserInterfaceState.xcuserstate
|
||||||
|
$RECYCLE.BIN/
|
||||||
|
|
||||||
|
*.log
|
||||||
|
log.txt
|
||||||
|
npm-debug.log*
|
||||||
|
|
||||||
|
/.idea
|
||||||
|
/.ionic
|
||||||
|
/.sass-cache
|
||||||
|
/.sourcemaps
|
||||||
|
/.versions
|
||||||
|
/.vscode
|
||||||
|
/coverage
|
||||||
|
/dist
|
||||||
|
/node_modules
|
||||||
|
/platforms
|
||||||
|
/plugins
|
||||||
|
/www
|
184
AuthentesApp/angular.json
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
{
|
||||||
|
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
||||||
|
"version": 1,
|
||||||
|
"defaultProject": "app",
|
||||||
|
"newProjectRoot": "projects",
|
||||||
|
"projects": {
|
||||||
|
"app": {
|
||||||
|
"root": "",
|
||||||
|
"sourceRoot": "src",
|
||||||
|
"projectType": "application",
|
||||||
|
"prefix": "app",
|
||||||
|
"schematics": {},
|
||||||
|
"architect": {
|
||||||
|
"build": {
|
||||||
|
"builder": "@angular-devkit/build-angular:browser",
|
||||||
|
"options": {
|
||||||
|
"outputPath": "www",
|
||||||
|
"index": "src/index.html",
|
||||||
|
"main": "src/main.ts",
|
||||||
|
"polyfills": "src/polyfills.ts",
|
||||||
|
"tsConfig": "tsconfig.app.json",
|
||||||
|
"assets": [
|
||||||
|
{
|
||||||
|
"glob": "**/*",
|
||||||
|
"input": "src/assets",
|
||||||
|
"output": "assets"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"glob": "**/*.svg",
|
||||||
|
"input": "node_modules/ionicons/dist/ionicons/svg",
|
||||||
|
"output": "./svg"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"styles": ["src/theme/variables.scss", "src/global.scss"],
|
||||||
|
"scripts": [],
|
||||||
|
"aot": false,
|
||||||
|
"vendorChunk": true,
|
||||||
|
"extractLicenses": false,
|
||||||
|
"buildOptimizer": false,
|
||||||
|
"sourceMap": true,
|
||||||
|
"optimization": false,
|
||||||
|
"namedChunks": true
|
||||||
|
},
|
||||||
|
"configurations": {
|
||||||
|
"production": {
|
||||||
|
"fileReplacements": [
|
||||||
|
{
|
||||||
|
"replace": "src/environments/environment.ts",
|
||||||
|
"with": "src/environments/environment.prod.ts"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"optimization": true,
|
||||||
|
"outputHashing": "all",
|
||||||
|
"sourceMap": false,
|
||||||
|
"namedChunks": false,
|
||||||
|
"aot": true,
|
||||||
|
"extractLicenses": true,
|
||||||
|
"vendorChunk": false,
|
||||||
|
"buildOptimizer": true,
|
||||||
|
"budgets": [
|
||||||
|
{
|
||||||
|
"type": "initial",
|
||||||
|
"maximumWarning": "2mb",
|
||||||
|
"maximumError": "5mb"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ci": {
|
||||||
|
"progress": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"serve": {
|
||||||
|
"builder": "@angular-devkit/build-angular:dev-server",
|
||||||
|
"options": {
|
||||||
|
"browserTarget": "app:build"
|
||||||
|
},
|
||||||
|
"configurations": {
|
||||||
|
"production": {
|
||||||
|
"browserTarget": "app:build:production"
|
||||||
|
},
|
||||||
|
"ci": {
|
||||||
|
"progress": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"extract-i18n": {
|
||||||
|
"builder": "@angular-devkit/build-angular:extract-i18n",
|
||||||
|
"options": {
|
||||||
|
"browserTarget": "app:build"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"test": {
|
||||||
|
"builder": "@angular-devkit/build-angular:karma",
|
||||||
|
"options": {
|
||||||
|
"main": "src/test.ts",
|
||||||
|
"polyfills": "src/polyfills.ts",
|
||||||
|
"tsConfig": "tsconfig.spec.json",
|
||||||
|
"karmaConfig": "karma.conf.js",
|
||||||
|
"styles": [],
|
||||||
|
"scripts": [],
|
||||||
|
"assets": [
|
||||||
|
{
|
||||||
|
"glob": "favicon.ico",
|
||||||
|
"input": "src/",
|
||||||
|
"output": "/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"glob": "**/*",
|
||||||
|
"input": "src/assets",
|
||||||
|
"output": "/assets"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"configurations": {
|
||||||
|
"ci": {
|
||||||
|
"progress": false,
|
||||||
|
"watch": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lint": {
|
||||||
|
"builder": "@angular-eslint/builder:lint",
|
||||||
|
"options": {
|
||||||
|
"lintFilePatterns": [
|
||||||
|
"src/**/*.ts",
|
||||||
|
"src/**/*.html"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"e2e": {
|
||||||
|
"builder": "@angular-devkit/build-angular:protractor",
|
||||||
|
"options": {
|
||||||
|
"protractorConfig": "e2e/protractor.conf.js",
|
||||||
|
"devServerTarget": "app:serve"
|
||||||
|
},
|
||||||
|
"configurations": {
|
||||||
|
"production": {
|
||||||
|
"devServerTarget": "app:serve:production"
|
||||||
|
},
|
||||||
|
"ci": {
|
||||||
|
"devServerTarget": "app:serve:ci"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ionic-cordova-build": {
|
||||||
|
"builder": "@ionic/angular-toolkit:cordova-build",
|
||||||
|
"options": {
|
||||||
|
"browserTarget": "app:build"
|
||||||
|
},
|
||||||
|
"configurations": {
|
||||||
|
"production": {
|
||||||
|
"browserTarget": "app:build:production"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ionic-cordova-serve": {
|
||||||
|
"builder": "@ionic/angular-toolkit:cordova-serve",
|
||||||
|
"options": {
|
||||||
|
"cordovaBuildTarget": "app:ionic-cordova-build",
|
||||||
|
"devServerTarget": "app:serve"
|
||||||
|
},
|
||||||
|
"configurations": {
|
||||||
|
"production": {
|
||||||
|
"cordovaBuildTarget": "app:ionic-cordova-build:production",
|
||||||
|
"devServerTarget": "app:serve:production"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cli": {
|
||||||
|
"defaultCollection": "@ionic/angular-toolkit"
|
||||||
|
},
|
||||||
|
"schematics": {
|
||||||
|
"@ionic/angular-toolkit:component": {
|
||||||
|
"styleext": "scss"
|
||||||
|
},
|
||||||
|
"@ionic/angular-toolkit:page": {
|
||||||
|
"styleext": "scss"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
101
AuthentesApp/config.xml
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<widget id="io.ionic.starter" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||||
|
<name>MyApp</name>
|
||||||
|
<description>An awesome Ionic/Cordova app.</description>
|
||||||
|
<author email="hi@ionicframework.com" href="http://ionicframework.com/">Ionic Framework Team</author>
|
||||||
|
<content src="index.html" />
|
||||||
|
<access origin="*" />
|
||||||
|
<allow-intent href="http://*/*" />
|
||||||
|
<allow-intent href="https://*/*" />
|
||||||
|
<allow-intent href="tel:*" />
|
||||||
|
<allow-intent href="sms:*" />
|
||||||
|
<allow-intent href="mailto:*" />
|
||||||
|
<allow-intent href="geo:*" />
|
||||||
|
<preference name="ScrollEnabled" value="false" />
|
||||||
|
<preference name="BackupWebStorage" value="none" />
|
||||||
|
<preference name="SplashMaintainAspectRatio" value="true" />
|
||||||
|
<preference name="FadeSplashScreenDuration" value="300" />
|
||||||
|
<preference name="SplashShowOnlyFirstTime" value="false" />
|
||||||
|
<preference name="SplashScreen" value="screen" />
|
||||||
|
<preference name="SplashScreenDelay" value="3000" />
|
||||||
|
<platform name="android">
|
||||||
|
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<application android:networkSecurityConfig="@xml/network_security_config" />
|
||||||
|
</edit-config>
|
||||||
|
<resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
|
||||||
|
<allow-intent href="market:*" />
|
||||||
|
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
|
||||||
|
<icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
|
||||||
|
<icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
|
||||||
|
<icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
|
||||||
|
<icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
|
||||||
|
<icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
|
||||||
|
<splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
|
||||||
|
<splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
|
||||||
|
<splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
|
||||||
|
<splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
|
||||||
|
<splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
|
||||||
|
<splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
|
||||||
|
<splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
|
||||||
|
<splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
|
||||||
|
<splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
|
||||||
|
<splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
|
||||||
|
<splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
|
||||||
|
<splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
|
||||||
|
</platform>
|
||||||
|
<platform name="ios">
|
||||||
|
<allow-intent href="itms:*" />
|
||||||
|
<allow-intent href="itms-apps:*" />
|
||||||
|
<icon height="57" src="resources/ios/icon/icon.png" width="57" />
|
||||||
|
<icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
|
||||||
|
<icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
|
||||||
|
<icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" />
|
||||||
|
<icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
|
||||||
|
<icon height="20" src="resources/ios/icon/icon-20.png" width="20" />
|
||||||
|
<icon height="40" src="resources/ios/icon/icon-20@2x.png" width="40" />
|
||||||
|
<icon height="60" src="resources/ios/icon/icon-20@3x.png" width="60" />
|
||||||
|
<icon height="48" src="resources/ios/icon/icon-24@2x.png" width="48" />
|
||||||
|
<icon height="55" src="resources/ios/icon/icon-27.5@2x.png" width="55" />
|
||||||
|
<icon height="29" src="resources/ios/icon/icon-29.png" width="29" />
|
||||||
|
<icon height="58" src="resources/ios/icon/icon-29@2x.png" width="58" />
|
||||||
|
<icon height="87" src="resources/ios/icon/icon-29@3x.png" width="87" />
|
||||||
|
<icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
|
||||||
|
<icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
|
||||||
|
<icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
|
||||||
|
<icon height="88" src="resources/ios/icon/icon-44@2x.png" width="88" />
|
||||||
|
<icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
|
||||||
|
<icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
|
||||||
|
<icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
|
||||||
|
<icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
|
||||||
|
<icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
|
||||||
|
<icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
|
||||||
|
<icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
|
||||||
|
<icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
|
||||||
|
<icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
|
||||||
|
<icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" />
|
||||||
|
<icon height="172" src="resources/ios/icon/icon-86@2x.png" width="172" />
|
||||||
|
<icon height="196" src="resources/ios/icon/icon-98@2x.png" width="196" />
|
||||||
|
<icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
|
||||||
|
<splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
|
||||||
|
<splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
|
||||||
|
<splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
|
||||||
|
<splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
|
||||||
|
<splash height="1125" src="resources/ios/splash/Default-Landscape-2436h.png" width="2436" />
|
||||||
|
<splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
|
||||||
|
<splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
|
||||||
|
<splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
|
||||||
|
<splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
|
||||||
|
<splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
|
||||||
|
<splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
|
||||||
|
<splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
|
||||||
|
<splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
|
||||||
|
<splash height="2436" src="resources/ios/splash/Default-2436h.png" width="1125" />
|
||||||
|
<splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
|
||||||
|
</platform>
|
||||||
|
<plugin name="cordova-plugin-whitelist" spec="1.3.3" />
|
||||||
|
<plugin name="cordova-plugin-statusbar" spec="2.4.2" />
|
||||||
|
<plugin name="cordova-plugin-device" spec="2.0.2" />
|
||||||
|
<plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
|
||||||
|
<plugin name="cordova-plugin-ionic-webview" spec="^4.0.0" />
|
||||||
|
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
|
||||||
|
</widget>
|
37
AuthentesApp/e2e/protractor.conf.js
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
// @ts-check
|
||||||
|
// Protractor configuration file, see link for more information
|
||||||
|
// https://github.com/angular/protractor/blob/master/lib/config.ts
|
||||||
|
|
||||||
|
const { SpecReporter, StacktraceOption } = require('jasmine-spec-reporter');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type { import("protractor").Config }
|
||||||
|
*/
|
||||||
|
exports.config = {
|
||||||
|
allScriptsTimeout: 11000,
|
||||||
|
specs: [
|
||||||
|
'./src/**/*.e2e-spec.ts'
|
||||||
|
],
|
||||||
|
capabilities: {
|
||||||
|
browserName: 'chrome'
|
||||||
|
},
|
||||||
|
directConnect: true,
|
||||||
|
SELENIUM_PROMISE_MANAGER: false,
|
||||||
|
baseUrl: 'http://localhost:4200/',
|
||||||
|
framework: 'jasmine',
|
||||||
|
jasmineNodeOpts: {
|
||||||
|
showColors: true,
|
||||||
|
defaultTimeoutInterval: 30000,
|
||||||
|
print: function() {}
|
||||||
|
},
|
||||||
|
onPrepare() {
|
||||||
|
require('ts-node').register({
|
||||||
|
project: require('path').join(__dirname, './tsconfig.json')
|
||||||
|
});
|
||||||
|
jasmine.getEnv().addReporter(new SpecReporter({
|
||||||
|
spec: {
|
||||||
|
displayStacktrace: StacktraceOption.PRETTY
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
};
|
14
AuthentesApp/e2e/src/app.e2e-spec.ts
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import { AppPage } from './app.po';
|
||||||
|
|
||||||
|
describe('new App', () => {
|
||||||
|
let page: AppPage;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
page = new AppPage();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should be blank', () => {
|
||||||
|
page.navigateTo();
|
||||||
|
expect(page.getParagraphText()).toContain('Start with Ionic UI Components');
|
||||||
|
});
|
||||||
|
});
|
11
AuthentesApp/e2e/src/app.po.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { browser, by, element } from 'protractor';
|
||||||
|
|
||||||
|
export class AppPage {
|
||||||
|
navigateTo() {
|
||||||
|
return browser.get('/');
|
||||||
|
}
|
||||||
|
|
||||||
|
getParagraphText() {
|
||||||
|
return element(by.deepCss('app-root ion-content')).getText();
|
||||||
|
}
|
||||||
|
}
|
12
AuthentesApp/e2e/tsconfig.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"extends": "../tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"outDir": "../out-tsc/e2e",
|
||||||
|
"module": "commonjs",
|
||||||
|
"target": "es2018",
|
||||||
|
"types": [
|
||||||
|
"jasmine",
|
||||||
|
"node"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
7
AuthentesApp/ionic.config.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "AuthentesApp",
|
||||||
|
"integrations": {
|
||||||
|
"cordova": {}
|
||||||
|
},
|
||||||
|
"type": "angular"
|
||||||
|
}
|
44
AuthentesApp/karma.conf.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
// Karma configuration file, see link for more information
|
||||||
|
// https://karma-runner.github.io/1.0/config/configuration-file.html
|
||||||
|
|
||||||
|
module.exports = function (config) {
|
||||||
|
config.set({
|
||||||
|
basePath: '',
|
||||||
|
frameworks: ['jasmine', '@angular-devkit/build-angular'],
|
||||||
|
plugins: [
|
||||||
|
require('karma-jasmine'),
|
||||||
|
require('karma-chrome-launcher'),
|
||||||
|
require('karma-jasmine-html-reporter'),
|
||||||
|
require('karma-coverage'),
|
||||||
|
require('@angular-devkit/build-angular/plugins/karma')
|
||||||
|
],
|
||||||
|
client: {
|
||||||
|
jasmine: {
|
||||||
|
// you can add configuration options for Jasmine here
|
||||||
|
// the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
|
||||||
|
// for example, you can disable the random execution with `random: false`
|
||||||
|
// or set a specific seed with `seed: 4321`
|
||||||
|
},
|
||||||
|
clearContext: false // leave Jasmine Spec Runner output visible in browser
|
||||||
|
},
|
||||||
|
jasmineHtmlReporter: {
|
||||||
|
suppressAll: true // removes the duplicated traces
|
||||||
|
},
|
||||||
|
coverageReporter: {
|
||||||
|
dir: require('path').join(__dirname, './coverage/ngv'),
|
||||||
|
subdir: '.',
|
||||||
|
reporters: [
|
||||||
|
{ type: 'html' },
|
||||||
|
{ type: 'text-summary' }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
reporters: ['progress', 'kjhtml'],
|
||||||
|
port: 9876,
|
||||||
|
colors: true,
|
||||||
|
logLevel: config.LOG_INFO,
|
||||||
|
autoWatch: true,
|
||||||
|
browsers: ['Chrome'],
|
||||||
|
singleRun: false,
|
||||||
|
restartOnFileChange: true
|
||||||
|
});
|
||||||
|
};
|
14870
AuthentesApp/package-lock.json
generated
Normal file
84
AuthentesApp/package.json
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
{
|
||||||
|
"name": "AuthentesApp",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"author": "Ionic Framework",
|
||||||
|
"homepage": "https://ionicframework.com/",
|
||||||
|
"scripts": {
|
||||||
|
"ng": "ng",
|
||||||
|
"start": "ng serve",
|
||||||
|
"build": "ng build",
|
||||||
|
"test": "ng test",
|
||||||
|
"lint": "ng lint",
|
||||||
|
"e2e": "ng e2e"
|
||||||
|
},
|
||||||
|
"private": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@angular/common": "~12.1.1",
|
||||||
|
"@angular/core": "~12.1.1",
|
||||||
|
"@angular/forms": "~12.1.1",
|
||||||
|
"@angular/platform-browser": "~12.1.1",
|
||||||
|
"@angular/platform-browser-dynamic": "~12.1.1",
|
||||||
|
"@angular/router": "~12.1.1",
|
||||||
|
"@ionic-native/core": "^5.36.0",
|
||||||
|
"@ionic-native/status-bar": "^5.36.0",
|
||||||
|
"@ionic/angular": "^5.5.2",
|
||||||
|
"cordova-android": "9.1.0",
|
||||||
|
"rxjs": "~6.6.0",
|
||||||
|
"tslib": "^2.2.0",
|
||||||
|
"zone.js": "~0.11.4"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@angular-devkit/build-angular": "~12.1.1",
|
||||||
|
"@angular-eslint/builder": "~12.0.0",
|
||||||
|
"@angular-eslint/eslint-plugin": "~12.0.0",
|
||||||
|
"@angular-eslint/eslint-plugin-template": "~12.0.0",
|
||||||
|
"@angular-eslint/template-parser": "~12.0.0",
|
||||||
|
"@angular/cli": "~12.1.1",
|
||||||
|
"@angular/compiler": "~12.1.1",
|
||||||
|
"@angular/compiler-cli": "~12.1.1",
|
||||||
|
"@angular/language-service": "~12.0.1",
|
||||||
|
"@ionic/angular-toolkit": "^4.0.0",
|
||||||
|
"@types/jasmine": "~3.6.0",
|
||||||
|
"@types/jasminewd2": "~2.0.3",
|
||||||
|
"@types/node": "^12.11.1",
|
||||||
|
"@typescript-eslint/eslint-plugin": "4.16.1",
|
||||||
|
"@typescript-eslint/parser": "4.16.1",
|
||||||
|
"cordova-plugin-device": "^2.0.2",
|
||||||
|
"cordova-plugin-ionic-keyboard": "^2.2.0",
|
||||||
|
"cordova-plugin-ionic-webview": "^4.2.1",
|
||||||
|
"cordova-plugin-splashscreen": "^5.0.2",
|
||||||
|
"cordova-plugin-statusbar": "^2.4.2",
|
||||||
|
"cordova-plugin-whitelist": "^1.3.3",
|
||||||
|
"eslint": "^7.6.0",
|
||||||
|
"eslint-plugin-import": "2.22.1",
|
||||||
|
"eslint-plugin-jsdoc": "30.7.6",
|
||||||
|
"eslint-plugin-prefer-arrow": "1.2.2",
|
||||||
|
"jasmine-core": "~3.8.0",
|
||||||
|
"jasmine-spec-reporter": "~5.0.0",
|
||||||
|
"karma": "~6.3.2",
|
||||||
|
"karma-chrome-launcher": "~3.1.0",
|
||||||
|
"karma-coverage": "~2.0.3",
|
||||||
|
"karma-coverage-istanbul-reporter": "~3.0.2",
|
||||||
|
"karma-jasmine": "~4.0.0",
|
||||||
|
"karma-jasmine-html-reporter": "^1.5.0",
|
||||||
|
"protractor": "~7.0.0",
|
||||||
|
"ts-node": "~8.3.0",
|
||||||
|
"typescript": "~4.2.4"
|
||||||
|
},
|
||||||
|
"description": "An Ionic project",
|
||||||
|
"cordova": {
|
||||||
|
"plugins": {
|
||||||
|
"cordova-plugin-whitelist": {},
|
||||||
|
"cordova-plugin-statusbar": {},
|
||||||
|
"cordova-plugin-device": {},
|
||||||
|
"cordova-plugin-splashscreen": {},
|
||||||
|
"cordova-plugin-ionic-webview": {
|
||||||
|
"ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
|
||||||
|
},
|
||||||
|
"cordova-plugin-ionic-keyboard": {}
|
||||||
|
},
|
||||||
|
"platforms": [
|
||||||
|
"android"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
8
AuthentesApp/resources/README.md
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
These are Cordova resources. You can replace icon.png and splash.png and run
|
||||||
|
`ionic cordova resources` to generate custom icons and splash screens for your
|
||||||
|
app. See `ionic cordova resources --help` for details.
|
||||||
|
|
||||||
|
Cordova reference documentation:
|
||||||
|
|
||||||
|
- Icons: https://cordova.apache.org/docs/en/latest/config_ref/images.html
|
||||||
|
- Splash Screens: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-splashscreen/
|
BIN
AuthentesApp/resources/android/icon/drawable-hdpi-icon.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
AuthentesApp/resources/android/icon/drawable-ldpi-icon.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
AuthentesApp/resources/android/icon/drawable-mdpi-icon.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
AuthentesApp/resources/android/icon/drawable-xhdpi-icon.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
AuthentesApp/resources/android/icon/drawable-xxhdpi-icon.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
AuthentesApp/resources/android/icon/drawable-xxxhdpi-icon.png
Normal file
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 8.3 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 111 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 69 KiB |
After Width: | Height: | Size: 99 KiB |
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<network-security-config>
|
||||||
|
<domain-config cleartextTrafficPermitted="true">
|
||||||
|
<domain includeSubdomains="true">localhost</domain>
|
||||||
|
</domain-config>
|
||||||
|
</network-security-config>
|
BIN
AuthentesApp/resources/icon.png
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-1024.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-20.png
Normal file
After Width: | Height: | Size: 686 B |
BIN
AuthentesApp/resources/ios/icon/icon-20@2x.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-20@3x.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-24@2x.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-27.5@2x.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-29.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-29@2x.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-29@3x.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-40.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-40@2x.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-40@3x.png
Normal file
After Width: | Height: | Size: 8.1 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-44@2x.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-50.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-50@2x.png
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-60.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-60@2x.png
Normal file
After Width: | Height: | Size: 8.1 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-60@3x.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-72.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-72@2x.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-76.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-76@2x.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-83.5@2x.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-86@2x.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-98@2x.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-small.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-small@2x.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
AuthentesApp/resources/ios/icon/icon-small@3x.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
AuthentesApp/resources/ios/icon/icon.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
AuthentesApp/resources/ios/icon/icon@2x.png
Normal file
After Width: | Height: | Size: 8.0 KiB |
BIN
AuthentesApp/resources/ios/splash/Default-2436h.png
Normal file
After Width: | Height: | Size: 104 KiB |
BIN
AuthentesApp/resources/ios/splash/Default-568h@2x~iphone.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
AuthentesApp/resources/ios/splash/Default-667h.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
AuthentesApp/resources/ios/splash/Default-736h.png
Normal file
After Width: | Height: | Size: 106 KiB |
BIN
AuthentesApp/resources/ios/splash/Default-Landscape-2436h.png
Normal file
After Width: | Height: | Size: 113 KiB |
BIN
AuthentesApp/resources/ios/splash/Default-Landscape-736h.png
Normal file
After Width: | Height: | Size: 117 KiB |
BIN
AuthentesApp/resources/ios/splash/Default-Landscape@2x~ipad.png
Normal file
After Width: | Height: | Size: 133 KiB |
BIN
AuthentesApp/resources/ios/splash/Default-Landscape@~ipadpro.png
Normal file
After Width: | Height: | Size: 93 KiB |
BIN
AuthentesApp/resources/ios/splash/Default-Landscape~ipad.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
AuthentesApp/resources/ios/splash/Default-Portrait@2x~ipad.png
Normal file
After Width: | Height: | Size: 147 KiB |
BIN
AuthentesApp/resources/ios/splash/Default-Portrait@~ipadpro.png
Normal file
After Width: | Height: | Size: 99 KiB |
BIN
AuthentesApp/resources/ios/splash/Default-Portrait~ipad.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
AuthentesApp/resources/ios/splash/Default@2x~iphone.png
Normal file
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 120 KiB |
BIN
AuthentesApp/resources/ios/splash/Default~iphone.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
AuthentesApp/resources/splash.png
Normal file
After Width: | Height: | Size: 77 KiB |
30
AuthentesApp/src/app/app-routing.module.ts
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { PreloadAllModules, RouterModule, Routes } from '@angular/router';
|
||||||
|
|
||||||
|
const routes: Routes = [
|
||||||
|
{
|
||||||
|
path: 'home',
|
||||||
|
loadChildren: () => import('./home/home.module').then( m => m.HomePageModule)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'beliefs',
|
||||||
|
loadChildren: () => import('./beliefs/beliefs.module').then( m => m.BeliefsPageModule)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'values',
|
||||||
|
loadChildren: () => import('./values/values.module').then( m => m.ValuesPageModule)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '',
|
||||||
|
redirectTo: 'home',
|
||||||
|
pathMatch: 'full'
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [
|
||||||
|
RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
|
||||||
|
],
|
||||||
|
exports: [RouterModule]
|
||||||
|
})
|
||||||
|
export class AppRoutingModule { }
|
3
AuthentesApp/src/app/app.component.html
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<ion-app>
|
||||||
|
<ion-router-outlet></ion-router-outlet>
|
||||||
|
</ion-app>
|
0
AuthentesApp/src/app/app.component.scss
Normal file
23
AuthentesApp/src/app/app.component.spec.ts
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
||||||
|
import { TestBed, waitForAsync } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { AppComponent } from './app.component';
|
||||||
|
|
||||||
|
describe('AppComponent', () => {
|
||||||
|
|
||||||
|
beforeEach(waitForAsync(() => {
|
||||||
|
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [AppComponent],
|
||||||
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
||||||
|
}).compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
it('should create the app', () => {
|
||||||
|
const fixture = TestBed.createComponent(AppComponent);
|
||||||
|
const app = fixture.debugElement.componentInstance;
|
||||||
|
expect(app).toBeTruthy();
|
||||||
|
});
|
||||||
|
// TODO: add more tests!
|
||||||
|
|
||||||
|
});
|
17
AuthentesApp/src/app/app.component.ts
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import { Component } from '@angular/core';
|
||||||
|
import { StatusBar } from '@ionic-native/status-bar/ngx';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-root',
|
||||||
|
templateUrl: 'app.component.html',
|
||||||
|
styleUrls: ['app.component.scss'],
|
||||||
|
})
|
||||||
|
export class AppComponent {
|
||||||
|
constructor(statusbar: StatusBar) {
|
||||||
|
// platform.ready().then(() => {
|
||||||
|
// Okay, so the platform is ready and our plugins are available.
|
||||||
|
// Here you can do any higher level native things you might need.
|
||||||
|
statusbar.hide();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
22
AuthentesApp/src/app/app.module.ts
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { BrowserModule } from '@angular/platform-browser';
|
||||||
|
import { RouteReuseStrategy } from '@angular/router';
|
||||||
|
|
||||||
|
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
|
||||||
|
|
||||||
|
import { AppComponent } from './app.component';
|
||||||
|
import { AppRoutingModule } from './app-routing.module';
|
||||||
|
|
||||||
|
import { StatusBar } from '@ionic-native/status-bar/ngx';
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
declarations: [AppComponent],
|
||||||
|
entryComponents: [],
|
||||||
|
imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
|
||||||
|
providers: [
|
||||||
|
StatusBar,
|
||||||
|
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
|
||||||
|
],
|
||||||
|
bootstrap: [AppComponent],
|
||||||
|
})
|
||||||
|
export class AppModule {}
|
16
AuthentesApp/src/app/beliefs/beliefs-routing.module.ts
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { RouterModule, Routes } from '@angular/router';
|
||||||
|
import { BeliefsPage } from './beliefs.page';
|
||||||
|
|
||||||
|
const routes: Routes = [
|
||||||
|
{
|
||||||
|
path: '',
|
||||||
|
component: BeliefsPage,
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [RouterModule.forChild(routes)],
|
||||||
|
exports: [RouterModule]
|
||||||
|
})
|
||||||
|
export class BeliefsPageRoutingModule {}
|
19
AuthentesApp/src/app/beliefs/beliefs.module.ts
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { CommonModule } from '@angular/common';
|
||||||
|
import { IonicModule } from '@ionic/angular';
|
||||||
|
import { FormsModule } from '@angular/forms';
|
||||||
|
import { BeliefsPage } from './beliefs.page';
|
||||||
|
|
||||||
|
import { BeliefsPageRoutingModule } from './beliefs-routing.module';
|
||||||
|
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [
|
||||||
|
CommonModule,
|
||||||
|
FormsModule,
|
||||||
|
IonicModule,
|
||||||
|
BeliefsPageRoutingModule
|
||||||
|
],
|
||||||
|
declarations: [BeliefsPage]
|
||||||
|
})
|
||||||
|
export class BeliefsPageModule {}
|
15
AuthentesApp/src/app/beliefs/beliefs.page.html
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<!-- <ion-header [translucent]="true">
|
||||||
|
<ion-toolbar>
|
||||||
|
<ion-title>
|
||||||
|
Blank
|
||||||
|
</ion-title>
|
||||||
|
</ion-toolbar>
|
||||||
|
</ion-header> -->
|
||||||
|
|
||||||
|
<ion-content [fullscreen]="true">
|
||||||
|
<div class="logo">
|
||||||
|
<img class="logo_dark" src="assets/logo-authentes.png" />
|
||||||
|
<img class="logo_light" src="assets/logo-authentes-white.png" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</ion-content>
|
8
AuthentesApp/src/app/beliefs/beliefs.page.scss
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#container {
|
||||||
|
text-align: center;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
}
|
24
AuthentesApp/src/app/beliefs/beliefs.page.spec.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||||
|
import { IonicModule } from '@ionic/angular';
|
||||||
|
|
||||||
|
import { BeliefsPage } from './beliefs.page';
|
||||||
|
|
||||||
|
describe('HomePage', () => {
|
||||||
|
let component: BeliefsPage;
|
||||||
|
let fixture: ComponentFixture<BeliefsPage>;
|
||||||
|
|
||||||
|
beforeEach(waitForAsync(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ BeliefsPage ],
|
||||||
|
imports: [IonicModule.forRoot()]
|
||||||
|
}).compileComponents();
|
||||||
|
|
||||||
|
fixture = TestBed.createComponent(BeliefsPage);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
}));
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
13
AuthentesApp/src/app/beliefs/beliefs.page.ts
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import { Component, Input, ViewChildren, QueryList, ElementRef, EventEmitter, Output, Renderer2, ViewChild } from '@angular/core';
|
||||||
|
import { Router } from '@angular/router';
|
||||||
|
import { GestureController } from '@ionic/angular';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-home',
|
||||||
|
templateUrl: 'beliefs.page.html',
|
||||||
|
styleUrls: ['beliefs.page.scss'],
|
||||||
|
})
|
||||||
|
export class BeliefsPage {
|
||||||
|
|
||||||
|
constructor(private router: Router, private renderer: Renderer2, private gestureCtrl: GestureController) {}
|
||||||
|
}
|
16
AuthentesApp/src/app/home/home-routing.module.ts
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { RouterModule, Routes } from '@angular/router';
|
||||||
|
import { HomePage } from './home.page';
|
||||||
|
|
||||||
|
const routes: Routes = [
|
||||||
|
{
|
||||||
|
path: '',
|
||||||
|
component: HomePage,
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [RouterModule.forChild(routes)],
|
||||||
|
exports: [RouterModule]
|
||||||
|
})
|
||||||
|
export class HomePageRoutingModule {}
|
19
AuthentesApp/src/app/home/home.module.ts
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { CommonModule } from '@angular/common';
|
||||||
|
import { IonicModule } from '@ionic/angular';
|
||||||
|
import { FormsModule } from '@angular/forms';
|
||||||
|
import { HomePage } from './home.page';
|
||||||
|
|
||||||
|
import { HomePageRoutingModule } from './home-routing.module';
|
||||||
|
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [
|
||||||
|
CommonModule,
|
||||||
|
FormsModule,
|
||||||
|
IonicModule,
|
||||||
|
HomePageRoutingModule
|
||||||
|
],
|
||||||
|
declarations: [HomePage]
|
||||||
|
})
|
||||||
|
export class HomePageModule {}
|
29
AuthentesApp/src/app/home/home.page.html
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<!-- <ion-header [translucent]="true">
|
||||||
|
<ion-toolbar>
|
||||||
|
<ion-title>
|
||||||
|
Blank
|
||||||
|
</ion-title>
|
||||||
|
</ion-toolbar>
|
||||||
|
</ion-header> -->
|
||||||
|
|
||||||
|
<ion-content [fullscreen]="true">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="container">
|
||||||
|
<div class="logo">
|
||||||
|
<img class="logo_dark" src="assets/logo-authentes.png" />
|
||||||
|
<img class="logo_light" src="assets/logo-authentes-white.png" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="nav_buttons">
|
||||||
|
<ion-button (click)="wellnesswheel()" color="primary" size="large" shape="round" expand="block">Wellness wheel</ion-button>
|
||||||
|
<ion-button (click)="lifeline()" color="primary" size="large" shape="round" expand="block">Lifeline</ion-button>
|
||||||
|
<ion-button (click)="beliefs()" color="primary" size="large" shape="round" expand="block">Beliefs</ion-button>
|
||||||
|
<ion-button (click)="values()" color="primary" size="large" shape="round" expand="block">Values</ion-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</ion-content>
|
39
AuthentesApp/src/app/home/home.page.scss
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#container {
|
||||||
|
text-align: center;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav_buttons {
|
||||||
|
width: 80vw;
|
||||||
|
display: block;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
*{
|
||||||
|
margin-top: 30px;
|
||||||
|
height: 10vh;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// .logo {
|
||||||
|
// margin-left: auto;
|
||||||
|
// margin-right: auto;
|
||||||
|
// margin-bottom: 50px;
|
||||||
|
// max-width: 80vw;
|
||||||
|
// }
|
||||||
|
// .logo_light {
|
||||||
|
// display: none;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// @media (prefers-color-scheme: dark) {
|
||||||
|
// .logo_dark{
|
||||||
|
// display: none;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// .logo_light {
|
||||||
|
// display: block;
|
||||||
|
// }
|
||||||
|
// }
|
24
AuthentesApp/src/app/home/home.page.spec.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||||
|
import { IonicModule } from '@ionic/angular';
|
||||||
|
|
||||||
|
import { HomePage } from './home.page';
|
||||||
|
|
||||||
|
describe('HomePage', () => {
|
||||||
|
let component: HomePage;
|
||||||
|
let fixture: ComponentFixture<HomePage>;
|
||||||
|
|
||||||
|
beforeEach(waitForAsync(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ HomePage ],
|
||||||
|
imports: [IonicModule.forRoot()]
|
||||||
|
}).compileComponents();
|
||||||
|
|
||||||
|
fixture = TestBed.createComponent(HomePage);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
}));
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
28
AuthentesApp/src/app/home/home.page.ts
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import { Component } from '@angular/core';
|
||||||
|
import { Router } from '@angular/router';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-home',
|
||||||
|
templateUrl: 'home.page.html',
|
||||||
|
styleUrls: ['home.page.scss'],
|
||||||
|
})
|
||||||
|
export class HomePage {
|
||||||
|
|
||||||
|
constructor(private router: Router) {}
|
||||||
|
|
||||||
|
wellnesswheel() {
|
||||||
|
console.log("komt wellnesswheel game");
|
||||||
|
}
|
||||||
|
|
||||||
|
lifeline() {
|
||||||
|
console.log("komt lifeline game");
|
||||||
|
}
|
||||||
|
|
||||||
|
beliefs() {
|
||||||
|
console.log("komt beliefs game");
|
||||||
|
}
|
||||||
|
|
||||||
|
values() {
|
||||||
|
this.router.navigateByUrl(`/values`);
|
||||||
|
}
|
||||||
|
}
|
63
AuthentesApp/src/app/services/alert.service.ts
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
import { ToastController, LoadingController, AlertController} from '@ionic/angular';
|
||||||
|
|
||||||
|
@Injectable({
|
||||||
|
providedIn: 'root'
|
||||||
|
})
|
||||||
|
|
||||||
|
export class AlertService {
|
||||||
|
constructor(private toastController: ToastController, public loadingController: LoadingController, public alertController: AlertController) { }
|
||||||
|
|
||||||
|
async presentToast(message: any) {
|
||||||
|
const toast = await this.toastController.create({
|
||||||
|
message: message,
|
||||||
|
duration: 3000
|
||||||
|
});
|
||||||
|
toast.present();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Show the loader for infinite time
|
||||||
|
async showLoader(message: any) {
|
||||||
|
this.loadingController.create({
|
||||||
|
message: message
|
||||||
|
}).then((res) => {
|
||||||
|
res.present();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Hide the loader if already created otherwise return error
|
||||||
|
async hideLoader() {
|
||||||
|
this.checkAndCloseLoader();
|
||||||
|
|
||||||
|
// if theres a delay run check again
|
||||||
|
setTimeout(() => this.checkAndCloseLoader(), 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
async checkAndCloseLoader() {
|
||||||
|
// Use getTop function to find the loader and dismiss only if loader is present.
|
||||||
|
const loader = await this.loadingController.getTop();
|
||||||
|
// if loader present then dismiss
|
||||||
|
if(loader !== undefined) {
|
||||||
|
await this.loadingController.dismiss();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async presentAlert(header: any, message: any) {
|
||||||
|
const alert = await this.alertController.create({
|
||||||
|
header: header,
|
||||||
|
message: message,
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
text: 'Ok',
|
||||||
|
role: 'ok',
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
});
|
||||||
|
|
||||||
|
await alert.present();
|
||||||
|
|
||||||
|
const { role } = await alert.onDidDismiss();
|
||||||
|
return role;
|
||||||
|
}
|
||||||
|
}
|