Compare commits

...

9 Commits

Author SHA1 Message Date
Arkadiusz Fal
84db321b70 Update CHANGELOG 2023-04-24 13:00:57 +02:00
Arkadiusz Fal
10c1fbd503 Bump build number to 142 2023-04-24 12:58:24 +02:00
Arkadiusz Fal
c7b64c973d Fix player overlay opacity 2023-04-24 12:57:31 +02:00
Arkadiusz Fal
40097de1fd Fix localizations 2023-04-24 12:57:20 +02:00
Arkadiusz Fal
8eac32078b Fix placeholders 2023-04-24 12:57:06 +02:00
Arkadiusz Fal
8271feb77a Fix actions actionable 2023-04-24 12:16:45 +02:00
Arkadiusz Fal
77fde219e0 Fix chapters layout 2023-04-24 12:16:45 +02:00
Arkadiusz Fal
383bb32215 Merge pull request #434 from weblate/weblate-yattee-localizable-strings
Translations update from Hosted Weblate
2023-04-24 12:16:28 +02:00
joaooliva
6a4f031cca Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (496 of 496 strings)

Translation: Yattee/Localizable.strings
Translate-URL: https://hosted.weblate.org/projects/yattee/localizable-strings/pt_BR/
2023-04-23 23:03:50 +02:00
9 changed files with 67 additions and 38 deletions

View File

@@ -1,4 +1,8 @@
## Build 141
## Build 142
* Fixed chapters layout when there are no images available
* Other minor fixes
### Previous Builds
* Improved player layout
- Video titles can now span multiple lines for readability
- Channel details and video dates/likes/dislikes displayed below title
@@ -22,15 +26,6 @@
* Changed layout to vertical and added configuration buttons for remaining views on tvOS (Popular, Trending, Playlists, Search)
* Simplified animation on closing player
* Removed "Watch Next" view
* Fixed reported crashes
* Fixed issues with opening channel URLs
* Fixed issue where account username would get truncated
* Fixed issue where marking all feed videos as watched/unwatched would not refresh actions in Subscriptions menu
* Fixed issue where closing channel would require multiple back presses
* Fixed issue with controls being clipped (regression from build 140)
* Other minor changes and improvements
### Previous Builds
* Added pagination/infinite scroll for channel contents (Invidious and Piped)
* Added support for channel tabs for Invidious (previously available only for Piped)
* Added filter to hide Short videos, available via view menu/toolbar button
@@ -38,4 +33,9 @@
* Added browsing setting: "Show unwatched feed badges"
* Fixed reported crashes
* Fixed issue where channels in Favorites would not refresh contents
* Fixed issues with opening channel URLs
* Fixed issue where account username would get truncated
* Fixed issue where marking all feed videos as watched/unwatched would not refresh actions in Subscriptions menu
* Fixed issue where closing channel would require multiple back presses
* Fixed issue with controls being clipped (regression from build 140)
* Other minor changes and improvements

View File

@@ -10,7 +10,7 @@ extension PlayerModel {
}
var videoForDisplay: Video? {
videoBeingOpened ?? (closing ? nil : currentVideo)
videoBeingOpened ?? currentVideo
}
func play(_ videos: [Video], shuffling: Bool = false) {

View File

@@ -30,10 +30,16 @@ struct PlayerOverlayModifier: ViewModifier {
}
}
.animation(.easeIn, value: player.videoForDisplay)
.opacity(player.videoForDisplay == nil ? 0 : 1)
.opacity(opacity)
}
}
var opacity: Double {
guard !player.closing else { return 0 }
return player.videoForDisplay == nil ? 0 : 1
}
var maxWidth: Double {
playerBarMaxWidth == "0" ? .infinity : (Double(playerBarMaxWidth) ?? 600)
}

View File

@@ -9,6 +9,10 @@ struct ChaptersView: View {
player.videoForDisplay?.chapters ?? []
}
var chaptersHaveImages: Bool {
chapters.allSatisfy { $0.image != nil }
}
var body: some View {
if !chapters.isEmpty {
#if os(tvOS)
@@ -22,15 +26,24 @@ struct ChaptersView: View {
}
.listStyle(.plain)
#else
ScrollView(.horizontal) {
LazyHStack(spacing: 20) {
if chaptersHaveImages {
ScrollView(.horizontal) {
LazyHStack(spacing: 20) {
ForEach(chapters) { chapter in
ChapterView(chapter: chapter)
}
}
.padding(.horizontal, 15)
}
.frame(minHeight: ChapterView.thumbnailHeight + 100)
} else {
Section {
ForEach(chapters) { chapter in
ChapterView(chapter: chapter)
}
}
.padding(.horizontal, 15)
.padding(.horizontal)
}
.frame(minHeight: ChapterView.thumbnailHeight + 100)
#endif
} else {
NoCommentsView(text: "No chapters information available".localized(), systemImage: "xmark.circle.fill")

View File

@@ -96,8 +96,16 @@ struct VideoActions: View {
return !(video?.isLocal ?? true) && accounts.signedIn && accounts.app.supportsSubscriptions
case .settings:
return video != nil
case .fullScreen:
return video != nil
case .pip:
return video != nil
case .advanceToNextItem:
return player.isAdvanceToNextItemAvailable
case .restart:
return video != nil
case .musicMode:
return video != nil
default:
return true
}

View File

@@ -96,7 +96,7 @@ struct VideoDetails: View {
if let views = video?.viewsCount {
Text(views)
} else if model.videoBeingOpened != nil {
Text("1,234M").redacted(reason: .placeholder)
Text("123").redacted(reason: .placeholder)
}
if model.videoBeingOpened != nil || video?.likesCount != nil {
@@ -106,7 +106,7 @@ struct VideoDetails: View {
if let likes = video?.likesCount, !likes.isEmpty {
Text(likes)
} else {
Text("1,234M").redacted(reason: .placeholder)
Text("123").redacted(reason: .placeholder)
}
if enableReturnYouTubeDislike {
@@ -117,7 +117,7 @@ struct VideoDetails: View {
if let dislikes = video?.dislikesCount, !dislikes.isEmpty {
Text(dislikes)
} else {
Text("1,234M").redacted(reason: .placeholder)
Text("123").redacted(reason: .placeholder)
}
}
}
@@ -134,7 +134,7 @@ struct VideoDetails: View {
if let published = video.publishedDate {
Text(published)
} else {
Text("1 century ago").redacted(reason: .placeholder)
Text("1 wk ago").redacted(reason: .placeholder)
}
}
}

View File

@@ -10,7 +10,7 @@ struct ListingStyleButtons: View {
Button {
listingStyle = listingStyle.next()
} label: {
Label(listingStyle.rawValue.capitalized, systemImage: listingStyle.systemImage)
Label(listingStyle.rawValue.capitalized.localized(), systemImage: listingStyle.systemImage)
#if os(tvOS)
.font(.caption)
.imageScale(.small)
@@ -25,7 +25,7 @@ struct ListingStyleButtons: View {
Button {
listingStyle = style
} label: {
Label(style.rawValue.capitalized, systemImage: style.systemImage)
Label(style.rawValue.capitalized.localized(), systemImage: style.systemImage)
}
}
}

View File

@@ -561,3 +561,5 @@
"Inspector" = "Inspetor";
"Mark all as unwatched" = "Marcar todos como não vistos";
"Open video description expanded" = "Abrir descrição do vídeo expandida";
"Replay" = "Replay";
"Stream" = "Stream";

View File

@@ -3972,7 +3972,7 @@
CODE_SIGN_ENTITLEMENTS = "Open in Yattee/Open in Yattee.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 142;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "Open in Yattee/Info.plist";
INFOPLIST_KEY_CFBundleDisplayName = "Open in Yattee";
@@ -4003,7 +4003,7 @@
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 142;
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 78Z5H3M6RJ;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = "Open in Yattee/Info.plist";
@@ -4034,7 +4034,7 @@
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 142;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
MACOSX_DEPLOYMENT_TARGET = 11.0;
@@ -4054,7 +4054,7 @@
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 142;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
MACOSX_DEPLOYMENT_TARGET = 11.0;
@@ -4214,7 +4214,7 @@
CODE_SIGN_ENTITLEMENTS = "iOS/Yattee (iOS).entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 142;
ENABLE_PREVIEWS = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
@@ -4267,7 +4267,7 @@
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 142;
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 78Z5H3M6RJ;
ENABLE_PREVIEWS = YES;
GCC_PREPROCESSOR_DEFINITIONS = "GLES_SILENCE_DEPRECATION=1";
@@ -4319,7 +4319,7 @@
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 142;
DEAD_CODE_STRIPPING = YES;
ENABLE_APP_SANDBOX = YES;
ENABLE_HARDENED_RUNTIME = YES;
@@ -4361,7 +4361,7 @@
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application";
CODE_SIGN_STYLE = Manual;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 142;
DEAD_CODE_STRIPPING = YES;
"DEVELOPMENT_TEAM[sdk=macosx*]" = 78Z5H3M6RJ;
ENABLE_APP_SANDBOX = YES;
@@ -4399,7 +4399,7 @@
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 142;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
@@ -4423,7 +4423,7 @@
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 142;
GENERATE_INFOPLIST_FILE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
LD_RUNPATH_SEARCH_PATHS = (
@@ -4449,7 +4449,7 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 142;
DEAD_CODE_STRIPPING = YES;
GENERATE_INFOPLIST_FILE = YES;
LD_RUNPATH_SEARCH_PATHS = (
@@ -4474,7 +4474,7 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 142;
DEAD_CODE_STRIPPING = YES;
GENERATE_INFOPLIST_FILE = YES;
LD_RUNPATH_SEARCH_PATHS = (
@@ -4500,7 +4500,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 142;
DEVELOPMENT_ASSET_PATHS = "";
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
@@ -4540,7 +4540,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 142;
DEVELOPMENT_ASSET_PATHS = "";
"DEVELOPMENT_TEAM[sdk=appletvos*]" = 78Z5H3M6RJ;
ENABLE_PREVIEWS = YES;
@@ -4581,7 +4581,7 @@
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 142;
GENERATE_INFOPLIST_FILE = YES;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
@@ -4605,7 +4605,7 @@
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 141;
CURRENT_PROJECT_VERSION = 142;
GENERATE_INFOPLIST_FILE = YES;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",