ptechcore_ui 1.0.20 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +892 -154
- package/dist/index.d.cts +21 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +980 -186
- package/package.json +3 -2
package/dist/index.js
CHANGED
|
@@ -230,7 +230,20 @@ import {
|
|
|
230
230
|
DollarSign,
|
|
231
231
|
HelpCircle as HelpCircle2,
|
|
232
232
|
Building2,
|
|
233
|
-
LayoutGrid
|
|
233
|
+
LayoutGrid,
|
|
234
|
+
Mail,
|
|
235
|
+
Phone,
|
|
236
|
+
Shield,
|
|
237
|
+
Briefcase,
|
|
238
|
+
Edit3,
|
|
239
|
+
Camera,
|
|
240
|
+
Eye as Eye2,
|
|
241
|
+
EyeOff,
|
|
242
|
+
Lock,
|
|
243
|
+
Save,
|
|
244
|
+
Loader2,
|
|
245
|
+
Check as Check2,
|
|
246
|
+
Trash2
|
|
234
247
|
} from "lucide-react";
|
|
235
248
|
|
|
236
249
|
// src/assets/modules-icons/crm-blue.svg
|
|
@@ -759,6 +772,36 @@ var FetchApi = class {
|
|
|
759
772
|
if (!res.ok) throw new Error(await res.text());
|
|
760
773
|
return res.json();
|
|
761
774
|
}
|
|
775
|
+
static async uploadFile(url, formData, token) {
|
|
776
|
+
const headers = {};
|
|
777
|
+
const local_token = localStorage.getItem("token");
|
|
778
|
+
if (local_token) {
|
|
779
|
+
headers["Authorization"] = `Token ${local_token}`;
|
|
780
|
+
}
|
|
781
|
+
const res = await fetch(url, {
|
|
782
|
+
method: "POST",
|
|
783
|
+
headers,
|
|
784
|
+
body: formData
|
|
785
|
+
});
|
|
786
|
+
if (!res.ok) throw new Error(await res.text());
|
|
787
|
+
return res.json();
|
|
788
|
+
}
|
|
789
|
+
static async patch(url, payload, token) {
|
|
790
|
+
const headers = {
|
|
791
|
+
"Content-Type": "application/json"
|
|
792
|
+
};
|
|
793
|
+
const local_token = localStorage.getItem("token");
|
|
794
|
+
if (local_token) {
|
|
795
|
+
headers["Authorization"] = `Token ${local_token}`;
|
|
796
|
+
}
|
|
797
|
+
const res = await fetch(url, {
|
|
798
|
+
method: "PATCH",
|
|
799
|
+
headers,
|
|
800
|
+
body: payload ? JSON.stringify(payload) : void 0
|
|
801
|
+
});
|
|
802
|
+
if (!res.ok) throw new Error(await res.text());
|
|
803
|
+
return res.json();
|
|
804
|
+
}
|
|
762
805
|
};
|
|
763
806
|
|
|
764
807
|
// src/services/AuthServices.ts
|
|
@@ -933,7 +976,22 @@ var UserServices = {
|
|
|
933
976
|
getuserEntitiesAccess: (id, token) => FetchApi.get(`${API_URL}/core/entities/`, token),
|
|
934
977
|
// !!! ce n'est pas la bonne url
|
|
935
978
|
// Ajouter un utilisateur à une entité
|
|
936
|
-
addUserToEntity: (entityId, userId, token) => FetchApi.post(`${API_URL}/core/entities/${entityId}/users/`, { user_id: userId }, token)
|
|
979
|
+
addUserToEntity: (entityId, userId, token) => FetchApi.post(`${API_URL}/core/entities/${entityId}/users/`, { user_id: userId }, token),
|
|
980
|
+
// === Nouvelles méthodes pour le profil utilisateur ===
|
|
981
|
+
// Mettre à jour le profil de l'utilisateur connecté
|
|
982
|
+
updateMyProfile: (data) => FetchApi.put(`${USERS_API_URL}me/`, data),
|
|
983
|
+
// Changer la photo de profil
|
|
984
|
+
updateProfilePicture: (file) => {
|
|
985
|
+
const formData = new FormData();
|
|
986
|
+
formData.append("profile_picture", file);
|
|
987
|
+
return FetchApi.uploadFile(`${USERS_API_URL}me/upload-picture/`, formData);
|
|
988
|
+
},
|
|
989
|
+
// Supprimer la photo de profil
|
|
990
|
+
deleteProfilePicture: () => FetchApi.delete(`${USERS_API_URL}me/delete-picture/`),
|
|
991
|
+
// Changer le mot de passe (utilisateur authentifié)
|
|
992
|
+
changePassword: (data) => FetchApi.post(`${API_BASE_URL2}change-my-password/`, data),
|
|
993
|
+
// Obtenir le profil de l'utilisateur connecté
|
|
994
|
+
getMyProfile: () => FetchApi.get(`${USERS_API_URL}me/`)
|
|
937
995
|
};
|
|
938
996
|
|
|
939
997
|
// src/contexts/ToastContext.tsx
|
|
@@ -960,9 +1018,10 @@ var ToastProvider = ({ children }) => {
|
|
|
960
1018
|
};
|
|
961
1019
|
const addToast = useCallback((toast) => {
|
|
962
1020
|
const id = generateId();
|
|
1021
|
+
const defaultDuration = toast.type === "error" ? 7e3 : 3e3;
|
|
963
1022
|
const newToast = {
|
|
964
1023
|
id,
|
|
965
|
-
duration:
|
|
1024
|
+
duration: toast.duration ?? defaultDuration,
|
|
966
1025
|
...toast
|
|
967
1026
|
};
|
|
968
1027
|
setToasts((prev) => [...prev, newToast]);
|
|
@@ -1676,7 +1735,30 @@ var RewiseLayout = ({ children, module_name = "Rewise", module_description = "De
|
|
|
1676
1735
|
const [showThemeMenu, setShowThemeMenu] = useState5(false);
|
|
1677
1736
|
const [showCenterMenu, setShowCenterMenu] = useState5(false);
|
|
1678
1737
|
const [showModulesMenu, setShowModulesMenu] = useState5(false);
|
|
1738
|
+
const [showProfileModal, setShowProfileModal] = useState5(false);
|
|
1739
|
+
const [showEditProfileModal, setShowEditProfileModal] = useState5(false);
|
|
1740
|
+
const [showChangePasswordModal, setShowChangePasswordModal] = useState5(false);
|
|
1679
1741
|
const [currentSlide, setCurrentSlide] = useState5(0);
|
|
1742
|
+
const [editProfileData, setEditProfileData] = useState5({
|
|
1743
|
+
first_name: "",
|
|
1744
|
+
last_name: "",
|
|
1745
|
+
email: "",
|
|
1746
|
+
phonenumber: "",
|
|
1747
|
+
job_title: "",
|
|
1748
|
+
department: ""
|
|
1749
|
+
});
|
|
1750
|
+
const [savingProfile, setSavingProfile] = useState5(false);
|
|
1751
|
+
const [uploadingPhoto, setUploadingPhoto] = useState5(false);
|
|
1752
|
+
const [passwordData, setPasswordData] = useState5({
|
|
1753
|
+
current_password: "",
|
|
1754
|
+
new_password: "",
|
|
1755
|
+
confirm_password: ""
|
|
1756
|
+
});
|
|
1757
|
+
const [savingPassword, setSavingPassword] = useState5(false);
|
|
1758
|
+
const [showCurrentPassword, setShowCurrentPassword] = useState5(false);
|
|
1759
|
+
const [showNewPassword, setShowNewPassword] = useState5(false);
|
|
1760
|
+
const [showConfirmPassword, setShowConfirmPassword] = useState5(false);
|
|
1761
|
+
const fileInputRef = React4.useRef(null);
|
|
1680
1762
|
const slides = [
|
|
1681
1763
|
{
|
|
1682
1764
|
title: "Rappel \u2013 Gestion des jours de cong\xE9",
|
|
@@ -1795,6 +1877,133 @@ var RewiseLayout = ({ children, module_name = "Rewise", module_description = "De
|
|
|
1795
1877
|
showError("Erreur lors du marquage de la notification comme lue");
|
|
1796
1878
|
}
|
|
1797
1879
|
};
|
|
1880
|
+
const openEditProfileModal = () => {
|
|
1881
|
+
setEditProfileData({
|
|
1882
|
+
first_name: loggedUser?.first_name || "",
|
|
1883
|
+
last_name: loggedUser?.last_name || "",
|
|
1884
|
+
email: loggedUser?.email || "",
|
|
1885
|
+
phonenumber: loggedUser?.phonenumber || "",
|
|
1886
|
+
job_title: loggedUser?.job_title || "",
|
|
1887
|
+
department: loggedUser?.department || ""
|
|
1888
|
+
});
|
|
1889
|
+
setShowEditProfileModal(true);
|
|
1890
|
+
};
|
|
1891
|
+
const handleSaveProfile = async () => {
|
|
1892
|
+
setSavingProfile(true);
|
|
1893
|
+
try {
|
|
1894
|
+
const response = await UserServices.updateMyProfile(editProfileData);
|
|
1895
|
+
if (response.success) {
|
|
1896
|
+
success("Profil mis \xE0 jour avec succ\xE8s");
|
|
1897
|
+
setShowEditProfileModal(false);
|
|
1898
|
+
window.location.reload();
|
|
1899
|
+
} else {
|
|
1900
|
+
showError(response.message || "Erreur lors de la mise \xE0 jour du profil");
|
|
1901
|
+
}
|
|
1902
|
+
} catch (error) {
|
|
1903
|
+
console.error("Erreur lors de la mise \xE0 jour du profil:", error);
|
|
1904
|
+
showError("Erreur lors de la mise \xE0 jour du profil");
|
|
1905
|
+
} finally {
|
|
1906
|
+
setSavingProfile(false);
|
|
1907
|
+
}
|
|
1908
|
+
};
|
|
1909
|
+
const handlePhotoChange = async (event) => {
|
|
1910
|
+
const file = event.target.files?.[0];
|
|
1911
|
+
if (!file) return;
|
|
1912
|
+
const allowedTypes = ["image/jpeg", "image/png", "image/gif", "image/webp"];
|
|
1913
|
+
if (!allowedTypes.includes(file.type)) {
|
|
1914
|
+
showError("Format de fichier non support\xE9. Utilisez JPG, PNG, GIF ou WebP.");
|
|
1915
|
+
return;
|
|
1916
|
+
}
|
|
1917
|
+
const maxSize = 5 * 1024 * 1024;
|
|
1918
|
+
if (file.size > maxSize) {
|
|
1919
|
+
showError("La taille du fichier ne doit pas d\xE9passer 5 MB");
|
|
1920
|
+
return;
|
|
1921
|
+
}
|
|
1922
|
+
setUploadingPhoto(true);
|
|
1923
|
+
try {
|
|
1924
|
+
const response = await UserServices.updateProfilePicture(file);
|
|
1925
|
+
if (response.success) {
|
|
1926
|
+
success("Photo de profil mise \xE0 jour avec succ\xE8s");
|
|
1927
|
+
window.location.reload();
|
|
1928
|
+
} else {
|
|
1929
|
+
showError(response.message || "Erreur lors du t\xE9l\xE9chargement de la photo");
|
|
1930
|
+
}
|
|
1931
|
+
} catch (error) {
|
|
1932
|
+
console.error("Erreur lors du t\xE9l\xE9chargement de la photo:", error);
|
|
1933
|
+
showError("Erreur lors du t\xE9l\xE9chargement de la photo");
|
|
1934
|
+
} finally {
|
|
1935
|
+
setUploadingPhoto(false);
|
|
1936
|
+
if (fileInputRef.current) {
|
|
1937
|
+
fileInputRef.current.value = "";
|
|
1938
|
+
}
|
|
1939
|
+
}
|
|
1940
|
+
};
|
|
1941
|
+
const handleDeletePhoto = async () => {
|
|
1942
|
+
setUploadingPhoto(true);
|
|
1943
|
+
try {
|
|
1944
|
+
const response = await UserServices.deleteProfilePicture();
|
|
1945
|
+
if (response.success) {
|
|
1946
|
+
success("Photo de profil supprim\xE9e");
|
|
1947
|
+
window.location.reload();
|
|
1948
|
+
} else {
|
|
1949
|
+
showError(response.message || "Erreur lors de la suppression de la photo");
|
|
1950
|
+
}
|
|
1951
|
+
} catch (error) {
|
|
1952
|
+
console.error("Erreur lors de la suppression de la photo:", error);
|
|
1953
|
+
showError("Erreur lors de la suppression de la photo");
|
|
1954
|
+
} finally {
|
|
1955
|
+
setUploadingPhoto(false);
|
|
1956
|
+
}
|
|
1957
|
+
};
|
|
1958
|
+
const openChangePasswordModal = () => {
|
|
1959
|
+
setPasswordData({
|
|
1960
|
+
current_password: "",
|
|
1961
|
+
new_password: "",
|
|
1962
|
+
confirm_password: ""
|
|
1963
|
+
});
|
|
1964
|
+
setShowCurrentPassword(false);
|
|
1965
|
+
setShowNewPassword(false);
|
|
1966
|
+
setShowConfirmPassword(false);
|
|
1967
|
+
setShowChangePasswordModal(true);
|
|
1968
|
+
};
|
|
1969
|
+
const handleChangePassword = async () => {
|
|
1970
|
+
if (!passwordData.current_password) {
|
|
1971
|
+
showError("Veuillez entrer votre mot de passe actuel");
|
|
1972
|
+
return;
|
|
1973
|
+
}
|
|
1974
|
+
if (!passwordData.new_password) {
|
|
1975
|
+
showError("Veuillez entrer un nouveau mot de passe");
|
|
1976
|
+
return;
|
|
1977
|
+
}
|
|
1978
|
+
if (passwordData.new_password.length < 8) {
|
|
1979
|
+
showError("Le nouveau mot de passe doit contenir au moins 8 caract\xE8res");
|
|
1980
|
+
return;
|
|
1981
|
+
}
|
|
1982
|
+
if (passwordData.new_password !== passwordData.confirm_password) {
|
|
1983
|
+
showError("Les mots de passe ne correspondent pas");
|
|
1984
|
+
return;
|
|
1985
|
+
}
|
|
1986
|
+
setSavingPassword(true);
|
|
1987
|
+
try {
|
|
1988
|
+
const response = await UserServices.changePassword(passwordData);
|
|
1989
|
+
if (response.success) {
|
|
1990
|
+
success("Mot de passe chang\xE9 avec succ\xE8s");
|
|
1991
|
+
setShowChangePasswordModal(false);
|
|
1992
|
+
setPasswordData({
|
|
1993
|
+
current_password: "",
|
|
1994
|
+
new_password: "",
|
|
1995
|
+
confirm_password: ""
|
|
1996
|
+
});
|
|
1997
|
+
} else {
|
|
1998
|
+
showError(response.message || "Erreur lors du changement de mot de passe");
|
|
1999
|
+
}
|
|
2000
|
+
} catch (error) {
|
|
2001
|
+
console.error("Erreur lors du changement de mot de passe:", error);
|
|
2002
|
+
showError("Mot de passe actuel incorrect ou erreur serveur");
|
|
2003
|
+
} finally {
|
|
2004
|
+
setSavingPassword(false);
|
|
2005
|
+
}
|
|
2006
|
+
};
|
|
1798
2007
|
return /* @__PURE__ */ jsxs6("div", { className: "flex h-screen bg-[var(--color-background)] overflow-hidden", children: [
|
|
1799
2008
|
/* @__PURE__ */ jsx9(
|
|
1800
2009
|
"a",
|
|
@@ -2344,6 +2553,10 @@ var RewiseLayout = ({ children, module_name = "Rewise", module_description = "De
|
|
|
2344
2553
|
/* @__PURE__ */ jsxs6(
|
|
2345
2554
|
"button",
|
|
2346
2555
|
{
|
|
2556
|
+
onClick: () => {
|
|
2557
|
+
setShowProfileModal(true);
|
|
2558
|
+
setShowUserMenu(false);
|
|
2559
|
+
},
|
|
2347
2560
|
className: "w-full flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-[var(--color-surface-hover)] transition-colors",
|
|
2348
2561
|
role: "menuitem",
|
|
2349
2562
|
children: [
|
|
@@ -2641,6 +2854,418 @@ var RewiseLayout = ({ children, module_name = "Rewise", module_description = "De
|
|
|
2641
2854
|
}
|
|
2642
2855
|
)
|
|
2643
2856
|
}
|
|
2857
|
+
),
|
|
2858
|
+
/* @__PURE__ */ jsx9(
|
|
2859
|
+
Modals_default,
|
|
2860
|
+
{
|
|
2861
|
+
title: "Mon Profil",
|
|
2862
|
+
description: "G\xE9rez vos informations personnelles",
|
|
2863
|
+
width: "max-w-2xl",
|
|
2864
|
+
open: showProfileModal,
|
|
2865
|
+
onClose: () => setShowProfileModal(false),
|
|
2866
|
+
children: /* @__PURE__ */ jsxs6("div", { className: "space-y-6", children: [
|
|
2867
|
+
/* @__PURE__ */ jsx9(
|
|
2868
|
+
"input",
|
|
2869
|
+
{
|
|
2870
|
+
ref: fileInputRef,
|
|
2871
|
+
type: "file",
|
|
2872
|
+
accept: "image/jpeg,image/png,image/gif,image/webp",
|
|
2873
|
+
onChange: handlePhotoChange,
|
|
2874
|
+
className: "hidden"
|
|
2875
|
+
}
|
|
2876
|
+
),
|
|
2877
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex flex-col sm:flex-row items-center gap-6 pb-6 border-b border-[var(--color-border)]", children: [
|
|
2878
|
+
/* @__PURE__ */ jsxs6("div", { className: "relative group", children: [
|
|
2879
|
+
/* @__PURE__ */ jsx9("div", { className: "w-24 h-24 bg-gradient-to-br from-[var(--color-primary)] to-[var(--color-accent)] rounded-full flex items-center justify-center shadow-lg overflow-hidden", children: uploadingPhoto ? /* @__PURE__ */ jsx9(Loader2, { className: "w-8 h-8 text-white animate-spin" }) : loggedUser?.profile_picture ? /* @__PURE__ */ jsx9(
|
|
2880
|
+
"img",
|
|
2881
|
+
{
|
|
2882
|
+
src: loggedUser.profile_picture,
|
|
2883
|
+
alt: "Photo de profil",
|
|
2884
|
+
className: "w-full h-full rounded-full object-cover"
|
|
2885
|
+
}
|
|
2886
|
+
) : /* @__PURE__ */ jsxs6("span", { className: "text-3xl font-bold text-white", children: [
|
|
2887
|
+
loggedUser?.first_name?.charAt(0) || loggedUser?.username?.charAt(0) || "U",
|
|
2888
|
+
loggedUser?.last_name?.charAt(0) || ""
|
|
2889
|
+
] }) }),
|
|
2890
|
+
/* @__PURE__ */ jsxs6("div", { className: "absolute -bottom-1 -right-1 flex gap-1", children: [
|
|
2891
|
+
/* @__PURE__ */ jsx9(
|
|
2892
|
+
"button",
|
|
2893
|
+
{
|
|
2894
|
+
onClick: () => fileInputRef.current?.click(),
|
|
2895
|
+
disabled: uploadingPhoto,
|
|
2896
|
+
className: "w-8 h-8 bg-[var(--color-primary)] border-2 border-[var(--color-background)] rounded-full flex items-center justify-center shadow-md hover:bg-[var(--color-primary-dark)] transition-colors disabled:opacity-50",
|
|
2897
|
+
title: "Changer la photo",
|
|
2898
|
+
children: /* @__PURE__ */ jsx9(Camera, { className: "w-4 h-4 text-white" })
|
|
2899
|
+
}
|
|
2900
|
+
),
|
|
2901
|
+
loggedUser?.profile_picture && /* @__PURE__ */ jsx9(
|
|
2902
|
+
"button",
|
|
2903
|
+
{
|
|
2904
|
+
onClick: handleDeletePhoto,
|
|
2905
|
+
disabled: uploadingPhoto,
|
|
2906
|
+
className: "w-8 h-8 bg-red-500 border-2 border-[var(--color-background)] rounded-full flex items-center justify-center shadow-md hover:bg-red-600 transition-colors disabled:opacity-50",
|
|
2907
|
+
title: "Supprimer la photo",
|
|
2908
|
+
children: /* @__PURE__ */ jsx9(Trash2, { className: "w-4 h-4 text-white" })
|
|
2909
|
+
}
|
|
2910
|
+
)
|
|
2911
|
+
] })
|
|
2912
|
+
] }),
|
|
2913
|
+
/* @__PURE__ */ jsxs6("div", { className: "text-center sm:text-left flex-1", children: [
|
|
2914
|
+
/* @__PURE__ */ jsx9("h2", { className: "text-xl font-bold text-[var(--color-text-primary)]", children: loggedUser?.first_name && loggedUser?.last_name ? `${loggedUser.first_name} ${loggedUser.last_name}` : loggedUser?.username || "Utilisateur" }),
|
|
2915
|
+
/* @__PURE__ */ jsx9("p", { className: "text-[var(--color-text-secondary)] mt-1", children: loggedUser?.job_title || "Membre de l'\xE9quipe" }),
|
|
2916
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex items-center justify-center sm:justify-start gap-2 mt-2", children: [
|
|
2917
|
+
/* @__PURE__ */ jsx9("span", { className: cn(
|
|
2918
|
+
"px-2 py-1 text-xs font-medium rounded-full",
|
|
2919
|
+
loggedUser?.is_active ? "bg-green-100 text-green-700" : "bg-gray-100 text-gray-600"
|
|
2920
|
+
), children: loggedUser?.is_active ? "Actif" : "Inactif" }),
|
|
2921
|
+
loggedUser?.is_staff && /* @__PURE__ */ jsx9("span", { className: "px-2 py-1 text-xs font-medium rounded-full bg-blue-100 text-blue-700", children: "Staff" })
|
|
2922
|
+
] })
|
|
2923
|
+
] }),
|
|
2924
|
+
/* @__PURE__ */ jsxs6(
|
|
2925
|
+
"button",
|
|
2926
|
+
{
|
|
2927
|
+
onClick: openEditProfileModal,
|
|
2928
|
+
className: "flex items-center gap-2 px-4 py-2 bg-[var(--color-primary)] text-white rounded-lg hover:bg-[var(--color-primary-dark)] transition-colors",
|
|
2929
|
+
title: "Modifier le profil",
|
|
2930
|
+
children: [
|
|
2931
|
+
/* @__PURE__ */ jsx9(Edit3, { className: "w-4 h-4" }),
|
|
2932
|
+
/* @__PURE__ */ jsx9("span", { className: "text-sm font-medium", children: "Modifier" })
|
|
2933
|
+
]
|
|
2934
|
+
}
|
|
2935
|
+
)
|
|
2936
|
+
] }),
|
|
2937
|
+
/* @__PURE__ */ jsxs6("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
|
|
2938
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-3 p-4 bg-[var(--color-surface)] rounded-lg border border-[var(--color-border)]", children: [
|
|
2939
|
+
/* @__PURE__ */ jsx9("div", { className: "w-10 h-10 bg-[var(--color-primary-light)] rounded-lg flex items-center justify-center", children: /* @__PURE__ */ jsx9(Mail, { className: "w-5 h-5 text-[var(--color-primary)]" }) }),
|
|
2940
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex-1 min-w-0", children: [
|
|
2941
|
+
/* @__PURE__ */ jsx9("p", { className: "text-xs text-[var(--color-text-tertiary)] uppercase tracking-wide", children: "Email" }),
|
|
2942
|
+
/* @__PURE__ */ jsx9("p", { className: "text-sm font-medium text-[var(--color-text-primary)] truncate", children: loggedUser?.email || "Non renseign\xE9" })
|
|
2943
|
+
] })
|
|
2944
|
+
] }),
|
|
2945
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-3 p-4 bg-[var(--color-surface)] rounded-lg border border-[var(--color-border)]", children: [
|
|
2946
|
+
/* @__PURE__ */ jsx9("div", { className: "w-10 h-10 bg-[var(--color-primary-light)] rounded-lg flex items-center justify-center", children: /* @__PURE__ */ jsx9(Phone, { className: "w-5 h-5 text-[var(--color-primary)]" }) }),
|
|
2947
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex-1 min-w-0", children: [
|
|
2948
|
+
/* @__PURE__ */ jsx9("p", { className: "text-xs text-[var(--color-text-tertiary)] uppercase tracking-wide", children: "T\xE9l\xE9phone" }),
|
|
2949
|
+
/* @__PURE__ */ jsx9("p", { className: "text-sm font-medium text-[var(--color-text-primary)] truncate", children: loggedUser?.phonenumber || "Non renseign\xE9" })
|
|
2950
|
+
] })
|
|
2951
|
+
] }),
|
|
2952
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-3 p-4 bg-[var(--color-surface)] rounded-lg border border-[var(--color-border)]", children: [
|
|
2953
|
+
/* @__PURE__ */ jsx9("div", { className: "w-10 h-10 bg-[var(--color-primary-light)] rounded-lg flex items-center justify-center", children: /* @__PURE__ */ jsx9(User, { className: "w-5 h-5 text-[var(--color-primary)]" }) }),
|
|
2954
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex-1 min-w-0", children: [
|
|
2955
|
+
/* @__PURE__ */ jsx9("p", { className: "text-xs text-[var(--color-text-tertiary)] uppercase tracking-wide", children: "Nom d'utilisateur" }),
|
|
2956
|
+
/* @__PURE__ */ jsx9("p", { className: "text-sm font-medium text-[var(--color-text-primary)] truncate", children: loggedUser?.username || "Non renseign\xE9" })
|
|
2957
|
+
] })
|
|
2958
|
+
] }),
|
|
2959
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-3 p-4 bg-[var(--color-surface)] rounded-lg border border-[var(--color-border)]", children: [
|
|
2960
|
+
/* @__PURE__ */ jsx9("div", { className: "w-10 h-10 bg-[var(--color-primary-light)] rounded-lg flex items-center justify-center", children: /* @__PURE__ */ jsx9(Briefcase, { className: "w-5 h-5 text-[var(--color-primary)]" }) }),
|
|
2961
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex-1 min-w-0", children: [
|
|
2962
|
+
/* @__PURE__ */ jsx9("p", { className: "text-xs text-[var(--color-text-tertiary)] uppercase tracking-wide", children: "D\xE9partement" }),
|
|
2963
|
+
/* @__PURE__ */ jsx9("p", { className: "text-sm font-medium text-[var(--color-text-primary)] truncate", children: loggedUser?.department || "Non renseign\xE9" })
|
|
2964
|
+
] })
|
|
2965
|
+
] })
|
|
2966
|
+
] }),
|
|
2967
|
+
loggedUser?.centers_access && loggedUser.centers_access.length > 0 && /* @__PURE__ */ jsxs6("div", { className: "pt-4 border-t border-[var(--color-border)]", children: [
|
|
2968
|
+
/* @__PURE__ */ jsxs6("h3", { className: "text-sm font-semibold text-[var(--color-text-primary)] mb-3 flex items-center gap-2", children: [
|
|
2969
|
+
/* @__PURE__ */ jsx9(Building2, { className: "w-4 h-4 text-[var(--color-primary)]" }),
|
|
2970
|
+
"Centres d'acc\xE8s (",
|
|
2971
|
+
loggedUser.centers_access.length,
|
|
2972
|
+
")"
|
|
2973
|
+
] }),
|
|
2974
|
+
/* @__PURE__ */ jsx9("div", { className: "flex flex-wrap gap-2", children: loggedUser.centers_access.map((center) => /* @__PURE__ */ jsx9(
|
|
2975
|
+
"span",
|
|
2976
|
+
{
|
|
2977
|
+
className: cn(
|
|
2978
|
+
"px-3 py-1.5 text-sm rounded-lg border transition-colors",
|
|
2979
|
+
activeBusinessEntity?.id === center.id ? "bg-[var(--color-primary)] text-white border-[var(--color-primary)]" : "bg-[var(--color-surface)] text-[var(--color-text-secondary)] border-[var(--color-border)] hover:bg-[var(--color-surface-hover)]"
|
|
2980
|
+
),
|
|
2981
|
+
children: center.legal_name
|
|
2982
|
+
},
|
|
2983
|
+
center.id
|
|
2984
|
+
)) })
|
|
2985
|
+
] }),
|
|
2986
|
+
/* @__PURE__ */ jsxs6("div", { className: "pt-4 border-t border-[var(--color-border)]", children: [
|
|
2987
|
+
/* @__PURE__ */ jsxs6("h3", { className: "text-sm font-semibold text-[var(--color-text-primary)] mb-3 flex items-center gap-2", children: [
|
|
2988
|
+
/* @__PURE__ */ jsx9(Shield, { className: "w-4 h-4 text-[var(--color-primary)]" }),
|
|
2989
|
+
"S\xE9curit\xE9 du compte"
|
|
2990
|
+
] }),
|
|
2991
|
+
/* @__PURE__ */ jsxs6("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-3", children: [
|
|
2992
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex items-center justify-between p-3 bg-[var(--color-surface)] rounded-lg", children: [
|
|
2993
|
+
/* @__PURE__ */ jsx9("span", { className: "text-sm text-[var(--color-text-secondary)]", children: "Derni\xE8re connexion" }),
|
|
2994
|
+
/* @__PURE__ */ jsx9("span", { className: "text-sm font-medium text-[var(--color-text-primary)]", children: loggedUser?.last_login ? new Date(loggedUser.last_login).toLocaleDateString("fr-FR", {
|
|
2995
|
+
day: "numeric",
|
|
2996
|
+
month: "short",
|
|
2997
|
+
year: "numeric",
|
|
2998
|
+
hour: "2-digit",
|
|
2999
|
+
minute: "2-digit"
|
|
3000
|
+
}) : "Aujourd'hui" })
|
|
3001
|
+
] }),
|
|
3002
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex items-center justify-between p-3 bg-[var(--color-surface)] rounded-lg", children: [
|
|
3003
|
+
/* @__PURE__ */ jsx9("span", { className: "text-sm text-[var(--color-text-secondary)]", children: "Membre depuis" }),
|
|
3004
|
+
/* @__PURE__ */ jsx9("span", { className: "text-sm font-medium text-[var(--color-text-primary)]", children: loggedUser?.date_joined ? new Date(loggedUser.date_joined).toLocaleDateString("fr-FR", {
|
|
3005
|
+
day: "numeric",
|
|
3006
|
+
month: "short",
|
|
3007
|
+
year: "numeric"
|
|
3008
|
+
}) : "N/A" })
|
|
3009
|
+
] })
|
|
3010
|
+
] }),
|
|
3011
|
+
/* @__PURE__ */ jsxs6(
|
|
3012
|
+
"button",
|
|
3013
|
+
{
|
|
3014
|
+
onClick: openChangePasswordModal,
|
|
3015
|
+
className: "mt-4 w-full flex items-center justify-center gap-2 px-4 py-2.5 border border-[var(--color-border)] text-[var(--color-text-secondary)] rounded-lg hover:bg-[var(--color-surface-hover)] transition-colors",
|
|
3016
|
+
children: [
|
|
3017
|
+
/* @__PURE__ */ jsx9(Lock, { className: "w-4 h-4" }),
|
|
3018
|
+
/* @__PURE__ */ jsx9("span", { className: "text-sm font-medium", children: "Changer le mot de passe" })
|
|
3019
|
+
]
|
|
3020
|
+
}
|
|
3021
|
+
)
|
|
3022
|
+
] })
|
|
3023
|
+
] })
|
|
3024
|
+
}
|
|
3025
|
+
),
|
|
3026
|
+
/* @__PURE__ */ jsx9(
|
|
3027
|
+
Modals_default,
|
|
3028
|
+
{
|
|
3029
|
+
title: "Modifier mon profil",
|
|
3030
|
+
description: "Mettez \xE0 jour vos informations personnelles",
|
|
3031
|
+
width: "max-w-lg",
|
|
3032
|
+
open: showEditProfileModal,
|
|
3033
|
+
onClose: () => setShowEditProfileModal(false),
|
|
3034
|
+
children: /* @__PURE__ */ jsxs6("div", { className: "space-y-4", children: [
|
|
3035
|
+
/* @__PURE__ */ jsxs6("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
3036
|
+
/* @__PURE__ */ jsxs6("div", { children: [
|
|
3037
|
+
/* @__PURE__ */ jsx9("label", { className: "block text-sm font-medium text-[var(--color-text-secondary)] mb-1", children: "Pr\xE9nom" }),
|
|
3038
|
+
/* @__PURE__ */ jsx9(
|
|
3039
|
+
"input",
|
|
3040
|
+
{
|
|
3041
|
+
type: "text",
|
|
3042
|
+
value: editProfileData.first_name,
|
|
3043
|
+
onChange: (e) => setEditProfileData((prev) => ({ ...prev, first_name: e.target.value })),
|
|
3044
|
+
className: "w-full px-3 py-2 border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] focus:border-transparent bg-[var(--color-background)] text-[var(--color-text-primary)]",
|
|
3045
|
+
placeholder: "Votre pr\xE9nom"
|
|
3046
|
+
}
|
|
3047
|
+
)
|
|
3048
|
+
] }),
|
|
3049
|
+
/* @__PURE__ */ jsxs6("div", { children: [
|
|
3050
|
+
/* @__PURE__ */ jsx9("label", { className: "block text-sm font-medium text-[var(--color-text-secondary)] mb-1", children: "Nom" }),
|
|
3051
|
+
/* @__PURE__ */ jsx9(
|
|
3052
|
+
"input",
|
|
3053
|
+
{
|
|
3054
|
+
type: "text",
|
|
3055
|
+
value: editProfileData.last_name,
|
|
3056
|
+
onChange: (e) => setEditProfileData((prev) => ({ ...prev, last_name: e.target.value })),
|
|
3057
|
+
className: "w-full px-3 py-2 border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] focus:border-transparent bg-[var(--color-background)] text-[var(--color-text-primary)]",
|
|
3058
|
+
placeholder: "Votre nom"
|
|
3059
|
+
}
|
|
3060
|
+
)
|
|
3061
|
+
] })
|
|
3062
|
+
] }),
|
|
3063
|
+
/* @__PURE__ */ jsxs6("div", { children: [
|
|
3064
|
+
/* @__PURE__ */ jsx9("label", { className: "block text-sm font-medium text-[var(--color-text-secondary)] mb-1", children: "Email" }),
|
|
3065
|
+
/* @__PURE__ */ jsxs6("div", { className: "relative", children: [
|
|
3066
|
+
/* @__PURE__ */ jsx9(Mail, { className: "absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--color-text-tertiary)]" }),
|
|
3067
|
+
/* @__PURE__ */ jsx9(
|
|
3068
|
+
"input",
|
|
3069
|
+
{
|
|
3070
|
+
type: "email",
|
|
3071
|
+
value: editProfileData.email,
|
|
3072
|
+
onChange: (e) => setEditProfileData((prev) => ({ ...prev, email: e.target.value })),
|
|
3073
|
+
className: "w-full pl-10 pr-3 py-2 border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] focus:border-transparent bg-[var(--color-background)] text-[var(--color-text-primary)]",
|
|
3074
|
+
placeholder: "votre@email.com"
|
|
3075
|
+
}
|
|
3076
|
+
)
|
|
3077
|
+
] })
|
|
3078
|
+
] }),
|
|
3079
|
+
/* @__PURE__ */ jsxs6("div", { children: [
|
|
3080
|
+
/* @__PURE__ */ jsx9("label", { className: "block text-sm font-medium text-[var(--color-text-secondary)] mb-1", children: "T\xE9l\xE9phone" }),
|
|
3081
|
+
/* @__PURE__ */ jsxs6("div", { className: "relative", children: [
|
|
3082
|
+
/* @__PURE__ */ jsx9(Phone, { className: "absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--color-text-tertiary)]" }),
|
|
3083
|
+
/* @__PURE__ */ jsx9(
|
|
3084
|
+
"input",
|
|
3085
|
+
{
|
|
3086
|
+
type: "tel",
|
|
3087
|
+
value: editProfileData.phonenumber,
|
|
3088
|
+
onChange: (e) => setEditProfileData((prev) => ({ ...prev, phonenumber: e.target.value })),
|
|
3089
|
+
className: "w-full pl-10 pr-3 py-2 border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] focus:border-transparent bg-[var(--color-background)] text-[var(--color-text-primary)]",
|
|
3090
|
+
placeholder: "+225 XX XX XX XX"
|
|
3091
|
+
}
|
|
3092
|
+
)
|
|
3093
|
+
] })
|
|
3094
|
+
] }),
|
|
3095
|
+
/* @__PURE__ */ jsxs6("div", { children: [
|
|
3096
|
+
/* @__PURE__ */ jsx9("label", { className: "block text-sm font-medium text-[var(--color-text-secondary)] mb-1", children: "Poste / Titre" }),
|
|
3097
|
+
/* @__PURE__ */ jsxs6("div", { className: "relative", children: [
|
|
3098
|
+
/* @__PURE__ */ jsx9(Briefcase, { className: "absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--color-text-tertiary)]" }),
|
|
3099
|
+
/* @__PURE__ */ jsx9(
|
|
3100
|
+
"input",
|
|
3101
|
+
{
|
|
3102
|
+
type: "text",
|
|
3103
|
+
value: editProfileData.job_title,
|
|
3104
|
+
onChange: (e) => setEditProfileData((prev) => ({ ...prev, job_title: e.target.value })),
|
|
3105
|
+
className: "w-full pl-10 pr-3 py-2 border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] focus:border-transparent bg-[var(--color-background)] text-[var(--color-text-primary)]",
|
|
3106
|
+
placeholder: "Ex: Responsable Commercial"
|
|
3107
|
+
}
|
|
3108
|
+
)
|
|
3109
|
+
] })
|
|
3110
|
+
] }),
|
|
3111
|
+
/* @__PURE__ */ jsxs6("div", { children: [
|
|
3112
|
+
/* @__PURE__ */ jsx9("label", { className: "block text-sm font-medium text-[var(--color-text-secondary)] mb-1", children: "D\xE9partement" }),
|
|
3113
|
+
/* @__PURE__ */ jsxs6("div", { className: "relative", children: [
|
|
3114
|
+
/* @__PURE__ */ jsx9(Building2, { className: "absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--color-text-tertiary)]" }),
|
|
3115
|
+
/* @__PURE__ */ jsx9(
|
|
3116
|
+
"input",
|
|
3117
|
+
{
|
|
3118
|
+
type: "text",
|
|
3119
|
+
value: editProfileData.department,
|
|
3120
|
+
onChange: (e) => setEditProfileData((prev) => ({ ...prev, department: e.target.value })),
|
|
3121
|
+
className: "w-full pl-10 pr-3 py-2 border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] focus:border-transparent bg-[var(--color-background)] text-[var(--color-text-primary)]",
|
|
3122
|
+
placeholder: "Ex: Ventes"
|
|
3123
|
+
}
|
|
3124
|
+
)
|
|
3125
|
+
] })
|
|
3126
|
+
] }),
|
|
3127
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex justify-end gap-3 pt-4 border-t border-[var(--color-border)]", children: [
|
|
3128
|
+
/* @__PURE__ */ jsx9(
|
|
3129
|
+
"button",
|
|
3130
|
+
{
|
|
3131
|
+
onClick: () => setShowEditProfileModal(false),
|
|
3132
|
+
className: "px-4 py-2 text-sm font-medium text-[var(--color-text-secondary)] bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg hover:bg-[var(--color-surface-hover)] transition-colors",
|
|
3133
|
+
children: "Annuler"
|
|
3134
|
+
}
|
|
3135
|
+
),
|
|
3136
|
+
/* @__PURE__ */ jsxs6(
|
|
3137
|
+
"button",
|
|
3138
|
+
{
|
|
3139
|
+
onClick: handleSaveProfile,
|
|
3140
|
+
disabled: savingProfile,
|
|
3141
|
+
className: "flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-[var(--color-primary)] rounded-lg hover:bg-[var(--color-primary-dark)] transition-colors disabled:opacity-50",
|
|
3142
|
+
children: [
|
|
3143
|
+
savingProfile ? /* @__PURE__ */ jsx9(Loader2, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx9(Save, { className: "w-4 h-4" }),
|
|
3144
|
+
savingProfile ? "Enregistrement..." : "Enregistrer"
|
|
3145
|
+
]
|
|
3146
|
+
}
|
|
3147
|
+
)
|
|
3148
|
+
] })
|
|
3149
|
+
] })
|
|
3150
|
+
}
|
|
3151
|
+
),
|
|
3152
|
+
/* @__PURE__ */ jsx9(
|
|
3153
|
+
Modals_default,
|
|
3154
|
+
{
|
|
3155
|
+
title: "Changer le mot de passe",
|
|
3156
|
+
description: "Entrez votre mot de passe actuel et choisissez un nouveau mot de passe",
|
|
3157
|
+
width: "max-w-md",
|
|
3158
|
+
open: showChangePasswordModal,
|
|
3159
|
+
onClose: () => setShowChangePasswordModal(false),
|
|
3160
|
+
children: /* @__PURE__ */ jsxs6("div", { className: "space-y-4", children: [
|
|
3161
|
+
/* @__PURE__ */ jsxs6("div", { children: [
|
|
3162
|
+
/* @__PURE__ */ jsx9("label", { className: "block text-sm font-medium text-[var(--color-text-secondary)] mb-1", children: "Mot de passe actuel" }),
|
|
3163
|
+
/* @__PURE__ */ jsxs6("div", { className: "relative", children: [
|
|
3164
|
+
/* @__PURE__ */ jsx9(Lock, { className: "absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--color-text-tertiary)]" }),
|
|
3165
|
+
/* @__PURE__ */ jsx9(
|
|
3166
|
+
"input",
|
|
3167
|
+
{
|
|
3168
|
+
type: showCurrentPassword ? "text" : "password",
|
|
3169
|
+
value: passwordData.current_password,
|
|
3170
|
+
onChange: (e) => setPasswordData((prev) => ({ ...prev, current_password: e.target.value })),
|
|
3171
|
+
className: "w-full pl-10 pr-10 py-2 border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] focus:border-transparent bg-[var(--color-background)] text-[var(--color-text-primary)]",
|
|
3172
|
+
placeholder: "Votre mot de passe actuel"
|
|
3173
|
+
}
|
|
3174
|
+
),
|
|
3175
|
+
/* @__PURE__ */ jsx9(
|
|
3176
|
+
"button",
|
|
3177
|
+
{
|
|
3178
|
+
type: "button",
|
|
3179
|
+
onClick: () => setShowCurrentPassword(!showCurrentPassword),
|
|
3180
|
+
className: "absolute right-3 top-1/2 -translate-y-1/2 text-[var(--color-text-tertiary)] hover:text-[var(--color-text-secondary)]",
|
|
3181
|
+
children: showCurrentPassword ? /* @__PURE__ */ jsx9(EyeOff, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx9(Eye2, { className: "w-4 h-4" })
|
|
3182
|
+
}
|
|
3183
|
+
)
|
|
3184
|
+
] })
|
|
3185
|
+
] }),
|
|
3186
|
+
/* @__PURE__ */ jsxs6("div", { children: [
|
|
3187
|
+
/* @__PURE__ */ jsx9("label", { className: "block text-sm font-medium text-[var(--color-text-secondary)] mb-1", children: "Nouveau mot de passe" }),
|
|
3188
|
+
/* @__PURE__ */ jsxs6("div", { className: "relative", children: [
|
|
3189
|
+
/* @__PURE__ */ jsx9(Lock, { className: "absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--color-text-tertiary)]" }),
|
|
3190
|
+
/* @__PURE__ */ jsx9(
|
|
3191
|
+
"input",
|
|
3192
|
+
{
|
|
3193
|
+
type: showNewPassword ? "text" : "password",
|
|
3194
|
+
value: passwordData.new_password,
|
|
3195
|
+
onChange: (e) => setPasswordData((prev) => ({ ...prev, new_password: e.target.value })),
|
|
3196
|
+
className: "w-full pl-10 pr-10 py-2 border border-[var(--color-border)] rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] focus:border-transparent bg-[var(--color-background)] text-[var(--color-text-primary)]",
|
|
3197
|
+
placeholder: "Au moins 8 caract\xE8res"
|
|
3198
|
+
}
|
|
3199
|
+
),
|
|
3200
|
+
/* @__PURE__ */ jsx9(
|
|
3201
|
+
"button",
|
|
3202
|
+
{
|
|
3203
|
+
type: "button",
|
|
3204
|
+
onClick: () => setShowNewPassword(!showNewPassword),
|
|
3205
|
+
className: "absolute right-3 top-1/2 -translate-y-1/2 text-[var(--color-text-tertiary)] hover:text-[var(--color-text-secondary)]",
|
|
3206
|
+
children: showNewPassword ? /* @__PURE__ */ jsx9(EyeOff, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx9(Eye2, { className: "w-4 h-4" })
|
|
3207
|
+
}
|
|
3208
|
+
)
|
|
3209
|
+
] }),
|
|
3210
|
+
passwordData.new_password && passwordData.new_password.length < 8 && /* @__PURE__ */ jsx9("p", { className: "mt-1 text-xs text-red-500", children: "Le mot de passe doit contenir au moins 8 caract\xE8res" })
|
|
3211
|
+
] }),
|
|
3212
|
+
/* @__PURE__ */ jsxs6("div", { children: [
|
|
3213
|
+
/* @__PURE__ */ jsx9("label", { className: "block text-sm font-medium text-[var(--color-text-secondary)] mb-1", children: "Confirmer le nouveau mot de passe" }),
|
|
3214
|
+
/* @__PURE__ */ jsxs6("div", { className: "relative", children: [
|
|
3215
|
+
/* @__PURE__ */ jsx9(Lock, { className: "absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--color-text-tertiary)]" }),
|
|
3216
|
+
/* @__PURE__ */ jsx9(
|
|
3217
|
+
"input",
|
|
3218
|
+
{
|
|
3219
|
+
type: showConfirmPassword ? "text" : "password",
|
|
3220
|
+
value: passwordData.confirm_password,
|
|
3221
|
+
onChange: (e) => setPasswordData((prev) => ({ ...prev, confirm_password: e.target.value })),
|
|
3222
|
+
className: cn(
|
|
3223
|
+
"w-full pl-10 pr-10 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] focus:border-transparent bg-[var(--color-background)] text-[var(--color-text-primary)]",
|
|
3224
|
+
passwordData.confirm_password && passwordData.new_password !== passwordData.confirm_password ? "border-red-500" : "border-[var(--color-border)]"
|
|
3225
|
+
),
|
|
3226
|
+
placeholder: "R\xE9p\xE9tez le nouveau mot de passe"
|
|
3227
|
+
}
|
|
3228
|
+
),
|
|
3229
|
+
/* @__PURE__ */ jsx9(
|
|
3230
|
+
"button",
|
|
3231
|
+
{
|
|
3232
|
+
type: "button",
|
|
3233
|
+
onClick: () => setShowConfirmPassword(!showConfirmPassword),
|
|
3234
|
+
className: "absolute right-3 top-1/2 -translate-y-1/2 text-[var(--color-text-tertiary)] hover:text-[var(--color-text-secondary)]",
|
|
3235
|
+
children: showConfirmPassword ? /* @__PURE__ */ jsx9(EyeOff, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx9(Eye2, { className: "w-4 h-4" })
|
|
3236
|
+
}
|
|
3237
|
+
)
|
|
3238
|
+
] }),
|
|
3239
|
+
passwordData.confirm_password && passwordData.new_password !== passwordData.confirm_password && /* @__PURE__ */ jsx9("p", { className: "mt-1 text-xs text-red-500", children: "Les mots de passe ne correspondent pas" }),
|
|
3240
|
+
passwordData.confirm_password && passwordData.new_password === passwordData.confirm_password && passwordData.new_password.length >= 8 && /* @__PURE__ */ jsxs6("p", { className: "mt-1 text-xs text-green-600 flex items-center gap-1", children: [
|
|
3241
|
+
/* @__PURE__ */ jsx9(Check2, { className: "w-3 h-3" }),
|
|
3242
|
+
" Les mots de passe correspondent"
|
|
3243
|
+
] })
|
|
3244
|
+
] }),
|
|
3245
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex justify-end gap-3 pt-4 border-t border-[var(--color-border)]", children: [
|
|
3246
|
+
/* @__PURE__ */ jsx9(
|
|
3247
|
+
"button",
|
|
3248
|
+
{
|
|
3249
|
+
onClick: () => setShowChangePasswordModal(false),
|
|
3250
|
+
className: "px-4 py-2 text-sm font-medium text-[var(--color-text-secondary)] bg-[var(--color-surface)] border border-[var(--color-border)] rounded-lg hover:bg-[var(--color-surface-hover)] transition-colors",
|
|
3251
|
+
children: "Annuler"
|
|
3252
|
+
}
|
|
3253
|
+
),
|
|
3254
|
+
/* @__PURE__ */ jsxs6(
|
|
3255
|
+
"button",
|
|
3256
|
+
{
|
|
3257
|
+
onClick: handleChangePassword,
|
|
3258
|
+
disabled: savingPassword || !passwordData.current_password || !passwordData.new_password || passwordData.new_password !== passwordData.confirm_password || passwordData.new_password.length < 8,
|
|
3259
|
+
className: "flex items-center gap-2 px-4 py-2 text-sm font-medium text-white bg-[var(--color-primary)] rounded-lg hover:bg-[var(--color-primary-dark)] transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
|
|
3260
|
+
children: [
|
|
3261
|
+
savingPassword ? /* @__PURE__ */ jsx9(Loader2, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx9(Shield, { className: "w-4 h-4" }),
|
|
3262
|
+
savingPassword ? "Modification..." : "Changer le mot de passe"
|
|
3263
|
+
]
|
|
3264
|
+
}
|
|
3265
|
+
)
|
|
3266
|
+
] })
|
|
3267
|
+
] })
|
|
3268
|
+
}
|
|
2644
3269
|
)
|
|
2645
3270
|
] });
|
|
2646
3271
|
};
|
|
@@ -2792,7 +3417,7 @@ var Pages_default = Pages;
|
|
|
2792
3417
|
// src/components/common/FDrawer.tsx
|
|
2793
3418
|
import React7, { useEffect as useEffect6, useState as useState8, useRef } from "react";
|
|
2794
3419
|
import { useLocation as useLocation2, useNavigate as useNavigate2, useSearchParams as useSearchParams2, Link as Link2 } from "react-router-dom";
|
|
2795
|
-
import { ArrowDownAZ, ArrowDownUp, ArrowUpAZ, AlertCircle as AlertCircle3, CheckCircle2 as CheckCircle22, ChevronDown, Columns3, Copy, Download as Download2, FileSpreadsheet, Filter, Maximize2, Minimize2, MoreVertical, Plus, Printer, RefreshCw, Settings2 as Settings22, Trash2, Upload, X as X5, Search as Search2, SquareIcon } from "lucide-react";
|
|
3420
|
+
import { ArrowDownAZ, ArrowDownUp, ArrowUpAZ, AlertCircle as AlertCircle3, CheckCircle2 as CheckCircle22, ChevronDown, Columns3, Copy, Download as Download2, FileSpreadsheet, Filter, Maximize2, Minimize2, MoreVertical, Plus, Printer, RefreshCw, Settings2 as Settings22, Trash2 as Trash22, Upload, X as X5, Search as Search2, SquareIcon } from "lucide-react";
|
|
2796
3421
|
import { Fragment as Fragment4, jsx as jsx12, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
2797
3422
|
var ExcelImportModal = ({
|
|
2798
3423
|
isOpen,
|
|
@@ -3050,7 +3675,7 @@ var ExcelImportModal = ({
|
|
|
3050
3675
|
type: "button",
|
|
3051
3676
|
onClick: () => removeMappingRow(index),
|
|
3052
3677
|
className: "p-2 text-red-500 hover:bg-red-50 rounded-lg mt-5",
|
|
3053
|
-
children: /* @__PURE__ */ jsx12(
|
|
3678
|
+
children: /* @__PURE__ */ jsx12(Trash22, { className: "h-4 w-4" })
|
|
3054
3679
|
}
|
|
3055
3680
|
)
|
|
3056
3681
|
] }, index)) }),
|
|
@@ -3700,7 +4325,7 @@ var FDrawer = ({
|
|
|
3700
4325
|
onClick: handleBulkDelete,
|
|
3701
4326
|
className: "px-3 py-1.5 bg-red-500 text-white rounded-lg text-sm flex items-center gap-2 hover:bg-red-600",
|
|
3702
4327
|
children: [
|
|
3703
|
-
/* @__PURE__ */ jsx12(
|
|
4328
|
+
/* @__PURE__ */ jsx12(Trash22, { className: "h-4 w-4" }),
|
|
3704
4329
|
"Supprimer"
|
|
3705
4330
|
]
|
|
3706
4331
|
}
|
|
@@ -4091,7 +4716,7 @@ var SearchableSelect = ({
|
|
|
4091
4716
|
};
|
|
4092
4717
|
|
|
4093
4718
|
// src/components/common/ApprovalWorkflow.tsx
|
|
4094
|
-
import { X as X7, Plus as Plus3, Trash2 as
|
|
4719
|
+
import { X as X7, Plus as Plus3, Trash2 as Trash23, Users, Loader as Loader3, RotateCcw, Ban, Eye as Eye4, FileText as FileText2, History } from "lucide-react";
|
|
4095
4720
|
import { Fragment as Fragment6, jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
4096
4721
|
var ApprovalWorkflow = ({
|
|
4097
4722
|
process,
|
|
@@ -4427,7 +5052,7 @@ var ApprovalWorkflow = ({
|
|
|
4427
5052
|
] });
|
|
4428
5053
|
};
|
|
4429
5054
|
if (loading) {
|
|
4430
|
-
return /* @__PURE__ */ jsx14(RewiseBasicCard, { title, children: /* @__PURE__ */ jsx14("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsx14(
|
|
5055
|
+
return /* @__PURE__ */ jsx14(RewiseBasicCard, { title, children: /* @__PURE__ */ jsx14("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsx14(Loader3, { className: "w-8 h-8 animate-spin text-[#6A8A82]" }) }) });
|
|
4431
5056
|
}
|
|
4432
5057
|
const renderTabContent = () => {
|
|
4433
5058
|
switch (activeTab) {
|
|
@@ -4506,14 +5131,14 @@ var ApprovalWorkflow = ({
|
|
|
4506
5131
|
dangerouslySetInnerHTML: { __html: caseData.html_content }
|
|
4507
5132
|
}
|
|
4508
5133
|
) : /* @__PURE__ */ jsxs11("div", { className: "text-center py-12 border-2 border-dashed border-[#D9D9D9] rounded-lg bg-[#FAFAFA]", children: [
|
|
4509
|
-
/* @__PURE__ */ jsx14(
|
|
5134
|
+
/* @__PURE__ */ jsx14(Eye4, { className: "w-12 h-12 text-[#767676] mx-auto mb-4" }),
|
|
4510
5135
|
/* @__PURE__ */ jsx14("p", { className: "text-[#767676]", children: "Aucun aper\xE7u disponible" })
|
|
4511
5136
|
] })
|
|
4512
5137
|
] }) });
|
|
4513
5138
|
case "history":
|
|
4514
5139
|
return /* @__PURE__ */ jsxs11("div", { className: "space-y-6", children: [
|
|
4515
5140
|
/* @__PURE__ */ jsx14("h3", { className: "text-lg font-semibold text-[#191919]", children: "Historique des versions" }),
|
|
4516
|
-
loadingHistory ? /* @__PURE__ */ jsx14("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsx14(
|
|
5141
|
+
loadingHistory ? /* @__PURE__ */ jsx14("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsx14(Loader3, { className: "w-8 h-8 animate-spin text-[#6A8A82]" }) }) : history.length === 0 ? /* @__PURE__ */ jsxs11("div", { className: "text-center py-12 border-2 border-dashed border-[#D9D9D9] rounded-lg bg-[#FAFAFA]", children: [
|
|
4517
5142
|
/* @__PURE__ */ jsx14(History, { className: "w-12 h-12 text-[#767676] mx-auto mb-4" }),
|
|
4518
5143
|
/* @__PURE__ */ jsx14("p", { className: "text-[#767676]", children: "Aucun historique disponible" })
|
|
4519
5144
|
] }) : /* @__PURE__ */ jsx14("div", { className: "space-y-4", children: history.map((item, index) => /* @__PURE__ */ jsx14("div", { className: "border border-[#D9D9D9] rounded-lg p-4 bg-white hover:shadow-md transition-shadow", children: /* @__PURE__ */ jsx14("div", { className: "flex items-start justify-between", children: /* @__PURE__ */ jsxs11("div", { className: "flex-1", children: [
|
|
@@ -4615,7 +5240,7 @@ var ApprovalWorkflow = ({
|
|
|
4615
5240
|
onClick: () => setActiveTab("preview"),
|
|
4616
5241
|
className: `px-4 py-3 text-sm font-medium transition-colors flex items-center gap-2 ${activeTab === "preview" ? "border-b-2 border-[#6A8A82] text-[#6A8A82]" : "text-[#767676] hover:text-[#191919]"}`,
|
|
4617
5242
|
children: [
|
|
4618
|
-
/* @__PURE__ */ jsx14(
|
|
5243
|
+
/* @__PURE__ */ jsx14(Eye4, { className: "w-4 h-4" }),
|
|
4619
5244
|
"Aper\xE7u"
|
|
4620
5245
|
]
|
|
4621
5246
|
}
|
|
@@ -4706,7 +5331,7 @@ var StageRow = ({
|
|
|
4706
5331
|
onClick: onRemove,
|
|
4707
5332
|
className: "text-[#B85450] hover:text-red-700 transition-colors",
|
|
4708
5333
|
title: "Supprimer",
|
|
4709
|
-
children: /* @__PURE__ */ jsx14(
|
|
5334
|
+
children: /* @__PURE__ */ jsx14(Trash23, { className: "w-4 h-4" })
|
|
4710
5335
|
}
|
|
4711
5336
|
) }),
|
|
4712
5337
|
/* @__PURE__ */ jsx14("td", { className: "border border-gray-300 px-4 py-2 text-center", children: index + 1 }),
|
|
@@ -5072,7 +5697,7 @@ var useAlert = () => {
|
|
|
5072
5697
|
};
|
|
5073
5698
|
|
|
5074
5699
|
// src/components/common/CommonSelect.tsx
|
|
5075
|
-
import { useEffect as
|
|
5700
|
+
import { useEffect as useEffect19, useState as useState31 } from "react";
|
|
5076
5701
|
|
|
5077
5702
|
// dist/index.js
|
|
5078
5703
|
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
@@ -5095,7 +5720,20 @@ import {
|
|
|
5095
5720
|
DollarSign as DollarSign2,
|
|
5096
5721
|
HelpCircle as HelpCircle22,
|
|
5097
5722
|
Building2 as Building22,
|
|
5098
|
-
LayoutGrid as LayoutGrid2
|
|
5723
|
+
LayoutGrid as LayoutGrid2,
|
|
5724
|
+
Mail as Mail2,
|
|
5725
|
+
Phone as Phone2,
|
|
5726
|
+
Shield as Shield2,
|
|
5727
|
+
Briefcase as Briefcase2,
|
|
5728
|
+
Edit3 as Edit32,
|
|
5729
|
+
Camera as Camera2,
|
|
5730
|
+
Eye as Eye22,
|
|
5731
|
+
EyeOff as EyeOff3,
|
|
5732
|
+
Lock as Lock2,
|
|
5733
|
+
Save as Save2,
|
|
5734
|
+
Loader2 as Loader22,
|
|
5735
|
+
Check as Check22,
|
|
5736
|
+
Trash2 as Trash24
|
|
5099
5737
|
} from "lucide-react";
|
|
5100
5738
|
import { clsx as clsx2 } from "clsx";
|
|
5101
5739
|
import { twMerge as twMerge2 } from "tailwind-merge";
|
|
@@ -5108,7 +5746,7 @@ import { AlertTriangle as AlertTriangle3, HelpCircle as HelpCircle3, AlertCircle
|
|
|
5108
5746
|
import { jsx as jsx62, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
5109
5747
|
import { useState as useState42, useEffect as useEffect32 } from "react";
|
|
5110
5748
|
import { jsx as jsx72, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
5111
|
-
import { X as X22, Loader as
|
|
5749
|
+
import { X as X22, Loader as Loader4, Eye as Eye5, FileText as FileText3, Check as Check3, XCircle as XCircle3, Edit as Edit2, CheckCircle as CheckCircle3, Clock as Clock2, AlertCircle as AlertCircle22, User as UserIcon2, Send as Send2 } from "lucide-react";
|
|
5112
5750
|
import { useParams as useParams2, useSearchParams as useSearchParams3 } from "react-router-dom";
|
|
5113
5751
|
import { Fragment as Fragment7, jsx as jsx82, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
5114
5752
|
import { Fragment as Fragment22, jsx as jsx92, jsxs as jsxs62 } from "react/jsx-runtime";
|
|
@@ -5120,18 +5758,18 @@ import { useState as useState72 } from "react";
|
|
|
5120
5758
|
import { Fragment as Fragment32, jsx as jsx112, jsxs as jsxs82 } from "react/jsx-runtime";
|
|
5121
5759
|
import React72, { useEffect as useEffect62, useState as useState82, useRef as useRef3 } from "react";
|
|
5122
5760
|
import { useLocation as useLocation22, useNavigate as useNavigate22, useSearchParams as useSearchParams22, Link as Link22 } from "react-router-dom";
|
|
5123
|
-
import { ArrowDownAZ as ArrowDownAZ2, ArrowDownUp as ArrowDownUp2, ArrowUpAZ as ArrowUpAZ2, AlertCircle as AlertCircle32, CheckCircle2 as CheckCircle222, ChevronDown as ChevronDown3, Columns3 as Columns32, Copy as Copy2, Download as Download22, FileSpreadsheet as FileSpreadsheet2, Filter as Filter2, Maximize2 as Maximize22, Minimize2 as Minimize22, MoreVertical as MoreVertical2, Plus as Plus4, Printer as Printer2, RefreshCw as RefreshCw3, Settings2 as Settings222, Trash2 as
|
|
5761
|
+
import { ArrowDownAZ as ArrowDownAZ2, ArrowDownUp as ArrowDownUp2, ArrowUpAZ as ArrowUpAZ2, AlertCircle as AlertCircle32, CheckCircle2 as CheckCircle222, ChevronDown as ChevronDown3, Columns3 as Columns32, Copy as Copy2, Download as Download22, FileSpreadsheet as FileSpreadsheet2, Filter as Filter2, Maximize2 as Maximize22, Minimize2 as Minimize22, MoreVertical as MoreVertical2, Plus as Plus4, Printer as Printer2, RefreshCw as RefreshCw3, Settings2 as Settings222, Trash2 as Trash222, Upload as Upload2, X as X52, Search as Search22, SquareIcon as SquareIcon2 } from "lucide-react";
|
|
5124
5762
|
import { Fragment as Fragment42, jsx as jsx122, jsxs as jsxs92 } from "react/jsx-runtime";
|
|
5125
5763
|
import { useState as useState102, useEffect as useEffect82 } from "react";
|
|
5126
5764
|
import { useState as useState92, useRef as useRef22, useEffect as useEffect72 } from "react";
|
|
5127
5765
|
import { Search as Search32, ChevronDown as ChevronDown22, X as X62, RefreshCw as RefreshCw22, Plus as Plus22 } from "lucide-react";
|
|
5128
5766
|
import { Fragment as Fragment52, jsx as jsx132, jsxs as jsxs102 } from "react/jsx-runtime";
|
|
5129
|
-
import { X as X72, Plus as Plus32, Trash2 as
|
|
5767
|
+
import { X as X72, Plus as Plus32, Trash2 as Trash232, Users as Users2, Loader as Loader32, RotateCcw as RotateCcw2, Ban as Ban2, Eye as Eye42, FileText as FileText22, History as History2 } from "lucide-react";
|
|
5130
5768
|
import { Fragment as Fragment62, jsx as jsx142, jsxs as jsxs112 } from "react/jsx-runtime";
|
|
5131
5769
|
import { createContext as createContext42, useContext as useContext42, useState as useState112, useCallback as useCallback22 } from "react";
|
|
5132
5770
|
import { jsx as jsx152, jsxs as jsxs122 } from "react/jsx-runtime";
|
|
5133
5771
|
import { jsx as jsx162, jsxs as jsxs132 } from "react/jsx-runtime";
|
|
5134
|
-
import { useEffect as
|
|
5772
|
+
import { useEffect as useEffect18, useState as useState29 } from "react";
|
|
5135
5773
|
import { jsx as jsx172 } from "react/jsx-runtime";
|
|
5136
5774
|
import { jsx as jsx222, jsxs as jsxs142 } from "react/jsx-runtime";
|
|
5137
5775
|
import { Link as Link32 } from "react-router-dom";
|
|
@@ -5147,11 +5785,12 @@ import {
|
|
|
5147
5785
|
User as User22,
|
|
5148
5786
|
LogOut as LogOut22,
|
|
5149
5787
|
Menu as Menu32,
|
|
5150
|
-
X as
|
|
5788
|
+
X as X322,
|
|
5151
5789
|
Palette as Palette22,
|
|
5152
5790
|
DollarSign as DollarSign22,
|
|
5153
|
-
HelpCircle as
|
|
5154
|
-
Building2 as Building222
|
|
5791
|
+
HelpCircle as HelpCircle222,
|
|
5792
|
+
Building2 as Building222,
|
|
5793
|
+
LayoutGrid as LayoutGrid22
|
|
5155
5794
|
} from "lucide-react";
|
|
5156
5795
|
import { clsx as clsx22 } from "clsx";
|
|
5157
5796
|
import { twMerge as twMerge22 } from "tailwind-merge";
|
|
@@ -5160,35 +5799,36 @@ import { jsx as jsx422 } from "react/jsx-runtime";
|
|
|
5160
5799
|
import { createContext as createContext222, useContext as useContext222, useEffect as useEffect222, useState as useState222 } from "react";
|
|
5161
5800
|
import { jsx as jsx522 } from "react/jsx-runtime";
|
|
5162
5801
|
import { createContext as createContext322, useContext as useContext322, useState as useState322, useCallback as useCallback32 } from "react";
|
|
5163
|
-
import {
|
|
5802
|
+
import { AlertTriangle as AlertTriangle32, HelpCircle as HelpCircle32, AlertCircle as AlertCircle42, X as X82 } from "lucide-react";
|
|
5803
|
+
import { jsx as jsx622, jsxs as jsxs322 } from "react/jsx-runtime";
|
|
5164
5804
|
import { useState as useState422, useEffect as useEffect322 } from "react";
|
|
5165
|
-
import { jsx as jsx722, jsxs as
|
|
5166
|
-
import { X as
|
|
5805
|
+
import { jsx as jsx722, jsxs as jsxs422 } from "react/jsx-runtime";
|
|
5806
|
+
import { X as X222, Loader as Loader42, Eye as Eye52, FileText as FileText32, Check as Check32, XCircle as XCircle32, Edit as Edit22, CheckCircle as CheckCircle32, Clock as Clock22, AlertCircle as AlertCircle222, User as UserIcon22, Send as Send22 } from "lucide-react";
|
|
5167
5807
|
import { useParams as useParams22, useSearchParams as useSearchParams32 } from "react-router-dom";
|
|
5168
|
-
import { Fragment as Fragment72, jsx as jsx822, jsxs as
|
|
5169
|
-
import { Fragment as Fragment222, jsx as jsx922, jsxs as
|
|
5808
|
+
import { Fragment as Fragment72, jsx as jsx822, jsxs as jsxs522 } from "react/jsx-runtime";
|
|
5809
|
+
import { Fragment as Fragment222, jsx as jsx922, jsxs as jsxs622 } from "react/jsx-runtime";
|
|
5170
5810
|
import { useEffect as useEffect522, useState as useState622 } from "react";
|
|
5171
|
-
import { CheckCircle as CheckCircle232, XCircle as XCircle222, AlertTriangle as
|
|
5172
|
-
import { jsx as jsx1022, jsxs as
|
|
5811
|
+
import { CheckCircle as CheckCircle232, XCircle as XCircle222, AlertTriangle as AlertTriangle222, Info as Info222, X as X422 } from "lucide-react";
|
|
5812
|
+
import { jsx as jsx1022, jsxs as jsxs722 } from "react/jsx-runtime";
|
|
5173
5813
|
import { ChevronLeft as ChevronLeft222, Download as Download32, Menu as Menu222, Settings as Settings232 } from "lucide-react";
|
|
5174
5814
|
import { useState as useState722 } from "react";
|
|
5175
|
-
import { Fragment as Fragment322, jsx as jsx1122, jsxs as
|
|
5176
|
-
import { useEffect as useEffect622, useState as useState822 } from "react";
|
|
5815
|
+
import { Fragment as Fragment322, jsx as jsx1122, jsxs as jsxs822 } from "react/jsx-runtime";
|
|
5816
|
+
import React722, { useEffect as useEffect622, useState as useState822, useRef as useRef32 } from "react";
|
|
5177
5817
|
import { useLocation as useLocation222, useNavigate as useNavigate222, useSearchParams as useSearchParams222, Link as Link222 } from "react-router-dom";
|
|
5178
|
-
import { ArrowDownAZ as ArrowDownAZ22, ArrowDownUp as ArrowDownUp22, ArrowUpAZ as ArrowUpAZ22, Download as Download222, Filter as Filter22, MoreVertical as MoreVertical22, Printer as Printer22, Search as Search222 } from "lucide-react";
|
|
5179
|
-
import { Fragment as Fragment422, jsx as jsx1222, jsxs as
|
|
5818
|
+
import { ArrowDownAZ as ArrowDownAZ22, ArrowDownUp as ArrowDownUp22, ArrowUpAZ as ArrowUpAZ22, AlertCircle as AlertCircle322, CheckCircle2 as CheckCircle2222, ChevronDown as ChevronDown32, Columns3 as Columns322, Copy as Copy22, Download as Download222, FileSpreadsheet as FileSpreadsheet22, Filter as Filter22, Maximize2 as Maximize222, Minimize2 as Minimize222, MoreVertical as MoreVertical22, Plus as Plus42, Printer as Printer22, RefreshCw as RefreshCw32, Settings2 as Settings2222, Trash2 as Trash242, Upload as Upload22, X as X522, Search as Search222, SquareIcon as SquareIcon22 } from "lucide-react";
|
|
5819
|
+
import { Fragment as Fragment422, jsx as jsx1222, jsxs as jsxs922 } from "react/jsx-runtime";
|
|
5180
5820
|
import { useState as useState1022, useEffect as useEffect822 } from "react";
|
|
5181
|
-
import { useState as useState922, useRef as
|
|
5182
|
-
import { Search as Search322, ChevronDown as
|
|
5183
|
-
import { Fragment as Fragment522, jsx as jsx1322, jsxs as
|
|
5184
|
-
import { X as
|
|
5185
|
-
import { Fragment as Fragment622, jsx as jsx1422, jsxs as
|
|
5821
|
+
import { useState as useState922, useRef as useRef222, useEffect as useEffect722 } from "react";
|
|
5822
|
+
import { Search as Search322, ChevronDown as ChevronDown222, X as X622, RefreshCw as RefreshCw222, Plus as Plus222 } from "lucide-react";
|
|
5823
|
+
import { Fragment as Fragment522, jsx as jsx1322, jsxs as jsxs1022 } from "react/jsx-runtime";
|
|
5824
|
+
import { X as X722, Plus as Plus322, Trash2 as Trash2222, Users as Users22, Loader as Loader222, RotateCcw as RotateCcw22, Ban as Ban22, Eye as Eye32, FileText as FileText222, History as History22 } from "lucide-react";
|
|
5825
|
+
import { Fragment as Fragment622, jsx as jsx1422, jsxs as jsxs1122 } from "react/jsx-runtime";
|
|
5186
5826
|
import { createContext as createContext422, useContext as useContext422, useState as useState1122, useCallback as useCallback222 } from "react";
|
|
5187
|
-
import { jsx as jsx1522, jsxs as
|
|
5188
|
-
import { jsx as jsx1622, jsxs as
|
|
5189
|
-
import { useEffect as
|
|
5827
|
+
import { jsx as jsx1522, jsxs as jsxs1222 } from "react/jsx-runtime";
|
|
5828
|
+
import { jsx as jsx1622, jsxs as jsxs1322 } from "react/jsx-runtime";
|
|
5829
|
+
import { useEffect as useEffect17, useState as useState27 } from "react";
|
|
5190
5830
|
import { jsx as jsx1722 } from "react/jsx-runtime";
|
|
5191
|
-
import { jsx as jsx2222, jsxs as
|
|
5831
|
+
import { jsx as jsx2222, jsxs as jsxs1422 } from "react/jsx-runtime";
|
|
5192
5832
|
import { Link as Link322 } from "react-router-dom";
|
|
5193
5833
|
import { jsx as jsx3222, jsxs as jsxs2222 } from "react/jsx-runtime";
|
|
5194
5834
|
import React4222, { useState as useState5222, useEffect as useEffect4222 } from "react";
|
|
@@ -5202,11 +5842,12 @@ import {
|
|
|
5202
5842
|
User as User222,
|
|
5203
5843
|
LogOut as LogOut222,
|
|
5204
5844
|
Menu as Menu322,
|
|
5205
|
-
X as
|
|
5845
|
+
X as X3222,
|
|
5206
5846
|
Palette as Palette222,
|
|
5207
5847
|
DollarSign as DollarSign222,
|
|
5208
|
-
HelpCircle as
|
|
5209
|
-
Building2 as Building2222
|
|
5848
|
+
HelpCircle as HelpCircle2222,
|
|
5849
|
+
Building2 as Building2222,
|
|
5850
|
+
LayoutGrid as LayoutGrid222
|
|
5210
5851
|
} from "lucide-react";
|
|
5211
5852
|
import { clsx as clsx222 } from "clsx";
|
|
5212
5853
|
import { twMerge as twMerge222 } from "tailwind-merge";
|
|
@@ -5215,35 +5856,36 @@ import { jsx as jsx4222 } from "react/jsx-runtime";
|
|
|
5215
5856
|
import { createContext as createContext2222, useContext as useContext2222, useEffect as useEffect2222, useState as useState2222 } from "react";
|
|
5216
5857
|
import { jsx as jsx5222 } from "react/jsx-runtime";
|
|
5217
5858
|
import { createContext as createContext3222, useContext as useContext3222, useState as useState3222, useCallback as useCallback322 } from "react";
|
|
5218
|
-
import {
|
|
5859
|
+
import { AlertTriangle as AlertTriangle322, HelpCircle as HelpCircle322, AlertCircle as AlertCircle422, X as X822 } from "lucide-react";
|
|
5860
|
+
import { jsx as jsx6222, jsxs as jsxs3222 } from "react/jsx-runtime";
|
|
5219
5861
|
import { useState as useState4222, useEffect as useEffect3222 } from "react";
|
|
5220
|
-
import { jsx as jsx7222, jsxs as
|
|
5221
|
-
import { X as
|
|
5862
|
+
import { jsx as jsx7222, jsxs as jsxs4222 } from "react/jsx-runtime";
|
|
5863
|
+
import { X as X2222, Loader as Loader322, Eye as Eye422, FileText as FileText322, Check as Check222, XCircle as XCircle322, Edit as Edit222, CheckCircle as CheckCircle322, Clock as Clock222, AlertCircle as AlertCircle2222, User as UserIcon222, Send as Send222 } from "lucide-react";
|
|
5222
5864
|
import { useParams as useParams222, useSearchParams as useSearchParams322 } from "react-router-dom";
|
|
5223
|
-
import { Fragment as Fragment722, jsx as jsx8222, jsxs as
|
|
5224
|
-
import { Fragment as Fragment2222, jsx as jsx9222, jsxs as
|
|
5865
|
+
import { Fragment as Fragment722, jsx as jsx8222, jsxs as jsxs5222 } from "react/jsx-runtime";
|
|
5866
|
+
import { Fragment as Fragment2222, jsx as jsx9222, jsxs as jsxs6222 } from "react/jsx-runtime";
|
|
5225
5867
|
import { useEffect as useEffect5222, useState as useState6222 } from "react";
|
|
5226
|
-
import { CheckCircle as
|
|
5227
|
-
import { jsx as jsx10222, jsxs as
|
|
5228
|
-
import { ChevronLeft as ChevronLeft2222, Download as Download322, Menu as Menu2222, Settings as
|
|
5868
|
+
import { CheckCircle as CheckCircle2322, XCircle as XCircle2222, AlertTriangle as AlertTriangle2222, Info as Info2222, X as X4222 } from "lucide-react";
|
|
5869
|
+
import { jsx as jsx10222, jsxs as jsxs7222 } from "react/jsx-runtime";
|
|
5870
|
+
import { ChevronLeft as ChevronLeft2222, Download as Download322, Menu as Menu2222, Settings as Settings2322 } from "lucide-react";
|
|
5229
5871
|
import { useState as useState7222 } from "react";
|
|
5230
|
-
import { Fragment as Fragment3222, jsx as jsx11222, jsxs as
|
|
5231
|
-
import { useEffect as useEffect6222, useState as useState8222 } from "react";
|
|
5872
|
+
import { Fragment as Fragment3222, jsx as jsx11222, jsxs as jsxs8222 } from "react/jsx-runtime";
|
|
5873
|
+
import React7222, { useEffect as useEffect6222, useState as useState8222, useRef as useRef322 } from "react";
|
|
5232
5874
|
import { useLocation as useLocation2222, useNavigate as useNavigate2222, useSearchParams as useSearchParams2222, Link as Link2222 } from "react-router-dom";
|
|
5233
|
-
import { ArrowDownAZ as ArrowDownAZ222, ArrowDownUp as ArrowDownUp222, ArrowUpAZ as ArrowUpAZ222, Download as Download2222, Filter as Filter222, MoreVertical as MoreVertical222, Printer as Printer222, Search as Search2222 } from "lucide-react";
|
|
5234
|
-
import { Fragment as Fragment4222, jsx as jsx12222, jsxs as
|
|
5875
|
+
import { ArrowDownAZ as ArrowDownAZ222, ArrowDownUp as ArrowDownUp222, ArrowUpAZ as ArrowUpAZ222, AlertCircle as AlertCircle3222, CheckCircle2 as CheckCircle22222, ChevronDown as ChevronDown322, Columns3 as Columns3222, Copy as Copy222, Download as Download2222, FileSpreadsheet as FileSpreadsheet222, Filter as Filter222, Maximize2 as Maximize2222, Minimize2 as Minimize2222, MoreVertical as MoreVertical222, Plus as Plus422, Printer as Printer222, RefreshCw as RefreshCw322, Settings2 as Settings22222, Trash2 as Trash2322, Upload as Upload222, X as X5222, Search as Search2222, SquareIcon as SquareIcon222 } from "lucide-react";
|
|
5876
|
+
import { Fragment as Fragment4222, jsx as jsx12222, jsxs as jsxs9222 } from "react/jsx-runtime";
|
|
5235
5877
|
import { useState as useState10222, useEffect as useEffect8222 } from "react";
|
|
5236
|
-
import { useState as useState9222, useRef as
|
|
5237
|
-
import { Search as Search3222, ChevronDown as
|
|
5238
|
-
import { Fragment as Fragment5222, jsx as jsx13222, jsxs as
|
|
5239
|
-
import { X as
|
|
5240
|
-
import { Fragment as Fragment6222, jsx as jsx14222, jsxs as
|
|
5878
|
+
import { useState as useState9222, useRef as useRef2222, useEffect as useEffect7222 } from "react";
|
|
5879
|
+
import { Search as Search3222, ChevronDown as ChevronDown2222, X as X6222, RefreshCw as RefreshCw2222, Plus as Plus2222 } from "lucide-react";
|
|
5880
|
+
import { Fragment as Fragment5222, jsx as jsx13222, jsxs as jsxs10222 } from "react/jsx-runtime";
|
|
5881
|
+
import { X as X7222, Plus as Plus3222, Trash2 as Trash22222, Users as Users222, Loader as Loader2222, RotateCcw as RotateCcw222, Ban as Ban222, Eye as Eye322, FileText as FileText2222, History as History222 } from "lucide-react";
|
|
5882
|
+
import { Fragment as Fragment6222, jsx as jsx14222, jsxs as jsxs11222 } from "react/jsx-runtime";
|
|
5241
5883
|
import { createContext as createContext4222, useContext as useContext4222, useState as useState11222, useCallback as useCallback2222 } from "react";
|
|
5242
|
-
import { jsx as jsx15222, jsxs as
|
|
5243
|
-
import { jsx as jsx16222, jsxs as
|
|
5244
|
-
import { useEffect as
|
|
5884
|
+
import { jsx as jsx15222, jsxs as jsxs12222 } from "react/jsx-runtime";
|
|
5885
|
+
import { jsx as jsx16222, jsxs as jsxs13222 } from "react/jsx-runtime";
|
|
5886
|
+
import { useEffect as useEffect16, useState as useState25 } from "react";
|
|
5245
5887
|
import { jsx as jsx17222 } from "react/jsx-runtime";
|
|
5246
|
-
import { jsx as jsx22222, jsxs as
|
|
5888
|
+
import { jsx as jsx22222, jsxs as jsxs14222 } from "react/jsx-runtime";
|
|
5247
5889
|
import { Link as Link3222 } from "react-router-dom";
|
|
5248
5890
|
import { jsx as jsx32222, jsxs as jsxs22222 } from "react/jsx-runtime";
|
|
5249
5891
|
import React42222, { useState as useState52222, useEffect as useEffect42222 } from "react";
|
|
@@ -5260,7 +5902,7 @@ import {
|
|
|
5260
5902
|
X as X22222,
|
|
5261
5903
|
Palette as Palette2222,
|
|
5262
5904
|
DollarSign as DollarSign2222,
|
|
5263
|
-
HelpCircle as
|
|
5905
|
+
HelpCircle as HelpCircle3222,
|
|
5264
5906
|
Building2 as Building22222
|
|
5265
5907
|
} from "lucide-react";
|
|
5266
5908
|
import { clsx as clsx2222 } from "clsx";
|
|
@@ -5273,14 +5915,14 @@ import { createContext as createContext32222, useContext as useContext32222, use
|
|
|
5273
5915
|
import { jsx as jsx62222 } from "react/jsx-runtime";
|
|
5274
5916
|
import { useState as useState42222, useEffect as useEffect32222 } from "react";
|
|
5275
5917
|
import { jsx as jsx72222, jsxs as jsxs32222 } from "react/jsx-runtime";
|
|
5276
|
-
import { X as
|
|
5918
|
+
import { X as X8222, Loader as Loader3222, Eye as Eye4222, FileText as FileText3222, Check as Check2222, XCircle as XCircle3222, Edit as Edit2222, CheckCircle as CheckCircle3222, Clock as Clock2222, AlertCircle as AlertCircle4222, User as UserIcon2222, Send as Send2222 } from "lucide-react";
|
|
5277
5919
|
import { useParams as useParams2222, useSearchParams as useSearchParams3222 } from "react-router-dom";
|
|
5278
5920
|
import { Fragment as Fragment7222, jsx as jsx82222, jsxs as jsxs42222 } from "react/jsx-runtime";
|
|
5279
5921
|
import { Fragment as Fragment22222, jsx as jsx92222, jsxs as jsxs52222 } from "react/jsx-runtime";
|
|
5280
5922
|
import { useEffect as useEffect52222, useState as useState62222 } from "react";
|
|
5281
|
-
import { CheckCircle as
|
|
5923
|
+
import { CheckCircle as CheckCircle23222, XCircle as XCircle22222, AlertTriangle as AlertTriangle3222, Info as Info3, X as X32222 } from "lucide-react";
|
|
5282
5924
|
import { jsx as jsx102222, jsxs as jsxs62222 } from "react/jsx-runtime";
|
|
5283
|
-
import { ChevronLeft as ChevronLeft22222, Download as Download3222, Menu as Menu22222, Settings as
|
|
5925
|
+
import { ChevronLeft as ChevronLeft22222, Download as Download3222, Menu as Menu22222, Settings as Settings23222 } from "lucide-react";
|
|
5284
5926
|
import { useState as useState72222 } from "react";
|
|
5285
5927
|
import { Fragment as Fragment32222, jsx as jsx112222, jsxs as jsxs72222 } from "react/jsx-runtime";
|
|
5286
5928
|
import { useEffect as useEffect62222, useState as useState82222 } from "react";
|
|
@@ -5288,15 +5930,15 @@ import { useLocation as useLocation22222, useNavigate as useNavigate22222, useSe
|
|
|
5288
5930
|
import { ArrowDownAZ as ArrowDownAZ2222, ArrowDownUp as ArrowDownUp2222, ArrowUpAZ as ArrowUpAZ2222, Download as Download22222, Filter as Filter2222, MoreVertical as MoreVertical2222, Printer as Printer2222, Search as Search22222 } from "lucide-react";
|
|
5289
5931
|
import { Fragment as Fragment42222, jsx as jsx122222, jsxs as jsxs82222 } from "react/jsx-runtime";
|
|
5290
5932
|
import { useState as useState102222, useEffect as useEffect82222 } from "react";
|
|
5291
|
-
import { useState as useState92222, useRef as
|
|
5292
|
-
import { Search as Search32222, ChevronDown as
|
|
5933
|
+
import { useState as useState92222, useRef as useRef3222, useEffect as useEffect72222 } from "react";
|
|
5934
|
+
import { Search as Search32222, ChevronDown as ChevronDown3222, X as X42222, RefreshCw as RefreshCw3222, Plus as Plus4222 } from "lucide-react";
|
|
5293
5935
|
import { Fragment as Fragment52222, jsx as jsx132222, jsxs as jsxs92222 } from "react/jsx-runtime";
|
|
5294
|
-
import { X as X52222, Plus as Plus22222, Trash2 as
|
|
5936
|
+
import { X as X52222, Plus as Plus22222, Trash2 as Trash23222, Users as Users2222, Loader as Loader22222, RotateCcw as RotateCcw2222, Ban as Ban2222, Eye as Eye222, FileText as FileText22222, History as History2222 } from "lucide-react";
|
|
5295
5937
|
import { Fragment as Fragment62222, jsx as jsx142222, jsxs as jsxs102222 } from "react/jsx-runtime";
|
|
5296
5938
|
import { createContext as createContext42222, useContext as useContext42222, useState as useState112222, useCallback as useCallback22222 } from "react";
|
|
5297
5939
|
import { jsx as jsx152222, jsxs as jsxs112222 } from "react/jsx-runtime";
|
|
5298
5940
|
import { jsx as jsx162222, jsxs as jsxs122222 } from "react/jsx-runtime";
|
|
5299
|
-
import { useEffect as
|
|
5941
|
+
import { useEffect as useEffect15, useState as useState23 } from "react";
|
|
5300
5942
|
import { jsx as jsx172222 } from "react/jsx-runtime";
|
|
5301
5943
|
import { jsx as jsx222222, jsxs as jsxs132222 } from "react/jsx-runtime";
|
|
5302
5944
|
import { Link as Link32222 } from "react-router-dom";
|
|
@@ -5328,7 +5970,7 @@ import { createContext as createContext322222, useContext as useContext322222, u
|
|
|
5328
5970
|
import { jsx as jsx622222 } from "react/jsx-runtime";
|
|
5329
5971
|
import { useState as useState422222, useEffect as useEffect322222 } from "react";
|
|
5330
5972
|
import { jsx as jsx722222, jsxs as jsxs322222 } from "react/jsx-runtime";
|
|
5331
|
-
import { X as X62222, Loader as Loader32222, Eye as
|
|
5973
|
+
import { X as X62222, Loader as Loader32222, Eye as Eye3222, FileText as FileText32222, Check as Check22222, XCircle as XCircle32222, Edit as Edit22222, CheckCircle as CheckCircle32222, Clock as Clock22222, AlertCircle as AlertCircle22222, User as UserIcon22222, Send as Send22222 } from "lucide-react";
|
|
5332
5974
|
import { useParams as useParams22222, useSearchParams as useSearchParams32222 } from "react-router-dom";
|
|
5333
5975
|
import { Fragment as Fragment72222, jsx as jsx822222, jsxs as jsxs422222 } from "react/jsx-runtime";
|
|
5334
5976
|
import { Fragment as Fragment222222, jsx as jsx922222, jsxs as jsxs522222 } from "react/jsx-runtime";
|
|
@@ -5346,12 +5988,12 @@ import { useState as useState1022222, useEffect as useEffect822222 } from "react
|
|
|
5346
5988
|
import { useState as useState922222, useRef as useRef22222, useEffect as useEffect722222 } from "react";
|
|
5347
5989
|
import { Search as Search322222, ChevronDown as ChevronDown22222, X as X422222, RefreshCw as RefreshCw22222, Plus as Plus32222 } from "lucide-react";
|
|
5348
5990
|
import { Fragment as Fragment522222, jsx as jsx1322222, jsxs as jsxs922222 } from "react/jsx-runtime";
|
|
5349
|
-
import { X as X522222, Plus as Plus222222, Trash2 as Trash222222, Users as Users22222, Loader as Loader222222, RotateCcw as RotateCcw22222, Ban as Ban22222, Eye as
|
|
5991
|
+
import { X as X522222, Plus as Plus222222, Trash2 as Trash222222, Users as Users22222, Loader as Loader222222, RotateCcw as RotateCcw22222, Ban as Ban22222, Eye as Eye2222, FileText as FileText222222, History as History22222 } from "lucide-react";
|
|
5350
5992
|
import { Fragment as Fragment622222, jsx as jsx1422222, jsxs as jsxs1022222 } from "react/jsx-runtime";
|
|
5351
5993
|
import { createContext as createContext422222, useContext as useContext422222, useState as useState1122222, useCallback as useCallback222222 } from "react";
|
|
5352
5994
|
import { jsx as jsx1522222, jsxs as jsxs1122222 } from "react/jsx-runtime";
|
|
5353
5995
|
import { jsx as jsx1622222, jsxs as jsxs1222222 } from "react/jsx-runtime";
|
|
5354
|
-
import { useEffect as
|
|
5996
|
+
import { useEffect as useEffect14, useState as useState20 } from "react";
|
|
5355
5997
|
import { jsx as jsx1722222 } from "react/jsx-runtime";
|
|
5356
5998
|
import { jsx as jsx2222222, jsxs as jsxs1322222 } from "react/jsx-runtime";
|
|
5357
5999
|
import { Link as Link322222 } from "react-router-dom";
|
|
@@ -5383,7 +6025,7 @@ import { createContext as createContext3222222, useContext as useContext3222222,
|
|
|
5383
6025
|
import { jsx as jsx6222222 } from "react/jsx-runtime";
|
|
5384
6026
|
import { useState as useState4222222, useEffect as useEffect3222222 } from "react";
|
|
5385
6027
|
import { jsx as jsx7222222, jsxs as jsxs3222222 } from "react/jsx-runtime";
|
|
5386
|
-
import { X as X622222, Loader as Loader322222, Eye as
|
|
6028
|
+
import { X as X622222, Loader as Loader322222, Eye as Eye32222, FileText as FileText322222, Check as Check222222, XCircle as XCircle322222, Edit as Edit222222, CheckCircle as CheckCircle322222, Clock as Clock222222, AlertCircle as AlertCircle222222, User as UserIcon222222, Send as Send222222 } from "lucide-react";
|
|
5387
6029
|
import { useParams as useParams222222, useSearchParams as useSearchParams322222 } from "react-router-dom";
|
|
5388
6030
|
import { Fragment as Fragment722222, jsx as jsx8222222, jsxs as jsxs4222222 } from "react/jsx-runtime";
|
|
5389
6031
|
import { Fragment as Fragment2222222, jsx as jsx9222222, jsxs as jsxs5222222 } from "react/jsx-runtime";
|
|
@@ -5401,12 +6043,12 @@ import { useState as useState10222222, useEffect as useEffect8222222 } from "rea
|
|
|
5401
6043
|
import { useState as useState9222222, useRef as useRef222222, useEffect as useEffect7222222 } from "react";
|
|
5402
6044
|
import { Search as Search3222222, ChevronDown as ChevronDown222222, X as X4222222, RefreshCw as RefreshCw222222, Plus as Plus322222 } from "lucide-react";
|
|
5403
6045
|
import { Fragment as Fragment5222222, jsx as jsx13222222, jsxs as jsxs9222222 } from "react/jsx-runtime";
|
|
5404
|
-
import { X as X5222222, Plus as Plus2222222, Trash2 as Trash2222222, Users as Users222222, Loader as Loader2222222, RotateCcw as RotateCcw222222, Ban as Ban222222, Eye as
|
|
6046
|
+
import { X as X5222222, Plus as Plus2222222, Trash2 as Trash2222222, Users as Users222222, Loader as Loader2222222, RotateCcw as RotateCcw222222, Ban as Ban222222, Eye as Eye22222, FileText as FileText2222222, History as History222222 } from "lucide-react";
|
|
5405
6047
|
import { Fragment as Fragment6222222, jsx as jsx14222222, jsxs as jsxs10222222 } from "react/jsx-runtime";
|
|
5406
6048
|
import { createContext as createContext4222222, useContext as useContext4222222, useState as useState11222222, useCallback as useCallback2222222 } from "react";
|
|
5407
6049
|
import { jsx as jsx15222222, jsxs as jsxs11222222 } from "react/jsx-runtime";
|
|
5408
6050
|
import { jsx as jsx16222222, jsxs as jsxs12222222 } from "react/jsx-runtime";
|
|
5409
|
-
import { useEffect as
|
|
6051
|
+
import { useEffect as useEffect13, useState as useState18 } from "react";
|
|
5410
6052
|
import { jsx as jsx17222222 } from "react/jsx-runtime";
|
|
5411
6053
|
import { jsx as jsx22222222, jsxs as jsxs13222222 } from "react/jsx-runtime";
|
|
5412
6054
|
import { Link as Link3222222 } from "react-router-dom";
|
|
@@ -5438,7 +6080,7 @@ import { createContext as createContext32222222, useContext as useContext3222222
|
|
|
5438
6080
|
import { jsx as jsx62222222 } from "react/jsx-runtime";
|
|
5439
6081
|
import { useState as useState42222222, useEffect as useEffect32222222 } from "react";
|
|
5440
6082
|
import { jsx as jsx72222222, jsxs as jsxs32222222 } from "react/jsx-runtime";
|
|
5441
|
-
import { X as X6222222, Loader as Loader3222222, Eye as
|
|
6083
|
+
import { X as X6222222, Loader as Loader3222222, Eye as Eye322222, FileText as FileText3222222, Check as Check2222222, XCircle as XCircle3222222, Edit as Edit2222222, CheckCircle as CheckCircle3222222, Clock as Clock2222222, AlertCircle as AlertCircle2222222, User as UserIcon2222222, Send as Send2222222 } from "lucide-react";
|
|
5442
6084
|
import { useParams as useParams2222222, useSearchParams as useSearchParams3222222 } from "react-router-dom";
|
|
5443
6085
|
import { Fragment as Fragment7222222, jsx as jsx82222222, jsxs as jsxs42222222 } from "react/jsx-runtime";
|
|
5444
6086
|
import { Fragment as Fragment22222222, jsx as jsx92222222, jsxs as jsxs52222222 } from "react/jsx-runtime";
|
|
@@ -5454,15 +6096,125 @@ import { ArrowDownAZ as ArrowDownAZ2222222, ArrowDownUp as ArrowDownUp2222222, A
|
|
|
5454
6096
|
import { Fragment as Fragment42222222, jsx as jsx122222222, jsxs as jsxs82222222 } from "react/jsx-runtime";
|
|
5455
6097
|
import { useState as useState102222222, useEffect as useEffect82222222 } from "react";
|
|
5456
6098
|
import { useState as useState92222222, useRef as useRef2222222, useEffect as useEffect72222222 } from "react";
|
|
5457
|
-
import { Search as Search32222222, ChevronDown as ChevronDown2222222, X as X42222222 } from "lucide-react";
|
|
6099
|
+
import { Search as Search32222222, ChevronDown as ChevronDown2222222, X as X42222222, RefreshCw as RefreshCw2222222, Plus as Plus3222222 } from "lucide-react";
|
|
5458
6100
|
import { Fragment as Fragment52222222, jsx as jsx132222222, jsxs as jsxs92222222 } from "react/jsx-runtime";
|
|
5459
|
-
import { X as X52222222, Plus as
|
|
6101
|
+
import { X as X52222222, Plus as Plus22222222, Trash2 as Trash22222222, Users as Users2222222, Loader as Loader22222222, RotateCcw as RotateCcw2222222, Ban as Ban2222222, Eye as Eye222222, FileText as FileText22222222, History as History2222222 } from "lucide-react";
|
|
5460
6102
|
import { Fragment as Fragment62222222, jsx as jsx142222222, jsxs as jsxs102222222 } from "react/jsx-runtime";
|
|
5461
6103
|
import { createContext as createContext42222222, useContext as useContext42222222, useState as useState112222222, useCallback as useCallback22222222 } from "react";
|
|
5462
6104
|
import { jsx as jsx152222222, jsxs as jsxs112222222 } from "react/jsx-runtime";
|
|
5463
6105
|
import { jsx as jsx162222222, jsxs as jsxs122222222 } from "react/jsx-runtime";
|
|
6106
|
+
import { useEffect as useEffect12, useState as useState16 } from "react";
|
|
6107
|
+
import { jsx as jsx172222222 } from "react/jsx-runtime";
|
|
6108
|
+
import { jsx as jsx222222222, jsxs as jsxs132222222 } from "react/jsx-runtime";
|
|
6109
|
+
import { Link as Link32222222 } from "react-router-dom";
|
|
6110
|
+
import { jsx as jsx322222222, jsxs as jsxs222222222 } from "react/jsx-runtime";
|
|
6111
|
+
import React422222222, { useState as useState522222222, useEffect as useEffect422222222 } from "react";
|
|
6112
|
+
import { useLocation as useLocation32222222, useNavigate as useNavigate32222222 } from "react-router-dom";
|
|
6113
|
+
import {
|
|
6114
|
+
Settings as Settings32222222,
|
|
6115
|
+
ChevronLeft as ChevronLeft32222222,
|
|
6116
|
+
ChevronRight as ChevronRight22222222,
|
|
6117
|
+
Search as Search42222222,
|
|
6118
|
+
Bell as Bell22222222,
|
|
6119
|
+
User as User22222222,
|
|
6120
|
+
LogOut as LogOut22222222,
|
|
6121
|
+
Menu as Menu32222222,
|
|
6122
|
+
X as X222222222,
|
|
6123
|
+
Palette as Palette22222222,
|
|
6124
|
+
DollarSign as DollarSign22222222,
|
|
6125
|
+
HelpCircle as HelpCircle22222222,
|
|
6126
|
+
Building2 as Building222222222
|
|
6127
|
+
} from "lucide-react";
|
|
6128
|
+
import { clsx as clsx22222222 } from "clsx";
|
|
6129
|
+
import { twMerge as twMerge22222222 } from "tailwind-merge";
|
|
6130
|
+
import { createContext as createContext52222222, useContext as useContext52222222, useState as useState122222222, useEffect as useEffect92222222 } from "react";
|
|
6131
|
+
import { jsx as jsx422222222 } from "react/jsx-runtime";
|
|
6132
|
+
import { createContext as createContext222222222, useContext as useContext222222222, useEffect as useEffect222222222, useState as useState222222222 } from "react";
|
|
6133
|
+
import { jsx as jsx522222222 } from "react/jsx-runtime";
|
|
6134
|
+
import { createContext as createContext322222222, useContext as useContext322222222, useState as useState322222222, useCallback as useCallback32222222 } from "react";
|
|
6135
|
+
import { jsx as jsx622222222 } from "react/jsx-runtime";
|
|
6136
|
+
import { useState as useState422222222, useEffect as useEffect322222222 } from "react";
|
|
6137
|
+
import { jsx as jsx722222222, jsxs as jsxs322222222 } from "react/jsx-runtime";
|
|
6138
|
+
import { X as X62222222, Loader as Loader32222222, Eye as Eye3222222, FileText as FileText32222222, Check as Check22222222, XCircle as XCircle32222222, Edit as Edit22222222, CheckCircle as CheckCircle32222222, Clock as Clock22222222, AlertCircle as AlertCircle22222222, User as UserIcon22222222, Send as Send22222222 } from "lucide-react";
|
|
6139
|
+
import { useParams as useParams22222222, useSearchParams as useSearchParams32222222 } from "react-router-dom";
|
|
6140
|
+
import { Fragment as Fragment72222222, jsx as jsx822222222, jsxs as jsxs422222222 } from "react/jsx-runtime";
|
|
6141
|
+
import { Fragment as Fragment222222222, jsx as jsx922222222, jsxs as jsxs522222222 } from "react/jsx-runtime";
|
|
6142
|
+
import { useEffect as useEffect522222222, useState as useState622222222 } from "react";
|
|
6143
|
+
import { CheckCircle as CheckCircle222222222, XCircle as XCircle222222222, AlertTriangle as AlertTriangle22222222, Info as Info22222222, X as X322222222 } from "lucide-react";
|
|
6144
|
+
import { jsx as jsx1022222222, jsxs as jsxs622222222 } from "react/jsx-runtime";
|
|
6145
|
+
import { ChevronLeft as ChevronLeft222222222, Download as Download32222222, Menu as Menu222222222, Settings as Settings222222222 } from "lucide-react";
|
|
6146
|
+
import { useState as useState722222222 } from "react";
|
|
6147
|
+
import { Fragment as Fragment322222222, jsx as jsx1122222222, jsxs as jsxs722222222 } from "react/jsx-runtime";
|
|
6148
|
+
import { useEffect as useEffect622222222, useState as useState822222222 } from "react";
|
|
6149
|
+
import { useLocation as useLocation222222222, useNavigate as useNavigate222222222, useSearchParams as useSearchParams222222222, Link as Link222222222 } from "react-router-dom";
|
|
6150
|
+
import { ArrowDownAZ as ArrowDownAZ22222222, ArrowDownUp as ArrowDownUp22222222, ArrowUpAZ as ArrowUpAZ22222222, Download as Download222222222, Filter as Filter22222222, MoreVertical as MoreVertical22222222, Printer as Printer22222222, Search as Search222222222 } from "lucide-react";
|
|
6151
|
+
import { Fragment as Fragment422222222, jsx as jsx1222222222, jsxs as jsxs822222222 } from "react/jsx-runtime";
|
|
6152
|
+
import { useState as useState1022222222, useEffect as useEffect822222222 } from "react";
|
|
6153
|
+
import { useState as useState922222222, useRef as useRef22222222, useEffect as useEffect722222222 } from "react";
|
|
6154
|
+
import { Search as Search322222222, ChevronDown as ChevronDown22222222, X as X422222222, RefreshCw as RefreshCw22222222, Plus as Plus32222222 } from "lucide-react";
|
|
6155
|
+
import { Fragment as Fragment522222222, jsx as jsx1322222222, jsxs as jsxs922222222 } from "react/jsx-runtime";
|
|
6156
|
+
import { X as X522222222, Plus as Plus222222222, Trash2 as Trash222222222, Users as Users22222222, Loader as Loader222222222, RotateCcw as RotateCcw22222222, Ban as Ban22222222, Eye as Eye2222222, FileText as FileText222222222, History as History22222222 } from "lucide-react";
|
|
6157
|
+
import { Fragment as Fragment622222222, jsx as jsx1422222222, jsxs as jsxs1022222222 } from "react/jsx-runtime";
|
|
6158
|
+
import { createContext as createContext422222222, useContext as useContext422222222, useState as useState1122222222, useCallback as useCallback222222222 } from "react";
|
|
6159
|
+
import { jsx as jsx1522222222, jsxs as jsxs1122222222 } from "react/jsx-runtime";
|
|
6160
|
+
import { jsx as jsx1622222222, jsxs as jsxs1222222222 } from "react/jsx-runtime";
|
|
6161
|
+
import { useEffect as useEffect11, useState as useState14 } from "react";
|
|
6162
|
+
import { jsx as jsx1722222222 } from "react/jsx-runtime";
|
|
6163
|
+
import { jsx as jsx2222222222, jsxs as jsxs1322222222 } from "react/jsx-runtime";
|
|
6164
|
+
import { Link as Link322222222 } from "react-router-dom";
|
|
6165
|
+
import { jsx as jsx3222222222, jsxs as jsxs2222222222 } from "react/jsx-runtime";
|
|
6166
|
+
import React4222222222, { useState as useState5222222222, useEffect as useEffect4222222222 } from "react";
|
|
6167
|
+
import { useLocation as useLocation322222222, useNavigate as useNavigate322222222 } from "react-router-dom";
|
|
6168
|
+
import {
|
|
6169
|
+
Settings as Settings322222222,
|
|
6170
|
+
ChevronLeft as ChevronLeft322222222,
|
|
6171
|
+
ChevronRight as ChevronRight222222222,
|
|
6172
|
+
Search as Search422222222,
|
|
6173
|
+
Bell as Bell222222222,
|
|
6174
|
+
User as User222222222,
|
|
6175
|
+
LogOut as LogOut222222222,
|
|
6176
|
+
Menu as Menu322222222,
|
|
6177
|
+
X as X2222222222,
|
|
6178
|
+
Palette as Palette222222222,
|
|
6179
|
+
DollarSign as DollarSign222222222,
|
|
6180
|
+
HelpCircle as HelpCircle222222222,
|
|
6181
|
+
Building2 as Building2222222222
|
|
6182
|
+
} from "lucide-react";
|
|
6183
|
+
import { clsx as clsx222222222 } from "clsx";
|
|
6184
|
+
import { twMerge as twMerge222222222 } from "tailwind-merge";
|
|
6185
|
+
import { createContext as createContext522222222, useContext as useContext522222222, useState as useState1222222222, useEffect as useEffect922222222 } from "react";
|
|
6186
|
+
import { jsx as jsx4222222222 } from "react/jsx-runtime";
|
|
6187
|
+
import { createContext as createContext2222222222, useContext as useContext2222222222, useEffect as useEffect2222222222, useState as useState2222222222 } from "react";
|
|
6188
|
+
import { jsx as jsx5222222222 } from "react/jsx-runtime";
|
|
6189
|
+
import { createContext as createContext3222222222, useContext as useContext3222222222, useState as useState3222222222, useCallback as useCallback322222222 } from "react";
|
|
6190
|
+
import { jsx as jsx6222222222 } from "react/jsx-runtime";
|
|
6191
|
+
import { useState as useState4222222222, useEffect as useEffect3222222222 } from "react";
|
|
6192
|
+
import { jsx as jsx7222222222, jsxs as jsxs3222222222 } from "react/jsx-runtime";
|
|
6193
|
+
import { X as X622222222, Loader as Loader322222222, Eye as Eye32222222, FileText as FileText322222222, Check as Check222222222, XCircle as XCircle322222222, Edit as Edit222222222, CheckCircle as CheckCircle322222222, Clock as Clock222222222, AlertCircle as AlertCircle222222222, User as UserIcon222222222, Send as Send222222222 } from "lucide-react";
|
|
6194
|
+
import { useParams as useParams222222222, useSearchParams as useSearchParams322222222 } from "react-router-dom";
|
|
6195
|
+
import { Fragment as Fragment722222222, jsx as jsx8222222222, jsxs as jsxs4222222222 } from "react/jsx-runtime";
|
|
6196
|
+
import { Fragment as Fragment2222222222, jsx as jsx9222222222, jsxs as jsxs5222222222 } from "react/jsx-runtime";
|
|
6197
|
+
import { useEffect as useEffect5222222222, useState as useState6222222222 } from "react";
|
|
6198
|
+
import { CheckCircle as CheckCircle2222222222, XCircle as XCircle2222222222, AlertTriangle as AlertTriangle222222222, Info as Info222222222, X as X3222222222 } from "lucide-react";
|
|
6199
|
+
import { jsx as jsx10222222222, jsxs as jsxs6222222222 } from "react/jsx-runtime";
|
|
6200
|
+
import { ChevronLeft as ChevronLeft2222222222, Download as Download322222222, Menu as Menu2222222222, Settings as Settings2222222222 } from "lucide-react";
|
|
6201
|
+
import { useState as useState7222222222 } from "react";
|
|
6202
|
+
import { Fragment as Fragment3222222222, jsx as jsx11222222222, jsxs as jsxs7222222222 } from "react/jsx-runtime";
|
|
6203
|
+
import { useEffect as useEffect6222222222, useState as useState8222222222 } from "react";
|
|
6204
|
+
import { useLocation as useLocation2222222222, useNavigate as useNavigate2222222222, useSearchParams as useSearchParams2222222222, Link as Link2222222222 } from "react-router-dom";
|
|
6205
|
+
import { ArrowDownAZ as ArrowDownAZ222222222, ArrowDownUp as ArrowDownUp222222222, ArrowUpAZ as ArrowUpAZ222222222, Download as Download2222222222, Filter as Filter222222222, MoreVertical as MoreVertical222222222, Printer as Printer222222222, Search as Search2222222222 } from "lucide-react";
|
|
6206
|
+
import { Fragment as Fragment4222222222, jsx as jsx12222222222, jsxs as jsxs8222222222 } from "react/jsx-runtime";
|
|
6207
|
+
import { useState as useState10222222222, useEffect as useEffect8222222222 } from "react";
|
|
6208
|
+
import { useState as useState9222222222, useRef as useRef222222222, useEffect as useEffect7222222222 } from "react";
|
|
6209
|
+
import { Search as Search3222222222, ChevronDown as ChevronDown222222222, X as X4222222222 } from "lucide-react";
|
|
6210
|
+
import { Fragment as Fragment5222222222, jsx as jsx13222222222, jsxs as jsxs9222222222 } from "react/jsx-runtime";
|
|
6211
|
+
import { X as X5222222222, Plus as Plus322222222, Trash2 as Trash2222222222, Users as Users222222222, Loader as Loader2222222222, RotateCcw as RotateCcw222222222, Ban as Ban222222222, Eye as Eye22222222, FileText as FileText2222222222, History as History222222222 } from "lucide-react";
|
|
6212
|
+
import { Fragment as Fragment6222222222, jsx as jsx14222222222, jsxs as jsxs10222222222 } from "react/jsx-runtime";
|
|
6213
|
+
import { createContext as createContext4222222222, useContext as useContext4222222222, useState as useState11222222222, useCallback as useCallback2222222222 } from "react";
|
|
6214
|
+
import { jsx as jsx15222222222, jsxs as jsxs11222222222 } from "react/jsx-runtime";
|
|
6215
|
+
import { jsx as jsx16222222222, jsxs as jsxs12222222222 } from "react/jsx-runtime";
|
|
5464
6216
|
import { useState as useState13 } from "react";
|
|
5465
|
-
import { jsx as jsx18, jsxs as
|
|
6217
|
+
import { jsx as jsx18, jsxs as jsxs142222 } from "react/jsx-runtime";
|
|
5466
6218
|
import { jsx as jsx19, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
5467
6219
|
import { useState as useState15 } from "react";
|
|
5468
6220
|
import { jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
@@ -5484,6 +6236,14 @@ import { useState as useState24 } from "react";
|
|
|
5484
6236
|
import { jsx as jsx34, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
5485
6237
|
import { jsx as jsx35, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
5486
6238
|
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
6239
|
+
import { useState as useState26 } from "react";
|
|
6240
|
+
import { jsx as jsx37, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
6241
|
+
import { jsx as jsx38, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
6242
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
6243
|
+
import { useState as useState28 } from "react";
|
|
6244
|
+
import { jsx as jsx40, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
6245
|
+
import { jsx as jsx41, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
6246
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
5487
6247
|
var PrimaryButton2 = ({
|
|
5488
6248
|
loading = false,
|
|
5489
6249
|
children,
|
|
@@ -5584,26 +6344,26 @@ var ADDRESS_IP22 = chooseEnv22 === "prod" ? "back.rewise.praeduim-tech.com" : "l
|
|
|
5584
6344
|
var ADDRESS_IP_URL22 = chooseEnv22 === "prod" ? `https://${ADDRESS_IP22}/` : `http://${ADDRESS_IP22}/`;
|
|
5585
6345
|
var API_URL22 = `${ADDRESS_IP_URL22}api`;
|
|
5586
6346
|
var API_BASE_URL32 = `${API_URL22}/core/auth/`;
|
|
6347
|
+
var VENDORS_API_URL22 = `${API_URL22}/accounting/vendors/`;
|
|
5587
6348
|
var SessionContext22 = createContext222(void 0);
|
|
5588
6349
|
var API_BASE_URL222 = `${API_URL22}/core/auth/`;
|
|
5589
6350
|
var USERS_API_URL22 = `${API_URL22}/core/users/`;
|
|
5590
6351
|
var ToastContext22 = createContext322(void 0);
|
|
5591
6352
|
var APPROVAL_API_URL22 = `${API_URL22}/approvals/cases/`;
|
|
5592
6353
|
var AlertContext22 = createContext422(void 0);
|
|
5593
|
-
var VENDORS_API_URL22 = `${API_URL22}/accounting/vendors/`;
|
|
5594
6354
|
var ThemeContext222 = createContext522(void 0);
|
|
5595
6355
|
var chooseEnv222 = localStorage.getItem("env") ?? "prod";
|
|
5596
6356
|
var ADDRESS_IP222 = chooseEnv222 === "prod" ? "back.rewise.praeduim-tech.com" : "localhost:8000";
|
|
5597
6357
|
var ADDRESS_IP_URL222 = chooseEnv222 === "prod" ? `https://${ADDRESS_IP222}/` : `http://${ADDRESS_IP222}/`;
|
|
5598
6358
|
var API_URL222 = `${ADDRESS_IP_URL222}api`;
|
|
5599
6359
|
var API_BASE_URL322 = `${API_URL222}/core/auth/`;
|
|
6360
|
+
var VENDORS_API_URL222 = `${API_URL222}/accounting/vendors/`;
|
|
5600
6361
|
var SessionContext222 = createContext2222(void 0);
|
|
5601
6362
|
var API_BASE_URL2222 = `${API_URL222}/core/auth/`;
|
|
5602
6363
|
var USERS_API_URL222 = `${API_URL222}/core/users/`;
|
|
5603
6364
|
var ToastContext222 = createContext3222(void 0);
|
|
5604
6365
|
var APPROVAL_API_URL222 = `${API_URL222}/approvals/cases/`;
|
|
5605
6366
|
var AlertContext222 = createContext4222(void 0);
|
|
5606
|
-
var VENDORS_API_URL222 = `${API_URL222}/accounting/vendors/`;
|
|
5607
6367
|
var ThemeContext2222 = createContext5222(void 0);
|
|
5608
6368
|
var chooseEnv2222 = localStorage.getItem("env") ?? "prod";
|
|
5609
6369
|
var ADDRESS_IP2222 = chooseEnv2222 === "prod" ? "back.rewise.praeduim-tech.com" : "localhost:8000";
|
|
@@ -5618,8 +6378,9 @@ var APPROVAL_API_URL2222 = `${API_URL2222}/approvals/cases/`;
|
|
|
5618
6378
|
var AlertContext2222 = createContext42222(void 0);
|
|
5619
6379
|
var VENDORS_API_URL2222 = `${API_URL2222}/accounting/vendors/`;
|
|
5620
6380
|
var ThemeContext22222 = createContext52222(void 0);
|
|
5621
|
-
var
|
|
5622
|
-
var
|
|
6381
|
+
var chooseEnv22222 = localStorage.getItem("env") ?? "prod";
|
|
6382
|
+
var ADDRESS_IP22222 = chooseEnv22222 === "prod" ? "back.rewise.praeduim-tech.com" : "localhost:8000";
|
|
6383
|
+
var ADDRESS_IP_URL22222 = chooseEnv22222 === "prod" ? `https://${ADDRESS_IP22222}/` : `http://${ADDRESS_IP22222}/`;
|
|
5623
6384
|
var API_URL22222 = `${ADDRESS_IP_URL22222}api`;
|
|
5624
6385
|
var API_BASE_URL32222 = `${API_URL22222}/core/auth/`;
|
|
5625
6386
|
var SessionContext22222 = createContext222222(void 0);
|
|
@@ -5630,8 +6391,9 @@ var APPROVAL_API_URL22222 = `${API_URL22222}/approvals/cases/`;
|
|
|
5630
6391
|
var AlertContext22222 = createContext422222(void 0);
|
|
5631
6392
|
var VENDORS_API_URL22222 = `${API_URL22222}/accounting/vendors/`;
|
|
5632
6393
|
var ThemeContext222222 = createContext522222(void 0);
|
|
5633
|
-
var
|
|
5634
|
-
var
|
|
6394
|
+
var chooseEnv222222 = localStorage.getItem("env") ?? "prod";
|
|
6395
|
+
var ADDRESS_IP222222 = chooseEnv222222 === "prod" ? "back.rewise.praeduim-tech.com" : "localhost:8000";
|
|
6396
|
+
var ADDRESS_IP_URL222222 = chooseEnv222222 === "prod" ? `https://${ADDRESS_IP222222}/` : `http://${ADDRESS_IP222222}/`;
|
|
5635
6397
|
var API_URL222222 = `${ADDRESS_IP_URL222222}api`;
|
|
5636
6398
|
var API_BASE_URL322222 = `${API_URL222222}/core/auth/`;
|
|
5637
6399
|
var SessionContext222222 = createContext2222222(void 0);
|
|
@@ -5652,34 +6414,66 @@ var USERS_API_URL2222222 = `${API_URL2222222}/core/users/`;
|
|
|
5652
6414
|
var ToastContext2222222 = createContext32222222(void 0);
|
|
5653
6415
|
var APPROVAL_API_URL2222222 = `${API_URL2222222}/approvals/cases/`;
|
|
5654
6416
|
var AlertContext2222222 = createContext42222222(void 0);
|
|
5655
|
-
var
|
|
5656
|
-
var
|
|
5657
|
-
var
|
|
5658
|
-
var
|
|
5659
|
-
var
|
|
5660
|
-
var
|
|
5661
|
-
var
|
|
5662
|
-
var
|
|
5663
|
-
var
|
|
5664
|
-
var
|
|
5665
|
-
var
|
|
5666
|
-
var
|
|
5667
|
-
var
|
|
5668
|
-
var
|
|
5669
|
-
var
|
|
5670
|
-
var
|
|
5671
|
-
var
|
|
5672
|
-
var
|
|
5673
|
-
var
|
|
5674
|
-
var
|
|
5675
|
-
var
|
|
5676
|
-
var
|
|
5677
|
-
var
|
|
5678
|
-
var
|
|
6417
|
+
var VENDORS_API_URL2222222 = `${API_URL2222222}/accounting/vendors/`;
|
|
6418
|
+
var ThemeContext22222222 = createContext52222222(void 0);
|
|
6419
|
+
var ADDRESS_IP22222222 = "localhost:8000";
|
|
6420
|
+
var ADDRESS_IP_URL22222222 = `http://${ADDRESS_IP22222222}/`;
|
|
6421
|
+
var API_URL22222222 = `${ADDRESS_IP_URL22222222}api`;
|
|
6422
|
+
var API_BASE_URL32222222 = `${API_URL22222222}/core/auth/`;
|
|
6423
|
+
var SessionContext22222222 = createContext222222222(void 0);
|
|
6424
|
+
var API_BASE_URL222222222 = `${API_URL22222222}/core/auth/`;
|
|
6425
|
+
var USERS_API_URL22222222 = `${API_URL22222222}/core/users/`;
|
|
6426
|
+
var ToastContext22222222 = createContext322222222(void 0);
|
|
6427
|
+
var APPROVAL_API_URL22222222 = `${API_URL22222222}/approvals/cases/`;
|
|
6428
|
+
var AlertContext22222222 = createContext422222222(void 0);
|
|
6429
|
+
var VENDORS_API_URL22222222 = `${API_URL22222222}/accounting/vendors/`;
|
|
6430
|
+
var ThemeContext222222222 = createContext522222222(void 0);
|
|
6431
|
+
var ADDRESS_IP222222222 = "localhost:8000";
|
|
6432
|
+
var ADDRESS_IP_URL222222222 = `http://${ADDRESS_IP222222222}/`;
|
|
6433
|
+
var API_URL222222222 = `${ADDRESS_IP_URL222222222}api`;
|
|
6434
|
+
var API_BASE_URL322222222 = `${API_URL222222222}/core/auth/`;
|
|
6435
|
+
var SessionContext222222222 = createContext2222222222(void 0);
|
|
6436
|
+
var API_BASE_URL2222222222 = `${API_URL222222222}/core/auth/`;
|
|
6437
|
+
var USERS_API_URL222222222 = `${API_URL222222222}/core/users/`;
|
|
6438
|
+
var ToastContext222222222 = createContext3222222222(void 0);
|
|
6439
|
+
var APPROVAL_API_URL222222222 = `${API_URL222222222}/approvals/cases/`;
|
|
6440
|
+
var AlertContext222222222 = createContext4222222222(void 0);
|
|
6441
|
+
var URI = `${API_URL22222222}/core/departments/`;
|
|
6442
|
+
var URI2 = `${API_URL22222222}/accounting/profit-or-cost-center/`;
|
|
6443
|
+
var COST_URI = `${API_URL22222222}/accounting/cost-center/`;
|
|
6444
|
+
var PROFIT_URI = `${API_URL22222222}/accounting/profit-center/`;
|
|
6445
|
+
var URI3 = `${API_URL2222222}/core/departments/`;
|
|
6446
|
+
var URI4 = `${API_URL2222222}/accounting/profit-or-cost-center/`;
|
|
6447
|
+
var COST_URI2 = `${API_URL2222222}/accounting/cost-center/`;
|
|
6448
|
+
var PROFIT_URI2 = `${API_URL2222222}/accounting/profit-center/`;
|
|
6449
|
+
var URI5 = `${API_URL222222}/core/departments/`;
|
|
6450
|
+
var URI6 = `${API_URL222222}/accounting/profit-or-cost-center/`;
|
|
6451
|
+
var COST_URI3 = `${API_URL222222}/accounting/cost-center/`;
|
|
6452
|
+
var PROFIT_URI3 = `${API_URL222222}/accounting/profit-center/`;
|
|
6453
|
+
var URI7 = `${API_URL22222}/core/departments/`;
|
|
6454
|
+
var URI8 = `${API_URL22222}/accounting/profit-or-cost-center/`;
|
|
6455
|
+
var COST_URI4 = `${API_URL22222}/accounting/cost-center/`;
|
|
6456
|
+
var PROFIT_URI4 = `${API_URL22222}/accounting/profit-center/`;
|
|
6457
|
+
var URI9 = `${API_URL2222}/core/departments/`;
|
|
6458
|
+
var URI10 = `${API_URL2222}/accounting/profit-or-cost-center/`;
|
|
6459
|
+
var COST_URI5 = `${API_URL2222}/accounting/cost-center/`;
|
|
6460
|
+
var PROFIT_URI5 = `${API_URL2222}/accounting/profit-center/`;
|
|
6461
|
+
var URI11 = `${API_URL222}/core/departments/`;
|
|
6462
|
+
var URI12 = `${API_URL222}/accounting/profit-or-cost-center/`;
|
|
6463
|
+
var COST_URI6 = `${API_URL222}/accounting/cost-center/`;
|
|
6464
|
+
var PROFIT_URI6 = `${API_URL222}/accounting/profit-center/`;
|
|
6465
|
+
var URI13 = `${API_URL22}/core/departments/`;
|
|
6466
|
+
var URI14 = `${API_URL22}/accounting/profit-or-cost-center/`;
|
|
6467
|
+
var COST_URI7 = `${API_URL22}/accounting/cost-center/`;
|
|
6468
|
+
var PROFIT_URI7 = `${API_URL22}/accounting/profit-center/`;
|
|
6469
|
+
var URI15 = `${API_URL2}/core/departments/`;
|
|
6470
|
+
var URI16 = `${API_URL2}/accounting/profit-or-cost-center/`;
|
|
6471
|
+
var COST_URI8 = `${API_URL2}/accounting/cost-center/`;
|
|
6472
|
+
var PROFIT_URI8 = `${API_URL2}/accounting/profit-center/`;
|
|
5679
6473
|
|
|
5680
6474
|
// src/components/common/FormVendor.tsx
|
|
5681
|
-
import { useState as
|
|
5682
|
-
import { jsx as
|
|
6475
|
+
import { useState as useState30 } from "react";
|
|
6476
|
+
import { jsx as jsx44, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
5683
6477
|
var MinimalVendorForm = ({
|
|
5684
6478
|
isOpen,
|
|
5685
6479
|
onClose,
|
|
@@ -5688,13 +6482,13 @@ var MinimalVendorForm = ({
|
|
|
5688
6482
|
refresh = () => {
|
|
5689
6483
|
}
|
|
5690
6484
|
}) => {
|
|
5691
|
-
const [formData, setFormData] =
|
|
6485
|
+
const [formData, setFormData] = useState30(object || {
|
|
5692
6486
|
from_module: from ?? null,
|
|
5693
6487
|
legal_name: "",
|
|
5694
6488
|
trading_name: ""
|
|
5695
6489
|
});
|
|
5696
|
-
const [errors, setErrors] =
|
|
5697
|
-
const [loading, setLoading] =
|
|
6490
|
+
const [errors, setErrors] = useState30({});
|
|
6491
|
+
const [loading, setLoading] = useState30(false);
|
|
5698
6492
|
const { token } = useSession();
|
|
5699
6493
|
const { success, error: showError } = useToast();
|
|
5700
6494
|
const handleInputChange = (e) => {
|
|
@@ -5753,7 +6547,7 @@ var MinimalVendorForm = ({
|
|
|
5753
6547
|
}
|
|
5754
6548
|
};
|
|
5755
6549
|
if (!isOpen) return null;
|
|
5756
|
-
return /* @__PURE__ */
|
|
6550
|
+
return /* @__PURE__ */ jsx44(
|
|
5757
6551
|
Modals_default2,
|
|
5758
6552
|
{
|
|
5759
6553
|
title: "Ajouter un fournisseur",
|
|
@@ -5761,9 +6555,9 @@ var MinimalVendorForm = ({
|
|
|
5761
6555
|
description: ``,
|
|
5762
6556
|
open: isOpen,
|
|
5763
6557
|
onClose,
|
|
5764
|
-
children: /* @__PURE__ */
|
|
5765
|
-
/* @__PURE__ */
|
|
5766
|
-
/* @__PURE__ */
|
|
6558
|
+
children: /* @__PURE__ */ jsxs31("form", { onSubmit: handleSubmit, className: "p-", children: [
|
|
6559
|
+
/* @__PURE__ */ jsx44("div", { className: "space-y-4", children: /* @__PURE__ */ jsxs31("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [
|
|
6560
|
+
/* @__PURE__ */ jsx44(
|
|
5767
6561
|
TextInput2,
|
|
5768
6562
|
{
|
|
5769
6563
|
label: "Raison sociale",
|
|
@@ -5775,7 +6569,7 @@ var MinimalVendorForm = ({
|
|
|
5775
6569
|
onChange: handleInputChange
|
|
5776
6570
|
}
|
|
5777
6571
|
),
|
|
5778
|
-
/* @__PURE__ */
|
|
6572
|
+
/* @__PURE__ */ jsx44(
|
|
5779
6573
|
TextInput2,
|
|
5780
6574
|
{
|
|
5781
6575
|
label: "Nom commercial",
|
|
@@ -5786,8 +6580,8 @@ var MinimalVendorForm = ({
|
|
|
5786
6580
|
}
|
|
5787
6581
|
)
|
|
5788
6582
|
] }) }),
|
|
5789
|
-
/* @__PURE__ */
|
|
5790
|
-
/* @__PURE__ */
|
|
6583
|
+
/* @__PURE__ */ jsxs31("div", { className: "flex justify-between pt-6 mt-8", children: [
|
|
6584
|
+
/* @__PURE__ */ jsx44(
|
|
5791
6585
|
"button",
|
|
5792
6586
|
{
|
|
5793
6587
|
type: "button",
|
|
@@ -5796,7 +6590,7 @@ var MinimalVendorForm = ({
|
|
|
5796
6590
|
children: "Annuler"
|
|
5797
6591
|
}
|
|
5798
6592
|
),
|
|
5799
|
-
/* @__PURE__ */
|
|
6593
|
+
/* @__PURE__ */ jsx44(
|
|
5800
6594
|
Buttons_default2,
|
|
5801
6595
|
{
|
|
5802
6596
|
type: "button",
|
|
@@ -5812,43 +6606,43 @@ var MinimalVendorForm = ({
|
|
|
5812
6606
|
};
|
|
5813
6607
|
|
|
5814
6608
|
// src/services/DepartmentServices.ts
|
|
5815
|
-
var
|
|
6609
|
+
var URI17 = `${API_URL}/core/departments/`;
|
|
5816
6610
|
var DepartmentServices = {
|
|
5817
|
-
create: (data) => FetchApi.post(`${
|
|
5818
|
-
get: (id) => FetchApi.get(`${
|
|
5819
|
-
list: (params) => FetchApi.get(`${
|
|
5820
|
-
update: (id, data) => FetchApi.put(`${
|
|
5821
|
-
delete: (id) => FetchApi.delete(`${
|
|
6611
|
+
create: (data) => FetchApi.post(`${URI17}`, data),
|
|
6612
|
+
get: (id) => FetchApi.get(`${URI17}${id}/`),
|
|
6613
|
+
list: (params) => FetchApi.get(`${URI17}?${new URLSearchParams(params).toString()}`),
|
|
6614
|
+
update: (id, data) => FetchApi.put(`${URI17}${id}/`, data),
|
|
6615
|
+
delete: (id) => FetchApi.delete(`${URI17}${id}/`)
|
|
5822
6616
|
};
|
|
5823
6617
|
|
|
5824
6618
|
// src/services/ProfitCostsServices.ts
|
|
5825
|
-
var
|
|
5826
|
-
var
|
|
6619
|
+
var URI18 = `${API_URL}/accounting/profit-or-cost-center/`;
|
|
6620
|
+
var COST_URI9 = `${API_URL}/accounting/cost-center/`;
|
|
5827
6621
|
var CostServices = {
|
|
5828
|
-
create: (data) => FetchApi.post(`${
|
|
5829
|
-
get: (id) => FetchApi.get(`${
|
|
5830
|
-
list: (params) => FetchApi.get(`${
|
|
5831
|
-
update: (id, data) => FetchApi.put(`${
|
|
5832
|
-
delete: (id) => FetchApi.delete(`${
|
|
6622
|
+
create: (data) => FetchApi.post(`${COST_URI9}`, data),
|
|
6623
|
+
get: (id) => FetchApi.get(`${COST_URI9}${id}/`),
|
|
6624
|
+
list: (params) => FetchApi.get(`${COST_URI9}?${new URLSearchParams(params).toString()}`),
|
|
6625
|
+
update: (id, data) => FetchApi.put(`${COST_URI9}${id}/`, data),
|
|
6626
|
+
delete: (id) => FetchApi.delete(`${COST_URI9}${id}/`)
|
|
5833
6627
|
};
|
|
5834
|
-
var
|
|
6628
|
+
var PROFIT_URI9 = `${API_URL}/accounting/profit-center/`;
|
|
5835
6629
|
|
|
5836
6630
|
// src/components/common/CommonSelect.tsx
|
|
5837
|
-
import { jsx as
|
|
6631
|
+
import { jsx as jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
5838
6632
|
var SelectVendor = ({
|
|
5839
6633
|
value,
|
|
5840
6634
|
onSelect
|
|
5841
6635
|
}) => {
|
|
5842
|
-
const [showModal, setShowModal] =
|
|
5843
|
-
const [selectedVendor, setSelectedVendor] =
|
|
6636
|
+
const [showModal, setShowModal] = useState31(false);
|
|
6637
|
+
const [selectedVendor, setSelectedVendor] = useState31(null);
|
|
5844
6638
|
const { token, activeBusinessEntity } = useSession();
|
|
5845
|
-
const [vendors, setVendors] =
|
|
6639
|
+
const [vendors, setVendors] = useState31(() => {
|
|
5846
6640
|
const cacheKey = `vendors_cache_${activeBusinessEntity?.id || "default"}`;
|
|
5847
6641
|
const cached = sessionStorage.getItem(cacheKey);
|
|
5848
6642
|
return cached ? JSON.parse(cached) : [];
|
|
5849
6643
|
});
|
|
5850
|
-
const [loadingVendors, setLoadingVendors] =
|
|
5851
|
-
|
|
6644
|
+
const [loadingVendors, setLoadingVendors] = useState31(false);
|
|
6645
|
+
useEffect19(() => {
|
|
5852
6646
|
const cacheKey = `vendors_cache_${activeBusinessEntity?.id || "default"}`;
|
|
5853
6647
|
const cached = sessionStorage.getItem(cacheKey);
|
|
5854
6648
|
if (!cached) {
|
|
@@ -5886,9 +6680,9 @@ var SelectVendor = ({
|
|
|
5886
6680
|
sessionStorage.removeItem(cacheKey);
|
|
5887
6681
|
loadVendors();
|
|
5888
6682
|
};
|
|
5889
|
-
return /* @__PURE__ */
|
|
5890
|
-
/* @__PURE__ */
|
|
5891
|
-
/* @__PURE__ */
|
|
6683
|
+
return /* @__PURE__ */ jsxs33("div", { children: [
|
|
6684
|
+
/* @__PURE__ */ jsx45("div", { className: "flex justify-between ", children: /* @__PURE__ */ jsx45("label", { className: "block text-sm font-medium text-gray-700 mb-2", children: "Ajouter un fournisseur" }) }),
|
|
6685
|
+
/* @__PURE__ */ jsx45(
|
|
5892
6686
|
SearchableSelect,
|
|
5893
6687
|
{
|
|
5894
6688
|
value,
|
|
@@ -5904,8 +6698,8 @@ var SelectVendor = ({
|
|
|
5904
6698
|
},
|
|
5905
6699
|
"fourni" + value
|
|
5906
6700
|
),
|
|
5907
|
-
loadingVendors && /* @__PURE__ */
|
|
5908
|
-
showModal && /* @__PURE__ */
|
|
6701
|
+
loadingVendors && /* @__PURE__ */ jsx45("p", { className: "text-sm text-gray-500 mt-2", children: "Chargement des fournisseurs..." }),
|
|
6702
|
+
showModal && /* @__PURE__ */ jsx45(
|
|
5909
6703
|
MinimalVendorForm,
|
|
5910
6704
|
{
|
|
5911
6705
|
object: selectedVendor,
|
|
@@ -5922,13 +6716,13 @@ var SelectUser = ({
|
|
|
5922
6716
|
onSelect
|
|
5923
6717
|
}) => {
|
|
5924
6718
|
const { token, activeBusinessEntity } = useSession();
|
|
5925
|
-
const [users, setUsers] =
|
|
6719
|
+
const [users, setUsers] = useState31(() => {
|
|
5926
6720
|
const cacheKey = `users_cache_${activeBusinessEntity?.id || "default"}`;
|
|
5927
6721
|
const cached = sessionStorage.getItem(cacheKey);
|
|
5928
6722
|
return cached ? JSON.parse(cached) : [];
|
|
5929
6723
|
});
|
|
5930
|
-
const [loading, setLoading] =
|
|
5931
|
-
|
|
6724
|
+
const [loading, setLoading] = useState31(false);
|
|
6725
|
+
useEffect19(() => {
|
|
5932
6726
|
const cacheKey = `users_cache_${activeBusinessEntity?.id || "default"}`;
|
|
5933
6727
|
const cached = sessionStorage.getItem(cacheKey);
|
|
5934
6728
|
if (!cached) {
|
|
@@ -5964,19 +6758,19 @@ var SelectUser = ({
|
|
|
5964
6758
|
return users.map((user) => ({
|
|
5965
6759
|
value: user.id,
|
|
5966
6760
|
label: `${user.first_name} ${user.last_name}`,
|
|
5967
|
-
content: /* @__PURE__ */
|
|
5968
|
-
/* @__PURE__ */
|
|
6761
|
+
content: /* @__PURE__ */ jsx45("div", { className: "flex items-center space-x-3", children: /* @__PURE__ */ jsxs33("div", { className: "flex-1", children: [
|
|
6762
|
+
/* @__PURE__ */ jsxs33("div", { className: "font-medium text-gray-900", children: [
|
|
5969
6763
|
user.first_name,
|
|
5970
6764
|
" ",
|
|
5971
6765
|
user.last_name
|
|
5972
6766
|
] }),
|
|
5973
|
-
/* @__PURE__ */
|
|
6767
|
+
/* @__PURE__ */ jsx45("div", { className: "text-sm text-gray-500", children: user.email })
|
|
5974
6768
|
] }) })
|
|
5975
6769
|
}));
|
|
5976
6770
|
};
|
|
5977
|
-
return /* @__PURE__ */
|
|
5978
|
-
/* @__PURE__ */
|
|
5979
|
-
/* @__PURE__ */
|
|
6771
|
+
return /* @__PURE__ */ jsxs33("div", { children: [
|
|
6772
|
+
/* @__PURE__ */ jsx45("div", { className: "flex justify-between ", children: /* @__PURE__ */ jsx45("label", { className: "block text-sm font-medium text-gray-700 mb-2", children: "S\xE9lectionner un utilisateur" }) }),
|
|
6773
|
+
/* @__PURE__ */ jsx45(
|
|
5980
6774
|
SearchableSelect,
|
|
5981
6775
|
{
|
|
5982
6776
|
value,
|
|
@@ -5989,7 +6783,7 @@ var SelectUser = ({
|
|
|
5989
6783
|
},
|
|
5990
6784
|
"user" + value
|
|
5991
6785
|
),
|
|
5992
|
-
loading && /* @__PURE__ */
|
|
6786
|
+
loading && /* @__PURE__ */ jsx45("p", { className: "text-sm text-gray-500 mt-2", children: "Chargement des utilisateurs..." })
|
|
5993
6787
|
] });
|
|
5994
6788
|
};
|
|
5995
6789
|
var SelectDepartment = ({
|
|
@@ -5997,13 +6791,13 @@ var SelectDepartment = ({
|
|
|
5997
6791
|
onSelect
|
|
5998
6792
|
}) => {
|
|
5999
6793
|
const { token, activeBusinessEntity } = useSession();
|
|
6000
|
-
const [departments, setDepartments] =
|
|
6794
|
+
const [departments, setDepartments] = useState31(() => {
|
|
6001
6795
|
const cacheKey = `departments_cache_${activeBusinessEntity?.id || "default"}`;
|
|
6002
6796
|
const cached = sessionStorage.getItem(cacheKey);
|
|
6003
6797
|
return cached ? JSON.parse(cached) : [];
|
|
6004
6798
|
});
|
|
6005
|
-
const [loading, setLoading] =
|
|
6006
|
-
|
|
6799
|
+
const [loading, setLoading] = useState31(false);
|
|
6800
|
+
useEffect19(() => {
|
|
6007
6801
|
const cacheKey = `departments_cache_${activeBusinessEntity?.id || "default"}`;
|
|
6008
6802
|
const cached = sessionStorage.getItem(cacheKey);
|
|
6009
6803
|
if (!cached) {
|
|
@@ -6039,9 +6833,9 @@ var SelectDepartment = ({
|
|
|
6039
6833
|
label: dept.name
|
|
6040
6834
|
}));
|
|
6041
6835
|
};
|
|
6042
|
-
return /* @__PURE__ */
|
|
6043
|
-
/* @__PURE__ */
|
|
6044
|
-
/* @__PURE__ */
|
|
6836
|
+
return /* @__PURE__ */ jsxs33("div", { children: [
|
|
6837
|
+
/* @__PURE__ */ jsx45("div", { className: "flex justify-between ", children: /* @__PURE__ */ jsx45("label", { className: "block text-sm font-medium text-gray-700 mb-2", children: "S\xE9lectionner un d\xE9partement" }) }),
|
|
6838
|
+
/* @__PURE__ */ jsx45(
|
|
6045
6839
|
SearchableSelect,
|
|
6046
6840
|
{
|
|
6047
6841
|
value,
|
|
@@ -6054,7 +6848,7 @@ var SelectDepartment = ({
|
|
|
6054
6848
|
},
|
|
6055
6849
|
"dept" + value
|
|
6056
6850
|
),
|
|
6057
|
-
loading && /* @__PURE__ */
|
|
6851
|
+
loading && /* @__PURE__ */ jsx45("p", { className: "text-sm text-gray-500 mt-2", children: "Chargement des d\xE9partements..." })
|
|
6058
6852
|
] });
|
|
6059
6853
|
};
|
|
6060
6854
|
var SelectCostCenter = ({
|
|
@@ -6062,13 +6856,13 @@ var SelectCostCenter = ({
|
|
|
6062
6856
|
onSelect
|
|
6063
6857
|
}) => {
|
|
6064
6858
|
const { token, activeBusinessEntity } = useSession();
|
|
6065
|
-
const [costCenters, setCostCenters] =
|
|
6859
|
+
const [costCenters, setCostCenters] = useState31(() => {
|
|
6066
6860
|
const cacheKey = `cost_centers_cache_${activeBusinessEntity?.id || "default"}`;
|
|
6067
6861
|
const cached = sessionStorage.getItem(cacheKey);
|
|
6068
6862
|
return cached ? JSON.parse(cached) : [];
|
|
6069
6863
|
});
|
|
6070
|
-
const [loading, setLoading] =
|
|
6071
|
-
|
|
6864
|
+
const [loading, setLoading] = useState31(false);
|
|
6865
|
+
useEffect19(() => {
|
|
6072
6866
|
const cacheKey = `cost_centers_cache_${activeBusinessEntity?.id || "default"}`;
|
|
6073
6867
|
const cached = sessionStorage.getItem(cacheKey);
|
|
6074
6868
|
if (!cached) {
|
|
@@ -6102,18 +6896,18 @@ var SelectCostCenter = ({
|
|
|
6102
6896
|
return costCenters.map((center) => ({
|
|
6103
6897
|
value: center.id,
|
|
6104
6898
|
label: `${center.code ? `[${center.code}] ` : ""}${center.name}`,
|
|
6105
|
-
content: /* @__PURE__ */
|
|
6106
|
-
/* @__PURE__ */
|
|
6107
|
-
center.code && /* @__PURE__ */
|
|
6899
|
+
content: /* @__PURE__ */ jsx45("div", { className: "flex items-center space-x-3", children: /* @__PURE__ */ jsxs33("div", { className: "flex-1", children: [
|
|
6900
|
+
/* @__PURE__ */ jsx45("div", { className: "font-medium text-gray-900", children: center.name }),
|
|
6901
|
+
center.code && /* @__PURE__ */ jsxs33("div", { className: "text-sm text-gray-500", children: [
|
|
6108
6902
|
"Code: ",
|
|
6109
6903
|
center.code
|
|
6110
6904
|
] })
|
|
6111
6905
|
] }) })
|
|
6112
6906
|
}));
|
|
6113
6907
|
};
|
|
6114
|
-
return /* @__PURE__ */
|
|
6115
|
-
/* @__PURE__ */
|
|
6116
|
-
/* @__PURE__ */
|
|
6908
|
+
return /* @__PURE__ */ jsxs33("div", { children: [
|
|
6909
|
+
/* @__PURE__ */ jsx45("div", { className: "flex justify-between ", children: /* @__PURE__ */ jsx45("label", { className: "block text-sm font-medium text-gray-700 mb-2", children: "S\xE9lectionner un centre de co\xFBt" }) }),
|
|
6910
|
+
/* @__PURE__ */ jsx45(
|
|
6117
6911
|
SearchableSelect,
|
|
6118
6912
|
{
|
|
6119
6913
|
value,
|
|
@@ -6126,12 +6920,12 @@ var SelectCostCenter = ({
|
|
|
6126
6920
|
},
|
|
6127
6921
|
"cost" + value
|
|
6128
6922
|
),
|
|
6129
|
-
loading && /* @__PURE__ */
|
|
6923
|
+
loading && /* @__PURE__ */ jsx45("p", { className: "text-sm text-gray-500 mt-2", children: "Chargement des centres de co\xFBt..." })
|
|
6130
6924
|
] });
|
|
6131
6925
|
};
|
|
6132
6926
|
|
|
6133
6927
|
// src/components/common/Choices.tsx
|
|
6134
|
-
import { jsx as
|
|
6928
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
6135
6929
|
var CHOICES = {
|
|
6136
6930
|
INVOICE_TYPES: [
|
|
6137
6931
|
{ value: "sale", label: { fr: "Vente", en: "Sale", default: "Sale" } },
|
|
@@ -6389,7 +7183,7 @@ var InvoiceTypeSelector = ({
|
|
|
6389
7183
|
value: item.value,
|
|
6390
7184
|
label: item.label[language]
|
|
6391
7185
|
}));
|
|
6392
|
-
return /* @__PURE__ */
|
|
7186
|
+
return /* @__PURE__ */ jsx46(
|
|
6393
7187
|
SearchableSelect,
|
|
6394
7188
|
{
|
|
6395
7189
|
value,
|
|
@@ -6412,7 +7206,7 @@ var PaymentMethodSelector = ({
|
|
|
6412
7206
|
value: item.value,
|
|
6413
7207
|
label: item.label[language]
|
|
6414
7208
|
}));
|
|
6415
|
-
return /* @__PURE__ */
|
|
7209
|
+
return /* @__PURE__ */ jsx46(
|
|
6416
7210
|
SearchableSelect,
|
|
6417
7211
|
{
|
|
6418
7212
|
value,
|
|
@@ -6435,7 +7229,7 @@ var TemplateFNESelector = ({
|
|
|
6435
7229
|
value: item.value,
|
|
6436
7230
|
label: item.label[language]
|
|
6437
7231
|
}));
|
|
6438
|
-
return /* @__PURE__ */
|
|
7232
|
+
return /* @__PURE__ */ jsx46(
|
|
6439
7233
|
SearchableSelect,
|
|
6440
7234
|
{
|
|
6441
7235
|
value,
|
|
@@ -6458,7 +7252,7 @@ var ForeignCurrencySelector = ({
|
|
|
6458
7252
|
value: item.value,
|
|
6459
7253
|
label: item.label[language]
|
|
6460
7254
|
}));
|
|
6461
|
-
return /* @__PURE__ */
|
|
7255
|
+
return /* @__PURE__ */ jsx46(
|
|
6462
7256
|
SearchableSelect,
|
|
6463
7257
|
{
|
|
6464
7258
|
value,
|
|
@@ -6482,7 +7276,7 @@ var TaxSelector = ({
|
|
|
6482
7276
|
value: item.value,
|
|
6483
7277
|
label: item.label[language]
|
|
6484
7278
|
}));
|
|
6485
|
-
return /* @__PURE__ */
|
|
7279
|
+
return /* @__PURE__ */ jsx46(
|
|
6486
7280
|
SearchableSelect,
|
|
6487
7281
|
{
|
|
6488
7282
|
value,
|
|
@@ -6510,7 +7304,7 @@ var LegalFormSelector = ({
|
|
|
6510
7304
|
value: item.value,
|
|
6511
7305
|
label: item.label[language] ?? item.label.default
|
|
6512
7306
|
}));
|
|
6513
|
-
return /* @__PURE__ */
|
|
7307
|
+
return /* @__PURE__ */ jsx46(
|
|
6514
7308
|
SearchableSelect,
|
|
6515
7309
|
{
|
|
6516
7310
|
value,
|
|
@@ -6533,7 +7327,7 @@ var CountrySelector = ({
|
|
|
6533
7327
|
value: item.value,
|
|
6534
7328
|
label: item.label[language]
|
|
6535
7329
|
}));
|
|
6536
|
-
return /* @__PURE__ */
|
|
7330
|
+
return /* @__PURE__ */ jsx46(
|
|
6537
7331
|
SearchableSelect,
|
|
6538
7332
|
{
|
|
6539
7333
|
value,
|