From 175127ff09482c8e9a445876e46acb3bddd57adb Mon Sep 17 00:00:00 2001 From: Peifan Li Date: Mon, 22 Dec 2025 16:39:36 -0500 Subject: [PATCH] feat: Add multiple scan paths support & file check function. Refactor imports in cloudScanner.ts. Add location check in Header --- CHANGELOG.md | 11 +++++++++++ frontend/src/components/Header/index.tsx | 25 +++++++++++++----------- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2d4f26..4facff1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Change Log +## v1.6.30 (2025-12-22) + +### Feat + +- feat: Add support for multiple scan paths in cloud storage (31b2d05) +- feat: Add function to check if file exists before upload (2816ea1) + +### Refactor + +- refactor: Reorganize imports in cloudScanner.ts (d96c785) + ## v1.6.29 (2025-12-21) ### Style diff --git a/frontend/src/components/Header/index.tsx b/frontend/src/components/Header/index.tsx index 5cdd78c..e49a679 100644 --- a/frontend/src/components/Header/index.tsx +++ b/frontend/src/components/Header/index.tsx @@ -12,7 +12,7 @@ import { useTheme } from '@mui/material'; import { FormEvent, useEffect, useState } from 'react'; -import { useNavigate } from 'react-router-dom'; +import { useLocation, useNavigate } from 'react-router-dom'; import { useLanguage } from '../../contexts/LanguageContext'; import { useThemeContext } from '../../contexts/ThemeContext'; import { useVideo } from '../../contexts/VideoContext'; @@ -42,6 +42,7 @@ const Header: React.FC = ({ const [websiteName, setWebsiteName] = useState('MyTube'); const [isScrolled, setIsScrolled] = useState(false); const navigate = useNavigate(); + const location = useLocation(); const theme = useTheme(); const { mode: themeMode } = useThemeContext(); const isMobile = useMediaQuery(theme.breakpoints.down('md')); @@ -49,6 +50,8 @@ const Header: React.FC = ({ const { visitorMode } = useVisitorMode(); const { availableTags, selectedTags, handleTagToggle } = useVideo(); + const isSettingsPage = location.pathname.startsWith('/settings'); + useEffect(() => { console.log('Header props:', { activeDownloads, queuedDownloads }); }, [activeDownloads, queuedDownloads]); @@ -156,7 +159,7 @@ const Header: React.FC = ({ const gradientBackground = `linear-gradient(to bottom, ${backgroundColor} 0%, ${alpha(backgroundColor, 0)} 100%)`; // Desktop background: 30% transparent (70% opacity) - const desktopBackgroundColor = !isMobile + const desktopBackgroundColor = !isMobile ? alpha(theme.palette.background.paper, 0.7) : 'background.paper'; @@ -188,7 +191,7 @@ const Header: React.FC = ({ flexDirection: isMobile ? 'column' : 'row', alignItems: isMobile ? 'stretch' : 'center', py: isMobile ? (isScrolled ? 0.5 : 1) : 0, - minHeight: isMobile + minHeight: isMobile ? (isScrolled ? '40px !important' : undefined) : undefined, transition: 'min-height 0.3s ease-in-out, padding 0.3s ease-in-out', @@ -222,12 +225,12 @@ const Header: React.FC = ({ // Full header when at top <> {/* Top Bar for Mobile / Main Bar for Desktop */} - = ({ transition: 'height 0.3s ease-in-out', }} /> - + {/* Scroll to top button - mobile only */} - +