sales-frontend-components 0.0.100 → 0.0.101

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.js CHANGED
@@ -21,6 +21,8 @@ var styles$9 = require('./modal/pre-standard/vehicle-search-modal/vehicle-search
21
21
  var styles$a = require('./modal/pre-standard/organization-search-modal/organization-search-modal.module.scss');
22
22
  var styles$b = require('./step-indicator/step-indicator.module.scss');
23
23
  var styles$c = require('./camera/camera.module.scss');
24
+ var salesFrontendStores = require('sales-frontend-stores');
25
+ var salesFrontendBridge = require('sales-frontend-bridge');
24
26
 
25
27
  const FormCheckboxButton = ({
26
28
  name,
@@ -3978,9 +3980,122 @@ const useRemoteIdentityVerificationPopup = (config) => {
3978
3980
  };
3979
3981
  };
3980
3982
 
3983
+ const getFormFactor = () => {
3984
+ const { pathname } = location;
3985
+ if (pathname) {
3986
+ const segments = pathname.split("/").filter(Boolean);
3987
+ if (segments.length >= 2) {
3988
+ const secondSegment = segments[1]?.toLowerCase();
3989
+ if (secondSegment === "mobile") {
3990
+ return "phone";
3991
+ }
3992
+ if (secondSegment === "tablet") {
3993
+ return "tablet";
3994
+ }
3995
+ if (secondSegment === "pc") {
3996
+ return "pc";
3997
+ }
3998
+ }
3999
+ }
4000
+ return salesFrontendUtils.getFormFactorFromUserAgent(navigator.userAgent);
4001
+ };
4002
+ const createPureWebClientSession = async () => {
4003
+ const hasAccessToken = !!salesFrontendUtils.getCookie("accessToken");
4004
+ return {
4005
+ isInitialized: true,
4006
+ isLoggedIn: hasAccessToken,
4007
+ isWebView: false,
4008
+ acceptLanguage: navigator.language || "ko",
4009
+ formFactor: getFormFactor(),
4010
+ deviceId: salesFrontendUtils.getOrCreateDeviceId(),
4011
+ appVersion: salesFrontendUtils.getBrowserVersion(navigator.userAgent),
4012
+ loginType: "web-login",
4013
+ platformName: salesFrontendUtils.getOSName(navigator.userAgent),
4014
+ platformVersion: salesFrontendUtils.getOSVersion(navigator.userAgent),
4015
+ deviceModel: salesFrontendUtils.getDeviceModel(),
4016
+ loginChannel: salesFrontendUtils.isSalesPortal() ? "HMP" : "ETC"
4017
+ };
4018
+ };
4019
+ const createWebviewClientSession = async () => {
4020
+ const isLoggedIn = !!(await salesFrontendBridge.Bridge.native.getAccessToken()).accessToken;
4021
+ return {
4022
+ isInitialized: true,
4023
+ isLoggedIn,
4024
+ isWebView: true,
4025
+ acceptLanguage: "ko",
4026
+ formFactor: salesFrontendUtils.getCookie("formFactor") || getFormFactor(),
4027
+ deviceId: salesFrontendUtils.getCookie("deviceId"),
4028
+ //! App
4029
+ appVersion: salesFrontendUtils.getCookie("appVersion"),
4030
+ loginType: salesFrontendUtils.getCookie("loginType"),
4031
+ platformName: salesFrontendUtils.getCookie("platformName"),
4032
+ platformVersion: salesFrontendUtils.getCookie("platformVersion"),
4033
+ deviceModel: salesFrontendUtils.getCookie("deviceModel"),
4034
+ loginChannel: salesFrontendUtils.getCookie("loginChannel") ?? "MSP"
4035
+ };
4036
+ };
4037
+ const getLoginUserInfo = async () => {
4038
+ try {
4039
+ const { isSuccess, data } = await method.getUserProfile();
4040
+ if (isSuccess && data) {
4041
+ console.log("[useSetupClientSession] \uD504\uB85C\uD544 \uB85C\uB4DC \uC131\uACF5");
4042
+ return data;
4043
+ }
4044
+ console.warn("[getLoginUserInfo] \uD504\uB85C\uD544 \uB85C\uB4DC \uC2E4\uD328: \uC751\uB2F5 \uC5C6\uC74C");
4045
+ return null;
4046
+ } catch (error) {
4047
+ console.error("[getLoginUserInfo] \uD504\uB85C\uD544 \uB85C\uB4DC \uC2E4\uD328:", error);
4048
+ return null;
4049
+ }
4050
+ };
4051
+
4052
+ const useSetupClientSession = () => {
4053
+ const { isInitialized } = salesFrontendStores.useClientSession();
4054
+ const setClientSession = salesFrontendStores.useSetClientSession();
4055
+ React.useEffect(() => {
4056
+ if (isInitialized) {
4057
+ console.log("[useSetupClientSession] Already initialized");
4058
+ return;
4059
+ }
4060
+ const initialize = async () => {
4061
+ try {
4062
+ console.log("[useSetupClientSession] \uCD08\uAE30\uD654 \uC2DC\uC791...");
4063
+ if (salesFrontendUtils.isWebView()) {
4064
+ console.log("[useSetupClientSession] \uC6F9\uBDF0 \uD658\uACBD \uAC10\uC9C0");
4065
+ setClientSession(await createWebviewClientSession());
4066
+ } else {
4067
+ console.log("[useSetupClientSession] \uC21C\uC218 \uC6F9 \uD658\uACBD \uAC10\uC9C0");
4068
+ setClientSession(await createPureWebClientSession());
4069
+ }
4070
+ console.log("[useSetupClientSession] \uAE30\uBCF8 \uC138\uC158 \uC124\uC815 \uC644\uB8CC");
4071
+ if (salesFrontendUtils.getCookie("accessToken")) {
4072
+ console.log("[useSetupClientSession] \uC0AC\uC6A9\uC790 \uD504\uB85C\uD544 \uB85C\uB4DC \uC2DC\uC791...");
4073
+ const userInfo = await getLoginUserInfo();
4074
+ if (userInfo) {
4075
+ setClientSession(userInfo);
4076
+ }
4077
+ }
4078
+ } catch (error) {
4079
+ console.error("[useSetupClientSession] \uCD08\uAE30\uD654 \uC2E4\uD328:", error);
4080
+ }
4081
+ };
4082
+ initialize();
4083
+ }, [isInitialized, setClientSession]);
4084
+ return isInitialized ?? false;
4085
+ };
4086
+
4087
+ const ClientSessionProvider = ({ children, loadingComponent = null }) => {
4088
+ const isInitialized = useSetupClientSession();
4089
+ if (!isInitialized) {
4090
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: loadingComponent });
4091
+ }
4092
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
4093
+ };
4094
+
3981
4095
  exports.Attachment = Attachment;
3982
4096
  exports.BankStockSearchModal = BankStockSearchModal;
3983
4097
  exports.CODES = CODES;
4098
+ exports.ClientSessionProvider = ClientSessionProvider;
3984
4099
  exports.CustomerSearch = CustomerSearch;
3985
4100
  exports.DeaCustomerSearchModal = DeaCustomerSearchModal;
3986
4101
  exports.EmployeeSearchModal = EmployeeSearchModal;
@@ -4011,5 +4126,6 @@ exports.useRemoteIdentityVerificationPopup = useRemoteIdentityVerificationPopup;
4011
4126
  exports.useSearchAddress = useSearchAddress;
4012
4127
  exports.useSearchNationality = useSearchNationality;
4013
4128
  exports.useSearchVisa = useSearchVisa;
4129
+ exports.useSetupClientSession = useSetupClientSession;
4014
4130
  exports.useVisaComponent = useVisaComponent;
4015
4131
  //# sourceMappingURL=index.cjs.js.map