Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
d513bda
Add new BPFont
GianniCarlo Feb 2, 2026
ffbc386
Update modifier .font to .bpfont
GianniCarlo Feb 2, 2026
b383b6b
Add MacOS text slider
GianniCarlo Feb 2, 2026
9485384
update translations
GianniCarlo Feb 2, 2026
1b8186e
address feedback
GianniCarlo Feb 2, 2026
fdefbf4
Merge pull request #1446 from TortugaPower/fix/fonts
GianniCarlo Feb 3, 2026
66511a8
calculating and modifying bottom mini player inset
Hirobreak Feb 4, 2026
a515df7
Fixing multiselect mark as unfinished visual feedback
Hirobreak Feb 3, 2026
79422a6
working bottom inset across devices
Hirobreak Feb 4, 2026
aa5c819
setting percentCompleted to 0 too
Hirobreak Feb 5, 2026
b1a50f3
Merge pull request #1447 from Hirobreak/fix-finished-multiselect
GianniCarlo Feb 5, 2026
d94ebbb
theme background applied for swift ui sections
Hirobreak Feb 5, 2026
a6d36e7
z-gesture to back from player working with voice gesture
Hirobreak Feb 5, 2026
de33a3f
changes to support multitasking split slide which changes app layout
Hirobreak Feb 5, 2026
df57816
displaying progress for uploads, even when first initializing row view
Hirobreak Feb 6, 2026
83f5ba6
no back gesture for loading view, removing protocol implementation si…
Hirobreak Feb 6, 2026
3aa357a
remove redundant lines
Hirobreak Feb 7, 2026
3bb33d6
using notification receiver instead of progress to avoid warnings
Hirobreak Feb 7, 2026
a2f122f
fixing indentation
Hirobreak Feb 7, 2026
f85f94b
Merge pull request #1450 from Hirobreak/z-back-player
GianniCarlo Feb 7, 2026
18d03e1
Merge pull request #1451 from Hirobreak/theme-background
GianniCarlo Feb 7, 2026
32227f1
Add ThemedSection
GianniCarlo Feb 7, 2026
64f9d66
Merge pull request #1448 from Hirobreak/mac-bottom-padding
GianniCarlo Feb 7, 2026
dab2372
reduce more bottom spacing for miniplayer
GianniCarlo Feb 7, 2026
2f8a378
Merge pull request #1452 from Hirobreak/tasks-progress
GianniCarlo Feb 7, 2026
687d2ed
throttle events for upload progress
GianniCarlo Feb 7, 2026
4503165
Fix importing folders
GianniCarlo Feb 9, 2026
960ce11
enhancement
GianniCarlo Feb 9, 2026
12c0946
Merge pull request #1454 from TortugaPower/fix/import-items
GianniCarlo Feb 9, 2026
6754c0c
set app version
GianniCarlo Feb 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 28 additions & 18 deletions BookPlayer.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -435,6 +435,7 @@
6356F9CD2AC8A1CE00B7A027 /* DatabaseInitializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6356F9C92AC8A1B700B7A027 /* DatabaseInitializer.swift */; };
6356F9CE2AC8A1CE00B7A027 /* DatabaseInitializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6356F9C92AC8A1B700B7A027 /* DatabaseInitializer.swift */; };
6356F9D02ACB01C700B7A027 /* PausePlaybackIntent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6356F9CF2ACB01C700B7A027 /* PausePlaybackIntent.swift */; };
635771D62F378EE800BB5F59 /* ThemedSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 635771D52F378EE800BB5F59 /* ThemedSection.swift */; };
6357F1192A8BA084007947FC /* BPURLSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6357F1182A8BA084007947FC /* BPURLSession.swift */; };
6357F11A2A8BA084007947FC /* BPURLSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6357F1182A8BA084007947FC /* BPURLSession.swift */; };
636086012C5B3EB400341D78 /* CustomRewindIntent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 636086002C5B3EB400341D78 /* CustomRewindIntent.swift */; };
Expand Down Expand Up @@ -660,6 +661,7 @@
8AF18A332CF0A26200238F8D /* JellyfinLibraryItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AF18A322CF0A26200238F8D /* JellyfinLibraryItem.swift */; };
8AF18A352CF0C42E00238F8D /* JellyfinError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AF18A342CF0C42C00238F8D /* JellyfinError.swift */; };
8AF18A3B2CF0E92F00238F8D /* KeychainServiceMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AF18A3A2CF0E92800238F8D /* KeychainServiceMock.swift */; };
9961DA72E9D53B8DA131BEB2 /* BPFont.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ACFA02FA31A0CB0438C5228 /* BPFont.swift */; };
9F00A5FA294F8BFE005EA316 /* ClearableTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F00A5F9294F8BFE005EA316 /* ClearableTextField.swift */; };
9F00A5FC294F9B9A005EA316 /* ItemDetailsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F00A5FB294F9B9A005EA316 /* ItemDetailsView.swift */; };
9F00A600295001C0005EA316 /* ItemDetailsArtworkSectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F00A5FF295001C0005EA316 /* ItemDetailsArtworkSectionView.swift */; };
Expand Down Expand Up @@ -817,6 +819,7 @@
C3FE3F8220A090880055B9C6 /* limitPanAngle.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3FE3F8120A090880055B9C6 /* limitPanAngle.swift */; };
D6BA8F162A4CA94800C2BD9A /* StorageRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BA8F152A4CA94800C2BD9A /* StorageRowView.swift */; };
D6BA8F182A4D66CD00C2BD9A /* StorageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BA8F172A4D66CD00C2BD9A /* StorageView.swift */; };
DCFC79BEBAEA628FB13F33A1 /* BPFont.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ACFA02FA31A0CB0438C5228 /* BPFont.swift */; };
F906EF4FC85B1CCE138B230D /* PasskeyEmailInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3373A34FC2536111E50BF868 /* PasskeyEmailInputView.swift */; };
/* End PBXBuildFile section */

Expand Down Expand Up @@ -969,6 +972,7 @@

/* Begin PBXFileReference section */
3373A34FC2536111E50BF868 /* PasskeyEmailInputView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PasskeyEmailInputView.swift; sourceTree = "<group>"; };
3ACFA02FA31A0CB0438C5228 /* BPFont.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BPFont.swift; sourceTree = "<group>"; };
3F6640892E162ABF00356522 /* AudioMetadataService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AudioMetadataService.swift; sourceTree = "<group>"; };
3F66408C2E172DF500356522 /* MappingModel_v9_to_v10.xcmappingmodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcmappingmodel; path = MappingModel_v9_to_v10.xcmappingmodel; sourceTree = "<group>"; };
3F6640932E17386400356522 /* DeleteUserBookData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeleteUserBookData.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1344,6 +1348,7 @@
6356F9C42AC86D9200B7A027 /* BPAppShortcuts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BPAppShortcuts.swift; sourceTree = "<group>"; };
6356F9C92AC8A1B700B7A027 /* DatabaseInitializer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatabaseInitializer.swift; sourceTree = "<group>"; };
6356F9CF2ACB01C700B7A027 /* PausePlaybackIntent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PausePlaybackIntent.swift; sourceTree = "<group>"; };
635771D52F378EE800BB5F59 /* ThemedSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemedSection.swift; sourceTree = "<group>"; };
6357F1182A8BA084007947FC /* BPURLSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BPURLSession.swift; sourceTree = "<group>"; };
636086002C5B3EB400341D78 /* CustomRewindIntent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomRewindIntent.swift; sourceTree = "<group>"; };
636086022C5B589900341D78 /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = el; path = el.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
Expand Down Expand Up @@ -3077,6 +3082,7 @@
9F22DE2B288CAAB800056FCD /* ImageIcons.swift */,
9F22DE36288CBCA400056FCD /* Spacing.swift */,
9F22DE2D288CB1A900056FCD /* Fonts.swift */,
3ACFA02FA31A0CB0438C5228 /* BPFont.swift */,
);
path = Styleguide;
sourceTree = "<group>";
Expand Down Expand Up @@ -3345,6 +3351,7 @@
63C48C832E3E66D1005FBB96 /* PurchasesManager.swift */,
63344BFF2EA708F800B90DF7 /* BackupDatabaseOperation.swift */,
63B914A02EE49079000918D8 /* NetworkMonitor.swift */,
635771D52F378EE800BB5F59 /* ThemedSection.swift */,
);
path = Utils;
sourceTree = "<group>";
Expand Down Expand Up @@ -4092,6 +4099,7 @@
4140EA79227289BF0009F794 /* PlaybackRecord+CoreDataProperties.swift in Sources */,
639AC98A2AD9F1D50053AFC6 /* BPDownloadURLSession.swift in Sources */,
63CD851F2CE2EEE200EDBEA8 /* Fonts.swift in Sources */,
9961DA72E9D53B8DA131BEB2 /* BPFont.swift in Sources */,
41A90C4927564DAA00C30394 /* BookPlayerError.swift in Sources */,
3FF5BA6A2E10EA8000B82BCC /* HardcoverBook+CoreDataClass.swift in Sources */,
63344C022EA7097D00B90DF7 /* DatabaseBackupService.swift in Sources */,
Expand Down Expand Up @@ -4445,6 +4453,7 @@
41E79BED26C61D2B00EA9FFF /* PlayPauseIconView.swift in Sources */,
8AE4AACB2CCBAA3800BAA927 /* JellyfinConnectionView.swift in Sources */,
9F00A5FA294F8BFE005EA316 /* ClearableTextField.swift in Sources */,
635771D62F378EE800BB5F59 /* ThemedSection.swift in Sources */,
63652C732E6E8A9700231202 /* ChaptersView.swift in Sources */,
634BA5AD2C180F5E0015314D /* StoryViewModel.swift in Sources */,
63D561352E5A214400615522 /* SimpleLibraryItem+SwiftUI.swift in Sources */,
Expand Down Expand Up @@ -4696,6 +4705,7 @@
41EB07152752F17B00EFEE13 /* PlayableItem.swift in Sources */,
41A1B11E226F88C500EA0400 /* Theme+CoreDataProperties.swift in Sources */,
9F1345B62938DF070089B1DE /* Fonts.swift in Sources */,
DCFC79BEBAEA628FB13F33A1 /* BPFont.swift in Sources */,
63AD93D32E3C1BA70077E73A /* SimpleAccount.swift in Sources */,
41A1B127226F88C500EA0400 /* Library+CoreDataClass.swift in Sources */,
9F0872DB2A19867C00B7FD4A /* ArtworkResponse.swift in Sources */,
Expand Down Expand Up @@ -4956,7 +4966,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerIntents";
Expand Down Expand Up @@ -4990,7 +5000,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerIntents";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5022,7 +5032,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerIntents";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5059,7 +5069,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp";
Expand Down Expand Up @@ -5101,7 +5111,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5140,7 +5150,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5309,7 +5319,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerWidgetUI";
Expand Down Expand Up @@ -5347,7 +5357,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerWidgetUI";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5383,7 +5393,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerWidgetUI";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5537,7 +5547,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = BookPlayer;
PROVISIONING_PROFILE_SPECIFIER = "$(BP_PROVISIONING_MAIN)";
Expand Down Expand Up @@ -5576,7 +5586,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = BookPlayer;
PROVISIONING_PROFILE_SPECIFIER = "$(BP_PROVISIONING_MAIN)";
Expand Down Expand Up @@ -5798,7 +5808,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp.widgets";
Expand Down Expand Up @@ -5836,7 +5846,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp.widgets";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5872,7 +5882,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).watchkitapp.widgets";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5911,7 +5921,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerShareExtension";
Expand Down Expand Up @@ -5951,7 +5961,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerShareExtension";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -5989,7 +5999,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER).BookPlayerShareExtension";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -6082,7 +6092,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 5.16.0;
MARKETING_VERSION = 5.16.2;
PRODUCT_BUNDLE_IDENTIFIER = "$(BP_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = BookPlayer;
PROVISIONING_PROFILE_SPECIFIER = "$(BP_PROVISIONING_MAIN)";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ struct AudiobookShelfConnectedView: View {
@EnvironmentObject var theme: ThemeViewModel

var body: some View {
Section {
ThemedSection {
HStack {
Text("integration_username_placeholder")
.foregroundStyle(theme.secondaryColor)
Expand All @@ -25,7 +25,7 @@ struct AudiobookShelfConnectedView: View {
.foregroundStyle(theme.secondaryColor)
}

Section {
ThemedSection {
Button("logout_title", role: .destructive) {
viewModel.handleSignOutAction()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ struct AudiobookShelfConnectionView: View {
}
}
.scrollContentBackground(.hidden)
.background(theme.systemGroupedBackgroundColor)
.background(theme.systemBackgroundColor)
.errorAlert(error: $error)
.overlay {
Group {
Expand All @@ -73,7 +73,7 @@ struct AudiobookShelfConnectionView: View {
.toolbar {
ToolbarItem(placement: .principal) {
Text(localizedNavigationTitle)
.font(.headline)
.bpFont(.headline)
.foregroundStyle(theme.primaryColor)
}
ToolbarItemGroup(placement: .confirmationAction) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ struct AudiobookShelfDisconnectedView: View {
var onCommit: () -> Void = {}

var body: some View {
Section {
ThemedSection {
ClearableTextField(
"http://audiobookshelf.example.com",
text: $serverUrl,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ struct AudiobookShelfServerFoundView: View {
var onCommit: () -> Void = {}

var body: some View {
Section {
ThemedSection {
ClearableTextField(
"integration_username_placeholder".localized,
text: $username,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ struct AudiobookShelfServerInformationSectionView: View {
@EnvironmentObject var theme: ThemeViewModel

var body: some View {
Section {
ThemedSection {
HStack {
Text("integration_server_name_label")
.foregroundStyle(theme.secondaryColor)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ struct AudiobookShelfLibraryView<Model: AudiobookShelfLibraryViewModelProtocol>:
AudiobookShelfLibraryListView(viewModel: viewModel)
}
}
.scrollContentBackground(.hidden)
.background(theme.systemBackgroundColor)
.environment(\.audiobookshelfService, viewModel.connectionService)
.onAppear { viewModel.fetchInitialItems() }
.onDisappear { viewModel.cancelFetchItems() }
Expand All @@ -41,7 +43,7 @@ struct AudiobookShelfLibraryView<Model: AudiobookShelfLibraryViewModelProtocol>:
.toolbar {
ToolbarItem(placement: .principal) {
navigationTitle
.font(.headline)
.bpFont(.headline)
.foregroundStyle(theme.primaryColor)
}
ToolbarItemGroup(placement: .topBarTrailing) {
Expand All @@ -61,7 +63,7 @@ struct AudiobookShelfLibraryView<Model: AudiobookShelfLibraryViewModelProtocol>:
var toolbarTrailing: some View {
if !viewModel.editMode.isEditing {
Menu {
Section {
ThemedSection {
Button(action: viewModel.onEditToggleSelectTapped) {
Label("select_title".localized, systemImage: "checkmark.circle")
}
Expand All @@ -80,13 +82,13 @@ struct AudiobookShelfLibraryView<Model: AudiobookShelfLibraryViewModelProtocol>:

@ViewBuilder
var layoutPreferences: some View {
Section {
ThemedSection {
Picker(selection: $viewModel.layout, label: Text("Layout options".localized)) {
Label("Grid".localized, systemImage: "square.grid.2x2").tag(AudiobookShelfLayout.Options.grid)
Label("List".localized, systemImage: "list.bullet").tag(AudiobookShelfLayout.Options.list)
}
}
Section {
ThemedSection {
Picker(selection: $viewModel.sortBy, label: Text("Sort by".localized)) {
Label("sort_most_recent_button", systemImage: "clock").tag(AudiobookShelfLayout.SortBy.recent)
Label("Title".localized, systemImage: "textformat.abc").tag(AudiobookShelfLayout.SortBy.title)
Expand Down
Loading