@sunggang/ui-lib 0.4.46 → 0.4.47

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.
@@ -465,8 +465,8 @@ var LiffProvider = function(param) {
465
465
  var _useState7 = _sliced_to_array(React.useState(null), 2), loginType = _useState7[0], setLoginType = _useState7[1];
466
466
  // userInfo 的 localStorage key
467
467
  var userInfoStorageKey = "".concat(localStorageKey, "-userInfo");
468
- // liff profile 的 localStorage key
469
- var liffProfileStorageKey = "".concat(localStorageKey, "-liffProfile");
468
+ // liff userInfo 的 localStorage key
469
+ var liffUserInfoStorageKey = "".concat(localStorageKey, "-liffUserInfo");
470
470
  // 從 localStorage 載入 userInfo
471
471
  var loadUserInfoFromStorage = function() {
472
472
  try {
@@ -481,40 +481,36 @@ var LiffProvider = function(param) {
481
481
  }
482
482
  return null;
483
483
  };
484
- // localStorage 載入 LIFF profile
485
- var loadLiffProfileFromStorage = function() {
484
+ // 儲存 userInfo localStorage
485
+ var saveUserInfoToStorage = function(info) {
486
486
  try {
487
- var stored = window.localStorage.getItem(liffProfileStorageKey);
487
+ window.localStorage.setItem(userInfoStorageKey, JSON.stringify(info));
488
+ } catch (err) {
489
+ console.error("儲存 userInfo 失敗:", err);
490
+ }
491
+ };
492
+ // 從 localStorage 載入 LIFF userInfo
493
+ var loadLiffUserInfoFromStorage = function() {
494
+ try {
495
+ var stored = window.localStorage.getItem(liffUserInfoStorageKey);
488
496
  if (stored) {
489
497
  var parsed = JSON.parse(stored);
490
498
  setLiffProfile(parsed);
491
499
  return parsed;
492
500
  }
493
501
  } catch (err) {
494
- console.error("載入 liffProfile 失敗:", err);
502
+ console.error("載入 liffUserInfo 失敗:", err);
495
503
  }
496
504
  return null;
497
505
  };
498
- // 儲存 userInfo 到 localStorage
499
- var saveUserInfoToStorage = React.useCallback(function(info) {
500
- try {
501
- window.localStorage.setItem(userInfoStorageKey, JSON.stringify(info));
502
- } catch (err) {
503
- console.error("儲存 userInfo 失敗:", err);
504
- }
505
- }, [
506
- userInfoStorageKey
507
- ]);
508
- // 儲存 LIFF profile 到 localStorage
509
- var saveLiffProfileToStorage = React.useCallback(function(info) {
506
+ // 儲存 LIFF userInfo 到 localStorage
507
+ var saveLiffUserInfoToStorage = function(info) {
510
508
  try {
511
- window.localStorage.setItem(liffProfileStorageKey, JSON.stringify(info));
509
+ window.localStorage.setItem(liffUserInfoStorageKey, JSON.stringify(info));
512
510
  } catch (err) {
513
- console.error("儲存 liffProfile 失敗:", err);
511
+ console.error("儲存 liffUserInfo 失敗:", err);
514
512
  }
515
- }, [
516
- liffProfileStorageKey
517
- ]);
513
+ };
518
514
  var fetchMemberInfo = function() {
519
515
  var _ref = _async_to_generator(function(token) {
520
516
  var response, err;
@@ -732,7 +728,7 @@ var LiffProvider = function(param) {
732
728
  // 初始化 LIFF
733
729
  var initializeLiff = function() {
734
730
  var _ref = _async_to_generator(function(isValid) {
735
- var _sdk_getAccessToken, _sdk_isLoggedIn, imported, sdk, lineToken, redirectUri, tempFriendship, friendship, friendFlag, error, err;
731
+ var customFetch, liff, originalFetch, profile, lineToken, redirectUri, tempFriendship, friendship, friendFlag, error, err;
736
732
  return _ts_generator(this, function(_state) {
737
733
  switch(_state.label){
738
734
  case 0:
@@ -742,29 +738,48 @@ var LiffProvider = function(param) {
742
738
  ,
743
739
  11
744
740
  ]);
741
+ customFetch = // 自訂 fetch 函數,避免每次請求都改變 URL
742
+ // eslint-disable-next-line no-inner-declarations
743
+ function customFetch(url, options) {
744
+ if (url.toString().startsWith("https://liffsdk.line-scdn.net/xlt/") && url.toString().endsWith(".json")) {
745
+ url = "".concat(url, "?ts=").concat(Math.random());
746
+ }
747
+ return originalFetch(url, options);
748
+ };
745
749
  return [
746
750
  4,
747
- ensureLiffInitialized(isValid)
751
+ Promise.resolve().then(function () { return require('./index.cjs3.js'); })
748
752
  ];
749
753
  case 1:
750
- _state.sent();
754
+ liff = _state.sent().liff;
755
+ originalFetch = window.fetch;
756
+ window.fetch = customFetch;
757
+ if (openInApp && !(liff === null || liff === void 0 ? void 0 : liff.isInClient()) && (liff === null || liff === void 0 ? void 0 : liff.getOS()) !== "web") window.location.href = "line://app/".concat(liffId);
751
758
  return [
752
759
  4,
753
- Promise.resolve().then(function () { return require('./index.cjs3.js'); })
760
+ liff.init({
761
+ liffId: liffId,
762
+ withLoginOnExternalBrowser: false
763
+ })
754
764
  ];
755
765
  case 2:
756
- imported = _state.sent();
757
- sdk = liffObject || imported.liff;
758
- setLiffObject(sdk);
759
- if (sdk.isLoggedIn() && isValid) return [
760
- 2
766
+ _state.sent();
767
+ console.log("LIFF init succeeded.");
768
+ setLiffObject(liff);
769
+ return [
770
+ 4,
771
+ liff.getProfile()
761
772
  ];
762
- lineToken = sdk === null || sdk === void 0 ? void 0 : (_sdk_getAccessToken = sdk.getAccessToken) === null || _sdk_getAccessToken === void 0 ? void 0 : _sdk_getAccessToken.call(sdk);
763
- // 未登入先進行登入(呼叫 login 後立即 return,避免後續執行)
764
- if (!(sdk === null || sdk === void 0 ? void 0 : (_sdk_isLoggedIn = sdk.isLoggedIn) === null || _sdk_isLoggedIn === void 0 ? void 0 : _sdk_isLoggedIn.call(sdk))) {
773
+ case 3:
774
+ profile = _state.sent();
775
+ setLiffProfile(profile);
776
+ saveLiffUserInfoToStorage(profile);
777
+ lineToken = liff === null || liff === void 0 ? void 0 : liff.getAccessToken();
778
+ // 未登入先進行登入
779
+ if (!liff.isLoggedIn()) {
765
780
  redirectUri = customerRedirectUrl || "".concat(window.location.href);
766
781
  if (liffLogin) {
767
- sdk.login({
782
+ liff.login({
768
783
  redirectUri: redirectUri
769
784
  });
770
785
  return [
@@ -774,42 +789,33 @@ var LiffProvider = function(param) {
774
789
  if (loginByUser || ignoreRoute) return [
775
790
  2
776
791
  ];
777
- sdk.login({
792
+ liff.login({
778
793
  redirectUri: redirectUri
779
794
  });
780
- return [
781
- 2
782
- ];
783
795
  }
784
796
  tempFriendship = null;
785
797
  if (!lineToken) return [
786
798
  3,
787
799
  9
788
800
  ];
789
- _state.label = 3;
790
- case 3:
801
+ _state.label = 4;
802
+ case 4:
791
803
  _state.trys.push([
792
- 3,
804
+ 4,
793
805
  6,
794
806
  ,
795
807
  7
796
808
  ]);
797
- if (!(sdk.isLoggedIn && sdk.isLoggedIn())) return [
798
- 3,
799
- 5
800
- ];
801
809
  return [
802
810
  4,
803
- sdk.getFriendship()
811
+ liff.getFriendship()
804
812
  ];
805
- case 4:
813
+ case 5:
806
814
  friendship = _state.sent();
807
815
  friendFlag = friendship === null || friendship === void 0 ? void 0 : friendship.friendFlag;
808
816
  setFriendship(friendFlag);
809
817
  tempFriendship = friendFlag;
810
818
  console.log("isFriendship", friendFlag);
811
- _state.label = 5;
812
- case 5:
813
819
  return [
814
820
  3,
815
821
  7
@@ -857,94 +863,6 @@ var LiffProvider = function(param) {
857
863
  return _ref.apply(this, arguments);
858
864
  };
859
865
  }();
860
- // 確保 LIFF init 只執行一次且在需要時才執行
861
- var ensureLiffInitialized = React.useCallback(function() {
862
- var _ref = _async_to_generator(function(isValid) {
863
- var customFetch, liff, originalFetch, profile, e;
864
- return _ts_generator(this, function(_state) {
865
- switch(_state.label){
866
- case 0:
867
- if (!liffId) {
868
- console.warn("liffId 未提供,跳過 liff.init()。");
869
- return [
870
- 2
871
- ];
872
- }
873
- _state.label = 1;
874
- case 1:
875
- _state.trys.push([
876
- 1,
877
- 5,
878
- ,
879
- 6
880
- ]);
881
- customFetch = // 自訂 fetch 函數,避免每次請求都改變 URL
882
- // eslint-disable-next-line no-inner-declarations
883
- function customFetch(url, options) {
884
- if (url.toString().startsWith("https://liffsdk.line-scdn.net/xlt/") && url.toString().endsWith(".json")) {
885
- url = "".concat(url, "?ts=").concat(Math.random());
886
- }
887
- return originalFetch(url, options);
888
- };
889
- return [
890
- 4,
891
- Promise.resolve().then(function () { return require('./index.cjs3.js'); })
892
- ];
893
- case 2:
894
- liff = _state.sent().liff;
895
- originalFetch = window.fetch;
896
- window.fetch = customFetch;
897
- if (openInApp && !(liff === null || liff === void 0 ? void 0 : liff.isInClient()) && (liff === null || liff === void 0 ? void 0 : liff.getOS()) !== "web") window.location.href = "line://app/".concat(liffId);
898
- if (liff.isLoggedIn() && isValid) {
899
- console.log("LIFF already initialized.");
900
- return [
901
- 2
902
- ];
903
- }
904
- return [
905
- 4,
906
- liff.init({
907
- liffId: liffId,
908
- withLoginOnExternalBrowser: false
909
- })
910
- ];
911
- case 3:
912
- _state.sent();
913
- return [
914
- 4,
915
- liff.getProfile()
916
- ];
917
- case 4:
918
- profile = _state.sent();
919
- setLiffProfile(profile);
920
- saveLiffProfileToStorage(profile);
921
- setLiffObject(liff);
922
- console.log("LIFF initialized.");
923
- return [
924
- 3,
925
- 6
926
- ];
927
- case 5:
928
- e = _state.sent();
929
- console.error("ensureLiffInitialized failed:", e);
930
- return [
931
- 3,
932
- 6
933
- ];
934
- case 6:
935
- return [
936
- 2
937
- ];
938
- }
939
- });
940
- });
941
- return function(isValid) {
942
- return _ref.apply(this, arguments);
943
- };
944
- }(), [
945
- liffId,
946
- openInApp
947
- ]);
948
866
  var accountLogin = function() {
949
867
  var _ref = _async_to_generator(function(username, password) {
950
868
  var response, token, tokenType, finalToken, err;
@@ -1111,10 +1029,10 @@ var LiffProvider = function(param) {
1111
1029
  return trimmed.toLowerCase().startsWith("bearer ") ? trimmed : "Bearer ".concat(trimmed);
1112
1030
  };
1113
1031
  var searchParams = typeof window !== "undefined" ? new URLSearchParams(window.location.search) : null;
1114
- // 初始載入時從 localStorage 載入 userInfo 與 LIFF profile
1032
+ // 初始載入時從 localStorage 載入 userInfo
1115
1033
  React.useEffect(function() {
1116
1034
  loadUserInfoFromStorage();
1117
- loadLiffProfileFromStorage();
1035
+ loadLiffUserInfoFromStorage();
1118
1036
  }, []);
1119
1037
  // 客戶端初始化 LIFF
1120
1038
  React.useEffect(function() {
@@ -1192,21 +1110,34 @@ var LiffProvider = function(param) {
1192
1110
  }();
1193
1111
  checkAndInitialize();
1194
1112
  }, []);
1195
- var contextValue = {
1196
- liffObject: liffObject,
1197
- loginData: loginData,
1198
- userInfo: userInfo,
1199
- accessToken: accessToken,
1200
- liffError: liffError,
1201
- initializeLiff: function() {
1202
- return initializeLiff(false);
1203
- },
1204
- liffProfile: liffProfile,
1205
- isFriendship: isFriendship,
1206
- ensureLiffTokenValid: ensureLiffTokenValid,
1207
- accountLogin: accountLogin,
1208
- loginType: loginType
1209
- };
1113
+ var contextValue = React.useMemo(function() {
1114
+ return {
1115
+ liffObject: liffObject,
1116
+ loginData: loginData,
1117
+ userInfo: userInfo,
1118
+ accessToken: accessToken,
1119
+ liffError: liffError,
1120
+ initializeLiff: function() {
1121
+ return initializeLiff(false);
1122
+ },
1123
+ isFriendship: isFriendship,
1124
+ ensureLiffTokenValid: ensureLiffTokenValid,
1125
+ accountLogin: accountLogin,
1126
+ loginType: loginType,
1127
+ liffProfile: liffProfile
1128
+ };
1129
+ }, [
1130
+ liffObject,
1131
+ loginData,
1132
+ userInfo,
1133
+ accessToken,
1134
+ liffError,
1135
+ isFriendship,
1136
+ ensureLiffTokenValid,
1137
+ accountLogin,
1138
+ loginType,
1139
+ liffProfile
1140
+ ]);
1210
1141
  return /*#__PURE__*/ jsxRuntime.jsx(LiffContext.Provider, {
1211
1142
  value: contextValue,
1212
1143
  children: children
@@ -1,5 +1,5 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { createContext, useState, useCallback, useEffect, useContext } from 'react';
2
+ import { createContext, useState, useCallback, useEffect, useMemo, useContext } from 'react';
3
3
 
4
4
  function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
5
5
  try {
@@ -461,8 +461,8 @@ var LiffProvider = function(param) {
461
461
  var _useState7 = _sliced_to_array(useState(null), 2), loginType = _useState7[0], setLoginType = _useState7[1];
462
462
  // userInfo 的 localStorage key
463
463
  var userInfoStorageKey = "".concat(localStorageKey, "-userInfo");
464
- // liff profile 的 localStorage key
465
- var liffProfileStorageKey = "".concat(localStorageKey, "-liffProfile");
464
+ // liff userInfo 的 localStorage key
465
+ var liffUserInfoStorageKey = "".concat(localStorageKey, "-liffUserInfo");
466
466
  // 從 localStorage 載入 userInfo
467
467
  var loadUserInfoFromStorage = function() {
468
468
  try {
@@ -477,40 +477,36 @@ var LiffProvider = function(param) {
477
477
  }
478
478
  return null;
479
479
  };
480
- // localStorage 載入 LIFF profile
481
- var loadLiffProfileFromStorage = function() {
480
+ // 儲存 userInfo localStorage
481
+ var saveUserInfoToStorage = function(info) {
482
482
  try {
483
- var stored = window.localStorage.getItem(liffProfileStorageKey);
483
+ window.localStorage.setItem(userInfoStorageKey, JSON.stringify(info));
484
+ } catch (err) {
485
+ console.error("儲存 userInfo 失敗:", err);
486
+ }
487
+ };
488
+ // 從 localStorage 載入 LIFF userInfo
489
+ var loadLiffUserInfoFromStorage = function() {
490
+ try {
491
+ var stored = window.localStorage.getItem(liffUserInfoStorageKey);
484
492
  if (stored) {
485
493
  var parsed = JSON.parse(stored);
486
494
  setLiffProfile(parsed);
487
495
  return parsed;
488
496
  }
489
497
  } catch (err) {
490
- console.error("載入 liffProfile 失敗:", err);
498
+ console.error("載入 liffUserInfo 失敗:", err);
491
499
  }
492
500
  return null;
493
501
  };
494
- // 儲存 userInfo 到 localStorage
495
- var saveUserInfoToStorage = useCallback(function(info) {
496
- try {
497
- window.localStorage.setItem(userInfoStorageKey, JSON.stringify(info));
498
- } catch (err) {
499
- console.error("儲存 userInfo 失敗:", err);
500
- }
501
- }, [
502
- userInfoStorageKey
503
- ]);
504
- // 儲存 LIFF profile 到 localStorage
505
- var saveLiffProfileToStorage = useCallback(function(info) {
502
+ // 儲存 LIFF userInfo 到 localStorage
503
+ var saveLiffUserInfoToStorage = function(info) {
506
504
  try {
507
- window.localStorage.setItem(liffProfileStorageKey, JSON.stringify(info));
505
+ window.localStorage.setItem(liffUserInfoStorageKey, JSON.stringify(info));
508
506
  } catch (err) {
509
- console.error("儲存 liffProfile 失敗:", err);
507
+ console.error("儲存 liffUserInfo 失敗:", err);
510
508
  }
511
- }, [
512
- liffProfileStorageKey
513
- ]);
509
+ };
514
510
  var fetchMemberInfo = function() {
515
511
  var _ref = _async_to_generator(function(token) {
516
512
  var response, err;
@@ -728,7 +724,7 @@ var LiffProvider = function(param) {
728
724
  // 初始化 LIFF
729
725
  var initializeLiff = function() {
730
726
  var _ref = _async_to_generator(function(isValid) {
731
- var _sdk_getAccessToken, _sdk_isLoggedIn, imported, sdk, lineToken, redirectUri, tempFriendship, friendship, friendFlag, error, err;
727
+ var customFetch, liff, originalFetch, profile, lineToken, redirectUri, tempFriendship, friendship, friendFlag, error, err;
732
728
  return _ts_generator(this, function(_state) {
733
729
  switch(_state.label){
734
730
  case 0:
@@ -738,29 +734,48 @@ var LiffProvider = function(param) {
738
734
  ,
739
735
  11
740
736
  ]);
737
+ customFetch = // 自訂 fetch 函數,避免每次請求都改變 URL
738
+ // eslint-disable-next-line no-inner-declarations
739
+ function customFetch(url, options) {
740
+ if (url.toString().startsWith("https://liffsdk.line-scdn.net/xlt/") && url.toString().endsWith(".json")) {
741
+ url = "".concat(url, "?ts=").concat(Math.random());
742
+ }
743
+ return originalFetch(url, options);
744
+ };
741
745
  return [
742
746
  4,
743
- ensureLiffInitialized(isValid)
747
+ import('./index.esm3.js')
744
748
  ];
745
749
  case 1:
746
- _state.sent();
750
+ liff = _state.sent().liff;
751
+ originalFetch = window.fetch;
752
+ window.fetch = customFetch;
753
+ if (openInApp && !(liff === null || liff === void 0 ? void 0 : liff.isInClient()) && (liff === null || liff === void 0 ? void 0 : liff.getOS()) !== "web") window.location.href = "line://app/".concat(liffId);
747
754
  return [
748
755
  4,
749
- import('./index.esm3.js')
756
+ liff.init({
757
+ liffId: liffId,
758
+ withLoginOnExternalBrowser: false
759
+ })
750
760
  ];
751
761
  case 2:
752
- imported = _state.sent();
753
- sdk = liffObject || imported.liff;
754
- setLiffObject(sdk);
755
- if (sdk.isLoggedIn() && isValid) return [
756
- 2
762
+ _state.sent();
763
+ console.log("LIFF init succeeded.");
764
+ setLiffObject(liff);
765
+ return [
766
+ 4,
767
+ liff.getProfile()
757
768
  ];
758
- lineToken = sdk === null || sdk === void 0 ? void 0 : (_sdk_getAccessToken = sdk.getAccessToken) === null || _sdk_getAccessToken === void 0 ? void 0 : _sdk_getAccessToken.call(sdk);
759
- // 未登入先進行登入(呼叫 login 後立即 return,避免後續執行)
760
- if (!(sdk === null || sdk === void 0 ? void 0 : (_sdk_isLoggedIn = sdk.isLoggedIn) === null || _sdk_isLoggedIn === void 0 ? void 0 : _sdk_isLoggedIn.call(sdk))) {
769
+ case 3:
770
+ profile = _state.sent();
771
+ setLiffProfile(profile);
772
+ saveLiffUserInfoToStorage(profile);
773
+ lineToken = liff === null || liff === void 0 ? void 0 : liff.getAccessToken();
774
+ // 未登入先進行登入
775
+ if (!liff.isLoggedIn()) {
761
776
  redirectUri = customerRedirectUrl || "".concat(window.location.href);
762
777
  if (liffLogin) {
763
- sdk.login({
778
+ liff.login({
764
779
  redirectUri: redirectUri
765
780
  });
766
781
  return [
@@ -770,42 +785,33 @@ var LiffProvider = function(param) {
770
785
  if (loginByUser || ignoreRoute) return [
771
786
  2
772
787
  ];
773
- sdk.login({
788
+ liff.login({
774
789
  redirectUri: redirectUri
775
790
  });
776
- return [
777
- 2
778
- ];
779
791
  }
780
792
  tempFriendship = null;
781
793
  if (!lineToken) return [
782
794
  3,
783
795
  9
784
796
  ];
785
- _state.label = 3;
786
- case 3:
797
+ _state.label = 4;
798
+ case 4:
787
799
  _state.trys.push([
788
- 3,
800
+ 4,
789
801
  6,
790
802
  ,
791
803
  7
792
804
  ]);
793
- if (!(sdk.isLoggedIn && sdk.isLoggedIn())) return [
794
- 3,
795
- 5
796
- ];
797
805
  return [
798
806
  4,
799
- sdk.getFriendship()
807
+ liff.getFriendship()
800
808
  ];
801
- case 4:
809
+ case 5:
802
810
  friendship = _state.sent();
803
811
  friendFlag = friendship === null || friendship === void 0 ? void 0 : friendship.friendFlag;
804
812
  setFriendship(friendFlag);
805
813
  tempFriendship = friendFlag;
806
814
  console.log("isFriendship", friendFlag);
807
- _state.label = 5;
808
- case 5:
809
815
  return [
810
816
  3,
811
817
  7
@@ -853,94 +859,6 @@ var LiffProvider = function(param) {
853
859
  return _ref.apply(this, arguments);
854
860
  };
855
861
  }();
856
- // 確保 LIFF init 只執行一次且在需要時才執行
857
- var ensureLiffInitialized = useCallback(function() {
858
- var _ref = _async_to_generator(function(isValid) {
859
- var customFetch, liff, originalFetch, profile, e;
860
- return _ts_generator(this, function(_state) {
861
- switch(_state.label){
862
- case 0:
863
- if (!liffId) {
864
- console.warn("liffId 未提供,跳過 liff.init()。");
865
- return [
866
- 2
867
- ];
868
- }
869
- _state.label = 1;
870
- case 1:
871
- _state.trys.push([
872
- 1,
873
- 5,
874
- ,
875
- 6
876
- ]);
877
- customFetch = // 自訂 fetch 函數,避免每次請求都改變 URL
878
- // eslint-disable-next-line no-inner-declarations
879
- function customFetch(url, options) {
880
- if (url.toString().startsWith("https://liffsdk.line-scdn.net/xlt/") && url.toString().endsWith(".json")) {
881
- url = "".concat(url, "?ts=").concat(Math.random());
882
- }
883
- return originalFetch(url, options);
884
- };
885
- return [
886
- 4,
887
- import('./index.esm3.js')
888
- ];
889
- case 2:
890
- liff = _state.sent().liff;
891
- originalFetch = window.fetch;
892
- window.fetch = customFetch;
893
- if (openInApp && !(liff === null || liff === void 0 ? void 0 : liff.isInClient()) && (liff === null || liff === void 0 ? void 0 : liff.getOS()) !== "web") window.location.href = "line://app/".concat(liffId);
894
- if (liff.isLoggedIn() && isValid) {
895
- console.log("LIFF already initialized.");
896
- return [
897
- 2
898
- ];
899
- }
900
- return [
901
- 4,
902
- liff.init({
903
- liffId: liffId,
904
- withLoginOnExternalBrowser: false
905
- })
906
- ];
907
- case 3:
908
- _state.sent();
909
- return [
910
- 4,
911
- liff.getProfile()
912
- ];
913
- case 4:
914
- profile = _state.sent();
915
- setLiffProfile(profile);
916
- saveLiffProfileToStorage(profile);
917
- setLiffObject(liff);
918
- console.log("LIFF initialized.");
919
- return [
920
- 3,
921
- 6
922
- ];
923
- case 5:
924
- e = _state.sent();
925
- console.error("ensureLiffInitialized failed:", e);
926
- return [
927
- 3,
928
- 6
929
- ];
930
- case 6:
931
- return [
932
- 2
933
- ];
934
- }
935
- });
936
- });
937
- return function(isValid) {
938
- return _ref.apply(this, arguments);
939
- };
940
- }(), [
941
- liffId,
942
- openInApp
943
- ]);
944
862
  var accountLogin = function() {
945
863
  var _ref = _async_to_generator(function(username, password) {
946
864
  var response, token, tokenType, finalToken, err;
@@ -1107,10 +1025,10 @@ var LiffProvider = function(param) {
1107
1025
  return trimmed.toLowerCase().startsWith("bearer ") ? trimmed : "Bearer ".concat(trimmed);
1108
1026
  };
1109
1027
  var searchParams = typeof window !== "undefined" ? new URLSearchParams(window.location.search) : null;
1110
- // 初始載入時從 localStorage 載入 userInfo 與 LIFF profile
1028
+ // 初始載入時從 localStorage 載入 userInfo
1111
1029
  useEffect(function() {
1112
1030
  loadUserInfoFromStorage();
1113
- loadLiffProfileFromStorage();
1031
+ loadLiffUserInfoFromStorage();
1114
1032
  }, []);
1115
1033
  // 客戶端初始化 LIFF
1116
1034
  useEffect(function() {
@@ -1188,21 +1106,34 @@ var LiffProvider = function(param) {
1188
1106
  }();
1189
1107
  checkAndInitialize();
1190
1108
  }, []);
1191
- var contextValue = {
1192
- liffObject: liffObject,
1193
- loginData: loginData,
1194
- userInfo: userInfo,
1195
- accessToken: accessToken,
1196
- liffError: liffError,
1197
- initializeLiff: function() {
1198
- return initializeLiff(false);
1199
- },
1200
- liffProfile: liffProfile,
1201
- isFriendship: isFriendship,
1202
- ensureLiffTokenValid: ensureLiffTokenValid,
1203
- accountLogin: accountLogin,
1204
- loginType: loginType
1205
- };
1109
+ var contextValue = useMemo(function() {
1110
+ return {
1111
+ liffObject: liffObject,
1112
+ loginData: loginData,
1113
+ userInfo: userInfo,
1114
+ accessToken: accessToken,
1115
+ liffError: liffError,
1116
+ initializeLiff: function() {
1117
+ return initializeLiff(false);
1118
+ },
1119
+ isFriendship: isFriendship,
1120
+ ensureLiffTokenValid: ensureLiffTokenValid,
1121
+ accountLogin: accountLogin,
1122
+ loginType: loginType,
1123
+ liffProfile: liffProfile
1124
+ };
1125
+ }, [
1126
+ liffObject,
1127
+ loginData,
1128
+ userInfo,
1129
+ accessToken,
1130
+ liffError,
1131
+ isFriendship,
1132
+ ensureLiffTokenValid,
1133
+ accountLogin,
1134
+ loginType,
1135
+ liffProfile
1136
+ ]);
1206
1137
  return /*#__PURE__*/ jsx(LiffContext.Provider, {
1207
1138
  value: contextValue,
1208
1139
  children: children
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunggang/ui-lib",
3
- "version": "0.4.46",
3
+ "version": "0.4.47",
4
4
  "sideEffects": [
5
5
  "*.css",
6
6
  "./src/style.css",
@@ -3,11 +3,9 @@ type LiffContextType = {
3
3
  liffObject: any;
4
4
  loginData: any;
5
5
  userInfo?: any;
6
- liffProfile?: any;
7
6
  accessToken: string;
8
7
  liffError: string | null;
9
8
  initializeLiff: () => Promise<void>;
10
- getLiffProfile: () => Promise<any | null>;
11
9
  isFriendship: boolean | null;
12
10
  ensureLiffTokenValid: () => Promise<boolean>;
13
11
  loginType: string | null;