diff --git a/android/Omnivore/app/build.gradle b/android/Omnivore/app/build.gradle
index 6e9adc739..ec5cb2458 100644
--- a/android/Omnivore/app/build.gradle
+++ b/android/Omnivore/app/build.gradle
@@ -58,8 +58,8 @@ android {
}
}
compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
+ sourceCompatibility kotlin_version
+ targetCompatibility kotlin_version
}
kotlinOptions {
jvmTarget = '1.8'
@@ -76,39 +76,40 @@ android {
}
}
namespace 'app.omnivore.omnivore'
+ kapt {
+ generateStubs = true
+ }
}
dependencies {
- def nav_version = "2.5.3"
+ def nav_version = '2.6.0'
- implementation 'androidx.core:core-ktx:1.9.0'
+ implementation 'androidx.core:core-ktx:1.10.1'
implementation "androidx.compose.ui:ui:$compose_version"
implementation "androidx.compose.material:material:$compose_version"
implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
implementation "androidx.compose.material:material-icons-extended:$compose_version"
- implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1'
- implementation 'androidx.activity:activity-compose:1.6.1'
- implementation 'androidx.appcompat:appcompat:1.5.1'
- implementation 'com.google.android.gms:play-services-base:18.1.0'
+ implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.1'
+ implementation 'androidx.activity:activity-compose:1.7.2'
+// implementation 'androidx.appcompat:appcompat:1.6.1'
+ implementation 'com.google.android.gms:play-services-base:18.2.0'
implementation "androidx.navigation:navigation-compose:$nav_version"
testImplementation 'junit:junit:4.13.2'
- androidTestImplementation 'androidx.test.ext:junit:1.1.4'
- androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.0'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.5'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"
debugImplementation "androidx.compose.ui:ui-test-manifest:$compose_version"
- // Jetpack Lifecycle deps
-
// ViewModel
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version")
// ViewModel utilities for Compose
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycle_version")
// LiveData
implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version")
- implementation("androidx.compose.runtime:runtime-livedata:1.3.2")
+ implementation('androidx.compose.runtime:runtime-livedata:1.4.3')
// Saved state module for ViewModel
implementation("androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version")
@@ -120,8 +121,8 @@ dependencies {
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
// coroutines
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4'
+ implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
+ implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3'
implementation "androidx.security:security-crypto:1.0.0"
implementation "androidx.datastore:datastore-preferences:1.0.0"
@@ -132,20 +133,20 @@ dependencies {
implementation 'com.apollographql.apollo3:apollo-runtime:3.7.2'
- implementation 'androidx.compose.material3:material3:1.1.0-alpha03'
- implementation 'androidx.compose.material3:material3-window-size-class:1.1.0-alpha03'
+ implementation 'androidx.compose.material3:material3:1.2.0-alpha04'
+ implementation 'androidx.compose.material3:material3-window-size-class:1.2.0-alpha04'
- implementation 'com.google.android.gms:play-services-auth:20.4.0'
+ implementation 'com.google.android.gms:play-services-auth:20.6.0'
implementation "com.google.accompanist:accompanist-systemuicontroller:0.25.1"
implementation "com.google.accompanist:accompanist-flowlayout:0.25.1"
- implementation 'io.coil-kt:coil-compose:2.2.0'
+ implementation 'io.coil-kt:coil-compose:2.4.0'
- implementation 'com.google.code.gson:gson:2.8.9'
+ implementation 'com.google.code.gson:gson:2.10.1'
implementation 'com.pspdfkit:pspdfkit:8.4.1'
- implementation 'com.segment.analytics.kotlin:android:1.10.0'
- implementation 'io.intercom.android:intercom-sdk:15.1.0'
+ implementation 'com.segment.analytics.kotlin:android:1.13.0'
+ implementation 'io.intercom.android:intercom-sdk:15.1.4'
// Room Deps
implementation "androidx.room:room-runtime:$room_version"
@@ -154,7 +155,7 @@ dependencies {
kapt "androidx.room:room-compiler:$room_version"
implementation 'com.github.jeziellago:compose-markdown:0.3.3'
- implementation "io.github.dokar3:chiptextfield:0.4.7"
+ implementation 'io.github.dokar3:chiptextfield:0.4.8'
}
apollo {
diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/SavedItem.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/SavedItem.kt
index 863ebe7ae..fdadbb9c6 100644
--- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/SavedItem.kt
+++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/persistence/entities/SavedItem.kt
@@ -178,7 +178,7 @@ interface SavedItemDao {
"GROUP BY SavedItem.savedItemId "
)
- suspend fun getById(savedItemId: String): SavedItemWithLabelsAndHighlights?
+ fun getById(savedItemId: String): SavedItemWithLabelsAndHighlights?
@Transaction
@Query(
diff --git a/android/Omnivore/build.gradle b/android/Omnivore/build.gradle
index b30de2bfc..bec62ba23 100644
--- a/android/Omnivore/build.gradle
+++ b/android/Omnivore/build.gradle
@@ -1,11 +1,14 @@
buildscript {
ext {
- compose_version = '1.3.1'
- lifecycle_version = '2.5.1'
- hilt_version = '2.44.2'
- gradle_plugin_version = '7.4.2'
- room_version = '2.4.3'
+ compose_version = '1.5.1'
+ lifecycle_version = '2.6.1'
+ hilt_version = '2.47'
+ gradle_plugin_version = '8.0.2'
+ room_version = '2.5.2'
kotlin_version = '1.9.0'
+
+ compileSdkVersion = 32
+ targetSdkVersion = 32
}
dependencies {
diff --git a/android/Omnivore/gradle.properties b/android/Omnivore/gradle.properties
index 3c7a8bd3a..cccbfe6f2 100644
--- a/android/Omnivore/gradle.properties
+++ b/android/Omnivore/gradle.properties
@@ -21,3 +21,5 @@ kotlin.code.style=official
# resources declared in the library itself and none from the library's dependencies,
# thereby reducing the size of the R class for that library
android.nonTransitiveRClass=true
+android.defaults.buildfeatures.buildconfig=true
+android.nonFinalResIds=false
diff --git a/android/Omnivore/gradle/wrapper/gradle-wrapper.properties b/android/Omnivore/gradle/wrapper/gradle-wrapper.properties
index 5bf8d8081..94784177d 100644
--- a/android/Omnivore/gradle/wrapper/gradle-wrapper.properties
+++ b/android/Omnivore/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
#Wed Aug 10 17:39:47 PDT 2022
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
diff --git a/apple/Omnivore.xcodeproj/project.pbxproj b/apple/Omnivore.xcodeproj/project.pbxproj
index 540bae3c6..2bbda4d0a 100644
--- a/apple/Omnivore.xcodeproj/project.pbxproj
+++ b/apple/Omnivore.xcodeproj/project.pbxproj
@@ -1400,7 +1400,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 12.0;
- MARKETING_VERSION = 1.28.0;
+ MARKETING_VERSION = 1.29.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = app.omnivore.app;
@@ -1435,7 +1435,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 12.0;
- MARKETING_VERSION = 1.28.0;
+ MARKETING_VERSION = 1.29.0;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = app.omnivore.app;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -1490,7 +1490,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 1.28.0;
+ MARKETING_VERSION = 1.29.0;
PRODUCT_BUNDLE_IDENTIFIER = app.omnivore.app;
PRODUCT_NAME = Omnivore;
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -1831,7 +1831,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 1.28.0;
+ MARKETING_VERSION = 1.29.0;
PRODUCT_BUNDLE_IDENTIFIER = app.omnivore.app;
PRODUCT_NAME = Omnivore;
PROVISIONING_PROFILE_SPECIFIER = "";
diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift
index 8560ee329..aab724892 100644
--- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift
+++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift
@@ -275,6 +275,14 @@ struct WebReaderContainerView: View {
Spacer()
#endif
+ Button(
+ action: { showLabelsModal = true },
+ label: {
+ Image.label
+ }
+ )
+ .padding(.trailing, 4)
+
Button(
action: { showNotebookView = true },
label: {
diff --git a/apple/OmnivoreKit/Sources/Utils/ColorUtils.swift b/apple/OmnivoreKit/Sources/Utils/ColorUtils.swift
index ac8de2840..724fca826 100644
--- a/apple/OmnivoreKit/Sources/Utils/ColorUtils.swift
+++ b/apple/OmnivoreKit/Sources/Utils/ColorUtils.swift
@@ -101,7 +101,7 @@ public extension Color {
static var isDarkMode: Bool {
#if os(iOS)
- UITraitCollection.current.userInterfaceStyle == .dark
+ ThemeManager.currentTheme.isDark || UITraitCollection.current.userInterfaceStyle == .dark
#else
NSApp.effectiveAppearance.name == NSAppearance.Name.darkAqua
#endif
diff --git a/apple/OmnivoreKit/Sources/Views/Theme.swift b/apple/OmnivoreKit/Sources/Views/Theme.swift
index 0351fdd70..88dd738b6 100644
--- a/apple/OmnivoreKit/Sources/Views/Theme.swift
+++ b/apple/OmnivoreKit/Sources/Views/Theme.swift
@@ -7,7 +7,6 @@
import Foundation
import SwiftUI
-import Utils
public enum Theme: String, CaseIterable {
case system = "System"
diff --git a/packages/web/components/patterns/LibraryCards/LibraryGridCard.tsx b/packages/web/components/patterns/LibraryCards/LibraryGridCard.tsx
index 684ee6d37..b87b96e82 100644
--- a/packages/web/components/patterns/LibraryCards/LibraryGridCard.tsx
+++ b/packages/web/components/patterns/LibraryCards/LibraryGridCard.tsx
@@ -268,7 +268,7 @@ const LibraryGridCardContent = (props: LinkedItemCardProps): JSX.Element => {
}}
distribution="start"
>
-
+