diff --git a/src/app/core/guards/auth-guard.ts b/src/app/core/guards/auth-guard.ts index 8b3e945..5eeaf9c 100644 --- a/src/app/core/guards/auth-guard.ts +++ b/src/app/core/guards/auth-guard.ts @@ -1,6 +1,6 @@ import { CanActivateFn, Router } from "@angular/router"; import { inject } from "@angular/core"; -import { AuthService } from "../../features/auth/services/auth-service"; +import { AuthService } from "@core/services/auth-service"; export const authGuard: CanActivateFn = (route, state) => { const authService = inject(AuthService); diff --git a/src/app/core/guards/role-guard.ts b/src/app/core/guards/role-guard.ts index dfd7a3c..48d4074 100644 --- a/src/app/core/guards/role-guard.ts +++ b/src/app/core/guards/role-guard.ts @@ -1,6 +1,6 @@ import { CanActivateFn } from "@angular/router"; import { inject } from "@angular/core"; -import { AuthService } from "../../features/auth/services/auth-service"; +import { AuthService } from "@core/services/auth-service"; export const roleGuard: CanActivateFn = (route, state) => { const authService = inject(AuthService); diff --git a/src/app/core/layouts/header/header.ts b/src/app/core/layouts/header/header.ts index 8c4ad69..d0121cb 100644 --- a/src/app/core/layouts/header/header.ts +++ b/src/app/core/layouts/header/header.ts @@ -1,7 +1,6 @@ import { Component, inject } from "@angular/core"; import { LucideAngularModule, Search, ShoppingCart, User } from "lucide-angular"; -import { RouterLink } from "@angular/router"; -import { AuthService, AuthState } from "../../../features/auth/services/auth-service"; +import { AuthService, AuthState } from "@core/services/auth-service"; import { CartService } from "@app/core/services/cart-service"; import { Cart } from "@app/shared/components/cart/cart"; import { CartModel } from "@app/core/models/cart.model"; @@ -10,7 +9,7 @@ import { AsyncPipe } from "@angular/common"; @Component({ selector: "app-header", - imports: [LucideAngularModule, RouterLink, Cart, AsyncPipe], + imports: [LucideAngularModule, Cart, AsyncPipe], templateUrl: "./header.html", styleUrl: "./header.css", }) diff --git a/src/app/features/auth/services/auth-service.spec.ts b/src/app/core/services/auth-service.spec.ts similarity index 100% rename from src/app/features/auth/services/auth-service.spec.ts rename to src/app/core/services/auth-service.spec.ts diff --git a/src/app/features/auth/services/auth-service.ts b/src/app/core/services/auth-service.ts similarity index 92% rename from src/app/features/auth/services/auth-service.ts rename to src/app/core/services/auth-service.ts index ca38560..e5f6f52 100644 --- a/src/app/features/auth/services/auth-service.ts +++ b/src/app/core/services/auth-service.ts @@ -1,9 +1,9 @@ import { computed, inject, Injectable, Signal, signal, WritableSignal } from "@angular/core"; -import { RegisterUserRequest, User } from "../../../core/models/user.model"; +import { RegisterUserRequest, User } from "../models/user.model"; import { HttpClient, HttpErrorResponse } from "@angular/common/http"; -import { API_URL, BACKEND_URL } from "../../../core/tokens/api-url-tokens"; +import { API_URL, BACKEND_URL } from "../tokens/api-url-tokens"; import { switchMap, tap } from "rxjs"; -import { LocalStorageService } from "../../../core/services/local-storage.service"; +import { LocalStorageService } from "../services/local-storage.service"; export enum AuthState { Loading = "loading", diff --git a/src/app/core/services/cart-service.ts b/src/app/core/services/cart-service.ts index f58d354..9c0e1c4 100644 --- a/src/app/core/services/cart-service.ts +++ b/src/app/core/services/cart-service.ts @@ -2,7 +2,7 @@ import { HttpClient, HttpErrorResponse } from "@angular/common/http"; import { effect, inject, Injectable, signal } from "@angular/core"; import { API_URL } from "../tokens/api-url-tokens"; import { CartItemModel, CartItemRequest, CartModel } from "../models/cart.model"; -import { AuthService, AuthState } from "@app/features/auth/services/auth-service"; +import { AuthService, AuthState } from "@core/services/auth-service"; import { Cart } from "@app/shared/components/cart/cart"; import { BehaviorSubject, tap } from "rxjs"; diff --git a/src/app/features/auth/auth.routes.ts b/src/app/features/auth/auth.routes.ts index 6f010bf..ca836bf 100644 --- a/src/app/features/auth/auth.routes.ts +++ b/src/app/features/auth/auth.routes.ts @@ -2,7 +2,7 @@ import { Router, Routes } from "@angular/router"; import { Login } from "./components/login/login"; import { Register } from "./components/register/register"; import { inject } from "@angular/core"; -import { AuthService } from "./services/auth-service"; +import { AuthService } from "@core/services/auth-service"; export const AuthRoutes: Routes = [ { diff --git a/src/app/features/auth/components/login/login.ts b/src/app/features/auth/components/login/login.ts index e01d973..680c505 100644 --- a/src/app/features/auth/components/login/login.ts +++ b/src/app/features/auth/components/login/login.ts @@ -1,12 +1,12 @@ import { Component, inject } from "@angular/core"; -import { Router, RouterLink } from "@angular/router"; +import { Router } from "@angular/router"; import { FormControl, FormGroup, ReactiveFormsModule, Validators } from "@angular/forms"; -import { AuthService } from "../../services/auth-service"; -import { Error } from "../../../../shared/components/error/error"; +import { AuthService } from "@core/services/auth-service"; +import { Error } from "@app/shared/components/error/error"; @Component({ selector: "app-login", - imports: [RouterLink, ReactiveFormsModule, Error], + imports: [ReactiveFormsModule, Error], templateUrl: "./login.html", styleUrl: "./login.css", }) diff --git a/src/app/features/auth/components/register/register.ts b/src/app/features/auth/components/register/register.ts index 30ba022..408588b 100644 --- a/src/app/features/auth/components/register/register.ts +++ b/src/app/features/auth/components/register/register.ts @@ -1,8 +1,8 @@ import { Component, inject, signal } from "@angular/core"; import { FormControl, FormGroup, ReactiveFormsModule, Validators } from "@angular/forms"; -import { AuthService } from "../../services/auth-service"; -import { RegisterUserRequest } from "../../../../core/models/user.model"; -import { Error } from "../../../../shared/components/error/error"; +import { AuthService } from "@core/services/auth-service"; +import { RegisterUserRequest } from "@core/models/user.model"; +import { Error } from "@shared/components/error/error"; import { Router, RouterLink } from "@angular/router"; @Component({ diff --git a/src/app/features/checkout/address/address.ts b/src/app/features/checkout/address/address.ts index bf85115..ed76393 100644 --- a/src/app/features/checkout/address/address.ts +++ b/src/app/features/checkout/address/address.ts @@ -1,8 +1,9 @@ -import { Component } from "@angular/core"; +import { Component, inject, OnInit } from "@angular/core"; import { AddressForm } from "../components/address-form/address-form"; import { GoBack } from "@app/shared/components/go-back/go-back"; import { AddressSelect } from "../components/address-select/address-select"; import { OrderSummery } from "../components/order-summery/order-summery"; +import { AddressService } from "@app/features/checkout/services/address-service"; @Component({ selector: "app-address", @@ -10,4 +11,8 @@ import { OrderSummery } from "../components/order-summery/order-summery"; templateUrl: "./address.html", styleUrl: "./address.css", }) -export class Address {} +export class Address implements OnInit { + addressService = inject(AddressService); + + ngOnInit() {} +} diff --git a/src/app/features/checkout/services/address-service.ts b/src/app/features/checkout/services/address-service.ts index 1ddc4c6..4aacac9 100644 --- a/src/app/features/checkout/services/address-service.ts +++ b/src/app/features/checkout/services/address-service.ts @@ -1,6 +1,15 @@ -import { Injectable } from "@angular/core"; +import { inject, Injectable } from "@angular/core"; +import { HttpClient } from "@angular/common/http"; +import { API_URL } from "@core/tokens/api-url-tokens"; @Injectable({ providedIn: "root", }) -export class AddressService {} +export class AddressService { + http = inject(HttpClient); + apiUrl = inject(API_URL); + + fetchAddresses(userId: number) { + return this.http.get(`${this.apiUrl}/user/${userId}/addresses`); + } +} diff --git a/src/app/shared/components/cart/cart.html b/src/app/shared/components/cart/cart.html index 8ee49df..3aa4062 100644 --- a/src/app/shared/components/cart/cart.html +++ b/src/app/shared/components/cart/cart.html @@ -8,6 +8,7 @@ [class.pointer-events-none]="isLoading()" [class.opacity-40]="isLoading()" [class.cursor-block]="isLoading()" + class="rounded-none!" > @for (item of cart.items; track item.id) { Total

Rs. {{ cart.totalPrice }}

+ +
  • + Proceed to checkout +
  • } -Proceed to checkout diff --git a/src/app/shared/components/cart/cart.ts b/src/app/shared/components/cart/cart.ts index 6334750..6319fd3 100644 --- a/src/app/shared/components/cart/cart.ts +++ b/src/app/shared/components/cart/cart.ts @@ -1,7 +1,7 @@ import { Component, computed, inject, Input, signal } from "@angular/core"; import { CartItemModel, CartItemRequest, CartModel } from "@app/core/models/cart.model"; import { CartItem } from "../cart-item/cart-item"; -import { AuthService, AuthState } from "@app/features/auth/services/auth-service"; +import { AuthService, AuthState } from "@core/services/auth-service"; import { CartService } from "@app/core/services/cart-service"; import { finalize, tap } from "rxjs"; import { RouterLink } from "@angular/router";