diff --git a/src/_locales/cmn-CN.yml b/src/_locales/cmn-CN.yml index fa4049cd..1ab8f672 100644 --- a/src/_locales/cmn-CN.yml +++ b/src/_locales/cmn-CN.yml @@ -45,6 +45,7 @@ settings: group_search_bar: 搜索栏 group_recommendation_mode: 推荐模式 group_search_page_mode: 搜索页模式 + group_home_tabs: 首页标签栏 # Settings buttons btn: @@ -123,6 +124,8 @@ settings: settings_shared_with_the_search_page: 与搜索页共用的配置 settings_shared_with_the_search_page_desc: 这些设置都与搜索页共用 search_page_mode_wallpaper_fixed: 将搜索页模式的壁纸固定 + home_tabs_adjustment: 标签栏调整 + home_tabs_adjustment_desc: 第一个激活的 Tab 项是默认界面 # Compatibility # Common diff --git a/src/_locales/en.yml b/src/_locales/en.yml index bc8e7c27..f09a0168 100644 --- a/src/_locales/en.yml +++ b/src/_locales/en.yml @@ -45,6 +45,7 @@ settings: group_search_bar: Search Bar group_recommendation_mode: Recommendation Mode group_search_page_mode: Search Page Mode + group_home_tabs: Home Tabs # Settings buttons btn: @@ -124,6 +125,8 @@ settings: settings_shared_with_the_search_page: Settings shared with the search page settings_shared_with_the_search_page_desc: Those settings are used in common with the search page search_page_mode_wallpaper_fixed: Make the wallpaper of the search page mode fixed + home_tabs_adjustment: Tabs adjustment + home_tabs_adjustment_desc: The first activated tab is the default page # Compatibility # Common diff --git a/src/components/Settings/components/Home.vue b/src/components/Settings/components/Home.vue index b777cb16..1632795f 100644 --- a/src/components/Settings/components/Home.vue +++ b/src/components/Settings/components/Home.vue @@ -2,10 +2,16 @@ import type { Ref } from 'vue' import QRCodeVue from 'qrcode.vue' import { useToast } from 'vue-toastification' +import { useI18n } from 'vue-i18n' +import draggable from 'vuedraggable' import SearchPage from './SearchPage.vue' +import type { HomeTab } from '~/contentScripts/views/Home/types.ts' +import { HomeSubPage } from '~/contentScripts/views/Home/types' import { getTVLoginQRCode, pollTVLoginQRCode, revokeAccessKey } from '~/utils/authProvider' import { accessKey, settings } from '~/logic' +const { t } = useI18n() + const toast = useToast() const showSearchPageModeSharedSettings = ref(false) @@ -95,6 +101,40 @@ function handleCloseSearchPageModeSharedSettings() { showSearchPageModeSharedSettings.value = false preventCloseSettings.value = false } + +const homeTabs = computed((): HomeTab[] => { + return [ + { + label: t('home.for_you'), + value: HomeSubPage.ForYou, + }, + { + label: t('home.following'), + value: HomeSubPage.Following, + }, + { + label: t('home.subscribed_series'), + value: HomeSubPage.SubscribedSeries, + }, + { + label: t('home.trending'), + value: HomeSubPage.Trending, + }, + { + label: t('home.ranking'), + value: HomeSubPage.Ranking, + }, + ] +}) + +function resetHomeTabs() { + settings.value.homePageTabVisibilityList = homeTabs.value.map((tab) => { + return { + page: tab.value, + visible: true, + } + }) +}