首页轮播图和继续观看可隐藏
This commit is contained in:
+34
-25
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user