From bc1d92ec51fd9bda6141e7cbfaff3317cb825d28 Mon Sep 17 00:00:00 2001 From: luciolelii Date: Thu, 16 Feb 2023 10:43:06 +0000 Subject: [PATCH] Initial commit --- .browserslistrc | 16 ++ .editorconfig | 16 ++ .eslintrc.json | 46 ++++ .gitignore | 68 +++++ .vscode/extensions.json | 5 + angular.json | 149 +++++++++++ capacitor.config.json | 6 + ionic.config.json | 8 + karma.conf.js | 44 ++++ package.json | 65 +++++ resources/icon.png | Bin 0 -> 57556 bytes resources/splash.png | Bin 0 -> 164953 bytes src/app/app-routing.module.ts | 16 ++ src/app/app.component.html | 3 + src/app/app.component.scss | 0 src/app/app.component.spec.ts | 21 ++ src/app/app.component.ts | 10 + src/app/app.module.ts | 16 ++ .../explore-container.component.html | 4 + .../explore-container.component.scss | 27 ++ .../explore-container.component.spec.ts | 24 ++ .../explore-container.component.ts | 12 + .../explore-container.module.ts | 14 ++ src/app/tab1/tab1-routing.module.ts | 16 ++ src/app/tab1/tab1.module.ts | 20 ++ src/app/tab1/tab1.page.html | 17 ++ src/app/tab1/tab1.page.scss | 0 src/app/tab1/tab1.page.spec.ts | 26 ++ src/app/tab1/tab1.page.ts | 12 + src/app/tab2/tab2-routing.module.ts | 16 ++ src/app/tab2/tab2.module.ts | 20 ++ src/app/tab2/tab2.page.html | 17 ++ src/app/tab2/tab2.page.scss | 0 src/app/tab2/tab2.page.spec.ts | 26 ++ src/app/tab2/tab2.page.ts | 12 + src/app/tab3/tab3-routing.module.ts | 16 ++ src/app/tab3/tab3.module.ts | 20 ++ src/app/tab3/tab3.page.html | 17 ++ src/app/tab3/tab3.page.scss | 0 src/app/tab3/tab3.page.spec.ts | 26 ++ src/app/tab3/tab3.page.ts | 12 + src/app/tabs/tabs-routing.module.ts | 39 +++ src/app/tabs/tabs.module.ts | 19 ++ src/app/tabs/tabs.page.html | 20 ++ src/app/tabs/tabs.page.scss | 1 + src/app/tabs/tabs.page.spec.ts | 26 ++ src/app/tabs/tabs.page.ts | 12 + src/assets/icon/favicon.png | Bin 0 -> 930 bytes src/assets/shapes.svg | 1 + src/environments/environment.prod.ts | 3 + src/environments/environment.ts | 16 ++ src/global.scss | 26 ++ src/index.html | 26 ++ src/main.ts | 12 + src/polyfills.ts | 53 ++++ src/test.ts | 14 ++ src/theme/variables.scss | 236 ++++++++++++++++++ src/zone-flags.ts | 6 + tsconfig.app.json | 15 ++ tsconfig.json | 33 +++ tsconfig.spec.json | 18 ++ 61 files changed, 1419 insertions(+) create mode 100644 .browserslistrc create mode 100644 .editorconfig create mode 100644 .eslintrc.json create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 angular.json create mode 100644 capacitor.config.json create mode 100644 ionic.config.json create mode 100644 karma.conf.js create mode 100644 package.json create mode 100644 resources/icon.png create mode 100644 resources/splash.png create mode 100644 src/app/app-routing.module.ts create mode 100644 src/app/app.component.html create mode 100644 src/app/app.component.scss create mode 100644 src/app/app.component.spec.ts create mode 100644 src/app/app.component.ts create mode 100644 src/app/app.module.ts create mode 100644 src/app/explore-container/explore-container.component.html create mode 100644 src/app/explore-container/explore-container.component.scss create mode 100644 src/app/explore-container/explore-container.component.spec.ts create mode 100644 src/app/explore-container/explore-container.component.ts create mode 100644 src/app/explore-container/explore-container.module.ts create mode 100644 src/app/tab1/tab1-routing.module.ts create mode 100644 src/app/tab1/tab1.module.ts create mode 100644 src/app/tab1/tab1.page.html create mode 100644 src/app/tab1/tab1.page.scss create mode 100644 src/app/tab1/tab1.page.spec.ts create mode 100644 src/app/tab1/tab1.page.ts create mode 100644 src/app/tab2/tab2-routing.module.ts create mode 100644 src/app/tab2/tab2.module.ts create mode 100644 src/app/tab2/tab2.page.html create mode 100644 src/app/tab2/tab2.page.scss create mode 100644 src/app/tab2/tab2.page.spec.ts create mode 100644 src/app/tab2/tab2.page.ts create mode 100644 src/app/tab3/tab3-routing.module.ts create mode 100644 src/app/tab3/tab3.module.ts create mode 100644 src/app/tab3/tab3.page.html create mode 100644 src/app/tab3/tab3.page.scss create mode 100644 src/app/tab3/tab3.page.spec.ts create mode 100644 src/app/tab3/tab3.page.ts create mode 100644 src/app/tabs/tabs-routing.module.ts create mode 100644 src/app/tabs/tabs.module.ts create mode 100644 src/app/tabs/tabs.page.html create mode 100644 src/app/tabs/tabs.page.scss create mode 100644 src/app/tabs/tabs.page.spec.ts create mode 100644 src/app/tabs/tabs.page.ts create mode 100644 src/assets/icon/favicon.png create mode 100644 src/assets/shapes.svg create mode 100644 src/environments/environment.prod.ts create mode 100644 src/environments/environment.ts create mode 100644 src/global.scss create mode 100644 src/index.html create mode 100644 src/main.ts create mode 100644 src/polyfills.ts create mode 100644 src/test.ts create mode 100644 src/theme/variables.scss create mode 100644 src/zone-flags.ts create mode 100644 tsconfig.app.json create mode 100644 tsconfig.json create mode 100644 tsconfig.spec.json diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..1e79afb --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,16 @@ +# 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 + +Chrome >=60 +ChromeAndroid >=60 +Firefox >=63 +Edge >=79 +Safari >=13 +iOS >=13 diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..59d9a3a --- /dev/null +++ b/.editorconfig @@ -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 diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..9d48db4 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,46 @@ +{ + "root": true, + "ignorePatterns": ["projects/**/*"], + "overrides": [ + { + "files": ["*.ts"], + "parserOptions": { + "project": ["tsconfig.json"], + "createDefaultProgram": true + }, + "extends": [ + "plugin:@angular-eslint/recommended", + "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": {} + } + ] +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0f927a7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,68 @@ +# Specifies intentionally untracked files to ignore when using Git +# http://git-scm.com/docs/gitignore + +*~ +*.sw[mnpcod] +.tmp +*.tmp +*.tmp.* +UserInterfaceState.xcuserstate +$RECYCLE.BIN/ + +*.log +log.txt + + +/.sourcemaps +/.versions +/coverage + +# Ionic +/.ionic +/www +/platforms +/plugins + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-project +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + + +# Miscellaneous +/.angular +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..623309d --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "ionic.ionic" + ] +} diff --git a/angular.json b/angular.json new file mode 100644 index 0000000..31a8781 --- /dev/null +++ b/angular.json @@ -0,0 +1,149 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "app": { + "projectType": "application", + "schematics": {}, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "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", + "inlineStyleLanguage": "scss", + "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": [] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "5mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "outputHashing": "all" + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + }, + "ci": { + "progress": false + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "browserTarget": "app:build:production" + }, + "development": { + "browserTarget": "app:build:development" + }, + "ci": { + "progress": false + } + }, + "defaultConfiguration": "development" + }, + "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", + "inlineStyleLanguage": "scss", + "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": [] + }, + "configurations": { + "ci": { + "progress": false, + "watch": false + } + } + }, + "lint": { + "builder": "@angular-eslint/builder:lint", + "options": { + "lintFilePatterns": [ + "src/**/*.ts", + "src/**/*.html" + ] + } + } + } + } + }, + "cli": { + "schematicCollections": [ + "@ionic/angular-toolkit" + ] + }, + "schematics": { + "@ionic/angular-toolkit:component": { + "styleext": "scss" + }, + "@ionic/angular-toolkit:page": { + "styleext": "scss" + } + } +} diff --git a/capacitor.config.json b/capacitor.config.json new file mode 100644 index 0000000..98f72eb --- /dev/null +++ b/capacitor.config.json @@ -0,0 +1,6 @@ +{ + "appId": "io.ionic.starter", + "appName": "workspace", + "webDir": "www", + "bundledWebRuntime": false +} diff --git a/ionic.config.json b/ionic.config.json new file mode 100644 index 0000000..e442c9b --- /dev/null +++ b/ionic.config.json @@ -0,0 +1,8 @@ +{ + "name": "workspace", + "integrations": { + "capacitor": {} + }, + "type": "angular", + "id": "ecc52745" +} \ No newline at end of file diff --git a/karma.conf.js b/karma.conf.js new file mode 100644 index 0000000..611c27f --- /dev/null +++ b/karma.conf.js @@ -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/app'), + 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 + }); +}; diff --git a/package.json b/package.json new file mode 100644 index 0000000..010b6f7 --- /dev/null +++ b/package.json @@ -0,0 +1,65 @@ +{ + "name": "workspace", + "version": "0.0.1", + "author": "Ionic Framework", + "homepage": "https://ionicframework.com/", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test", + "lint": "ng lint" + }, + "private": true, + "dependencies": { + "@angular/common": "^15.0.0", + "@angular/core": "^15.0.0", + "@angular/forms": "^15.0.0", + "@angular/platform-browser": "^15.0.0", + "@angular/platform-browser-dynamic": "^15.0.0", + "@angular/router": "^15.0.0", + "@capacitor/app": "4.1.1", + "@capacitor/core": "4.6.3", + "@capacitor/haptics": "4.1.0", + "@capacitor/keyboard": "4.1.1", + "@capacitor/status-bar": "4.1.1", + "@ionic/angular": "^6.1.9", + "ionicons": "^6.0.3", + "rxjs": "~7.5.0", + "tslib": "^2.3.0", + "zone.js": "~0.11.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^15.0.0", + "@angular-eslint/builder": "^14.0.0", + "@angular-eslint/eslint-plugin": "^14.0.0", + "@angular-eslint/eslint-plugin-template": "^14.0.0", + "@angular-eslint/template-parser": "^14.0.0", + "@angular/cli": "^15.0.0", + "@angular/compiler": "^15.0.0", + "@angular/compiler-cli": "^15.0.0", + "@angular/language-service": "^15.0.0", + "@capacitor/cli": "4.6.3", + "@ionic/angular-toolkit": "^6.0.0", + "@types/jasmine": "~4.0.0", + "@types/node": "^12.11.1", + "@typescript-eslint/eslint-plugin": "5.3.0", + "@typescript-eslint/parser": "5.3.0", + "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": "~4.3.0", + "jasmine-spec-reporter": "~5.0.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.2.0", + "karma-coverage-istanbul-reporter": "~3.0.2", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.0.0", + "ts-node": "~8.3.0", + "typescript": "~4.8.4" + }, + "description": "An Ionic project" +} diff --git a/resources/icon.png b/resources/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9791ff0c1e1a361f4655cc79abd8030524404bdc GIT binary patch literal 57556 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%0DR&RCV$het)`Pi)pBcgUH|rHl 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 TSM8|U?au~lKy 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 K&K=FHy}bg+t-(qF literal 0 HcmV?d00001 diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts new file mode 100644 index 0000000..48fc28d --- /dev/null +++ b/src/app/app-routing.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from '@angular/core'; +import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; + +const routes: Routes = [ + { + path: '', + loadChildren: () => import('./tabs/tabs.module').then(m => m.TabsPageModule) + } +]; +@NgModule({ + imports: [ + RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }) + ], + exports: [RouterModule] +}) +export class AppRoutingModule {} diff --git a/src/app/app.component.html b/src/app/app.component.html new file mode 100644 index 0000000..13b9677 --- /dev/null +++ b/src/app/app.component.html @@ -0,0 +1,3 @@ + + + diff --git a/src/app/app.component.scss b/src/app/app.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts new file mode 100644 index 0000000..51b7b65 --- /dev/null +++ b/src/app/app.component.spec.ts @@ -0,0 +1,21 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { TestBed } from '@angular/core/testing'; + +import { AppComponent } from './app.component'; + +describe('AppComponent', () => { + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [AppComponent], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }).compileComponents(); + }); + + it('should create the app', () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app).toBeTruthy(); + }); + +}); diff --git a/src/app/app.component.ts b/src/app/app.component.ts new file mode 100644 index 0000000..913de3d --- /dev/null +++ b/src/app/app.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-root', + templateUrl: 'app.component.html', + styleUrls: ['app.component.scss'], +}) +export class AppComponent { + constructor() {} +} diff --git a/src/app/app.module.ts b/src/app/app.module.ts new file mode 100644 index 0000000..4255dd8 --- /dev/null +++ b/src/app/app.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from '@angular/core'; +import { BrowserModule } from '@angular/platform-browser'; +import { RouteReuseStrategy } from '@angular/router'; + +import { IonicModule, IonicRouteStrategy } from '@ionic/angular'; + +import { AppRoutingModule } from './app-routing.module'; +import { AppComponent } from './app.component'; + +@NgModule({ + declarations: [AppComponent], + imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule], + providers: [{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }], + bootstrap: [AppComponent], +}) +export class AppModule {} diff --git a/src/app/explore-container/explore-container.component.html b/src/app/explore-container/explore-container.component.html new file mode 100644 index 0000000..bbadb7d --- /dev/null +++ b/src/app/explore-container/explore-container.component.html @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/src/app/explore-container/explore-container.component.scss b/src/app/explore-container/explore-container.component.scss new file mode 100644 index 0000000..8993e7c --- /dev/null +++ b/src/app/explore-container/explore-container.component.scss @@ -0,0 +1,27 @@ +#container { + text-align: center; + + position: absolute; + left: 0; + right: 0; + top: 50%; + transform: translateY(-50%); +} + +#container strong { + font-size: 20px; + line-height: 26px; +} + +#container p { + font-size: 16px; + line-height: 22px; + + color: #8c8c8c; + + margin: 0; +} + +#container a { + text-decoration: none; +} \ No newline at end of file diff --git a/src/app/explore-container/explore-container.component.spec.ts b/src/app/explore-container/explore-container.component.spec.ts new file mode 100644 index 0000000..caa9a7c --- /dev/null +++ b/src/app/explore-container/explore-container.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { ExploreContainerComponent } from './explore-container.component'; + +describe('ExploreContainerComponent', () => { + let component: ExploreContainerComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ExploreContainerComponent], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(ExploreContainerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/explore-container/explore-container.component.ts b/src/app/explore-container/explore-container.component.ts new file mode 100644 index 0000000..11beba0 --- /dev/null +++ b/src/app/explore-container/explore-container.component.ts @@ -0,0 +1,12 @@ +import { Component, Input } from '@angular/core'; + +@Component({ + selector: 'app-explore-container', + templateUrl: './explore-container.component.html', + styleUrls: ['./explore-container.component.scss'], +}) +export class ExploreContainerComponent { + + @Input() name?: string; + +} diff --git a/src/app/explore-container/explore-container.module.ts b/src/app/explore-container/explore-container.module.ts new file mode 100644 index 0000000..4376296 --- /dev/null +++ b/src/app/explore-container/explore-container.module.ts @@ -0,0 +1,14 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { ExploreContainerComponent } from './explore-container.component'; + +@NgModule({ + imports: [ CommonModule, FormsModule, IonicModule], + declarations: [ExploreContainerComponent], + exports: [ExploreContainerComponent] +}) +export class ExploreContainerComponentModule {} diff --git a/src/app/tab1/tab1-routing.module.ts b/src/app/tab1/tab1-routing.module.ts new file mode 100644 index 0000000..8c1cf5b --- /dev/null +++ b/src/app/tab1/tab1-routing.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +import { Tab1Page } from './tab1.page'; + +const routes: Routes = [ + { + path: '', + component: Tab1Page, + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class Tab1PageRoutingModule {} diff --git a/src/app/tab1/tab1.module.ts b/src/app/tab1/tab1.module.ts new file mode 100644 index 0000000..135eeae --- /dev/null +++ b/src/app/tab1/tab1.module.ts @@ -0,0 +1,20 @@ +import { IonicModule } from '@ionic/angular'; +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { Tab1Page } from './tab1.page'; +import { ExploreContainerComponentModule } from '../explore-container/explore-container.module'; + +import { Tab1PageRoutingModule } from './tab1-routing.module'; + +@NgModule({ + imports: [ + IonicModule, + CommonModule, + FormsModule, + ExploreContainerComponentModule, + Tab1PageRoutingModule + ], + declarations: [Tab1Page] +}) +export class Tab1PageModule {} diff --git a/src/app/tab1/tab1.page.html b/src/app/tab1/tab1.page.html new file mode 100644 index 0000000..22e11e4 --- /dev/null +++ b/src/app/tab1/tab1.page.html @@ -0,0 +1,17 @@ + + + + Tab 1 + + + + + + + + Tab 1 + + + + + diff --git a/src/app/tab1/tab1.page.scss b/src/app/tab1/tab1.page.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/tab1/tab1.page.spec.ts b/src/app/tab1/tab1.page.spec.ts new file mode 100644 index 0000000..0dbb7c0 --- /dev/null +++ b/src/app/tab1/tab1.page.spec.ts @@ -0,0 +1,26 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { ExploreContainerComponentModule } from '../explore-container/explore-container.module'; + +import { Tab1Page } from './tab1.page'; + +describe('Tab1Page', () => { + let component: Tab1Page; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [Tab1Page], + imports: [IonicModule.forRoot(), ExploreContainerComponentModule] + }).compileComponents(); + + fixture = TestBed.createComponent(Tab1Page); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/tab1/tab1.page.ts b/src/app/tab1/tab1.page.ts new file mode 100644 index 0000000..3deefc3 --- /dev/null +++ b/src/app/tab1/tab1.page.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-tab1', + templateUrl: 'tab1.page.html', + styleUrls: ['tab1.page.scss'] +}) +export class Tab1Page { + + constructor() {} + +} diff --git a/src/app/tab2/tab2-routing.module.ts b/src/app/tab2/tab2-routing.module.ts new file mode 100644 index 0000000..e96ec09 --- /dev/null +++ b/src/app/tab2/tab2-routing.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +import { Tab2Page } from './tab2.page'; + +const routes: Routes = [ + { + path: '', + component: Tab2Page, + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class Tab2PageRoutingModule {} diff --git a/src/app/tab2/tab2.module.ts b/src/app/tab2/tab2.module.ts new file mode 100644 index 0000000..723bac1 --- /dev/null +++ b/src/app/tab2/tab2.module.ts @@ -0,0 +1,20 @@ +import { IonicModule } from '@ionic/angular'; +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { Tab2Page } from './tab2.page'; +import { ExploreContainerComponentModule } from '../explore-container/explore-container.module'; + +import { Tab2PageRoutingModule } from './tab2-routing.module'; + +@NgModule({ + imports: [ + IonicModule, + CommonModule, + FormsModule, + ExploreContainerComponentModule, + Tab2PageRoutingModule + ], + declarations: [Tab2Page] +}) +export class Tab2PageModule {} diff --git a/src/app/tab2/tab2.page.html b/src/app/tab2/tab2.page.html new file mode 100644 index 0000000..38b153e --- /dev/null +++ b/src/app/tab2/tab2.page.html @@ -0,0 +1,17 @@ + + + + Tab 2 + + + + + + + + Tab 2 + + + + + diff --git a/src/app/tab2/tab2.page.scss b/src/app/tab2/tab2.page.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/tab2/tab2.page.spec.ts b/src/app/tab2/tab2.page.spec.ts new file mode 100644 index 0000000..70bd876 --- /dev/null +++ b/src/app/tab2/tab2.page.spec.ts @@ -0,0 +1,26 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { ExploreContainerComponentModule } from '../explore-container/explore-container.module'; + +import { Tab2Page } from './tab2.page'; + +describe('Tab2Page', () => { + let component: Tab2Page; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [Tab2Page], + imports: [IonicModule.forRoot(), ExploreContainerComponentModule] + }).compileComponents(); + + fixture = TestBed.createComponent(Tab2Page); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/tab2/tab2.page.ts b/src/app/tab2/tab2.page.ts new file mode 100644 index 0000000..e14cad4 --- /dev/null +++ b/src/app/tab2/tab2.page.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-tab2', + templateUrl: 'tab2.page.html', + styleUrls: ['tab2.page.scss'] +}) +export class Tab2Page { + + constructor() {} + +} diff --git a/src/app/tab3/tab3-routing.module.ts b/src/app/tab3/tab3-routing.module.ts new file mode 100644 index 0000000..5d6abde --- /dev/null +++ b/src/app/tab3/tab3-routing.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +import { Tab3Page } from './tab3.page'; + +const routes: Routes = [ + { + path: '', + component: Tab3Page, + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class Tab3PageRoutingModule {} diff --git a/src/app/tab3/tab3.module.ts b/src/app/tab3/tab3.module.ts new file mode 100644 index 0000000..2599fc6 --- /dev/null +++ b/src/app/tab3/tab3.module.ts @@ -0,0 +1,20 @@ +import { IonicModule } from '@ionic/angular'; +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { Tab3Page } from './tab3.page'; +import { ExploreContainerComponentModule } from '../explore-container/explore-container.module'; + +import { Tab3PageRoutingModule } from './tab3-routing.module'; + +@NgModule({ + imports: [ + IonicModule, + CommonModule, + FormsModule, + ExploreContainerComponentModule, + Tab3PageRoutingModule + ], + declarations: [Tab3Page] +}) +export class Tab3PageModule {} diff --git a/src/app/tab3/tab3.page.html b/src/app/tab3/tab3.page.html new file mode 100644 index 0000000..222333d --- /dev/null +++ b/src/app/tab3/tab3.page.html @@ -0,0 +1,17 @@ + + + + Tab 3 + + + + + + + + Tab 3 + + + + + diff --git a/src/app/tab3/tab3.page.scss b/src/app/tab3/tab3.page.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/tab3/tab3.page.spec.ts b/src/app/tab3/tab3.page.spec.ts new file mode 100644 index 0000000..28d8619 --- /dev/null +++ b/src/app/tab3/tab3.page.spec.ts @@ -0,0 +1,26 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { ExploreContainerComponentModule } from '../explore-container/explore-container.module'; + +import { Tab3Page } from './tab3.page'; + +describe('Tab3Page', () => { + let component: Tab3Page; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [Tab3Page], + imports: [IonicModule.forRoot(), ExploreContainerComponentModule] + }).compileComponents(); + + fixture = TestBed.createComponent(Tab3Page); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/tab3/tab3.page.ts b/src/app/tab3/tab3.page.ts new file mode 100644 index 0000000..9ed0dae --- /dev/null +++ b/src/app/tab3/tab3.page.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-tab3', + templateUrl: 'tab3.page.html', + styleUrls: ['tab3.page.scss'] +}) +export class Tab3Page { + + constructor() {} + +} diff --git a/src/app/tabs/tabs-routing.module.ts b/src/app/tabs/tabs-routing.module.ts new file mode 100644 index 0000000..770e87e --- /dev/null +++ b/src/app/tabs/tabs-routing.module.ts @@ -0,0 +1,39 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +import { TabsPage } from './tabs.page'; + +const routes: Routes = [ + { + path: 'tabs', + component: TabsPage, + children: [ + { + path: 'tab1', + loadChildren: () => import('../tab1/tab1.module').then(m => m.Tab1PageModule) + }, + { + path: 'tab2', + loadChildren: () => import('../tab2/tab2.module').then(m => m.Tab2PageModule) + }, + { + path: 'tab3', + loadChildren: () => import('../tab3/tab3.module').then(m => m.Tab3PageModule) + }, + { + path: '', + redirectTo: '/tabs/tab1', + pathMatch: 'full' + } + ] + }, + { + path: '', + redirectTo: '/tabs/tab1', + pathMatch: 'full' + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], +}) +export class TabsPageRoutingModule {} diff --git a/src/app/tabs/tabs.module.ts b/src/app/tabs/tabs.module.ts new file mode 100644 index 0000000..de4184a --- /dev/null +++ b/src/app/tabs/tabs.module.ts @@ -0,0 +1,19 @@ +import { IonicModule } from '@ionic/angular'; +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { TabsPageRoutingModule } from './tabs-routing.module'; + +import { TabsPage } from './tabs.page'; + +@NgModule({ + imports: [ + IonicModule, + CommonModule, + FormsModule, + TabsPageRoutingModule + ], + declarations: [TabsPage] +}) +export class TabsPageModule {} diff --git a/src/app/tabs/tabs.page.html b/src/app/tabs/tabs.page.html new file mode 100644 index 0000000..0995c40 --- /dev/null +++ b/src/app/tabs/tabs.page.html @@ -0,0 +1,20 @@ + + + + + + Tab 1 + + + + + Tab 2 + + + + + Tab 3 + + + + diff --git a/src/app/tabs/tabs.page.scss b/src/app/tabs/tabs.page.scss new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/app/tabs/tabs.page.scss @@ -0,0 +1 @@ + diff --git a/src/app/tabs/tabs.page.spec.ts b/src/app/tabs/tabs.page.spec.ts new file mode 100644 index 0000000..40a3de8 --- /dev/null +++ b/src/app/tabs/tabs.page.spec.ts @@ -0,0 +1,26 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TabsPage } from './tabs.page'; + +describe('TabsPage', () => { + let component: TabsPage; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [TabsPage], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(TabsPage); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/tabs/tabs.page.ts b/src/app/tabs/tabs.page.ts new file mode 100644 index 0000000..7d64f97 --- /dev/null +++ b/src/app/tabs/tabs.page.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-tabs', + templateUrl: 'tabs.page.html', + styleUrls: ['tabs.page.scss'] +}) +export class TabsPage { + + constructor() {} + +} diff --git a/src/assets/icon/favicon.png b/src/assets/icon/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..51888a7bbdb59f04c29c548523eb2638c1c954f5 GIT binary patch literal 930 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!x&nMcT-^(N+`Ik{1{5}NM-k9f zx+Ot=!3-}y{#<)Uok@}X^0T)Mjw~(h@l#Ir^NC7r=_#0-8E$a3RKVL~nc3p~*UxA# z4bjg_XJBBO<>}%W5^;EK_{&+V40u?Vtzk_Oy;*YMVqw~ozwz&rPG6d~>D#mR`SK=; zww9K@s-5|}%Dy=+ak|}>#qwwKGH>ZO4~|`P_r2LJy1RYqyXB`=?Mw?@F8Z!h{rcpz z^y94Mdt1KFIr?nR|NE2g?N}2vO^d(4;=OB>WP0Plul!REN;cgwUAJuA?C`^98NGCJ zuf=eS_OHmETd)0azdLJ6Z^FIm6*YNHw|4%lGf`stp1;dK$1sNYdj7ec{*dYEN(RM7|LFZWoy#R9733Kz`kee` zcsH&1+JCz2|7qRT%bgpNUdZ3E%i6T)I?vY6{p)ga_qlB<;GAPn(!{OF;x_wm_K%n( zW67=BbK}Hx+Mo2yW_)0K?|;#s9f!Uw=S;9NQ)S^>UOs1+lefL)nQKa6oJzg9f7^uT zr^QQJHL|;hJ!n29P`>r{pI$??E8ll+Vp%D3sqgGAQ?16Ir>}307i!n%dGB~BKleRm zV`}#;lUe7&`Rm%PqCLs%HOEe${KnWk%jlG>GM}cUf9>%Jt~^m(q1U%2$4$<)xHgTq zd0EM;Wjbazr!IcCcJ{`1i$kvS+;+RTmT^vJdf^@OKlARE7bo`3-BEDmtJB75>uhqr zB>Z2>{qec~lUw13i#jzoi~HY diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts new file mode 100644 index 0000000..3612073 --- /dev/null +++ b/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/src/environments/environment.ts b/src/environments/environment.ts new file mode 100644 index 0000000..f56ff47 --- /dev/null +++ b/src/environments/environment.ts @@ -0,0 +1,16 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/plugins/zone-error'; // Included with Angular CLI. diff --git a/src/global.scss b/src/global.scss new file mode 100644 index 0000000..d854de8 --- /dev/null +++ b/src/global.scss @@ -0,0 +1,26 @@ +/* + * App Global CSS + * ---------------------------------------------------------------------------- + * Put style rules here that you want to apply globally. These styles are for + * the entire app and not just one component. Additionally, this file can be + * used as an entry point to import other CSS/Sass files to be included in the + * output CSS. + * For more information on global stylesheets, visit the documentation: + * https://ionicframework.com/docs/layout/global-stylesheets + */ + +/* Core CSS required for Ionic components to work properly */ +@import "~@ionic/angular/css/core.css"; + +/* Basic CSS for apps built with Ionic */ +@import "~@ionic/angular/css/normalize.css"; +@import "~@ionic/angular/css/structure.css"; +@import "~@ionic/angular/css/typography.css"; +@import '~@ionic/angular/css/display.css'; + +/* Optional CSS utils that can be commented out */ +@import "~@ionic/angular/css/padding.css"; +@import "~@ionic/angular/css/float-elements.css"; +@import "~@ionic/angular/css/text-alignment.css"; +@import "~@ionic/angular/css/text-transformation.css"; +@import "~@ionic/angular/css/flex-utils.css"; diff --git a/src/index.html b/src/index.html new file mode 100644 index 0000000..3b0aae1 --- /dev/null +++ b/src/index.html @@ -0,0 +1,26 @@ + + + + + + Ionic App + + + + + + + + + + + + + + + + + + + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..91ec6da --- /dev/null +++ b/src/main.ts @@ -0,0 +1,12 @@ +import { enableProdMode } from '@angular/core'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; +import { environment } from './environments/environment'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.log(err)); diff --git a/src/polyfills.ts b/src/polyfills.ts new file mode 100644 index 0000000..429bb9e --- /dev/null +++ b/src/polyfills.ts @@ -0,0 +1,53 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes recent versions of Safari, Chrome (including + * Opera), Edge on the desktop, and iOS and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** + * By default, zone.js will patch all possible macroTask and DomEvents + * user can disable parts of macroTask/DomEvents patch by setting following flags + * because those flags need to be set before `zone.js` being loaded, and webpack + * will put import in the top of bundle, so user need to create a separate file + * in this directory (for example: zone-flags.ts), and put the following flags + * into that file, and then add the following code before importing zone.js. + * import './zone-flags'; + * + * The flags allowed in zone-flags.ts are listed here. + * + * The following flags will work for all browsers. + * + * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame + * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick + * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames + * + * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js + * with the following flag, it will bypass `zone.js` patch for IE/Edge + * + * (window as any).__Zone_enable_cross_context_check = true; + * + */ + +/*************************************************************************************************** + * Zone JS is required by default for Angular itself. + */ +import 'zone.js'; // Included with Angular CLI. + + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ diff --git a/src/test.ts b/src/test.ts new file mode 100644 index 0000000..51bb020 --- /dev/null +++ b/src/test.ts @@ -0,0 +1,14 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting(), +); diff --git a/src/theme/variables.scss b/src/theme/variables.scss new file mode 100644 index 0000000..2a79309 --- /dev/null +++ b/src/theme/variables.scss @@ -0,0 +1,236 @@ +// Ionic Variables and Theming. For more info, please see: +// http://ionicframework.com/docs/theming/ + +/** Ionic CSS Variables **/ +:root { + /** primary **/ + --ion-color-primary: #3880FF; + --ion-color-primary-rgb: 56, 128, 255; + --ion-color-primary-contrast: #ffffff; + --ion-color-primary-contrast-rgb: 255, 255, 255; + --ion-color-primary-shade: #3171e0; + --ion-color-primary-tint: #4c8dff; + + /** secondary **/ + --ion-color-secondary: #3dc2ff; + --ion-color-secondary-rgb: 61, 194, 255; + --ion-color-secondary-contrast: #ffffff; + --ion-color-secondary-contrast-rgb: 255, 255, 255; + --ion-color-secondary-shade: #36abe0; + --ion-color-secondary-tint: #50c8ff; + + /** tertiary **/ + --ion-color-tertiary: #5260ff; + --ion-color-tertiary-rgb: 82, 96, 255; + --ion-color-tertiary-contrast: #ffffff; + --ion-color-tertiary-contrast-rgb: 255, 255, 255; + --ion-color-tertiary-shade: #4854e0; + --ion-color-tertiary-tint: #6370ff; + + /** success **/ + --ion-color-success: #2dd36f; + --ion-color-success-rgb: 45, 211, 111; + --ion-color-success-contrast: #ffffff; + --ion-color-success-contrast-rgb: 255, 255, 255; + --ion-color-success-shade: #28ba62; + --ion-color-success-tint: #42d77d; + + /** warning **/ + --ion-color-warning: #ffc409; + --ion-color-warning-rgb: 255, 196, 9; + --ion-color-warning-contrast: #000000; + --ion-color-warning-contrast-rgb: 0, 0, 0; + --ion-color-warning-shade: #e0ac08; + --ion-color-warning-tint: #ffca22; + + /** danger **/ + --ion-color-danger: #eb445a; + --ion-color-danger-rgb: 235, 68, 90; + --ion-color-danger-contrast: #ffffff; + --ion-color-danger-contrast-rgb: 255, 255, 255; + --ion-color-danger-shade: #cf3c4f; + --ion-color-danger-tint: #ed576b; + + /** dark **/ + --ion-color-dark: #222428; + --ion-color-dark-rgb: 34, 36, 40; + --ion-color-dark-contrast: #ffffff; + --ion-color-dark-contrast-rgb: 255, 255, 255; + --ion-color-dark-shade: #1e2023; + --ion-color-dark-tint: #383a3e; + + /** medium **/ + --ion-color-medium: #92949c; + --ion-color-medium-rgb: 146, 148, 156; + --ion-color-medium-contrast: #ffffff; + --ion-color-medium-contrast-rgb: 255, 255, 255; + --ion-color-medium-shade: #808289; + --ion-color-medium-tint: #9d9fa6; + + /** light **/ + --ion-color-light: #f4f5f8; + --ion-color-light-rgb: 244, 245, 248; + --ion-color-light-contrast: #000000; + --ion-color-light-contrast-rgb: 0, 0, 0; + --ion-color-light-shade: #d7d8da; + --ion-color-light-tint: #f5f6f9; +} + +@media (prefers-color-scheme: dark) { + /* + * Dark Colors + * ------------------------------------------- + */ + + body { + --ion-color-primary: #afccff; + --ion-color-primary-rgb: 175, 204, 255; + --ion-color-primary-contrast: #000000; + --ion-color-primary-contrast-rgb: 0, 0, 0; + --ion-color-primary-shade: #9ab4e0; + --ion-color-primary-tint: #b7d1ff; + + --ion-color-secondary: #50c8ff; + --ion-color-secondary-rgb: 80,200,255; + --ion-color-secondary-contrast: #ffffff; + --ion-color-secondary-contrast-rgb: 255,255,255; + --ion-color-secondary-shade: #46b0e0; + --ion-color-secondary-tint: #62ceff; + + --ion-color-tertiary: #6a64ff; + --ion-color-tertiary-rgb: 106,100,255; + --ion-color-tertiary-contrast: #ffffff; + --ion-color-tertiary-contrast-rgb: 255,255,255; + --ion-color-tertiary-shade: #5d58e0; + --ion-color-tertiary-tint: #7974ff; + + --ion-color-success: #2fdf75; + --ion-color-success-rgb: 47,223,117; + --ion-color-success-contrast: #000000; + --ion-color-success-contrast-rgb: 0,0,0; + --ion-color-success-shade: #29c467; + --ion-color-success-tint: #44e283; + + --ion-color-warning: #ffd534; + --ion-color-warning-rgb: 255,213,52; + --ion-color-warning-contrast: #000000; + --ion-color-warning-contrast-rgb: 0,0,0; + --ion-color-warning-shade: #e0bb2e; + --ion-color-warning-tint: #ffd948; + + --ion-color-danger: #ff4961; + --ion-color-danger-rgb: 255,73,97; + --ion-color-danger-contrast: #ffffff; + --ion-color-danger-contrast-rgb: 255,255,255; + --ion-color-danger-shade: #e04055; + --ion-color-danger-tint: #ff5b71; + + --ion-color-dark: #f4f5f8; + --ion-color-dark-rgb: 244,245,248; + --ion-color-dark-contrast: #000000; + --ion-color-dark-contrast-rgb: 0,0,0; + --ion-color-dark-shade: #d7d8da; + --ion-color-dark-tint: #f5f6f9; + + --ion-color-medium: #989aa2; + --ion-color-medium-rgb: 152,154,162; + --ion-color-medium-contrast: #000000; + --ion-color-medium-contrast-rgb: 0,0,0; + --ion-color-medium-shade: #86888f; + --ion-color-medium-tint: #a2a4ab; + + --ion-color-light: #222428; + --ion-color-light-rgb: 34,36,40; + --ion-color-light-contrast: #ffffff; + --ion-color-light-contrast-rgb: 255,255,255; + --ion-color-light-shade: #1e2023; + --ion-color-light-tint: #383a3e; + } + + /* + * iOS Dark Theme + * ------------------------------------------- + */ + + .ios body { + --ion-background-color: #000000; + --ion-background-color-rgb: 0,0,0; + + --ion-text-color: #ffffff; + --ion-text-color-rgb: 255,255,255; + + --ion-color-step-50: #0d0d0d; + --ion-color-step-100: #1a1a1a; + --ion-color-step-150: #262626; + --ion-color-step-200: #333333; + --ion-color-step-250: #404040; + --ion-color-step-300: #4d4d4d; + --ion-color-step-350: #595959; + --ion-color-step-400: #666666; + --ion-color-step-450: #737373; + --ion-color-step-500: #808080; + --ion-color-step-550: #8c8c8c; + --ion-color-step-600: #999999; + --ion-color-step-650: #a6a6a6; + --ion-color-step-700: #b3b3b3; + --ion-color-step-750: #bfbfbf; + --ion-color-step-800: #cccccc; + --ion-color-step-850: #d9d9d9; + --ion-color-step-900: #e6e6e6; + --ion-color-step-950: #f2f2f2; + + --ion-item-background: #000000; + + --ion-card-background: #1c1c1d; + } + + .ios ion-modal { + --ion-background-color: var(--ion-color-step-100); + --ion-toolbar-background: var(--ion-color-step-150); + --ion-toolbar-border-color: var(--ion-color-step-250); + } + + + /* + * Material Design Dark Theme + * ------------------------------------------- + */ + + .md body { + --ion-background-color: #121212; + --ion-background-color-rgb: 18,18,18; + + --ion-text-color: #ffffff; + --ion-text-color-rgb: 255,255,255; + + --ion-border-color: #222222; + + --ion-color-step-50: #1e1e1e; + --ion-color-step-100: #2a2a2a; + --ion-color-step-150: #363636; + --ion-color-step-200: #414141; + --ion-color-step-250: #4d4d4d; + --ion-color-step-300: #595959; + --ion-color-step-350: #656565; + --ion-color-step-400: #717171; + --ion-color-step-450: #7d7d7d; + --ion-color-step-500: #898989; + --ion-color-step-550: #949494; + --ion-color-step-600: #a0a0a0; + --ion-color-step-650: #acacac; + --ion-color-step-700: #b8b8b8; + --ion-color-step-750: #c4c4c4; + --ion-color-step-800: #d0d0d0; + --ion-color-step-850: #dbdbdb; + --ion-color-step-900: #e7e7e7; + --ion-color-step-950: #f3f3f3; + + --ion-item-background: #1e1e1e; + + --ion-toolbar-background: #1f1f1f; + + --ion-tab-bar-background: #1f1f1f; + + --ion-card-background: #1e1e1e; + } +} diff --git a/src/zone-flags.ts b/src/zone-flags.ts new file mode 100644 index 0000000..c84245f --- /dev/null +++ b/src/zone-flags.ts @@ -0,0 +1,6 @@ +/** + * Prevents Angular change detection from + * running with certain Web Component callbacks + */ +// eslint-disable-next-line no-underscore-dangle +(window as any).__Zone_disable_customElements = true; diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 0000000..82d91dc --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,15 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": [ + "src/main.ts", + "src/polyfills.ts" + ], + "include": [ + "src/**/*.d.ts" + ] +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..1205795 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,33 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "sourceMap": true, + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "es2015", + "module": "es2020", + "lib": [ + "es2018", + "dom" + ], + "useDefineForClassFields": false + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/tsconfig.spec.json b/tsconfig.spec.json new file mode 100644 index 0000000..092345b --- /dev/null +++ b/tsconfig.spec.json @@ -0,0 +1,18 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "files": [ + "src/test.ts", + "src/polyfills.ts" + ], + "include": [ + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +}