Any one know how to fix this?

below is the code
import { Injectable } from ‘@angular/core’;

import { CanLoad, Route, Router, UrlSegment, UrlTree } from ‘@angular/router’;

import { Observable } from ‘rxjs’;

export const INTRO_KEY =‘intro-seen’;

import { Plugins } from ‘@capacitor/core’;

const {Storage} = Plugins;

@Injectable({

providedIn: ‘root’

})

export class IntroGuard implements CanLoad {

constructor(private router: Router){}

async canLoad(): Promise{

const hasSeenIntro = await  Storage.get({ key: INTRO_KEY});

if(hasSeenIntro && (hasSeenIntro.value === 'true')){

return true;

}

else{

  this.router.navigateByUrl('/intro',{replaceUrl:true});

  return true;

}

}

}

and this is the error i got
core.js:6479 ERROR Error: Uncaught (in promise): TypeError: Cannot read properties of undefined (reading ‘get’)
TypeError: Cannot read properties of undefined (reading ‘get’)
at IntroGuard. (main.js:250)
at Generator.next ()
at vendor.js:117087
at new ZoneAwarePromise (polyfills.js:11276)
at __awaiter (vendor.js:117083)
at IntroGuard.canLoad (main.js:249)
at vendor.js:88045
at Array.map ()
at ApplyRedirects.runCanLoadGuards (vendor.js:88041)
at ApplyRedirects.getChildConfig (vendor.js:88023)
at resolvePromise (polyfills.js:11191)
at resolvePromise (polyfills.js:11145)
at polyfills.js:11257
at ZoneDelegate.invokeTask (polyfills.js:10370)
at Object.onInvokeTask (vendor.js:70398)
at ZoneDelegate.invokeTask (polyfills.js:10369)
at Zone.runTask (polyfills.js:10141)
at drainMicroTaskQueue (polyfills.js:10556)

Which version of capacitor and Angular are you using ?

Check the code below, And please format your code to be more visible.


Capacitor V3

In your Package.json

"@capacitor/storage": "^1.0.1",

In your service

import { Storage } from '@capacitor/storage';
....

const hasSeenIntro = await  Storage.get({ key: INTRO_KEY});

here is my package.json

{

“name”: “WBGS”,

“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/fire": "^7.2.0",

"@angular/forms": "~12.1.1",

"@angular/platform-browser": "~12.1.1",

"@angular/platform-browser-dynamic": "~12.1.1",

"@angular/router": "~12.1.1",

"@capacitor/app": "1.0.6",

"@capacitor/core": "^3.0.0-rc.4",

"@capacitor/filesystem": "^1.0.6",

"@capacitor/haptics": "1.1.3",

"@capacitor/keyboard": "1.1.3",

"@capacitor/status-bar": "1.0.6",

"@ionic-native/core": "^5.36.0",

"@ionic-native/splash-screen": "^4.20.0",

"@ionic-native/status-bar": "^5.36.0",

"@ionic/angular": "^5.5.2",

"@ionic/storage": "^3.0.6",

"@ionic/storage-angular": "^3.0.6",

"@swimlane/ngx-datatable": "^20.0.0",

"bootstrap": "^5.1.3",

"firebase": "^9.4.0",

"rxfire": "^6.0.0",

"rxjs": "~6.6.0",

"sass": "^1.44.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",

"@capacitor/cli": "^3.0.0-rc.4",

"@ionic/angular-toolkit": "^4.0.0",

"@ionic/app-scripts": "^3.2.4",

"@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",

"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”

}

Which version of capacitor are you using ?
Have you tries the code i gave you ?