From 71ff5a8fd9aa6940cc01891ea76caced23c62ecd Mon Sep 17 00:00:00 2001 From: Daniel Ntege Date: Sun, 2 Feb 2025 10:23:24 +0300 Subject: [PATCH] Refactor updateUserPasswordApi to use query parameters for user ID; add Radix UI progress component for enhanced loading indicators --- netmanager-app/components/ui/progress.tsx | 28 +++++++++++++++++++++++ netmanager-app/core/apis/settings.ts | 4 +++- netmanager-app/package-lock.json | 24 +++++++++++++++++++ netmanager-app/package.json | 1 + 4 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 netmanager-app/components/ui/progress.tsx diff --git a/netmanager-app/components/ui/progress.tsx b/netmanager-app/components/ui/progress.tsx new file mode 100644 index 0000000000..5c87ea4865 --- /dev/null +++ b/netmanager-app/components/ui/progress.tsx @@ -0,0 +1,28 @@ +"use client" + +import * as React from "react" +import * as ProgressPrimitive from "@radix-ui/react-progress" + +import { cn } from "@/lib/utils" + +const Progress = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, value, ...props }, ref) => ( + + + +)) +Progress.displayName = ProgressPrimitive.Root.displayName + +export { Progress } diff --git a/netmanager-app/core/apis/settings.ts b/netmanager-app/core/apis/settings.ts index f36a9a91a5..4dcccec61e 100644 --- a/netmanager-app/core/apis/settings.ts +++ b/netmanager-app/core/apis/settings.ts @@ -40,7 +40,9 @@ export const updateUserPasswordApi = async ( userId: string, userData: PasswordData ): Promise => { - return await axiosInstance.put(`${USERS_MGT_URL}/updatePassword/${userId}`, userData) + return await axiosInstance.put(`${USERS_MGT_URL}/updatePassword`, userData, { + params: { id: userId }, + }) .then((response) => response.data); }; diff --git a/netmanager-app/package-lock.json b/netmanager-app/package-lock.json index 8d1a63a414..a3eb284d5b 100644 --- a/netmanager-app/package-lock.json +++ b/netmanager-app/package-lock.json @@ -17,6 +17,7 @@ "@radix-ui/react-icons": "^1.3.2", "@radix-ui/react-label": "^2.1.1", "@radix-ui/react-popover": "^1.1.4", + "@radix-ui/react-progress": "^1.1.1", "@radix-ui/react-select": "^2.1.4", "@radix-ui/react-slot": "^1.1.1", "@radix-ui/react-tabs": "^1.1.2", @@ -1062,6 +1063,29 @@ } } }, + "node_modules/@radix-ui/react-progress": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-progress/-/react-progress-1.1.1.tgz", + "integrity": "sha512-6diOawA84f/eMxFHcWut0aE1C2kyE9dOyCTQOMRR2C/qPiXz/X0SaiA/RLbapQaXUCmy0/hLMf9meSccD1N0pA==", + "dependencies": { + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-roving-focus": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.1.tgz", diff --git a/netmanager-app/package.json b/netmanager-app/package.json index 998b25b59d..c059e32258 100644 --- a/netmanager-app/package.json +++ b/netmanager-app/package.json @@ -18,6 +18,7 @@ "@radix-ui/react-icons": "^1.3.2", "@radix-ui/react-label": "^2.1.1", "@radix-ui/react-popover": "^1.1.4", + "@radix-ui/react-progress": "^1.1.1", "@radix-ui/react-select": "^2.1.4", "@radix-ui/react-slot": "^1.1.1", "@radix-ui/react-tabs": "^1.1.2",