디버그패널수정 딥링크정보추가

This commit is contained in:
opacity@t-win.kr
2025-08-27 13:58:39 +09:00
parent 127d1565a6
commit 32fd29d888
2 changed files with 47 additions and 5 deletions

View File

@@ -6,6 +6,7 @@ import { off, on } from "@enact/core/dispatcher";
import { pushPanel } from "../actions/panelActions"; import { pushPanel } from "../actions/panelActions";
import * as Config from "../utils/Config"; import * as Config from "../utils/Config";
import KeyCode from "../utils/KeyCode";
const useDebugKey = ({ isLandingPage = false }) => { const useDebugKey = ({ isLandingPage = false }) => {
const panels = useSelector((state) => state.panels.panels); const panels = useSelector((state) => state.panels.panels);
@@ -39,14 +40,34 @@ const useDebugKey = ({ isLandingPage = false }) => {
if (isLandingPage && panels && panels.length > 0) { if (isLandingPage && panels && panels.length > 0) {
return; return;
} }
if (ev && ev.key >= 0 && ev.key <= 9) {
// TV 환경에서는 keyCode를 사용하고, 웹 환경에서는 key를 사용
let keyPressed = null;
// TV 환경 (webOS)에서 리모컨 숫자 키 처리
if (typeof window === "object" && window.PalmSystem) {
// TV 리모컨 숫자 키 코드 (48-57: 0-9)
if (ev.keyCode >= KeyCode.NUM_0 && ev.keyCode <= KeyCode.NUM_9) {
keyPressed = String(ev.keyCode - KeyCode.NUM_0);
}
} else {
// 웹 환경에서 키보드 숫자 키 처리
if (ev && ev.key >= "0" && ev.key <= "9") {
keyPressed = ev.key;
}
}
if (keyPressed !== null) {
if (debugKey.current.length >= Config.DEBUG_KEY.length) { if (debugKey.current.length >= Config.DEBUG_KEY.length) {
debugKey.current.shift(); debugKey.current.shift();
} }
debugKey.current.push(String(ev.key)); debugKey.current.push(keyPressed);
if (debugKey.current.join("") === Config.DEBUG_KEY) { if (debugKey.current.join("") === Config.DEBUG_KEY) {
debugKey.current = []; debugKey.current = [];
dispatch(pushPanel({ name: Config.panel_names.DEBUG_PANEL, panelInfo: {} })); dispatch(
pushPanel({ name: Config.panel_names.DEBUG_PANEL, panelInfo: {} })
);
} }
if (debugKey.current.join("") === Config.TESTPANEL_KEY) { if (debugKey.current.join("") === Config.TESTPANEL_KEY) {
debugKey.current = []; debugKey.current = [];

View File

@@ -24,6 +24,8 @@ export default function DebugPanel({ spotlightId }) {
const appStatus = useSelector((state) => state.common.appStatus); const appStatus = useSelector((state) => state.common.appStatus);
const httpHeader = useSelector((state) => state.common.httpHeader); const httpHeader = useSelector((state) => state.common.httpHeader);
const localSettings = useSelector((state) => state.localSettings); const localSettings = useSelector((state) => state.localSettings);
const deepLinkInfo = useSelector((state) => state.common.deepLinkInfo);
const secondLayerInfo = useSelector((state) => state.common.secondLayerInfo);
const infos = useMemo(() => { const infos = useMemo(() => {
let v = []; let v = [];
v.push({ title: "Version(App)", value: appinfo.version }); v.push({ title: "Version(App)", value: appinfo.version });
@@ -35,8 +37,27 @@ export default function DebugPanel({ spotlightId }) {
v.push({ title: "httpHeader", value: JSON.stringify(httpHeader) }); v.push({ title: "httpHeader", value: JSON.stringify(httpHeader) });
v.push({ title: "href", value: window.location.href }); v.push({ title: "href", value: window.location.href });
v.push({ title: " ", value: " " }); v.push({ title: " ", value: " " });
// DeepLink 관련 정보
v.push({ title: "=== DeepLink Info ===", value: " " });
v.push({
title: "deepLinkInfo",
value: JSON.stringify(deepLinkInfo),
});
v.push({
title: "isDeepLink",
value: String(deepLinkInfo.isDeepLink),
});
v.push({
title: "contentTarget",
value: deepLinkInfo.contentTarget || "N/A",
});
v.push({
title: "secondLayerInfo",
value: JSON.stringify(secondLayerInfo),
});
v.push({ title: " ", value: " " });
return v; return v;
}, [appStatus, httpHeader]); }, [appStatus, httpHeader, deepLinkInfo, secondLayerInfo]);
useEffect(() => { useEffect(() => {
dispatch(setHidePopup()); dispatch(setHidePopup());