diff --git a/com.twin.app.shoptime/src/views/MainView/MainView.jsx b/com.twin.app.shoptime/src/views/MainView/MainView.jsx index 6d6ec92e..71d9c275 100644 --- a/com.twin.app.shoptime/src/views/MainView/MainView.jsx +++ b/com.twin.app.shoptime/src/views/MainView/MainView.jsx @@ -892,190 +892,64 @@ export default function MainView({ className, initService }) { 📱 Launch Params: {(() => { - try { - // 항상 모든 정보를 표시 - const windowExists = typeof window === "object"; - const palmSystemExists = windowExists && !!window.PalmSystem; - const launchParamsExists = - palmSystemExists && - window.PalmSystem.launchParams !== undefined; - const launchParamsValue = palmSystemExists - ? window.PalmSystem.launchParams - : null; - const launchParamsType = palmSystemExists - ? typeof window.PalmSystem.launchParams - : "N/A"; + let raw = window.PalmSystem?.launchParams || "{}"; + let parsed = JSON.parse(raw); + let containerFlag = parsed["x-webos-app-container-launch"]; + let finalParams = + containerFlag === true ? parsed.details : parsed; + let contentTarget = finalParams?.contentTarget || "N/A"; - let raw = "N/A"; - let parsed = {}; - let containerFlag = "N/A"; - let finalParams = {}; - let contentTarget = "N/A"; - let parseError = null; + return ( + <> +
+
+ raw (최초 파라미터): +
+
+ {raw} +
+
- // TV에서 launch params가 빈 문자열이거나 null일 수 있음 - if (launchParamsExists && launchParamsValue) { - try { - raw = window.PalmSystem.launchParams; - parsed = JSON.parse(raw); - containerFlag = parsed["x-webos-app-container-launch"]; - finalParams = - containerFlag === true ? parsed.details : parsed; - contentTarget = finalParams.contentTarget; - } catch (e) { - parseError = e.message; - } - } +
+
finalParams:
+
+ {JSON.stringify(finalParams, null, 2)} +
+
- // Redux에서 가져온 contentTarget (비교용) - const reduxContentTarget = deepLinkInfo.contentTarget; - - // getLaunchParams() 함수 결과 확인 - let getLaunchParamsResult = {}; - try { - // helperMethods.js의 getLaunchParams 함수 직접 호출 - if ( - typeof window === "object" && - window.PalmSystem && - window.PalmSystem.launchParams - ) { - getLaunchParamsResult = JSON.parse( - window.PalmSystem.launchParams - ); - if ( - getLaunchParamsResult[ - "x-webos-app-container-launch" - ] === true - ) { - getLaunchParamsResult = getLaunchParamsResult.details; - } - } else { - // localLaunchParams가 반환될 것임 - getLaunchParamsResult = { - source: "localLaunchParams (fallback)", - }; - } - } catch (e) { - getLaunchParamsResult = { error: e.message }; - } - - return ( - <> -
+
+
+ contentTarget:{" "} - webOS환경: {palmSystemExists ? "✓" : "✗"} + {contentTarget || "MISSING"}
- -
-
- raw (최초 파라미터): -
-
- {raw} -
-
- -
- containerFlag: {String(containerFlag)} -
- -
-
initialParse:
-
- {JSON.stringify(parsed, null, 2)} -
-
- -
-
finalParams:
-
- {JSON.stringify(finalParams, null, 2)} -
-
- -
-
- launch contentTarget:{" "} - - {contentTarget || "MISSING"} - -
-
- redux contentTarget:{" "} - - {reduxContentTarget || "MISSING"} - -
-
-
- getLaunchParams() 결과: -
-
- {JSON.stringify(getLaunchParamsResult, null, 2)} -
-
-
- - {parseError && ( -
- Parse Error: {parseError} -
- )} - - ); - } catch (e) { - return ( -
Error: {e.message}
- ); - } +
+ + ); })()}