window.addEventListener("popstate", (event) => { })

window.onpopstate = (event) => { }
// popstate 이벤트 리스너 등록
window.addEventListener("popstate", (event) => {
    console.log("현재 활성화된 방문 기록이 변경되었습니다.");

    // 현재 활성화된 방문 기록에 저장된 상태(State) 데이터가 있으면 출력
    if (event.state) {
        console.log("저장된 상태 데이터:", event.state);
    }
});
// 탭 전환 함수
function selectTab(tabName, shouldPushState = true) {
    console.log(`현재 활성화된 탭: ${tabName}`);
    // (실제 화면에서는 이곳에서 탭 콘텐츠를 보여주는 로직이 실행됩니다.)

    // 새로운 방문 기록 항목을 추가하면서 상태 데이터({ tab: tabName })를 저장합니다.
    if (shouldPushState) {
        history.pushState({ tab: tabName }, "", `?tab=${tabName}`);
    }
}

// 브라우저의 방문 기록이 변경되면(뒤로 가기/앞으로 가기) 이전 탭을 복원합니다.
window.addEventListener("popstate", (event) => {
    let tabToRestore = null;

    // 1. 방문 기록에 저장된 상태(State) 데이터가 있는지 확인합니다.
    if (event.state) {
        tabToRestore = event.state.tab; // 저장된 탭 이름 가져오기
    } else {
        tabToRestore = "home"; // 저장된 데이터가 없다면 기본값인 'home'으로 설정
    }

    console.log(`복원할 탭: ${tabToRestore}`);

    // 2. 방문 기록을 새로 추가하지 않고(false), 화면만 이전 탭으로 복원합니다.
    selectTab(tabToRestore, false);
});