@fctc/interface-logic 1.8.6 → 1.8.7

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/provider.mjs CHANGED
@@ -646,9 +646,300 @@ var MainProvider = ({ children }) => {
646
646
  };
647
647
 
648
648
  // src/provider/version-gate-provider.tsx
649
- import { useEffect as useEffect2, useState as useState2 } from "react";
649
+ import { useEffect, useState } from "react";
650
650
  import { useQueryClient } from "@tanstack/react-query";
651
651
 
652
+ // src/services/view-service/backup.ts
653
+ import { useCallback } from "react";
654
+ function useViewService() {
655
+ const { env } = useEnv();
656
+ const getView = useCallback(
657
+ async ({ model, views, context = {}, options = {}, aid }) => {
658
+ const defaultOptions = {
659
+ load_filters: true,
660
+ toolbar: true,
661
+ action_id: aid
662
+ };
663
+ const jsonDataView = {
664
+ model,
665
+ method: "get_fields_view_v2" /* GET_FIELD_VIEW */,
666
+ kwargs: {
667
+ views,
668
+ options: { ...options, ...defaultOptions }
669
+ },
670
+ with_context: context
671
+ };
672
+ return env?.requests?.post("/call" /* CALL_PATH */, jsonDataView, {
673
+ headers: {
674
+ "Content-Type": "application/json"
675
+ }
676
+ });
677
+ },
678
+ [env]
679
+ );
680
+ const getMenu = useCallback(
681
+ async (context) => {
682
+ const jsonData = {
683
+ model: "ir.ui.menu" /* MENU */,
684
+ method: "web_search_read" /* WEB_SEARCH_READ */,
685
+ ids: [],
686
+ with_context: context,
687
+ kwargs: {
688
+ specification: {
689
+ active: {},
690
+ name: {},
691
+ is_display: {},
692
+ sequence: {},
693
+ complete_name: {},
694
+ action: {
695
+ fields: {
696
+ display_name: {},
697
+ type: {},
698
+ binding_view_types: {}
699
+ }
700
+ },
701
+ url_icon: {},
702
+ web_icon: {},
703
+ web_icon_data: {},
704
+ groups_id: {
705
+ fields: {
706
+ full_name: {}
707
+ },
708
+ limit: 40,
709
+ order: ""
710
+ },
711
+ display_name: {},
712
+ child_id: {
713
+ fields: {
714
+ active: {},
715
+ name: {},
716
+ is_display: {},
717
+ sequence: {},
718
+ complete_name: {},
719
+ action: {
720
+ fields: {
721
+ display_name: {},
722
+ type: {},
723
+ binding_view_types: {}
724
+ }
725
+ },
726
+ url_icon: {},
727
+ web_icon: {},
728
+ web_icon_data: {},
729
+ groups_id: {
730
+ fields: {
731
+ full_name: {}
732
+ },
733
+ limit: 40,
734
+ order: ""
735
+ },
736
+ display_name: {},
737
+ child_id: {
738
+ fields: {
739
+ active: {},
740
+ name: {},
741
+ is_display: {},
742
+ sequence: {},
743
+ complete_name: {},
744
+ action: {
745
+ fields: {
746
+ display_name: {},
747
+ type: {},
748
+ binding_view_types: {}
749
+ }
750
+ },
751
+ url_icon: {},
752
+ web_icon: {},
753
+ web_icon_data: {},
754
+ groups_id: {
755
+ fields: {
756
+ full_name: {}
757
+ },
758
+ limit: 40,
759
+ order: ""
760
+ },
761
+ display_name: {},
762
+ child_id: {
763
+ fields: {},
764
+ limit: 40,
765
+ order: ""
766
+ }
767
+ },
768
+ limit: 40,
769
+ order: ""
770
+ }
771
+ },
772
+ limit: 40,
773
+ order: ""
774
+ }
775
+ },
776
+ domain: [
777
+ "&",
778
+ ["is_display", "=", true],
779
+ "&",
780
+ ["active", "=", true],
781
+ ["parent_id", "=", false]
782
+ ]
783
+ }
784
+ };
785
+ return env?.requests?.post("/call" /* CALL_PATH */, jsonData, {
786
+ headers: {
787
+ "Content-Type": "application/json"
788
+ }
789
+ });
790
+ },
791
+ [env]
792
+ );
793
+ const getActionDetail = useCallback(
794
+ async (aid, context) => {
795
+ const jsonData = {
796
+ model: "ir.actions.act_window" /* WINDOW_ACTION */,
797
+ method: "web_read" /* WEB_READ */,
798
+ ids: [aid],
799
+ with_context: context,
800
+ kwargs: {
801
+ specification: {
802
+ id: {},
803
+ name: {},
804
+ res_model: {},
805
+ views: {},
806
+ view_mode: {},
807
+ mobile_view_mode: {},
808
+ domain: {},
809
+ context: {},
810
+ groups_id: {},
811
+ search_view_id: {}
812
+ }
813
+ }
814
+ };
815
+ return env?.requests?.post("/call" /* CALL_PATH */, jsonData, {
816
+ headers: {
817
+ "Content-Type": "application/json"
818
+ }
819
+ });
820
+ },
821
+ [env]
822
+ );
823
+ const getResequence = useCallback(
824
+ async ({ model, ids, context, offset }) => {
825
+ const jsonData = {
826
+ model,
827
+ with_context: context,
828
+ ids,
829
+ field: "sequence",
830
+ ...offset > 0 ? { offset } : {}
831
+ };
832
+ return env?.requests.post("/web/dataset/resequence", jsonData, {
833
+ headers: {
834
+ "Content-Type": "application/json"
835
+ }
836
+ });
837
+ },
838
+ [env]
839
+ );
840
+ const getSelectionItem = useCallback(
841
+ async ({ data }) => {
842
+ const jsonData = {
843
+ model: data.model,
844
+ ids: [],
845
+ method: "get_data_select",
846
+ with_context: data.context,
847
+ kwargs: {
848
+ count_limit: 10001,
849
+ domain: data.domain ? data.domain : [],
850
+ offset: 0,
851
+ order: "",
852
+ specification: data?.specification ?? {
853
+ id: {},
854
+ name: {},
855
+ display_name: {}
856
+ }
857
+ }
858
+ };
859
+ return env?.requests.post("/call" /* CALL_PATH */, jsonData, {
860
+ headers: {
861
+ "Content-Type": "application/json"
862
+ }
863
+ });
864
+ },
865
+ [env]
866
+ );
867
+ const loadMessages = useCallback(
868
+ async () => {
869
+ return env.requests.post(
870
+ "/load_message_failures" /* LOAD_MESSAGE */,
871
+ {},
872
+ {
873
+ headers: {
874
+ "Content-Type": "application/json"
875
+ }
876
+ }
877
+ );
878
+ },
879
+ [env]
880
+ );
881
+ const getVersion = useCallback(
882
+ async () => {
883
+ console.log("env?.requests", env, env?.requests);
884
+ return env?.requests?.get("", {
885
+ headers: {
886
+ "Content-Type": "application/json"
887
+ }
888
+ });
889
+ },
890
+ [env]
891
+ );
892
+ return {
893
+ getView,
894
+ getMenu,
895
+ getActionDetail,
896
+ getResequence,
897
+ getSelectionItem,
898
+ loadMessages,
899
+ getVersion
900
+ };
901
+ }
902
+
903
+ // src/provider/version-gate-provider.tsx
904
+ import { Fragment, jsx as jsx4 } from "react/jsx-runtime";
905
+ var VersionGate = ({ children }) => {
906
+ const queryClient = useQueryClient();
907
+ const [ready, setReady] = useState(false);
908
+ const { getVersion } = useViewService();
909
+ useEffect(() => {
910
+ const clearVersion = () => {
911
+ queryClient.clear();
912
+ localStorage.removeItem("__api_version__");
913
+ };
914
+ const validateVersion = async () => {
915
+ const serverVersion = await getVersion();
916
+ console.log("serverVersion", serverVersion);
917
+ const cached = localStorage.getItem("__api_version__");
918
+ if (cached !== serverVersion?.api_version) {
919
+ clearVersion();
920
+ localStorage.setItem("__api_version__", serverVersion?.api_version);
921
+ } else {
922
+ console.log("Api version:", serverVersion?.api_version);
923
+ }
924
+ setReady(true);
925
+ };
926
+ validateVersion();
927
+ if (typeof window !== "undefined") {
928
+ const onKey = (e) => {
929
+ const key = e.key.toLowerCase();
930
+ const isHardRefresh = (key === "f5" || key === "r") && e.ctrlKey && (key !== "r" || e.shiftKey) || key === "r" && e.metaKey && e.shiftKey || key === "r" && e.metaKey && e.altKey;
931
+ if (isHardRefresh) clearVersion();
932
+ };
933
+ window.addEventListener("keydown", onKey);
934
+ return () => window.removeEventListener("keydown", onKey);
935
+ }
936
+ }, [queryClient]);
937
+ return ready ? /* @__PURE__ */ jsx4(Fragment, { children }) : null;
938
+ };
939
+
940
+ // src/provider/env-provider.tsx
941
+ import { createContext, useContext, useState as useState3, useCallback as useCallback2 } from "react";
942
+
652
943
  // src/configs/axios-client.ts
653
944
  import axios from "axios";
654
945
 
@@ -2762,7 +3053,7 @@ function matchDomain(record, domain) {
2762
3053
  }
2763
3054
 
2764
3055
  // src/utils/function.ts
2765
- import { useEffect, useState } from "react";
3056
+ import { useEffect as useEffect2, useState as useState2 } from "react";
2766
3057
  var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
2767
3058
  if (!originalRequest.data) return originalRequest.data;
2768
3059
  if (typeof originalRequest.data === "string") {
@@ -2996,562 +3287,7 @@ var axiosClient = {
2996
3287
  }
2997
3288
  };
2998
3289
 
2999
- // src/environment/EnvStore.ts
3000
- function createEnvStore(store, localStorageUtil, sessionStorageUtil) {
3001
- const getEnvState = () => store.getState().env;
3002
- const setupEnvConfig = () => {
3003
- const env2 = getEnvState();
3004
- return {
3005
- baseUrl: env2?.baseUrl,
3006
- requests: env2?.requests,
3007
- context: env2?.context,
3008
- defaultCompany: env2?.defaultCompany,
3009
- config: env2?.config,
3010
- companies: env2?.companies || [],
3011
- user: env2?.user,
3012
- db: env2?.db,
3013
- refreshTokenEndpoint: env2?.refreshTokenEndpoint
3014
- };
3015
- };
3016
- const setupEnv = (envConfig) => {
3017
- const dispatch = store.dispatch;
3018
- const updatedEnv = {
3019
- ...envConfig,
3020
- localStorageUtils: localStorageUtil,
3021
- sessionStorageUtils: sessionStorageUtil
3022
- };
3023
- const requests = axiosClient.init(updatedEnv);
3024
- dispatch(setEnv({ ...updatedEnv, requests }));
3025
- return setupEnvConfig();
3026
- };
3027
- const setupUid = (uid) => {
3028
- store.dispatch(setUid(uid));
3029
- return setupEnvConfig();
3030
- };
3031
- const setupLang = (lang) => {
3032
- store.dispatch(setLang(lang));
3033
- return setupEnvConfig();
3034
- };
3035
- const setupAllowCompanies = (allowCompanies) => {
3036
- store.dispatch(setAllowCompanies(allowCompanies));
3037
- return setupEnvConfig();
3038
- };
3039
- const setupCompanies = (companies) => {
3040
- store.dispatch(setCompanies(companies));
3041
- return setupEnvConfig();
3042
- };
3043
- const setupDefaultCompany = (company) => {
3044
- store.dispatch(setDefaultCompany(company));
3045
- return setupEnvConfig();
3046
- };
3047
- const setUserInfo = (userInfo) => {
3048
- store.dispatch(setUser(userInfo));
3049
- return setupEnvConfig();
3050
- };
3051
- return {
3052
- getEnvConfig: setupEnvConfig,
3053
- setupEnv,
3054
- setUid: setupUid,
3055
- setLang: setupLang,
3056
- setAllowCompanies: setupAllowCompanies,
3057
- setCompanies: setupCompanies,
3058
- setDefaultCompany: setupDefaultCompany,
3059
- setUserInfo
3060
- };
3061
- }
3062
- var env = null;
3063
- function getEnv() {
3064
- if (!env) {
3065
- env = createEnvStore(envStore, localStorageUtils(), sessionStorageUtils());
3066
- }
3067
- return env;
3068
- }
3069
-
3070
- // src/services/view-service/index.ts
3071
- var ViewService = {
3072
- async getView({
3073
- model,
3074
- views,
3075
- context = {},
3076
- options = {},
3077
- aid
3078
- }) {
3079
- const env2 = getEnv();
3080
- const defaultOptions = {
3081
- load_filters: true,
3082
- toolbar: true,
3083
- action_id: aid
3084
- };
3085
- const jsonDataView = {
3086
- model,
3087
- method: "get_fields_view_v2" /* GET_FIELD_VIEW */,
3088
- kwargs: {
3089
- views,
3090
- options: { ...options, ...defaultOptions }
3091
- },
3092
- with_context: context
3093
- };
3094
- return env2?.requests?.post("/call" /* CALL_PATH */, jsonDataView, {
3095
- headers: {
3096
- "Content-Type": "application/json"
3097
- }
3098
- });
3099
- },
3100
- async getMenu(context) {
3101
- const env2 = getEnv();
3102
- const jsonData = {
3103
- model: "ir.ui.menu" /* MENU */,
3104
- method: "web_search_read" /* WEB_SEARCH_READ */,
3105
- ids: [],
3106
- with_context: context,
3107
- kwargs: {
3108
- specification: {
3109
- active: {},
3110
- name: {},
3111
- is_display: {},
3112
- sequence: {},
3113
- complete_name: {},
3114
- action: {
3115
- fields: {
3116
- display_name: {},
3117
- type: {},
3118
- binding_view_types: {}
3119
- // res_model: {},
3120
- }
3121
- },
3122
- url_icon: {},
3123
- web_icon: {},
3124
- web_icon_data: {},
3125
- groups_id: {
3126
- fields: {
3127
- full_name: {}
3128
- },
3129
- limit: 40,
3130
- order: ""
3131
- },
3132
- display_name: {},
3133
- child_id: {
3134
- fields: {
3135
- active: {},
3136
- name: {},
3137
- is_display: {},
3138
- sequence: {},
3139
- complete_name: {},
3140
- action: {
3141
- fields: {
3142
- display_name: {},
3143
- type: {},
3144
- binding_view_types: {}
3145
- // res_model: {},
3146
- }
3147
- },
3148
- url_icon: {},
3149
- web_icon: {},
3150
- web_icon_data: {},
3151
- groups_id: {
3152
- fields: {
3153
- full_name: {}
3154
- },
3155
- limit: 40,
3156
- order: ""
3157
- },
3158
- display_name: {},
3159
- child_id: {
3160
- fields: {
3161
- active: {},
3162
- name: {},
3163
- is_display: {},
3164
- sequence: {},
3165
- complete_name: {},
3166
- action: {
3167
- fields: {
3168
- display_name: {},
3169
- type: {},
3170
- binding_view_types: {}
3171
- // res_model: {},
3172
- }
3173
- },
3174
- url_icon: {},
3175
- web_icon: {},
3176
- web_icon_data: {},
3177
- groups_id: {
3178
- fields: {
3179
- full_name: {}
3180
- },
3181
- limit: 40,
3182
- order: ""
3183
- },
3184
- display_name: {},
3185
- child_id: {
3186
- fields: {
3187
- active: {},
3188
- name: {},
3189
- is_display: {},
3190
- sequence: {},
3191
- complete_name: {},
3192
- action: {
3193
- fields: {
3194
- display_name: {},
3195
- type: {},
3196
- binding_view_types: {}
3197
- // res_model: {},
3198
- }
3199
- },
3200
- url_icon: {},
3201
- web_icon: {},
3202
- web_icon_data: {},
3203
- groups_id: {
3204
- fields: {
3205
- full_name: {}
3206
- },
3207
- limit: 40,
3208
- order: ""
3209
- },
3210
- display_name: {},
3211
- child_id: {
3212
- fields: {},
3213
- limit: 40,
3214
- order: ""
3215
- }
3216
- },
3217
- limit: 40,
3218
- order: ""
3219
- }
3220
- },
3221
- limit: 40,
3222
- order: ""
3223
- }
3224
- },
3225
- limit: 40,
3226
- order: ""
3227
- }
3228
- },
3229
- domain: [
3230
- "&",
3231
- ["is_display", "=", true],
3232
- "&",
3233
- ["active", "=", true],
3234
- ["parent_id", "=", false]
3235
- ]
3236
- }
3237
- };
3238
- return env2?.requests?.post("/call" /* CALL_PATH */, jsonData, {
3239
- headers: {
3240
- "Content-Type": "application/json"
3241
- }
3242
- });
3243
- },
3244
- async getActionDetail(aid, context) {
3245
- const env2 = getEnv();
3246
- const jsonData = {
3247
- model: "ir.actions.act_window" /* WINDOW_ACTION */,
3248
- method: "web_read" /* WEB_READ */,
3249
- ids: [aid],
3250
- with_context: context,
3251
- kwargs: {
3252
- specification: {
3253
- id: {},
3254
- name: {},
3255
- res_model: {},
3256
- views: {},
3257
- view_mode: {},
3258
- mobile_view_mode: {},
3259
- domain: {},
3260
- context: {},
3261
- groups_id: {},
3262
- search_view_id: {}
3263
- }
3264
- }
3265
- };
3266
- return env2?.requests?.post("/call" /* CALL_PATH */, jsonData, {
3267
- headers: {
3268
- "Content-Type": "application/json"
3269
- }
3270
- });
3271
- },
3272
- async getResequence({
3273
- model,
3274
- ids,
3275
- context,
3276
- offset
3277
- }) {
3278
- const env2 = getEnv();
3279
- const jsonData = {
3280
- model,
3281
- with_context: context,
3282
- ids,
3283
- field: "sequence",
3284
- ...offset > 0 ? { offset } : {}
3285
- };
3286
- return env2?.requests.post("/web/dataset/resequence", jsonData, {
3287
- headers: {
3288
- "Content-Type": "application/json"
3289
- }
3290
- });
3291
- },
3292
- async getSelectionItem({ data }) {
3293
- const env2 = getEnv();
3294
- const jsonData = {
3295
- model: data.model,
3296
- ids: [],
3297
- method: "get_data_select",
3298
- with_context: data.context,
3299
- kwargs: {
3300
- count_limit: 10001,
3301
- domain: data.domain ? data.domain : [],
3302
- offset: 0,
3303
- order: "",
3304
- specification: data?.specification ?? {
3305
- id: {},
3306
- name: {},
3307
- display_name: {}
3308
- }
3309
- }
3310
- };
3311
- return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3312
- headers: {
3313
- "Content-Type": "application/json"
3314
- }
3315
- });
3316
- },
3317
- async loadMessages() {
3318
- const env2 = getEnv();
3319
- return env2.requests.post(
3320
- "/load_message_failures" /* LOAD_MESSAGE */,
3321
- {},
3322
- {
3323
- headers: {
3324
- "Content-Type": "application/json"
3325
- }
3326
- }
3327
- );
3328
- },
3329
- async getVersion() {
3330
- const { env: env2 } = useEnv();
3331
- console.log("env?.requests", env2, env2?.requests);
3332
- return env2?.requests?.get("", {
3333
- headers: {
3334
- "Content-Type": "application/json"
3335
- }
3336
- });
3337
- },
3338
- async get2FAMethods({
3339
- method,
3340
- with_context
3341
- }) {
3342
- const env2 = getEnv();
3343
- const jsonData = {
3344
- method,
3345
- with_context
3346
- };
3347
- return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3348
- headers: {
3349
- "Content-Type": "application/json"
3350
- }
3351
- });
3352
- },
3353
- async verify2FA({
3354
- method,
3355
- with_context,
3356
- code,
3357
- device,
3358
- location
3359
- }) {
3360
- const env2 = getEnv();
3361
- const jsonData = {
3362
- method,
3363
- kwargs: {
3364
- vals: {
3365
- code,
3366
- device,
3367
- location
3368
- }
3369
- },
3370
- with_context
3371
- };
3372
- return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3373
- headers: {
3374
- "Content-Type": "application/json"
3375
- },
3376
- withCredentials: true
3377
- });
3378
- },
3379
- async signInSSO({
3380
- redirect_uri,
3381
- state,
3382
- client_id,
3383
- response_type,
3384
- path
3385
- }) {
3386
- const env2 = getEnv();
3387
- const params = new URLSearchParams({
3388
- response_type,
3389
- client_id,
3390
- redirect_uri,
3391
- state
3392
- });
3393
- const url = `${path}?${params.toString()}`;
3394
- return env2?.requests.get(url, {
3395
- headers: {
3396
- "Content-Type": "application/json"
3397
- },
3398
- withCredentials: true
3399
- });
3400
- },
3401
- async grantAccess({
3402
- redirect_uri,
3403
- state,
3404
- client_id,
3405
- scopes
3406
- }) {
3407
- const env2 = getEnv();
3408
- const jsonData = {
3409
- redirect_uri,
3410
- state,
3411
- client_id,
3412
- scopes
3413
- };
3414
- return env2?.requests.post("/grant-access" /* GRANT_ACCESS */, jsonData, {
3415
- headers: {
3416
- "Content-Type": "application/json"
3417
- },
3418
- withCredentials: true
3419
- });
3420
- },
3421
- async getFieldsViewSecurity({
3422
- method,
3423
- token,
3424
- views
3425
- }) {
3426
- const env2 = getEnv();
3427
- const jsonData = {
3428
- method,
3429
- kwargs: {
3430
- views
3431
- },
3432
- with_context: {
3433
- token
3434
- }
3435
- };
3436
- return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3437
- headers: {
3438
- "Content-Type": "application/json"
3439
- }
3440
- });
3441
- },
3442
- async settingsWebRead2fa({
3443
- method,
3444
- model,
3445
- kwargs,
3446
- token
3447
- }) {
3448
- const env2 = getEnv();
3449
- const jsonData = {
3450
- method,
3451
- model,
3452
- kwargs,
3453
- with_context: {
3454
- token
3455
- }
3456
- };
3457
- return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3458
- headers: {
3459
- "Content-Type": "application/json"
3460
- }
3461
- });
3462
- },
3463
- async requestSetupTotp({ method, token }) {
3464
- const env2 = getEnv();
3465
- const jsonData = {
3466
- method,
3467
- with_context: {
3468
- token
3469
- }
3470
- };
3471
- return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3472
- headers: {
3473
- "Content-Type": "application/json"
3474
- }
3475
- });
3476
- },
3477
- async verifyTotp({
3478
- method,
3479
- action_token,
3480
- code
3481
- }) {
3482
- const env2 = getEnv();
3483
- const jsonData = {
3484
- method,
3485
- kwargs: {
3486
- vals: {
3487
- code
3488
- }
3489
- },
3490
- with_context: {
3491
- action_token
3492
- }
3493
- };
3494
- return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3495
- headers: {
3496
- "Content-Type": "application/json"
3497
- }
3498
- });
3499
- },
3500
- async removeTotpSetUp({ method, token }) {
3501
- const env2 = getEnv();
3502
- const jsonData = {
3503
- method,
3504
- with_context: {
3505
- token
3506
- }
3507
- };
3508
- return env2?.requests.post("/call" /* CALL_PATH */, jsonData, {
3509
- headers: {
3510
- "Content-Type": "application/json"
3511
- }
3512
- });
3513
- }
3514
- };
3515
- var view_service_default = ViewService;
3516
-
3517
- // src/provider/version-gate-provider.tsx
3518
- import { Fragment, jsx as jsx4 } from "react/jsx-runtime";
3519
- var VersionGate = ({ children }) => {
3520
- const queryClient = useQueryClient();
3521
- const [ready, setReady] = useState2(false);
3522
- useEffect2(() => {
3523
- const clearVersion = () => {
3524
- queryClient.clear();
3525
- localStorage.removeItem("__api_version__");
3526
- };
3527
- const validateVersion = async () => {
3528
- const serverVersion = await view_service_default.getVersion();
3529
- console.log("serverVersion", serverVersion);
3530
- const cached = localStorage.getItem("__api_version__");
3531
- if (cached !== serverVersion?.api_version) {
3532
- clearVersion();
3533
- localStorage.setItem("__api_version__", serverVersion?.api_version);
3534
- } else {
3535
- console.log("Api version:", serverVersion?.api_version);
3536
- }
3537
- setReady(true);
3538
- };
3539
- validateVersion();
3540
- if (typeof window !== "undefined") {
3541
- const onKey = (e) => {
3542
- const key = e.key.toLowerCase();
3543
- const isHardRefresh = (key === "f5" || key === "r") && e.ctrlKey && (key !== "r" || e.shiftKey) || key === "r" && e.metaKey && e.shiftKey || key === "r" && e.metaKey && e.altKey;
3544
- if (isHardRefresh) clearVersion();
3545
- };
3546
- window.addEventListener("keydown", onKey);
3547
- return () => window.removeEventListener("keydown", onKey);
3548
- }
3549
- }, [queryClient]);
3550
- return ready ? /* @__PURE__ */ jsx4(Fragment, { children }) : null;
3551
- };
3552
-
3553
3290
  // src/provider/env-provider.tsx
3554
- import { createContext, useContext, useState as useState3, useCallback } from "react";
3555
3291
  import { jsx as jsx5 } from "react/jsx-runtime";
3556
3292
  var initialEnvState = {
3557
3293
  baseUrl: "",
@@ -3579,15 +3315,15 @@ function EnvProvider({
3579
3315
  localStorageUtils: localStorageUtil = localStorageUtils(),
3580
3316
  sessionStorageUtils: sessionStorageUtil = sessionStorageUtils()
3581
3317
  }) {
3582
- const [env2, setEnvState] = useState3({
3318
+ const [env, setEnvState] = useState3({
3583
3319
  ...initialEnvState,
3584
3320
  localStorageUtils: localStorageUtil,
3585
3321
  sessionStorageUtils: sessionStorageUtil
3586
3322
  });
3587
- const setupEnv = useCallback(
3323
+ const setupEnv = useCallback2(
3588
3324
  (envConfig) => {
3589
3325
  const updatedEnv = {
3590
- ...env2,
3326
+ ...env,
3591
3327
  ...envConfig,
3592
3328
  localStorageUtils: localStorageUtil,
3593
3329
  sessionStorageUtils: sessionStorageUtil
@@ -3596,33 +3332,33 @@ function EnvProvider({
3596
3332
  setEnvState({ ...updatedEnv, requests });
3597
3333
  return updatedEnv;
3598
3334
  },
3599
- [env2, localStorageUtil, sessionStorageUtil]
3335
+ [env, localStorageUtil, sessionStorageUtil]
3600
3336
  );
3601
- const setUid2 = useCallback((uid) => {
3337
+ const setUid2 = useCallback2((uid) => {
3602
3338
  setEnvState((prev) => ({
3603
3339
  ...prev,
3604
3340
  context: { ...prev.context, uid }
3605
3341
  }));
3606
3342
  }, []);
3607
- const setLang2 = useCallback((lang) => {
3343
+ const setLang2 = useCallback2((lang) => {
3608
3344
  setEnvState((prev) => ({
3609
3345
  ...prev,
3610
3346
  context: { ...prev.context, lang }
3611
3347
  }));
3612
3348
  }, []);
3613
- const setAllowCompanies2 = useCallback((allowed_company_ids) => {
3349
+ const setAllowCompanies2 = useCallback2((allowed_company_ids) => {
3614
3350
  setEnvState((prev) => ({
3615
3351
  ...prev,
3616
3352
  context: { ...prev.context, allowed_company_ids }
3617
3353
  }));
3618
3354
  }, []);
3619
- const setCompanies2 = useCallback((companies) => {
3355
+ const setCompanies2 = useCallback2((companies) => {
3620
3356
  setEnvState((prev) => ({
3621
3357
  ...prev,
3622
3358
  companies
3623
3359
  }));
3624
3360
  }, []);
3625
- const setDefaultCompany2 = useCallback(
3361
+ const setDefaultCompany2 = useCallback2(
3626
3362
  (defaultCompany) => {
3627
3363
  setEnvState((prev) => ({
3628
3364
  ...prev,
@@ -3631,19 +3367,19 @@ function EnvProvider({
3631
3367
  },
3632
3368
  []
3633
3369
  );
3634
- const setUserInfo = useCallback((user) => {
3370
+ const setUserInfo = useCallback2((user) => {
3635
3371
  setEnvState((prev) => ({
3636
3372
  ...prev,
3637
3373
  user
3638
3374
  }));
3639
3375
  }, []);
3640
- const setConfig2 = useCallback((config) => {
3376
+ const setConfig2 = useCallback2((config) => {
3641
3377
  setEnvState((prev) => ({
3642
3378
  ...prev,
3643
3379
  config
3644
3380
  }));
3645
3381
  }, []);
3646
- const setEnvFile2 = useCallback((envFile) => {
3382
+ const setEnvFile2 = useCallback2((envFile) => {
3647
3383
  setEnvState((prev) => ({
3648
3384
  ...prev,
3649
3385
  envFile
@@ -3653,7 +3389,7 @@ function EnvProvider({
3653
3389
  EnvContext.Provider,
3654
3390
  {
3655
3391
  value: {
3656
- env: env2,
3392
+ env,
3657
3393
  setupEnv,
3658
3394
  setUid: setUid2,
3659
3395
  setLang: setLang2,