首页轮播图和继续观看可隐藏

This commit is contained in:
mtvpls
2026-01-26 10:29:13 +08:00
parent b3764a7938
commit 24a411c104
2 changed files with 119 additions and 25 deletions
+34 -25
View File
@@ -55,6 +55,8 @@ function HomeClient() {
{ id: 'hotVarietyShows', name: '热门综艺', enabled: true, order: 4 },
{ id: 'upcomingContent', name: '即将上映', enabled: true, order: 5 },
]);
const [homeBannerEnabled, setHomeBannerEnabled] = useState(true);
const [homeContinueWatchingEnabled, setHomeContinueWatchingEnabled] = useState(true);
const [showAnnouncement, setShowAnnouncement] = useState(false);
const [showHttpWarning, setShowHttpWarning] = useState(true);
@@ -63,33 +65,38 @@ function HomeClient() {
const [aiDefaultMessageNoVideo, setAiDefaultMessageNoVideo] = useState('你好!我是MoonTVPlus的AI影视助手。想看什么电影或剧集?需要推荐吗?');
const [sourceSearchEnabled, setSourceSearchEnabled] = useState(true);
// 加载首页模块配置
useEffect(() => {
if (typeof window !== 'undefined') {
const savedHomeModules = localStorage.getItem('homeModules');
if (savedHomeModules) {
try {
setHomeModules(JSON.parse(savedHomeModules));
} catch (error) {
console.error('解析首页模块配置失败:', error);
}
const loadHomeLayoutSettings = () => {
if (typeof window === 'undefined') return;
const savedHomeModules = localStorage.getItem('homeModules');
if (savedHomeModules) {
try {
setHomeModules(JSON.parse(savedHomeModules));
} catch (error) {
console.error('解析首页模块配置失败:', error);
}
}
const savedHomeBannerEnabled = localStorage.getItem('homeBannerEnabled');
if (savedHomeBannerEnabled !== null) {
setHomeBannerEnabled(savedHomeBannerEnabled === 'true');
}
const savedHomeContinueWatchingEnabled = localStorage.getItem('homeContinueWatchingEnabled');
if (savedHomeContinueWatchingEnabled !== null) {
setHomeContinueWatchingEnabled(savedHomeContinueWatchingEnabled === 'true');
}
};
// 加载首页模块配置
useEffect(() => {
loadHomeLayoutSettings();
}, []);
// 监听首页模块配置更新事件
useEffect(() => {
const handleHomeModulesUpdated = () => {
if (typeof window !== 'undefined') {
const savedHomeModules = localStorage.getItem('homeModules');
if (savedHomeModules) {
try {
setHomeModules(JSON.parse(savedHomeModules));
} catch (error) {
console.error('解析首页模块配置失败:', error);
}
}
}
loadHomeLayoutSettings();
};
window.addEventListener('homeModulesUpdated', handleHomeModulesUpdated);
@@ -547,16 +554,18 @@ function HomeClient() {
<PageLayout>
<FireworksCanvas />
{/* TMDB 热门轮播图 */}
<div className='w-full mb-4'>
<BannerCarousel />
</div>
{homeBannerEnabled && (
<div className='w-full mb-4'>
<BannerCarousel />
</div>
)}
<div className='px-2 sm:px-10 pb-4 sm:pb-8 overflow-visible'>
<div className='max-w-[95%] mx-auto'>
{/* 首页内容 */}
<>
{/* 源站寻片和AI问片入口 */}
<div className='flex items-center justify-end gap-2 mb-4'>
<div className={`flex items-center justify-end gap-2 mb-4 ${homeBannerEnabled ? '' : 'mt-[30px]'}`}>
{/* 源站寻片入口 */}
{sourceSearchEnabled && (
<Link href='/source-search'>
@@ -582,7 +591,7 @@ function HomeClient() {
</div>
{/* 继续观看 */}
<ContinueWatching />
{homeContinueWatchingEnabled && <ContinueWatching />}
{/* 根据配置动态渲染首页模块 */}
{homeModules