import { isTabBarPage, syncTabBarText } from '@/utils/tabBar'

/**
 * Tab 子页共用：根节点语言 class、导航标题、底部 tab 文案与 i18n 同步
 * 页面需在 data 中提供 navTitleKey，如 'nav.home'
 */
export default {
  data() {
    return {
      layoutKey: 0
    }
  },
  computed: {
    lang() {
      return this.$i18n.locale
    },
    pageRootClass() {
      return this.lang === 'bo' ? 'lang-bo' : 'lang-zh'
    }
  },
  onShow() {
    if (isTabBarPage()) {
      syncTabBarText((k) => this.$t(k))
    }
    const key = this.navTitleKey
    if (key) {
      const p = uni.setNavigationBarTitle({
        title: this.$t(key)
      })
      if (p && typeof p.catch === 'function') {
        p.catch(() => {})
      }
    }
  }
}
