adding schedule by company

This commit is contained in:
2026-09-18 17:13:50 -04:00
parent 1911a973a0
commit 4c39253b81
9 changed files with 1268 additions and 1839 deletions
+5 -5
View File
@@ -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();