naoki 2 tygodni temu
commit
7c2b17e0b1

+ 15
- 0
.browserslistrc Wyświetl plik

@@ -0,0 +1,15 @@
1
+# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
2
+# For additional information regarding the format and rule options, please see:
3
+# https://github.com/browserslist/browserslist#queries
4
+
5
+# For the full list of supported browsers by the Angular framework, please see:
6
+# https://angular.dev/reference/versions#browser-support
7
+
8
+# You can see what browsers were selected by your queries by running:
9
+#   npx browserslist
10
+
11
+Chrome >=107
12
+Firefox >=106
13
+Edge >=107
14
+Safari >=16.1
15
+iOS >=16.1

+ 16
- 0
.editorconfig Wyświetl plik

@@ -0,0 +1,16 @@
1
+# Editor configuration, see https://editorconfig.org
2
+root = true
3
+
4
+[*]
5
+charset = utf-8
6
+indent_style = space
7
+indent_size = 2
8
+insert_final_newline = true
9
+trim_trailing_whitespace = true
10
+
11
+[*.ts]
12
+quote_type = single
13
+
14
+[*.md]
15
+max_line_length = off
16
+trim_trailing_whitespace = false

+ 47
- 0
.eslintrc.json Wyświetl plik

@@ -0,0 +1,47 @@
1
+{
2
+  "root": true,
3
+  "ignorePatterns": ["projects/**/*"],
4
+  "overrides": [
5
+    {
6
+      "files": ["*.ts"],
7
+      "parserOptions": {
8
+        "project": ["tsconfig.json"],
9
+        "createDefaultProgram": true
10
+      },
11
+      "extends": [
12
+        "plugin:@angular-eslint/recommended",
13
+        "plugin:@angular-eslint/template/process-inline-templates"
14
+      ],
15
+      "rules": {
16
+        "@angular-eslint/prefer-standalone": "off",
17
+        "@angular-eslint/component-class-suffix": [
18
+          "error",
19
+          {
20
+            "suffixes": ["Page", "Component"]
21
+          }
22
+        ],
23
+        "@angular-eslint/component-selector": [
24
+          "error",
25
+          {
26
+            "type": "element",
27
+            "prefix": "app",
28
+            "style": "kebab-case"
29
+          }
30
+        ],
31
+        "@angular-eslint/directive-selector": [
32
+          "error",
33
+          {
34
+            "type": "attribute",
35
+            "prefix": "app",
36
+            "style": "camelCase"
37
+          }
38
+        ]
39
+      }
40
+    },
41
+    {
42
+      "files": ["*.html"],
43
+      "extends": ["plugin:@angular-eslint/template/recommended"],
44
+      "rules": {}
45
+    }
46
+  ]
47
+}

+ 70
- 0
.gitignore Wyświetl plik

@@ -0,0 +1,70 @@
1
+# Specifies intentionally untracked files to ignore when using Git
2
+# http://git-scm.com/docs/gitignore
3
+
4
+*~
5
+*.sw[mnpcod]
6
+.tmp
7
+*.tmp
8
+*.tmp.*
9
+UserInterfaceState.xcuserstate
10
+$RECYCLE.BIN/
11
+
12
+*.log
13
+log.txt
14
+
15
+
16
+/.sourcemaps
17
+/.versions
18
+/coverage
19
+
20
+# Ionic
21
+/.ionic
22
+/www
23
+/platforms
24
+/plugins
25
+
26
+# Compiled output
27
+/dist
28
+/tmp
29
+/out-tsc
30
+/bazel-out
31
+
32
+# Node
33
+/node_modules
34
+npm-debug.log
35
+yarn-error.log
36
+
37
+# IDEs and editors
38
+.idea/
39
+.project
40
+.classpath
41
+.c9/
42
+*.launch
43
+.settings/
44
+*.sublime-project
45
+*.sublime-workspace
46
+
47
+# Visual Studio Code
48
+.vscode/*
49
+!.vscode/settings.json
50
+!.vscode/tasks.json
51
+!.vscode/launch.json
52
+!.vscode/extensions.json
53
+.history/*
54
+
55
+
56
+# Miscellaneous
57
+/.angular
58
+/.angular/cache
59
+.sass-cache/
60
+/.nx
61
+/.nx/cache
62
+/connect.lock
63
+/coverage
64
+/libpeerconnection.log
65
+testem.log
66
+/typings
67
+
68
+# System files
69
+.DS_Store
70
+Thumbs.db

+ 5
- 0
.vscode/extensions.json Wyświetl plik

@@ -0,0 +1,5 @@
1
+{
2
+    "recommendations": [
3
+       "Webnative.webnative"
4
+    ]
5
+}

+ 3
- 0
.vscode/settings.json Wyświetl plik

@@ -0,0 +1,3 @@
1
+{
2
+  "typescript.preferences.autoImportFileExcludePatterns": ["@ionic/angular/common", "@ionic/angular/standalone"]
3
+}

+ 149
- 0
angular.json Wyświetl plik

@@ -0,0 +1,149 @@
1
+{
2
+  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3
+  "version": 1,
4
+  "newProjectRoot": "projects",
5
+  "projects": {
6
+    "app": {
7
+      "projectType": "application",
8
+      "schematics": {},
9
+      "root": "",
10
+      "sourceRoot": "src",
11
+      "prefix": "app",
12
+      "architect": {
13
+        "build": {
14
+          "builder": "@angular-devkit/build-angular:browser",
15
+          "options": {
16
+            "outputPath": "www",
17
+            "index": "src/index.html",
18
+            "main": "src/main.ts",
19
+            "polyfills": "src/polyfills.ts",
20
+            "tsConfig": "tsconfig.app.json",
21
+            "inlineStyleLanguage": "scss",
22
+            "assets": [
23
+              {
24
+                "glob": "**/*",
25
+                "input": "src/assets",
26
+                "output": "assets"
27
+              },
28
+              {
29
+                "glob": "**/*.svg",
30
+                "input": "node_modules/ionicons/dist/ionicons/svg",
31
+                "output": "./svg"
32
+              }
33
+            ],
34
+            "styles": ["src/global.scss", "src/theme/variables.scss"],
35
+            "scripts": []
36
+          },
37
+          "configurations": {
38
+            "production": {
39
+              "budgets": [
40
+                {
41
+                  "type": "initial",
42
+                  "maximumWarning": "2mb",
43
+                  "maximumError": "5mb"
44
+                },
45
+                {
46
+                  "type": "anyComponentStyle",
47
+                  "maximumWarning": "2kb",
48
+                  "maximumError": "4kb"
49
+                }
50
+              ],
51
+              "fileReplacements": [
52
+                {
53
+                  "replace": "src/environments/environment.ts",
54
+                  "with": "src/environments/environment.prod.ts"
55
+                }
56
+              ],
57
+              "outputHashing": "all"
58
+            },
59
+            "development": {
60
+              "buildOptimizer": false,
61
+              "optimization": false,
62
+              "vendorChunk": true,
63
+              "extractLicenses": false,
64
+              "sourceMap": true,
65
+              "namedChunks": true
66
+            },
67
+            "ci": {
68
+              "progress": false
69
+            }
70
+          },
71
+          "defaultConfiguration": "production"
72
+        },
73
+        "serve": {
74
+          "builder": "@angular-devkit/build-angular:dev-server",
75
+          "configurations": {
76
+            "production": {
77
+              "buildTarget": "app:build:production"
78
+            },
79
+            "development": {
80
+              "buildTarget": "app:build:development"
81
+            },
82
+            "ci": {
83
+              "progress": false
84
+            }
85
+          },
86
+          "defaultConfiguration": "development"
87
+        },
88
+        "extract-i18n": {
89
+          "builder": "@angular-devkit/build-angular:extract-i18n",
90
+          "options": {
91
+            "buildTarget": "app:build"
92
+          }
93
+        },
94
+        "test": {
95
+          "builder": "@angular-devkit/build-angular:karma",
96
+          "options": {
97
+            "main": "src/test.ts",
98
+            "polyfills": "src/polyfills.ts",
99
+            "tsConfig": "tsconfig.spec.json",
100
+            "karmaConfig": "karma.conf.js",
101
+            "inlineStyleLanguage": "scss",
102
+            "assets": [
103
+              {
104
+                "glob": "**/*",
105
+                "input": "src/assets",
106
+                "output": "assets"
107
+              },
108
+              {
109
+                "glob": "**/*.svg",
110
+                "input": "node_modules/ionicons/dist/ionicons/svg",
111
+                "output": "./svg"
112
+              }
113
+            ],
114
+            "styles": ["src/global.scss", "src/theme/variables.scss"],
115
+            "scripts": []
116
+          },
117
+          "configurations": {
118
+            "ci": {
119
+              "progress": false,
120
+              "watch": false
121
+            }
122
+          }
123
+        },
124
+        "lint": {
125
+          "builder": "@angular-eslint/builder:lint",
126
+          "options": {
127
+            "lintFilePatterns": [
128
+              "src/**/*.ts",
129
+              "src/**/*.html"
130
+            ]
131
+          }
132
+        }
133
+      }
134
+    }
135
+  },
136
+  "cli": {
137
+    "schematicCollections": [
138
+      "@ionic/angular-toolkit"
139
+    ]
140
+  },
141
+  "schematics": {
142
+    "@ionic/angular-toolkit:component": {
143
+      "styleext": "scss"
144
+    },
145
+    "@ionic/angular-toolkit:page": {
146
+      "styleext": "scss"
147
+    }
148
+  }
149
+}

+ 9
- 0
capacitor.config.ts Wyświetl plik

@@ -0,0 +1,9 @@
1
+import type { CapacitorConfig } from '@capacitor/cli';
2
+
3
+const config: CapacitorConfig = {
4
+  appId: 'io.ionic.starter',
5
+  appName: 'kaimyoManagement',
6
+  webDir: 'www'
7
+};
8
+
9
+export default config;

+ 7
- 0
ionic.config.json Wyświetl plik

@@ -0,0 +1,7 @@
1
+{
2
+  "name": "kaimyoManagement",
3
+  "integrations": {
4
+    "capacitor": {}
5
+  },
6
+  "type": "angular"
7
+}

+ 44
- 0
karma.conf.js Wyświetl plik

@@ -0,0 +1,44 @@
1
+// Karma configuration file, see link for more information
2
+// https://karma-runner.github.io/1.0/config/configuration-file.html
3
+
4
+module.exports = function (config) {
5
+  config.set({
6
+    basePath: '',
7
+    frameworks: ['jasmine', '@angular-devkit/build-angular'],
8
+    plugins: [
9
+      require('karma-jasmine'),
10
+      require('karma-chrome-launcher'),
11
+      require('karma-jasmine-html-reporter'),
12
+      require('karma-coverage'),
13
+      require('@angular-devkit/build-angular/plugins/karma')
14
+    ],
15
+    client: {
16
+      jasmine: {
17
+        // you can add configuration options for Jasmine here
18
+        // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
19
+        // for example, you can disable the random execution with `random: false`
20
+        // or set a specific seed with `seed: 4321`
21
+      },
22
+      clearContext: false // leave Jasmine Spec Runner output visible in browser
23
+    },
24
+    jasmineHtmlReporter: {
25
+      suppressAll: true // removes the duplicated traces
26
+    },
27
+    coverageReporter: {
28
+      dir: require('path').join(__dirname, './coverage/app'),
29
+      subdir: '.',
30
+      reporters: [
31
+        { type: 'html' },
32
+        { type: 'text-summary' }
33
+      ]
34
+    },
35
+    reporters: ['progress', 'kjhtml'],
36
+    port: 9876,
37
+    colors: true,
38
+    logLevel: config.LOG_INFO,
39
+    autoWatch: true,
40
+    browsers: ['Chrome'],
41
+    singleRun: false,
42
+    restartOnFileChange: true
43
+  });
44
+};

+ 18982
- 0
package-lock.json
Plik diff jest za duży
Wyświetl plik


+ 64
- 0
package.json Wyświetl plik

@@ -0,0 +1,64 @@
1
+{
2
+  "name": "kaimyoManagement",
3
+  "version": "0.0.1",
4
+  "author": "Ionic Framework",
5
+  "homepage": "https://ionicframework.com/",
6
+  "scripts": {
7
+    "ng": "ng",
8
+    "start": "ng serve",
9
+    "build": "ng build",
10
+    "watch": "ng build --watch --configuration development",
11
+    "test": "ng test",
12
+    "lint": "ng lint"
13
+  },
14
+  "private": true,
15
+  "dependencies": {
16
+    "@angular/animations": "^20.0.0",
17
+    "@angular/common": "^20.0.0",
18
+    "@angular/compiler": "^20.0.0",
19
+    "@angular/core": "^20.0.0",
20
+    "@angular/forms": "^20.0.0",
21
+    "@angular/platform-browser": "^20.0.0",
22
+    "@angular/platform-browser-dynamic": "^20.0.0",
23
+    "@angular/router": "^20.0.0",
24
+    "@capacitor/app": "8.0.0",
25
+    "@capacitor/core": "8.0.1",
26
+    "@capacitor/haptics": "8.0.0",
27
+    "@capacitor/keyboard": "8.0.0",
28
+    "@capacitor/status-bar": "8.0.0",
29
+    "@ionic/angular": "^8.0.0",
30
+    "ionicons": "^7.0.0",
31
+    "rxjs": "~7.8.0",
32
+    "tslib": "^2.3.0",
33
+    "zone.js": "~0.15.0"
34
+  },
35
+  "devDependencies": {
36
+    "@angular-devkit/build-angular": "^20.0.0",
37
+    "@angular-eslint/builder": "^20.0.0",
38
+    "@angular-eslint/eslint-plugin": "^20.0.0",
39
+    "@angular-eslint/eslint-plugin-template": "^20.0.0",
40
+    "@angular-eslint/schematics": "^20.0.0",
41
+    "@angular-eslint/template-parser": "^20.0.0",
42
+    "@angular/cli": "^20.0.0",
43
+    "@angular/compiler-cli": "^20.0.0",
44
+    "@angular/language-service": "^20.0.0",
45
+    "@capacitor/cli": "8.0.1",
46
+    "@ionic/angular-toolkit": "^12.0.0",
47
+    "@types/jasmine": "~5.1.0",
48
+    "@typescript-eslint/eslint-plugin": "^8.18.0",
49
+    "@typescript-eslint/parser": "^8.18.0",
50
+    "eslint": "^9.16.0",
51
+    "eslint-plugin-import": "^2.29.1",
52
+    "eslint-plugin-jsdoc": "^48.2.1",
53
+    "eslint-plugin-prefer-arrow": "1.2.2",
54
+    "jasmine-core": "~5.1.0",
55
+    "jasmine-spec-reporter": "~5.0.0",
56
+    "karma": "~6.4.0",
57
+    "karma-chrome-launcher": "~3.2.0",
58
+    "karma-coverage": "~2.2.0",
59
+    "karma-jasmine": "~5.1.0",
60
+    "karma-jasmine-html-reporter": "~2.1.0",
61
+    "typescript": "~5.9.0"
62
+  },
63
+  "description": "An Ionic project"
64
+}

+ 22
- 0
src/app/app-routing.module.ts Wyświetl plik

@@ -0,0 +1,22 @@
1
+import { NgModule } from '@angular/core';
2
+import { PreloadAllModules, RouterModule, Routes } from '@angular/router';
3
+
4
+const routes: Routes = [
5
+  {
6
+    path: 'home',
7
+    loadChildren: () => import('./home/home.module').then( m => m.HomePageModule)
8
+  },
9
+  {
10
+    path: '',
11
+    redirectTo: 'home',
12
+    pathMatch: 'full'
13
+  },
14
+];
15
+
16
+@NgModule({
17
+  imports: [
18
+    RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
19
+  ],
20
+  exports: [RouterModule]
21
+})
22
+export class AppRoutingModule { }

+ 3
- 0
src/app/app.component.html Wyświetl plik

@@ -0,0 +1,3 @@
1
+<ion-app>
2
+  <ion-router-outlet></ion-router-outlet>
3
+</ion-app>

+ 0
- 0
src/app/app.component.scss Wyświetl plik


+ 21
- 0
src/app/app.component.spec.ts Wyświetl plik

@@ -0,0 +1,21 @@
1
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
2
+import { TestBed } from '@angular/core/testing';
3
+
4
+import { AppComponent } from './app.component';
5
+
6
+describe('AppComponent', () => {
7
+
8
+  beforeEach(async () => {
9
+    await TestBed.configureTestingModule({
10
+      declarations: [AppComponent],
11
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
12
+    }).compileComponents();
13
+  });
14
+
15
+  it('should create the app', () => {
16
+    const fixture = TestBed.createComponent(AppComponent);
17
+    const app = fixture.componentInstance;
18
+    expect(app).toBeTruthy();
19
+  });
20
+
21
+});

+ 11
- 0
src/app/app.component.ts Wyświetl plik

@@ -0,0 +1,11 @@
1
+import { Component } from '@angular/core';
2
+
3
+@Component({
4
+  selector: 'app-root',
5
+  templateUrl: 'app.component.html',
6
+  styleUrls: ['app.component.scss'],
7
+  standalone: false,
8
+})
9
+export class AppComponent {
10
+  constructor() {}
11
+}

+ 16
- 0
src/app/app.module.ts Wyświetl plik

@@ -0,0 +1,16 @@
1
+import { NgModule } from '@angular/core';
2
+import { BrowserModule } from '@angular/platform-browser';
3
+import { RouteReuseStrategy } from '@angular/router';
4
+
5
+import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
6
+
7
+import { AppComponent } from './app.component';
8
+import { AppRoutingModule } from './app-routing.module';
9
+
10
+@NgModule({
11
+  declarations: [AppComponent],
12
+  imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
13
+  providers: [{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }],
14
+  bootstrap: [AppComponent],
15
+})
16
+export class AppModule {}

+ 16
- 0
src/app/home/home-routing.module.ts Wyświetl plik

@@ -0,0 +1,16 @@
1
+import { NgModule } from '@angular/core';
2
+import { RouterModule, Routes } from '@angular/router';
3
+import { HomePage } from './home.page';
4
+
5
+const routes: Routes = [
6
+  {
7
+    path: '',
8
+    component: HomePage,
9
+  }
10
+];
11
+
12
+@NgModule({
13
+  imports: [RouterModule.forChild(routes)],
14
+  exports: [RouterModule]
15
+})
16
+export class HomePageRoutingModule {}

+ 19
- 0
src/app/home/home.module.ts Wyświetl plik

@@ -0,0 +1,19 @@
1
+import { NgModule } from '@angular/core';
2
+import { CommonModule } from '@angular/common';
3
+import { IonicModule } from '@ionic/angular';
4
+import { FormsModule } from '@angular/forms';
5
+import { HomePage } from './home.page';
6
+
7
+import { HomePageRoutingModule } from './home-routing.module';
8
+
9
+
10
+@NgModule({
11
+  imports: [
12
+    CommonModule,
13
+    FormsModule,
14
+    IonicModule,
15
+    HomePageRoutingModule
16
+  ],
17
+  declarations: [HomePage]
18
+})
19
+export class HomePageModule {}

+ 20
- 0
src/app/home/home.page.html Wyświetl plik

@@ -0,0 +1,20 @@
1
+<ion-header [translucent]="true">
2
+  <ion-toolbar>
3
+    <ion-title>
4
+      Blank
5
+    </ion-title>
6
+  </ion-toolbar>
7
+</ion-header>
8
+
9
+<ion-content [fullscreen]="true">
10
+  <ion-header collapse="condense">
11
+    <ion-toolbar>
12
+      <ion-title size="large">Blank</ion-title>
13
+    </ion-toolbar>
14
+  </ion-header>
15
+
16
+  <div id="container">
17
+    <strong>Ready to create an app?</strong>
18
+    <p>Start with Ionic <a target="_blank" rel="noopener noreferrer" href="https://ionicframework.com/docs/components">UI Components</a></p>
19
+  </div>
20
+</ion-content>

+ 27
- 0
src/app/home/home.page.scss Wyświetl plik

@@ -0,0 +1,27 @@
1
+#container {
2
+  text-align: center;
3
+
4
+  position: absolute;
5
+  left: 0;
6
+  right: 0;
7
+  top: 50%;
8
+  transform: translateY(-50%);
9
+}
10
+
11
+#container strong {
12
+  font-size: 20px;
13
+  line-height: 26px;
14
+}
15
+
16
+#container p {
17
+  font-size: 16px;
18
+  line-height: 22px;
19
+
20
+  color: #8c8c8c;
21
+
22
+  margin: 0;
23
+}
24
+
25
+#container a {
26
+  text-decoration: none;
27
+}

+ 24
- 0
src/app/home/home.page.spec.ts Wyświetl plik

@@ -0,0 +1,24 @@
1
+import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+import { IonicModule } from '@ionic/angular';
3
+
4
+import { HomePage } from './home.page';
5
+
6
+describe('HomePage', () => {
7
+  let component: HomePage;
8
+  let fixture: ComponentFixture<HomePage>;
9
+
10
+  beforeEach(async () => {
11
+    await TestBed.configureTestingModule({
12
+      declarations: [HomePage],
13
+      imports: [IonicModule.forRoot()]
14
+    }).compileComponents();
15
+
16
+    fixture = TestBed.createComponent(HomePage);
17
+    component = fixture.componentInstance;
18
+    fixture.detectChanges();
19
+  });
20
+
21
+  it('should create', () => {
22
+    expect(component).toBeTruthy();
23
+  });
24
+});

+ 13
- 0
src/app/home/home.page.ts Wyświetl plik

@@ -0,0 +1,13 @@
1
+import { Component } from '@angular/core';
2
+
3
+@Component({
4
+  selector: 'app-home',
5
+  templateUrl: 'home.page.html',
6
+  styleUrls: ['home.page.scss'],
7
+  standalone: false,
8
+})
9
+export class HomePage {
10
+
11
+  constructor() {}
12
+
13
+}

BIN
src/assets/icon/favicon.png Wyświetl plik


+ 1
- 0
src/assets/shapes.svg Wyświetl plik

@@ -0,0 +1 @@
1
+<svg width="350" height="140" xmlns="http://www.w3.org/2000/svg" style="background:#f6f7f9"><g fill="none" fill-rule="evenodd"><path fill="#F04141" style="mix-blend-mode:multiply" d="M61.905-34.23l96.194 54.51-66.982 54.512L22 34.887z"/><circle fill="#10DC60" style="mix-blend-mode:multiply" cx="155.5" cy="135.5" r="57.5"/><path fill="#3880FF" style="mix-blend-mode:multiply" d="M208.538 9.513l84.417 15.392L223.93 93.93z"/><path fill="#FFCE00" style="mix-blend-mode:multiply" d="M268.625 106.557l46.332-26.75 46.332 26.75v53.5l-46.332 26.75-46.332-26.75z"/><circle fill="#7044FF" style="mix-blend-mode:multiply" cx="299.5" cy="9.5" r="38.5"/><rect fill="#11D3EA" style="mix-blend-mode:multiply" transform="rotate(-60 148.47 37.886)" x="143.372" y="-7.056" width="10.196" height="89.884" rx="5.098"/><path d="M-25.389 74.253l84.86 8.107c5.498.525 9.53 5.407 9.004 10.905a10 10 0 0 1-.057.477l-12.36 85.671a10.002 10.002 0 0 1-11.634 8.42l-86.351-15.226c-5.44-.959-9.07-6.145-8.112-11.584l13.851-78.551a10 10 0 0 1 10.799-8.219z" fill="#7044FF" style="mix-blend-mode:multiply"/><circle fill="#0CD1E8" style="mix-blend-mode:multiply" cx="273.5" cy="106.5" r="20.5"/></g></svg>

+ 3
- 0
src/environments/environment.prod.ts Wyświetl plik

@@ -0,0 +1,3 @@
1
+export const environment = {
2
+  production: true
3
+};

+ 16
- 0
src/environments/environment.ts Wyświetl plik

@@ -0,0 +1,16 @@
1
+// This file can be replaced during build by using the `fileReplacements` array.
2
+// `ng build` replaces `environment.ts` with `environment.prod.ts`.
3
+// The list of file replacements can be found in `angular.json`.
4
+
5
+export const environment = {
6
+  production: false
7
+};
8
+
9
+/*
10
+ * For easier debugging in development mode, you can import the following file
11
+ * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
12
+ *
13
+ * This import should be commented out in production mode because it will have a negative impact
14
+ * on performance if an error is thrown.
15
+ */
16
+// import 'zone.js/plugins/zone-error';  // Included with Angular CLI.

+ 37
- 0
src/global.scss Wyświetl plik

@@ -0,0 +1,37 @@
1
+/*
2
+ * App Global CSS
3
+ * ----------------------------------------------------------------------------
4
+ * Put style rules here that you want to apply globally. These styles are for
5
+ * the entire app and not just one component. Additionally, this file can be
6
+ * used as an entry point to import other CSS/Sass files to be included in the
7
+ * output CSS.
8
+ * For more information on global stylesheets, visit the documentation:
9
+ * https://ionicframework.com/docs/layout/global-stylesheets
10
+ */
11
+
12
+/* Core CSS required for Ionic components to work properly */
13
+@import "@ionic/angular/css/core.css";
14
+
15
+/* Basic CSS for apps built with Ionic */
16
+@import "@ionic/angular/css/normalize.css";
17
+@import "@ionic/angular/css/structure.css";
18
+@import "@ionic/angular/css/typography.css";
19
+@import "@ionic/angular/css/display.css";
20
+
21
+/* Optional CSS utils that can be commented out */
22
+@import "@ionic/angular/css/padding.css";
23
+@import "@ionic/angular/css/float-elements.css";
24
+@import "@ionic/angular/css/text-alignment.css";
25
+@import "@ionic/angular/css/text-transformation.css";
26
+@import "@ionic/angular/css/flex-utils.css";
27
+
28
+/**
29
+ * Ionic Dark Mode
30
+ * -----------------------------------------------------
31
+ * For more info, please see:
32
+ * https://ionicframework.com/docs/theming/dark-mode
33
+ */
34
+
35
+/* @import "@ionic/angular/css/palettes/dark.always.css"; */
36
+/* @import "@ionic/angular/css/palettes/dark.class.css"; */
37
+@import "@ionic/angular/css/palettes/dark.system.css";

+ 26
- 0
src/index.html Wyświetl plik

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html>
2
+<html lang="en">
3
+
4
+<head>
5
+  <meta charset="utf-8" />
6
+  <title>Ionic App</title>
7
+
8
+  <base href="/" />
9
+
10
+  <meta name="color-scheme" content="light dark" />
11
+  <meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
12
+  <meta name="format-detection" content="telephone=no" />
13
+  <meta name="msapplication-tap-highlight" content="no" />
14
+
15
+  <link rel="icon" type="image/png" href="assets/icon/favicon.png" />
16
+
17
+  <!-- add to homescreen for ios -->
18
+  <meta name="mobile-web-app-capable" content="yes" />
19
+  <meta name="apple-mobile-web-app-status-bar-style" content="black" />
20
+</head>
21
+
22
+<body>
23
+  <app-root></app-root>
24
+</body>
25
+
26
+</html>

+ 6
- 0
src/main.ts Wyświetl plik

@@ -0,0 +1,6 @@
1
+import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2
+
3
+import { AppModule } from './app/app.module';
4
+
5
+platformBrowserDynamic().bootstrapModule(AppModule)
6
+  .catch(err => console.log(err));

+ 55
- 0
src/polyfills.ts Wyświetl plik

@@ -0,0 +1,55 @@
1
+/**
2
+ * This file includes polyfills needed by Angular and is loaded before the app.
3
+ * You can add your own extra polyfills to this file.
4
+ *
5
+ * This file is divided into 2 sections:
6
+ *   1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
7
+ *   2. Application imports. Files imported after ZoneJS that should be loaded before your main
8
+ *      file.
9
+ *
10
+ * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
11
+ * automatically update themselves. This includes recent versions of Safari, Chrome (including
12
+ * Opera), Edge on the desktop, and iOS and Chrome on mobile.
13
+ *
14
+ * Learn more in https://angular.io/guide/browser-support
15
+ */
16
+
17
+/***************************************************************************************************
18
+ * BROWSER POLYFILLS
19
+ */
20
+
21
+/**
22
+ * By default, zone.js will patch all possible macroTask and DomEvents
23
+ * user can disable parts of macroTask/DomEvents patch by setting following flags
24
+ * because those flags need to be set before `zone.js` being loaded, and webpack
25
+ * will put import in the top of bundle, so user need to create a separate file
26
+ * in this directory (for example: zone-flags.ts), and put the following flags
27
+ * into that file, and then add the following code before importing zone.js.
28
+ * import './zone-flags';
29
+ *
30
+ * The flags allowed in zone-flags.ts are listed here.
31
+ *
32
+ * The following flags will work for all browsers.
33
+ *
34
+ * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
35
+ * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
36
+ * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
37
+ *
38
+ *  in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
39
+ *  with the following flag, it will bypass `zone.js` patch for IE/Edge
40
+ *
41
+ *  (window as any).__Zone_enable_cross_context_check = true;
42
+ *
43
+ */
44
+ 
45
+import './zone-flags';
46
+
47
+/***************************************************************************************************
48
+ * Zone JS is required by default for Angular itself.
49
+ */
50
+import 'zone.js';  // Included with Angular CLI.
51
+
52
+
53
+/***************************************************************************************************
54
+ * APPLICATION IMPORTS
55
+ */

+ 14
- 0
src/test.ts Wyświetl plik

@@ -0,0 +1,14 @@
1
+// This file is required by karma.conf.js and loads recursively all the .spec and framework files
2
+
3
+import 'zone.js/testing';
4
+import { getTestBed } from '@angular/core/testing';
5
+import {
6
+  BrowserDynamicTestingModule,
7
+  platformBrowserDynamicTesting
8
+} from '@angular/platform-browser-dynamic/testing';
9
+
10
+// First, initialize the Angular testing environment.
11
+getTestBed().initTestEnvironment(
12
+  BrowserDynamicTestingModule,
13
+  platformBrowserDynamicTesting(),
14
+);

+ 2
- 0
src/theme/variables.scss Wyświetl plik

@@ -0,0 +1,2 @@
1
+// For information on how to create your own theme, please refer to:
2
+// https://ionicframework.com/docs/theming/

+ 6
- 0
src/zone-flags.ts Wyświetl plik

@@ -0,0 +1,6 @@
1
+/**
2
+ * Prevents Angular change detection from
3
+ * running with certain Web Component callbacks
4
+ */
5
+// eslint-disable-next-line no-underscore-dangle
6
+(window as any).__Zone_disable_customElements = true;

+ 15
- 0
tsconfig.app.json Wyświetl plik

@@ -0,0 +1,15 @@
1
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+{
3
+  "extends": "./tsconfig.json",
4
+  "compilerOptions": {
5
+    "outDir": "./out-tsc/app",
6
+    "types": []
7
+  },
8
+  "files": [
9
+    "src/main.ts",
10
+    "src/polyfills.ts"
11
+  ],
12
+  "include": [
13
+    "src/**/*.d.ts"
14
+  ]
15
+}

+ 34
- 0
tsconfig.json Wyświetl plik

@@ -0,0 +1,34 @@
1
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+{
3
+  "compileOnSave": false,
4
+  "compilerOptions": {
5
+    "baseUrl": "./",
6
+    "outDir": "./dist/out-tsc",
7
+    "forceConsistentCasingInFileNames": true,
8
+    "strict": true,
9
+    "noImplicitOverride": true,
10
+    "noPropertyAccessFromIndexSignature": true,
11
+    "noImplicitReturns": true,
12
+    "noFallthroughCasesInSwitch": true,
13
+    "sourceMap": true,
14
+    "declaration": false,
15
+    "downlevelIteration": true,
16
+    "experimentalDecorators": true,
17
+    "moduleResolution": "node",
18
+    "importHelpers": true,
19
+    "target": "es2022",
20
+    "module": "es2020",
21
+    "lib": [
22
+      "es2018",
23
+      "dom"
24
+    ],
25
+    "skipLibCheck": true,
26
+    "useDefineForClassFields": false
27
+  },
28
+  "angularCompilerOptions": {
29
+    "enableI18nLegacyMessageIdFormat": false,
30
+    "strictInjectionParameters": true,
31
+    "strictInputAccessModifiers": true,
32
+    "strictTemplates": true
33
+  }
34
+}

+ 18
- 0
tsconfig.spec.json Wyświetl plik

@@ -0,0 +1,18 @@
1
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+{
3
+  "extends": "./tsconfig.json",
4
+  "compilerOptions": {
5
+    "outDir": "./out-tsc/spec",
6
+    "types": [
7
+      "jasmine"
8
+    ]
9
+  },
10
+  "files": [
11
+    "src/test.ts",
12
+    "src/polyfills.ts"
13
+  ],
14
+  "include": [
15
+    "src/**/*.spec.ts",
16
+    "src/**/*.d.ts"
17
+  ]
18
+}

Ładowanie…
Anuluj
Zapisz