fix failureinitials
This commit is contained in:
parent
9e10395f80
commit
24dbb78fcf
|
@ -0,0 +1,30 @@
|
||||||
|
//
|
||||||
|
// Swiftfin is subject to the terms of the Mozilla Public
|
||||||
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
||||||
|
// file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
|
//
|
||||||
|
// Copyright (c) 2022 Jellyfin & Jellyfin Contributors
|
||||||
|
//
|
||||||
|
|
||||||
|
import SwiftUI
|
||||||
|
|
||||||
|
struct InitialFailureView: View {
|
||||||
|
|
||||||
|
let initials: String
|
||||||
|
|
||||||
|
init(_ initials: String) {
|
||||||
|
self.initials = initials
|
||||||
|
}
|
||||||
|
|
||||||
|
var body: some View {
|
||||||
|
ZStack {
|
||||||
|
Rectangle()
|
||||||
|
.foregroundColor(Color(UIColor.darkGray))
|
||||||
|
|
||||||
|
Text(initials)
|
||||||
|
.font(.largeTitle)
|
||||||
|
.foregroundColor(.secondary)
|
||||||
|
.accessibilityHidden(true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -294,6 +294,8 @@
|
||||||
E103A6A9278AB6FF00820EC7 /* CinematicNextUpCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E103A6A8278AB6FF00820EC7 /* CinematicNextUpCardView.swift */; };
|
E103A6A9278AB6FF00820EC7 /* CinematicNextUpCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E103A6A8278AB6FF00820EC7 /* CinematicNextUpCardView.swift */; };
|
||||||
E1047E2027E584AF00CB0D4A /* BlurHashView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1047E1F27E584AF00CB0D4A /* BlurHashView.swift */; };
|
E1047E2027E584AF00CB0D4A /* BlurHashView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1047E1F27E584AF00CB0D4A /* BlurHashView.swift */; };
|
||||||
E1047E2127E584AF00CB0D4A /* BlurHashView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1047E1F27E584AF00CB0D4A /* BlurHashView.swift */; };
|
E1047E2127E584AF00CB0D4A /* BlurHashView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1047E1F27E584AF00CB0D4A /* BlurHashView.swift */; };
|
||||||
|
E1047E2327E5880000CB0D4A /* InitialFailureView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1047E2227E5880000CB0D4A /* InitialFailureView.swift */; };
|
||||||
|
E1047E2427E5880000CB0D4A /* InitialFailureView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1047E2227E5880000CB0D4A /* InitialFailureView.swift */; };
|
||||||
E107BB9327880A8F00354E07 /* CollectionItemViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E107BB9227880A8F00354E07 /* CollectionItemViewModel.swift */; };
|
E107BB9327880A8F00354E07 /* CollectionItemViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E107BB9227880A8F00354E07 /* CollectionItemViewModel.swift */; };
|
||||||
E107BB9427880A8F00354E07 /* CollectionItemViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E107BB9227880A8F00354E07 /* CollectionItemViewModel.swift */; };
|
E107BB9427880A8F00354E07 /* CollectionItemViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E107BB9227880A8F00354E07 /* CollectionItemViewModel.swift */; };
|
||||||
E107BB972788104100354E07 /* CinematicCollectionItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E107BB952788104100354E07 /* CinematicCollectionItemView.swift */; };
|
E107BB972788104100354E07 /* CinematicCollectionItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E107BB952788104100354E07 /* CinematicCollectionItemView.swift */; };
|
||||||
|
@ -763,6 +765,7 @@
|
||||||
E103A6A6278AB6D700820EC7 /* CinematicResumeCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CinematicResumeCardView.swift; sourceTree = "<group>"; };
|
E103A6A6278AB6D700820EC7 /* CinematicResumeCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CinematicResumeCardView.swift; sourceTree = "<group>"; };
|
||||||
E103A6A8278AB6FF00820EC7 /* CinematicNextUpCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CinematicNextUpCardView.swift; sourceTree = "<group>"; };
|
E103A6A8278AB6FF00820EC7 /* CinematicNextUpCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CinematicNextUpCardView.swift; sourceTree = "<group>"; };
|
||||||
E1047E1F27E584AF00CB0D4A /* BlurHashView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlurHashView.swift; sourceTree = "<group>"; };
|
E1047E1F27E584AF00CB0D4A /* BlurHashView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlurHashView.swift; sourceTree = "<group>"; };
|
||||||
|
E1047E2227E5880000CB0D4A /* InitialFailureView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InitialFailureView.swift; sourceTree = "<group>"; };
|
||||||
E107BB9227880A8F00354E07 /* CollectionItemViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollectionItemViewModel.swift; sourceTree = "<group>"; };
|
E107BB9227880A8F00354E07 /* CollectionItemViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollectionItemViewModel.swift; sourceTree = "<group>"; };
|
||||||
E107BB952788104100354E07 /* CinematicCollectionItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CinematicCollectionItemView.swift; sourceTree = "<group>"; };
|
E107BB952788104100354E07 /* CinematicCollectionItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CinematicCollectionItemView.swift; sourceTree = "<group>"; };
|
||||||
E10C0940278B8DAB009DBF93 /* PortraitItemSize.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PortraitItemSize.swift; sourceTree = "<group>"; };
|
E10C0940278B8DAB009DBF93 /* PortraitItemSize.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PortraitItemSize.swift; sourceTree = "<group>"; };
|
||||||
|
@ -1753,6 +1756,7 @@
|
||||||
children = (
|
children = (
|
||||||
E1047E1F27E584AF00CB0D4A /* BlurHashView.swift */,
|
E1047E1F27E584AF00CB0D4A /* BlurHashView.swift */,
|
||||||
531AC8BE26750DE20091C7EB /* ImageView.swift */,
|
531AC8BE26750DE20091C7EB /* ImageView.swift */,
|
||||||
|
E1047E2227E5880000CB0D4A /* InitialFailureView.swift */,
|
||||||
621338B22660A07800A81A2A /* LazyView.swift */,
|
621338B22660A07800A81A2A /* LazyView.swift */,
|
||||||
C4E52304272CE68800654268 /* LiveTVChannelItemElement.swift */,
|
C4E52304272CE68800654268 /* LiveTVChannelItemElement.swift */,
|
||||||
53E4E648263F725B00F67C6B /* MultiSelectorView.swift */,
|
53E4E648263F725B00F67C6B /* MultiSelectorView.swift */,
|
||||||
|
@ -2263,6 +2267,7 @@
|
||||||
62E632DD267D2E130063E547 /* LibrarySearchViewModel.swift in Sources */,
|
62E632DD267D2E130063E547 /* LibrarySearchViewModel.swift in Sources */,
|
||||||
536D3D81267BDFC60004248C /* PortraitItemElement.swift in Sources */,
|
536D3D81267BDFC60004248C /* PortraitItemElement.swift in Sources */,
|
||||||
5D1603FD278A40DB00D22B99 /* SubtitleSize.swift in Sources */,
|
5D1603FD278A40DB00D22B99 /* SubtitleSize.swift in Sources */,
|
||||||
|
E1047E2427E5880000CB0D4A /* InitialFailureView.swift in Sources */,
|
||||||
E1AA33232782648000F6439C /* OverlaySliderColor.swift in Sources */,
|
E1AA33232782648000F6439C /* OverlaySliderColor.swift in Sources */,
|
||||||
E103A6A7278AB6D700820EC7 /* CinematicResumeCardView.swift in Sources */,
|
E103A6A7278AB6D700820EC7 /* CinematicResumeCardView.swift in Sources */,
|
||||||
62E1DCC4273CE19800C9AE76 /* URLExtensions.swift in Sources */,
|
62E1DCC4273CE19800C9AE76 /* URLExtensions.swift in Sources */,
|
||||||
|
@ -2399,6 +2404,7 @@
|
||||||
62E632DA267D2BC40063E547 /* LatestMediaViewModel.swift in Sources */,
|
62E632DA267D2BC40063E547 /* LatestMediaViewModel.swift in Sources */,
|
||||||
E1AD105C26D9ABDD003E4A08 /* PillHStackView.swift in Sources */,
|
E1AD105C26D9ABDD003E4A08 /* PillHStackView.swift in Sources */,
|
||||||
625CB56F2678C23300530A6E /* HomeView.swift in Sources */,
|
625CB56F2678C23300530A6E /* HomeView.swift in Sources */,
|
||||||
|
E1047E2327E5880000CB0D4A /* InitialFailureView.swift in Sources */,
|
||||||
E1CEFBF527914C7700F60429 /* CustomizeViewsSettings.swift in Sources */,
|
E1CEFBF527914C7700F60429 /* CustomizeViewsSettings.swift in Sources */,
|
||||||
E1C812BC277A8E5D00918266 /* PlaybackSpeed.swift in Sources */,
|
E1C812BC277A8E5D00918266 /* PlaybackSpeed.swift in Sources */,
|
||||||
E1E5D5492783CDD700692DFE /* OverlaySettingsView.swift in Sources */,
|
E1E5D5492783CDD700692DFE /* OverlaySettingsView.swift in Sources */,
|
||||||
|
|
|
@ -45,7 +45,9 @@ struct PortraitImageHStackView<TopBarView: View, ItemType: PortraitImageStackabl
|
||||||
VStack(alignment: horizontalAlignment) {
|
VStack(alignment: horizontalAlignment) {
|
||||||
ImageView(item.imageURLConstructor(maxWidth: Int(maxWidth)),
|
ImageView(item.imageURLConstructor(maxWidth: Int(maxWidth)),
|
||||||
blurHash: item.blurHash,
|
blurHash: item.blurHash,
|
||||||
failureInitials: item.failureInitials)
|
failureView: {
|
||||||
|
InitialFailureView(item.failureInitials)
|
||||||
|
})
|
||||||
.portraitPoster(width: maxWidth)
|
.portraitPoster(width: maxWidth)
|
||||||
.shadow(radius: 4, y: 2)
|
.shadow(radius: 4, y: 2)
|
||||||
.accessibilityIgnoresInvertColors()
|
.accessibilityIgnoresInvertColors()
|
||||||
|
|
|
@ -37,7 +37,9 @@ struct PortraitItemButton<ItemType: PortraitImageStackable>: View {
|
||||||
VStack(alignment: horizontalAlignment) {
|
VStack(alignment: horizontalAlignment) {
|
||||||
ImageView(item.imageURLConstructor(maxWidth: Int(maxWidth)),
|
ImageView(item.imageURLConstructor(maxWidth: Int(maxWidth)),
|
||||||
blurHash: item.blurHash,
|
blurHash: item.blurHash,
|
||||||
failureInitials: item.failureInitials)
|
failureView: {
|
||||||
|
InitialFailureView(item.failureInitials)
|
||||||
|
})
|
||||||
.portraitPoster(width: maxWidth)
|
.portraitPoster(width: maxWidth)
|
||||||
.shadow(radius: 4, y: 2)
|
.shadow(radius: 4, y: 2)
|
||||||
.accessibilityIgnoresInvertColors()
|
.accessibilityIgnoresInvertColors()
|
||||||
|
|
|
@ -755,7 +755,7 @@ extension VLCPlayerViewController {
|
||||||
extension VLCPlayerViewController: VLCMediaPlayerDelegate {
|
extension VLCPlayerViewController: VLCMediaPlayerDelegate {
|
||||||
// MARK: mediaPlayerStateChanged
|
// MARK: mediaPlayerStateChanged
|
||||||
|
|
||||||
func mediaPlayerStateChanged(_ aNotification: Notification!) {
|
func mediaPlayerStateChanged(_ aNotification: Notification) {
|
||||||
// Don't show buffering if paused, usually here while scrubbing
|
// Don't show buffering if paused, usually here while scrubbing
|
||||||
if vlcMediaPlayer.state == .buffering, viewModel.playerState == .paused {
|
if vlcMediaPlayer.state == .buffering, viewModel.playerState == .paused {
|
||||||
return
|
return
|
||||||
|
@ -774,7 +774,7 @@ extension VLCPlayerViewController: VLCMediaPlayerDelegate {
|
||||||
|
|
||||||
// MARK: mediaPlayerTimeChanged
|
// MARK: mediaPlayerTimeChanged
|
||||||
|
|
||||||
func mediaPlayerTimeChanged(_ aNotification: Notification!) {
|
func mediaPlayerTimeChanged(_ aNotification: Notification) {
|
||||||
if !viewModel.sliderIsScrubbing {
|
if !viewModel.sliderIsScrubbing {
|
||||||
viewModel.sliderPercentage = Double(vlcMediaPlayer.position)
|
viewModel.sliderPercentage = Double(vlcMediaPlayer.position)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue