Compare commits

..

1 Commits

Author SHA1 Message Date
renovate[bot]
f431079d98 chore(deps): Update github/codeql-action action to v4.32.0 2026-01-26 20:05:46 +00:00
15 changed files with 30 additions and 73 deletions

View File

@@ -27,13 +27,13 @@ jobs:
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: 🏁 Initialize CodeQL - name: 🏁 Initialize CodeQL
uses: github/codeql-action/init@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10 uses: github/codeql-action/init@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0
with: with:
languages: ${{ matrix.language }} languages: ${{ matrix.language }}
queries: +security-extended,security-and-quality queries: +security-extended,security-and-quality
- name: 🛠️ Autobuild - name: 🛠️ Autobuild
uses: github/codeql-action/autobuild@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10 uses: github/codeql-action/autobuild@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0
- name: 🧪 Perform CodeQL Analysis - name: 🧪 Perform CodeQL Analysis
uses: github/codeql-action/analyze@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v4.31.10 uses: github/codeql-action/analyze@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0

View File

@@ -144,10 +144,7 @@ export const Button: React.FC<PropsWithChildren<ButtonProps>> = ({
${colorClasses} ${colorClasses}
${className}`} ${className}`}
> >
<Text <Text className={`${textColorClass} text-xl font-bold`}>
className={`${textColorClass} text-xl font-bold`}
ellipsizeMode='tail'
>
{children} {children}
</Text> </Text>
</View> </View>
@@ -189,7 +186,6 @@ export const Button: React.FC<PropsWithChildren<ButtonProps>> = ({
${iconRight ? "mr-2" : ""} ${iconRight ? "mr-2" : ""}
${iconLeft ? "ml-2" : ""} ${iconLeft ? "ml-2" : ""}
`} `}
ellipsizeMode='tail'
> >
{children} {children}
</Text> </Text>

View File

@@ -17,7 +17,7 @@ const JellyfinServerDiscovery: React.FC<Props> = ({ onServerSelect }) => {
return ( return (
<View className='mt-2'> <View className='mt-2'>
<Button onPress={startDiscovery} color='black'> <Button onPress={startDiscovery} color='black'>
<Text maxFontSizeMultiplier={1.2} className='text-white text-center'> <Text className='text-white text-center'>
{isSearching {isSearching
? t("server.searching") ? t("server.searching")
: t("server.search_for_local_servers")} : t("server.search_for_local_servers")}

View File

@@ -532,24 +532,18 @@ export const PlayButton: React.FC<Props> = ({
className='flex flex-row items-center justify-center bg-transparent rounded-full z-20 h-12 w-full ' className='flex flex-row items-center justify-center bg-transparent rounded-full z-20 h-12 w-full '
> >
<View className='flex flex-row items-center space-x-2'> <View className='flex flex-row items-center space-x-2'>
<Animated.Text <Animated.Text style={[animatedTextStyle, { fontWeight: "bold" }]}>
style={[animatedTextStyle, { fontWeight: "bold" }]}
maxFontSizeMultiplier={1.2}
>
{runtimeTicksToMinutes( {runtimeTicksToMinutes(
(item?.RunTimeTicks || 0) - (item?.RunTimeTicks || 0) -
(item?.UserData?.PlaybackPositionTicks || 0), (item?.UserData?.PlaybackPositionTicks || 0),
)} )}
{(item?.UserData?.PlaybackPositionTicks || 0) > 0 && " left"} {(item?.UserData?.PlaybackPositionTicks || 0) > 0 && " left"}
</Animated.Text> </Animated.Text>
<Animated.Text style={animatedTextStyle} maxFontSizeMultiplier={1.2}> <Animated.Text style={animatedTextStyle}>
<Ionicons name='play-circle' size={24} /> <Ionicons name='play-circle' size={24} />
</Animated.Text> </Animated.Text>
{client && ( {client && (
<Animated.Text <Animated.Text style={animatedTextStyle}>
style={animatedTextStyle}
maxFontSizeMultiplier={1.2}
>
<Feather name='cast' size={22} /> <Feather name='cast' size={22} />
<CastButton tintColor='transparent' /> <CastButton tintColor='transparent' />
</Animated.Text> </Animated.Text>

View File

@@ -198,13 +198,10 @@ export const PlayButton: React.FC<Props> = ({
className='flex flex-row items-center justify-center bg-transparent rounded-xl z-20 h-12 w-full ' className='flex flex-row items-center justify-center bg-transparent rounded-xl z-20 h-12 w-full '
> >
<View className='flex flex-row items-center space-x-2'> <View className='flex flex-row items-center space-x-2'>
<Animated.Text <Animated.Text style={[animatedTextStyle, { fontWeight: "bold" }]}>
style={[animatedTextStyle, { fontWeight: "bold" }]}
maxFontSizeMultiplier={1.2}
>
{runtimeTicksToMinutes(item?.RunTimeTicks)} {runtimeTicksToMinutes(item?.RunTimeTicks)}
</Animated.Text> </Animated.Text>
<Animated.Text style={animatedTextStyle} maxFontSizeMultiplier={1.2}> <Animated.Text style={animatedTextStyle}>
<Ionicons name='play-circle' size={24} /> <Ionicons name='play-circle' size={24} />
</Animated.Text> </Animated.Text>
</View> </View>

View File

@@ -13,7 +13,6 @@ export function ThemedText({
}: ThemedTextProps) { }: ThemedTextProps) {
return ( return (
<Text <Text
maxFontSizeMultiplier={1.3}
style={[ style={[
{ color: "white" }, { color: "white" },
type === "default" ? styles.default : undefined, type === "default" ? styles.default : undefined,

View File

@@ -736,7 +736,6 @@ export const AppleTVCarousel: React.FC<AppleTVCarouselProps> = ({
> >
<TouchableOpacity onPress={() => navigateToItem(item)}> <TouchableOpacity onPress={() => navigateToItem(item)}>
<Animated.Text <Animated.Text
maxFontSizeMultiplier={1.2}
style={{ style={{
color: `rgba(255, 255, 255, ${TEXT_OPACITY})`, color: `rgba(255, 255, 255, ${TEXT_OPACITY})`,
fontSize: GENRES_FONT_SIZE, fontSize: GENRES_FONT_SIZE,
@@ -802,7 +801,6 @@ export const AppleTVCarousel: React.FC<AppleTVCarouselProps> = ({
> >
<TouchableOpacity onPress={() => navigateToItem(item)}> <TouchableOpacity onPress={() => navigateToItem(item)}>
<Animated.Text <Animated.Text
maxFontSizeMultiplier={1.2}
numberOfLines={OVERVIEW_MAX_LINES} numberOfLines={OVERVIEW_MAX_LINES}
style={{ style={{
color: `rgba(255, 255, 255, ${TEXT_OPACITY * 0.85})`, color: `rgba(255, 255, 255, ${TEXT_OPACITY * 0.85})`,

View File

@@ -27,7 +27,7 @@ export function Input(props: InputProps) {
${isFocused ? "bg-neutral-700 border-2 border-white" : "bg-neutral-900 border-2 border-transparent"} ${isFocused ? "bg-neutral-700 border-2 border-white" : "bg-neutral-900 border-2 border-transparent"}
text-white ${extraClassName} text-white ${extraClassName}
`} `}
maxFontSizeMultiplier={1.2} allowFontScaling={false}
style={[ style={[
style, style,
{ {
@@ -45,7 +45,7 @@ export function Input(props: InputProps) {
<TextInput <TextInput
ref={inputRef} ref={inputRef}
className='p-4 rounded-xl bg-neutral-900' className='p-4 rounded-xl bg-neutral-900'
maxFontSizeMultiplier={1.2} allowFontScaling={false}
style={[{ color: "white" }, style]} style={[{ color: "white" }, style]}
placeholderTextColor={"#9CA3AF"} placeholderTextColor={"#9CA3AF"}
clearButtonMode='while-editing' clearButtonMode='while-editing'

View File

@@ -19,9 +19,7 @@ export const SectionHeader: React.FC<Props> = ({
return ( return (
<View className='px-4 flex flex-row items-center justify-between mb-2'> <View className='px-4 flex flex-row items-center justify-between mb-2'>
<Text className='text-lg font-bold text-neutral-100' ellipsizeMode='tail'> <Text className='text-lg font-bold text-neutral-100'>{title}</Text>
{title}
</Text>
{shouldShowAction && ( {shouldShowAction && (
<TouchableOpacity <TouchableOpacity
onPress={onPressAction} onPress={onPressAction}
@@ -31,7 +29,6 @@ export const SectionHeader: React.FC<Props> = ({
className='py-1 pl-3' className='py-1 pl-3'
> >
<Text <Text
ellipsizeMode='tail'
style={{ style={{
color: actionDisabled ? "rgba(255,255,255,0.4)" : Colors.primary, color: actionDisabled ? "rgba(255,255,255,0.4)" : Colors.primary,
}} }}

View File

@@ -4,7 +4,7 @@ export function Text(props: TextProps) {
if (Platform.isTV) if (Platform.isTV)
return ( return (
<RNText <RNText
maxFontSizeMultiplier={1.3} allowFontScaling={false}
style={[{ color: "white" }, style]} style={[{ color: "white" }, style]}
{...otherProps} {...otherProps}
/> />
@@ -12,7 +12,7 @@ export function Text(props: TextProps) {
return ( return (
<RNText <RNText
maxFontSizeMultiplier={1.3} allowFontScaling={false}
style={[{ color: "white" }, style]} style={[{ color: "white" }, style]}
{...otherProps} {...otherProps}
/> />

View File

@@ -175,16 +175,10 @@ export const Favorites = () => {
contentFit='contain' contentFit='contain'
source={heart} source={heart}
/> />
<Text <Text className='text-xl font-semibold text-white mb-2'>
maxFontSizeMultiplier={1.2}
className='text-xl font-semibold text-white mb-2'
>
{t("favorites.noDataTitle")} {t("favorites.noDataTitle")}
</Text> </Text>
<Text <Text className='text-base text-white/70 text-center max-w-xs px-4'>
maxFontSizeMultiplier={1.2}
className='text-base text-white/70 text-center max-w-xs px-4'
>
{t("favorites.noData")} {t("favorites.noData")}
</Text> </Text>
</View> </View>

View File

@@ -11,12 +11,12 @@ export const KefinTweaksSettings = () => {
return ( return (
<View className=''> <View className=''>
<View className='flex flex-col rounded-xl overflow-hidden p-4 bg-neutral-900'> <View className='flex flex-col rounded-xl overflow-hidden p-4 bg-neutral-900'>
<Text maxFontSizeMultiplier={1.2} className='text-xs text-red-600 mb-2'> <Text className='text-xs text-red-600 mb-2'>
{t("home.settings.plugins.kefinTweaks.watchlist_enabler")} {t("home.settings.plugins.kefinTweaks.watchlist_enabler")}
</Text> </Text>
<View className='flex flex-row items-center justify-between mt-2'> <View className='flex flex-row items-center justify-between mt-2'>
<Text maxFontSizeMultiplier={1.2} className='text-white'> <Text className='text-white'>
{isEnabled ? t("Watchlist On") : t("Watchlist Off")} {isEnabled ? t("Watchlist On") : t("Watchlist Off")}
</Text> </Text>

View File

@@ -19,9 +19,7 @@ const SkipButton: React.FC<SkipButtonProps> = ({
onPress={onPress} onPress={onPress}
className='bg-black/60 rounded-md px-3 py-3 border border-neutral-900' className='bg-black/60 rounded-md px-3 py-3 border border-neutral-900'
> >
<Text maxFontSizeMultiplier={1.2} className='text-white font-bold'> <Text className='text-white font-bold'>{buttonText}</Text>
{buttonText}
</Text>
</TouchableOpacity> </TouchableOpacity>
</View> </View>
); );

View File

@@ -102,7 +102,6 @@ const SliderScrubber: React.FC<SliderScrubberProps> = ({
contentFit='cover' contentFit='cover'
/> />
<Text <Text
maxFontSizeMultiplier={1.2}
style={{ style={{
position: "absolute", position: "absolute",
bottom: 5, bottom: 5,
@@ -127,16 +126,10 @@ const SliderScrubber: React.FC<SliderScrubberProps> = ({
maximumValue={max} maximumValue={max}
/> />
<View className='flex flex-row items-center justify-between mt-0.5'> <View className='flex flex-row items-center justify-between mt-0.5'>
<Text <Text className='text-[12px] text-neutral-400'>
maxFontSizeMultiplier={1.2}
className='text-[12px] text-neutral-400'
>
{formatTimeString(currentTime, "ms")} {formatTimeString(currentTime, "ms")}
</Text> </Text>
<Text <Text className='text-[12px] text-neutral-400'>
maxFontSizeMultiplier={1.2}
className='text-[12px] text-neutral-400'
>
-{formatTimeString(remainingTime, "ms")} -{formatTimeString(remainingTime, "ms")}
</Text> </Text>
</View> </View>

View File

@@ -195,7 +195,6 @@ export const TechnicalInfoOverlay: FC<TechnicalInfoOverlayProps> = memo(
<View style={styles.infoBox}> <View style={styles.infoBox}>
{playMethod && ( {playMethod && (
<Text <Text
maxFontSizeMultiplier={1.2}
style={[ style={[
styles.infoText, styles.infoText,
{ color: getPlayMethodColor(playMethod) }, { color: getPlayMethodColor(playMethod) },
@@ -205,31 +204,28 @@ export const TechnicalInfoOverlay: FC<TechnicalInfoOverlayProps> = memo(
</Text> </Text>
)} )}
{transcodeReasons && transcodeReasons.length > 0 && ( {transcodeReasons && transcodeReasons.length > 0 && (
<Text <Text style={[styles.infoText, styles.reasonText]}>
maxFontSizeMultiplier={1.2}
style={[styles.infoText, styles.reasonText]}
>
{transcodeReasons.map(formatTranscodeReason).join(", ")} {transcodeReasons.map(formatTranscodeReason).join(", ")}
</Text> </Text>
)} )}
{info?.videoWidth && info?.videoHeight && ( {info?.videoWidth && info?.videoHeight && (
<Text maxFontSizeMultiplier={1.2} style={styles.infoText}> <Text style={styles.infoText}>
{info.videoWidth}x{info.videoHeight} {info.videoWidth}x{info.videoHeight}
</Text> </Text>
)} )}
{info?.videoCodec && ( {info?.videoCodec && (
<Text maxFontSizeMultiplier={1.2} style={styles.infoText}> <Text style={styles.infoText}>
Video: {formatCodec(info.videoCodec)} Video: {formatCodec(info.videoCodec)}
{info.fps ? ` @ ${formatFps(info.fps)} fps` : ""} {info.fps ? ` @ ${formatFps(info.fps)} fps` : ""}
</Text> </Text>
)} )}
{info?.audioCodec && ( {info?.audioCodec && (
<Text maxFontSizeMultiplier={1.2} style={styles.infoText}> <Text style={styles.infoText}>
Audio: {formatCodec(info.audioCodec)} Audio: {formatCodec(info.audioCodec)}
</Text> </Text>
)} )}
{(info?.videoBitrate || info?.audioBitrate) && ( {(info?.videoBitrate || info?.audioBitrate) && (
<Text maxFontSizeMultiplier={1.2} style={styles.infoText}> <Text style={styles.infoText}>
Bitrate:{" "} Bitrate:{" "}
{info.videoBitrate {info.videoBitrate
? formatBitrate(info.videoBitrate) ? formatBitrate(info.videoBitrate)
@@ -239,22 +235,17 @@ export const TechnicalInfoOverlay: FC<TechnicalInfoOverlayProps> = memo(
</Text> </Text>
)} )}
{info?.cacheSeconds !== undefined && ( {info?.cacheSeconds !== undefined && (
<Text maxFontSizeMultiplier={1.2} style={styles.infoText}> <Text style={styles.infoText}>
Buffer: {info.cacheSeconds.toFixed(1)}s Buffer: {info.cacheSeconds.toFixed(1)}s
</Text> </Text>
)} )}
{info?.droppedFrames !== undefined && info.droppedFrames > 0 && ( {info?.droppedFrames !== undefined && info.droppedFrames > 0 && (
<Text <Text style={[styles.infoText, styles.warningText]}>
maxFontSizeMultiplier={1.2}
style={[styles.infoText, styles.warningText]}
>
Dropped: {info.droppedFrames} frames Dropped: {info.droppedFrames} frames
</Text> </Text>
)} )}
{!info && !playMethod && ( {!info && !playMethod && (
<Text maxFontSizeMultiplier={1.2} style={styles.infoText}> <Text style={styles.infoText}>Loading...</Text>
Loading...
</Text>
)} )}
</View> </View>
</Animated.View> </Animated.View>