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) {
Rs. {{ cart.totalPrice }}
+ +