Skip to content

Commit

Permalink
Implement tutorial slides (#376)
Browse files Browse the repository at this point in the history
Co-authored-by: DaYuan <[email protected]>
  • Loading branch information
seanwu1105 and CS6 authored Dec 18, 2020
1 parent fd37e72 commit 790fc82
Show file tree
Hide file tree
Showing 16 changed files with 1,574 additions and 3 deletions.
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.tslint": true,
"source.fixAll.stylelint": true,
"source.organizeImports": true
},
"typescript.preferences.importModuleSpecifier": "relative"
Expand Down
8 changes: 8 additions & 0 deletions src/app/app-routing.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,14 @@ const routes: Routes = [
import('./pages/about/about.module').then(m => m.AboutPageModule),
canActivate: [AuthGuard],
},
{
path: 'tutorial',
loadChildren: () =>
import('./pages/tutorial/tutorial.module').then(
m => m.TutorialPageModule
),
canActivate: [AuthGuard],
},
];
@NgModule({
imports: [
Expand Down
4 changes: 4 additions & 0 deletions src/app/pages/home/home.page.spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { Router } from '@angular/router';
import { SharedTestingModule } from '../../shared/shared-testing.module';
import { HomePage } from './home.page';

Expand All @@ -12,6 +13,9 @@ describe('HomePage', () => {
imports: [SharedTestingModule],
}).compileComponents();

const router = TestBed.inject(Router);
spyOn(router, 'navigate').and.resolveTo(true);

fixture = TestBed.createComponent(HomePage);
component = fixture.componentInstance;
fixture.detectChanges();
Expand Down
16 changes: 13 additions & 3 deletions src/app/pages/home/home.page.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { formatDate, KeyValue } from '@angular/common';
import { ChangeDetectorRef, Component } from '@angular/core';
import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
import { MatSnackBar } from '@angular/material/snack-bar';
import { MatTabChangeEvent } from '@angular/material/tabs';
import { Router } from '@angular/router';
import { TranslocoService } from '@ngneat/transloco';
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
import { groupBy, isEqual, sortBy } from 'lodash';
Expand All @@ -17,6 +18,7 @@ import { CollectorService } from '../../services/collector/collector.service';
import { DiaBackendAssetRepository } from '../../services/dia-backend/asset/dia-backend-asset-repository.service';
import { DiaBackendAuthService } from '../../services/dia-backend/auth/dia-backend-auth.service';
import { DiaBackendTransactionRepository } from '../../services/dia-backend/transaction/dia-backend-transaction-repository.service';
import { OnboardingService } from '../../services/onboarding/onboarding.service';
import { getOldProof } from '../../services/repositories/proof/old-proof-adapter';
import { Proof } from '../../services/repositories/proof/proof';
import { ProofRepository } from '../../services/repositories/proof/proof-repository.service';
Expand All @@ -28,7 +30,7 @@ import { capture } from '../../utils/camera';
templateUrl: './home.page.html',
styleUrls: ['./home.page.scss'],
})
export class HomePage {
export class HomePage implements OnInit {
readonly capturesByDate$ = this.getCaptures$().pipe(
map(captures =>
sortBy(captures, c => -c.proofWithThumbnail.proof.timestamp)
Expand Down Expand Up @@ -78,9 +80,17 @@ export class HomePage {
private readonly diaBackendAssetRepository: DiaBackendAssetRepository,
private readonly diaBackendTransactionRepository: DiaBackendTransactionRepository,
private readonly snackbar: MatSnackBar,
private readonly translocoService: TranslocoService
private readonly translocoService: TranslocoService,
private readonly onboardingService: OnboardingService,
private readonly router: Router
) {}

async ngOnInit() {
if (await this.onboardingService.isOnboarding()) {
this.router.navigate(['/tutorial']);
}
}

// tslint:disable-next-line: prefer-function-over-method
keyDescendingOrder(
a: KeyValue<number, string>,
Expand Down
16 changes: 16 additions & 0 deletions src/app/pages/tutorial/tutorial-routing.module.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { TutorialPage } from './tutorial.page';

const routes: Routes = [
{
path: '',
component: TutorialPage,
},
];

@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class TutorialPageRoutingModule {}
10 changes: 10 additions & 0 deletions src/app/pages/tutorial/tutorial.module.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { NgModule } from '@angular/core';
import { SharedModule } from '../../shared/shared.module';
import { TutorialPageRoutingModule } from './tutorial-routing.module';
import { TutorialPage } from './tutorial.page';

@NgModule({
imports: [TutorialPageRoutingModule, SharedModule],
declarations: [TutorialPage],
})
export class TutorialPageModule {}
Loading

0 comments on commit 790fc82

Please sign in to comment.