fix: rename useAdmin to useApiServices

This commit is contained in:
2025-06-04 12:46:48 +02:00
parent 9895392b50
commit a67ec7e78c
8 changed files with 69 additions and 69 deletions

View File

@ -2,7 +2,7 @@ import { createPortal } from "react-dom";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { X } from "lucide-react";
import { useAdmin } from "@/store/admin";
import { useApiServices } from "@/store/admin";
import type { ApiServiceCredentials } from "@/types";
const download = (credentials: ApiServiceCredentials) => {
@ -19,8 +19,8 @@ const download = (credentials: ApiServiceCredentials) => {
};
const ApiServiceCredentialsModal = () => {
const credentials = useAdmin((state) => state.createdCredentials);
const resetCredentials = useAdmin((state) => state.resetCredentials);
const credentials = useApiServices((state) => state.createdCredentials);
const resetCredentials = useApiServices((state) => state.resetCredentials);
const portalRoot = document.getElementById("portal-root");
if (!portalRoot || !credentials) return null;

View File

@ -1,10 +1,10 @@
import { createPortal } from "react-dom";
import { Button } from "@/components/ui/button";
import { CircleCheckBig, X } from "lucide-react";
import { useAdmin } from "@/store/admin";
import { useApiServices } from "@/store/admin";
const ApiServiceUpdatedModal = () => {
const resetUpdated = useAdmin((state) => state.resetUpdatedApiService);
const resetUpdated = useApiServices((state) => state.resetUpdated);
const portalRoot = document.getElementById("portal-root");
if (!portalRoot) return null;

View File

@ -2,7 +2,7 @@ import Breadcrumbs from "@/components/ui/breadcrumbs";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import ApiServiceCredentialsModal from "@/feature/ApiServiceCredentialsModal";
import { useAdmin } from "@/store/admin";
import { useApiServices } from "@/store/admin";
import { useCallback, type FC } from "react";
import { useForm } from "react-hook-form";
import { Link } from "react-router";
@ -28,9 +28,9 @@ const ApiServiceCreatePage: FC = () => {
},
});
const createApiService = useAdmin((state) => state.createApiService);
const createApiService = useApiServices((state) => state.create);
const credentials = useAdmin((state) => state.createdCredentials);
const credentials = useApiServices((state) => state.createdCredentials);
const onSubmit = useCallback(
(data: FormData) => {

View File

@ -2,7 +2,7 @@ import Breadcrumbs from "@/components/ui/breadcrumbs";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import ApiServiceUpdatedModal from "@/feature/ApiServiceUpdatedModal";
import { useAdmin } from "@/store/admin";
import { useApiServices } from "@/store/admin";
import { useCallback, useEffect, type FC } from "react";
import { useForm } from "react-hook-form";
import { Link, useParams } from "react-router";
@ -28,13 +28,13 @@ const ApiServiceEditPage: FC = () => {
});
const { serviceId } = useParams();
const apiService = useAdmin((state) => state.viewApiService);
const apiService = useApiServices((state) => state.view);
const loadService = useAdmin((state) => state.fetchApiService);
const loadService = useApiServices((state) => state.fetch);
const updateApiService = useAdmin((state) => state.updateApiService);
const updating = useAdmin((state) => state.updatingApiService);
const updated = useAdmin((state) => state.updatedApiService);
const updateApiService = useApiServices((state) => state.update);
const updating = useApiServices((state) => state.updating);
const updated = useApiServices((state) => state.updated);
const onSubmit = useCallback(
(data: FormData) => {

View File

@ -1,7 +1,7 @@
import Breadcrumbs from "@/components/ui/breadcrumbs";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { useAdmin } from "@/store/admin";
import { useApiServices } from "@/store/admin";
import { useEffect, type FC } from "react";
import { Link, useParams } from "react-router";
@ -24,13 +24,13 @@ const InfoCard = ({
const ViewApiServicePage: FC = () => {
const { serviceId } = useParams();
const apiService = useAdmin((state) => state.viewApiService);
// const loading = useAdmin((state) => state.fetchingApiService);
const apiService = useApiServices((state) => state.view);
// const loading = useApiServices((state) => state.fetchingApiService);
const loadService = useAdmin((state) => state.fetchApiService);
const loadService = useApiServices((state) => state.fetchSingle);
const toggling = useAdmin((state) => state.togglingApiService);
const toggle = useAdmin((state) => state.toggleApiService);
const toggling = useApiServices((state) => state.toggling);
const toggle = useApiServices((state) => state.toggle);
useEffect(() => {
if (typeof serviceId === "string") loadService(serviceId);

View File

@ -1,14 +1,14 @@
import Breadcrumbs from "@/components/ui/breadcrumbs";
import { Button } from "@/components/ui/button";
import { useAdmin } from "@/store/admin";
import { useApiServices } from "@/store/admin";
import { Plus } from "lucide-react";
import { useEffect, type FC } from "react";
import { Link } from "react-router";
const ApiServicesPage: FC = () => {
const apiServices = useAdmin((state) => state.apiServices);
const loading = useAdmin((state) => state.loadingApiServices);
const fetchApiServices = useAdmin((state) => state.fetchApiServices);
const apiServices = useApiServices((state) => state.apiServices);
const loading = useApiServices((state) => state.loading);
const fetchApiServices = useApiServices((state) => state.fetch);
useEffect(() => {
fetchApiServices();

View File

@ -10,51 +10,51 @@ import {
import type { ApiService, ApiServiceCredentials } from "@/types";
import { create } from "zustand";
interface IAdminState {
interface IApiServicesState {
apiServices: ApiService[];
loadingApiServices: boolean;
loading: boolean;
createdCredentials: ApiServiceCredentials | null;
creatingApiService: boolean;
creating: boolean;
viewApiService: ApiService | null;
fetchingApiService: boolean;
view: ApiService | null;
fetching: boolean;
fetchApiServices: () => Promise<void>;
fetchApiService: (id: string) => Promise<void>;
createApiService: (req: CreateApiServiceRequest) => Promise<void>;
fetch: () => Promise<void>;
fetchSingle: (id: string) => Promise<void>;
create: (req: CreateApiServiceRequest) => Promise<void>;
resetCredentials: () => void;
togglingApiService: boolean;
toggleApiService: () => Promise<void>;
toggling: boolean;
toggle: () => Promise<void>;
updateApiService: (req: UpdateApiServiceRequest) => Promise<void>;
updatingApiService: boolean;
updatedApiService: boolean;
update: (req: UpdateApiServiceRequest) => Promise<void>;
updating: boolean;
updated: boolean;
resetUpdatedApiService: () => void;
resetUpdated: () => void;
}
export const useAdmin = create<IAdminState>((set, get) => ({
export const useApiServices = create<IApiServicesState>((set, get) => ({
apiServices: [],
loadingApiServices: false,
loading: false,
createdCredentials: null,
creatingApiService: false,
creating: false,
viewApiService: null,
fetchingApiService: false,
view: null,
fetching: false,
togglingApiService: false,
toggling: false,
updatingApiService: false,
updatedApiService: false,
resetUpdatedApiService: () => set({ updatedApiService: false }),
updating: false,
updated: false,
resetUpdated: () => set({ updated: false }),
resetCredentials: () => set({ createdCredentials: null }),
fetchApiServices: async () => {
set({ loadingApiServices: true });
fetch: async () => {
set({ loading: true });
try {
const response = await getApiServices();
@ -62,58 +62,58 @@ export const useAdmin = create<IAdminState>((set, get) => ({
} catch (err) {
console.log("ERR: Failed to fetch services:", err);
} finally {
set({ loadingApiServices: false });
set({ loading: false });
}
},
fetchApiService: async (id: string) => {
set({ fetchingApiService: true });
fetchSingle: async (id: string) => {
set({ fetching: true });
try {
const response = await getApiService(id);
set({ viewApiService: response });
set({ view: response });
} catch (err) {
console.log("ERR: Failed to fetch services:", err);
} finally {
set({ fetchingApiService: false });
set({ fetching: false });
}
},
updateApiService: async (req: UpdateApiServiceRequest) => {
const viewService = get().viewApiService;
update: async (req: UpdateApiServiceRequest) => {
const viewService = get().view;
if (!viewService) return;
set({ updatingApiService: true });
set({ updating: true });
try {
await putApiService(viewService.id, req);
get().fetchApiService(viewService.id);
set({ updatedApiService: true });
get().fetchSingle(viewService.id);
set({ updated: true });
} catch (err) {
console.log("ERR: Failed to toggle service:", err);
} finally {
set({ updatingApiService: false });
set({ updating: false });
}
},
toggleApiService: async () => {
const viewService = get().viewApiService;
toggle: async () => {
const viewService = get().view;
if (!viewService) return;
set({ togglingApiService: true });
set({ toggling: true });
try {
await patchToggleApiService(viewService.id);
get().fetchApiService(viewService.id);
get().fetchSingle(viewService.id);
} catch (err) {
console.log("ERR: Failed to toggle service:", err);
} finally {
set({ togglingApiService: false });
set({ toggling: false });
}
},
createApiService: async (req: CreateApiServiceRequest) => {
set({ creatingApiService: true });
create: async (req: CreateApiServiceRequest) => {
set({ creating: true });
try {
const response = await postApiService(req);
@ -121,7 +121,7 @@ export const useAdmin = create<IAdminState>((set, get) => ({
} catch (err) {
console.log("ERR: Failed to fetch services:", err);
} finally {
set({ creatingApiService: false });
set({ creating: false });
}
},
}));

View File

@ -3,7 +3,7 @@ export interface UserProfile {
full_name: string;
email: string;
phone_number: string;
isAdmin: boolean;
is_admin: boolean;
last_login: string;
profile_picture: string | null;
updated_at: string;