JS를 사용하여 카테고리 이름 가져오기

안녕하세요, 혹시 도움을 주실 수 있는 분이 있을까요?
현재 페이지의 카테고리 이름을 가져와야 합니다.
이 값을 푸터(Footer)나 바디(Body)에 추가할 수 있는 JS 스크립트로 가져와야 하는데요.
여러 가지 해결책을 시도해 봤지만, 사용자의 페이지 전환을 고려할 때 안정적인 결과를 얻지 못했습니다.
최종적으로 얻은 카테고리 이름을 Google Analytics 이벤트로 전달하여 각 카테고리별 방문 횟수를 집계할 계획입니다.

토픽 페이지와 카테고리 페이지 모두에서 일관되게 처리할 방법이 있을 수 있지만, 카테고리 ID를 두 가지 다른 방식으로 가져왔습니다. 카테고리 페이지용 방식은 다음과 같습니다:

<script type="text/discourse-plugin" version="0.8">
const container = Discourse.__container__;
const controller = container.lookup('controller:navigation/category');

api.onPageChange((url, title) => {
  console.log(controller.get("category.id"));
});
</script>

토픽 페이지용 유사한 방식은 다음과 같습니다:

<script type="text/discourse-plugin" version="0.8">
const container = Discourse.__container__;
const controller = container.lookup('controller:topic');

api.onPageChange((url, title) => {
  console.log(controller.get("model.category_id"));
});
</script>

카테고리 페이지 예제에서는 category.name 또는 category.slug를 사용할 수도 있지만, 토픽 모델에서는 category_id만 사용할 수 있으므로 이름을 가져오려면 추가 작업이 필요합니다. 어쨌든 ID가 더 나은 선택일 수 있습니다. 카테고리 이름이나 슬러그가 변경되어도 일관성이 유지되기 때문입니다.

카테고리와 토픽 페이지의 카테고리 ID를 가져오는 데는 성공했지만, FAQ나 다른 페이지로 이동하면 이전 페이지의 카테고리 ID가 여전히 표시됩니다. 이 문제를 어떻게 해결할 수 있을까요?

아래는 제 코드입니다. 동작은 하지만, 저는 JS에 대해 잘 모릅니다.

<script type="text/discourse-plugin" version="0.8">
const container = Discourse.__container__;

api.onPageChange((url, title) => {
    const topic = container.lookup('controller:topic');
    const topic_cat_id = topic.get("model.category_id");
    if(typeof topic_cat_id !== "undefined")
    {
        gtag('event', 'Categories Views Analytics', {
            'event_category': 'Topic Page',
            'event_label': topic_cat_id,
        });
        console.log("Topic " + topic_cat_id);
    } else {
        const category = container.lookup('controller:navigation/category');
        const category_cat_id = category.get("category.id");  
        
        if(typeof category_cat_id !== "undefined") 
        {
            gtag('event', 'Categories Views Analytics', {
                'event_category': 'Category Page',
                'event_label': category_cat_id,
            });  
            console.log("Category " + category_cat_id);
        } else {
            gtag('event', 'Categories Views Analytics', {
                'event_category': 'Other Page',
                'event_label': 'Other Page'
            });              
            console.log("Other");
        }
    }
});
</script>

변수 설정에서 뭔가 잘못되었거나, 다른 유형의 페이지 컨트롤러를 가져와야 하는 것 같습니다.