adding schedule by company
This commit is contained in:
@@ -4,7 +4,6 @@ import {
|
||||
assignEmployeeToCompany,
|
||||
createCompany,
|
||||
deleteCompany,
|
||||
getCompanies,
|
||||
getCompanyEmployeeNames,
|
||||
} from "@api/companiesApi";
|
||||
import { getUsers } from "@api/usersApi";
|
||||
@@ -13,6 +12,7 @@ import { PageHeader } from "@components/PageHeader";
|
||||
import type { BackendPreference } from "@/types/backend";
|
||||
import type { Company } from "@/types/companies";
|
||||
import type { Employee } from "@/types/users";
|
||||
import { useCompaniesStore } from "../store/companiesStore";
|
||||
import styles from "./CompaniesPage.module.scss";
|
||||
|
||||
type CompaniesPageProps = {
|
||||
@@ -22,7 +22,6 @@ type CompaniesPageProps = {
|
||||
type EmployeeNamesByCompany = Record<number, string[]>;
|
||||
|
||||
export function CompaniesPage({ backendPreference }: CompaniesPageProps) {
|
||||
const [companies, setCompanies] = useState<Company[]>([]);
|
||||
const [employeeNamesByCompany, setEmployeeNamesByCompany] = useState<EmployeeNamesByCompany>({});
|
||||
const [users, setUsers] = useState<Employee[]>([]);
|
||||
const [companyName, setCompanyName] = useState("");
|
||||
@@ -34,6 +33,8 @@ export function CompaniesPage({ backendPreference }: CompaniesPageProps) {
|
||||
const [deletingCompanyId, setDeletingCompanyId] = useState<number | null>(null);
|
||||
const [isLoading, setIsLoading] = useState(true);
|
||||
const [isSaving, setIsSaving] = useState(false);
|
||||
const companies = useCompaniesStore((state) => state.companies);
|
||||
const refreshCompanies = useCompaniesStore((state) => state.loadCompanies);
|
||||
|
||||
const loadCompanies = useCallback(async () => {
|
||||
setError("");
|
||||
@@ -41,7 +42,7 @@ export function CompaniesPage({ backendPreference }: CompaniesPageProps) {
|
||||
|
||||
try {
|
||||
const [companiesResponse, usersResponse] = await Promise.all([
|
||||
getCompanies(backendPreference),
|
||||
refreshCompanies(backendPreference),
|
||||
getUsers(backendPreference),
|
||||
]);
|
||||
const employeeNameEntries = await Promise.all(
|
||||
@@ -51,7 +52,6 @@ export function CompaniesPage({ backendPreference }: CompaniesPageProps) {
|
||||
}),
|
||||
);
|
||||
|
||||
setCompanies(companiesResponse);
|
||||
setUsers(usersResponse);
|
||||
setEmployeeNamesByCompany(Object.fromEntries(employeeNameEntries));
|
||||
} catch (loadError) {
|
||||
@@ -59,7 +59,7 @@ export function CompaniesPage({ backendPreference }: CompaniesPageProps) {
|
||||
} finally {
|
||||
setIsLoading(false);
|
||||
}
|
||||
}, [backendPreference]);
|
||||
}, [backendPreference, refreshCompanies]);
|
||||
|
||||
useEffect(() => {
|
||||
void loadCompanies();
|
||||
|
||||
Reference in New Issue
Block a user