refactor: centralize API endpoints and token refresh logic

This commit is contained in:
Your Name
2026-04-11 14:15:27 +05:30
parent 54d2021e81
commit dfd33f1dad
6 changed files with 83 additions and 32 deletions
+9 -3
View File
@@ -1,8 +1,10 @@
import { CheckCircleIcon, XCircleIcon } from "@phosphor-icons/react";
import { useEffect, useRef, useState } from "react";
import { useNavigate, useParams } from "react-router-dom";
import authApiClient from "../api/apiClient";
import { preAuthApiClient } from "../api/apiClient";
import Logo from "../components/Logo";
import { endpoints, replacePathParams } from "../config/endpoints";
import { ROUTES } from "../config/routes";
export default function Activate() {
const { uidb64, token } = useParams();
@@ -20,7 +22,11 @@ export default function Activate() {
const activateAccount = async () => {
try {
await authApiClient.get(`/activate/${uidb64}/${token}/`);
const url = replacePathParams(endpoints.ACTIVATE, {
uidb64,
token,
});
await preAuthApiClient.get(url);
setStatus("success");
} catch (err) {
console.error("Activation error:", err);
@@ -80,7 +86,7 @@ export default function Activate() {
<button
type="button"
className="btn btn-ghost w-full"
onClick={() => navigate("/onboard")}
onClick={() => navigate(ROUTES.ONBOARD)}
>
Back to Registration
</button>
+3 -2
View File
@@ -5,9 +5,10 @@ import { useState } from "react";
import { useForm } from "react-hook-form";
import { useNavigate } from "react-router-dom";
import { z } from "zod";
import authApiClient from "../api/apiClient";
import { preAuthApiClient } from "../api/apiClient";
import Logo from "../components/Logo";
import FormField from "../components/ui/FormField";
import { endpoints } from "../config/endpoints";
// validation logic
const registerSchema = z
@@ -41,7 +42,7 @@ export default function Register() {
setIsLoading(true);
setApiError(null);
try {
await authApiClient.post("/register/", {
await preAuthApiClient.post(endpoints.REGISTER, {
full_name: data.full_name,
email: data.email,
password: data.password,