diff --git a/src/components/calendar/CalendarSection.tsx b/src/components/calendar/CalendarSection.tsx
index 7050b903..2d443e13 100644
--- a/src/components/calendar/CalendarSection.tsx
+++ b/src/components/calendar/CalendarSection.tsx
@@ -47,28 +47,28 @@ const DayItem = ({
}: DayItemProps) => {
const { currentTheme } = useTheme();
return (
- onPress(date)}
- >
- onPress(date)}
+ >
+
- {date.getDate()}
-
- {hasEvents && (
+ today && styles.todayText,
+ isSelected && styles.selectedDayText
+ ]}>
+ {date.getDate()}
+
+ {hasEvents && (
- )}
-
- );
+ )}
+
+);
};
export const CalendarSection: React.FC = ({
@@ -117,13 +117,13 @@ export const CalendarSection: React.FC = ({
const start = startOfMonth(currentDate);
const end = endOfMonth(currentDate);
const days = eachDayOfInterval({ start, end });
-
+
// Get the day of the week for the first day (0-6)
const firstDayOfWeek = start.getDay();
// Add empty days at the start
const emptyDays = Array(firstDayOfWeek).fill(null);
-
+
// Calculate remaining days to fill the last row
const totalDays = emptyDays.length + days.length;
const remainingDays = 7 - (totalDays % 7);
@@ -135,7 +135,7 @@ export const CalendarSection: React.FC = ({
for (let i = 0; i < allDays.length; i += 7) {
weeks.push(allDays.slice(i, i + 7));
}
-
+
return weeks.map((week, weekIndex) => (
{week.map((day, dayIndex) => {
@@ -201,7 +201,7 @@ export const CalendarSection: React.FC = ({
-
+
{weekDays.map((day, index) => (
= ({
))}
-
+
{renderDays()}
diff --git a/src/screens/NotificationSettingsScreen.tsx b/src/screens/NotificationSettingsScreen.tsx
index 360dfb4b..dda3dcaf 100644
--- a/src/screens/NotificationSettingsScreen.tsx
+++ b/src/screens/NotificationSettingsScreen.tsx
@@ -314,7 +314,7 @@ const NotificationSettingsScreen = () => {
= ({ children, isDarkMode, title }) => {
+const SettingsCard: React.FC = ({ children, title }) => {
const { currentTheme } = useTheme();
return (
@@ -47,14 +45,14 @@ const SettingsCard: React.FC = ({ children, isDarkMode, title
{title && (
{title.toUpperCase()}
)}
{children}
@@ -69,7 +67,6 @@ interface SettingItemProps {
renderControl: () => React.ReactNode;
isLast?: boolean;
onPress?: () => void;
- isDarkMode: boolean;
badge?: string | number;
}
@@ -80,7 +77,6 @@ const SettingItem: React.FC = ({
renderControl,
isLast = false,
onPress,
- isDarkMode,
badge
}) => {
const { currentTheme } = useTheme();
@@ -92,22 +88,22 @@ const SettingItem: React.FC = ({
style={[
styles.settingItem,
!isLast && styles.settingItemBorder,
- { borderBottomColor: isDarkMode ? 'rgba(255,255,255,0.08)' : 'rgba(0,0,0,0.05)' }
+ { borderBottomColor: 'rgba(255,255,255,0.08)' }
]}
>
-
+
{title}
{description && (
-
+
{description}
)}
@@ -127,8 +123,6 @@ const SettingItem: React.FC = ({
const SettingsScreen: React.FC = () => {
const { settings, updateSetting } = useSettings();
- const systemColorScheme = useColorScheme();
- const isDarkMode = systemColorScheme === 'dark' || settings.enableDarkMode;
const navigation = useNavigation>();
const { lastUpdate } = useCatalogContext();
const { isAuthenticated, userProfile } = useTraktContext();
@@ -141,23 +135,6 @@ const SettingsScreen: React.FC = () => {
const [mdblistKeySet, setMdblistKeySet] = useState(false);
const [discoverDataSource, setDiscoverDataSource] = useState(DataSource.STREMIO_ADDONS);
- // Force consistent status bar settings
- useEffect(() => {
- const applyStatusBarConfig = () => {
- StatusBar.setBarStyle('light-content');
- if (Platform.OS === 'android') {
- StatusBar.setTranslucent(true);
- StatusBar.setBackgroundColor('transparent');
- }
- };
-
- applyStatusBarConfig();
-
- // Re-apply on focus
- const unsubscribe = navigation.addListener('focus', applyStatusBarConfig);
- return unsubscribe;
- }, [navigation]);
-
const loadData = useCallback(async () => {
try {
// Load addon count and get their catalogs
@@ -236,9 +213,9 @@ const SettingsScreen: React.FC = () => {
);
@@ -246,7 +223,7 @@ const SettingsScreen: React.FC = () => {
);
@@ -264,52 +241,51 @@ const SettingsScreen: React.FC = () => {
return (
- {/* Fixed position header background to prevent shifts */}
-
-
+
- {/* Header Section with proper top spacing */}
-
+
Settings
-
- Reset
-
- {/* Content Container */}
-
+
navigation.navigate('TraktSettings')}
+ isLast={false}
+ />
+
+
+
+ navigation.navigate('ThemeSettings')}
isLast={true}
/>
-
+
navigation.navigate('Calendar')}
- isDarkMode={isDarkMode}
/>
{
icon="notifications"
renderControl={ChevronRight}
onPress={() => navigation.navigate('NotificationSettings')}
- isDarkMode={isDarkMode}
isLast={true}
/>
-
+
navigation.navigate('Addons')}
badge={addonCount}
@@ -336,7 +310,6 @@ const SettingsScreen: React.FC = () => {
title="Catalogs"
description="Configure content sources"
icon="view-list"
- isDarkMode={isDarkMode}
renderControl={ChevronRight}
onPress={() => navigation.navigate('CatalogSettings')}
badge={catalogCount}
@@ -345,23 +318,20 @@ const SettingsScreen: React.FC = () => {
title="Home Screen"
description="Customize layout and content"
icon="home"
- isDarkMode={isDarkMode}
renderControl={ChevronRight}
onPress={() => navigation.navigate('HomeScreenSettings')}
/>
navigation.navigate('MDBListSettings')}
/>
navigation.navigate('LogoSourceSettings')}
/>
@@ -369,14 +339,13 @@ const SettingsScreen: React.FC = () => {
title="TMDB"
description="API & Metadata Settings"
icon="movie-filter"
- isDarkMode={isDarkMode}
renderControl={ChevronRight}
onPress={() => navigation.navigate('TMDBSettings')}
isLast={true}
/>
-
+
{
: (settings.useExternalPlayer ? 'External Player' : 'Built-in Player')
}
icon="play-arrow"
- isDarkMode={isDarkMode}
renderControl={ChevronRight}
onPress={() => navigation.navigate('PlayerSettings')}
isLast={true}
/>
-
+
(
{
/>
-
- (
- updateSetting('enableDarkMode', value)}
- />
- )}
- isDarkMode={isDarkMode}
- />
- navigation.navigate('ThemeSettings')}
- isDarkMode={isDarkMode}
- isLast
- />
-
-
-
+
Version 1.0.0
@@ -484,18 +427,6 @@ const styles = StyleSheet.create({
container: {
flex: 1,
},
- headerBackground: {
- position: 'absolute',
- top: 0,
- left: 0,
- right: 0,
- zIndex: 1,
- },
- contentContainer: {
- flex: 1,
- zIndex: 1,
- width: '100%',
- },
header: {
paddingHorizontal: 20,
flexDirection: 'row',
@@ -510,13 +441,10 @@ const styles = StyleSheet.create({
fontWeight: '800',
letterSpacing: 0.3,
},
- resetButton: {
- paddingVertical: 8,
- paddingHorizontal: 12,
- },
- resetButtonText: {
- fontSize: 16,
- fontWeight: '600',
+ contentContainer: {
+ flex: 1,
+ zIndex: 1,
+ width: '100%',
},
scrollView: {
flex: 1,
@@ -577,11 +505,6 @@ const styles = StyleSheet.create({
settingTextContainer: {
flex: 1,
},
- settingTitleRow: {
- flexDirection: 'row',
- justifyContent: 'space-between',
- alignItems: 'center',
- },
settingTitle: {
fontSize: 16,
fontWeight: '500',