From 4bf75c606a807f45c4528f028f7400a224c28519 Mon Sep 17 00:00:00 2001 From: advplyr Date: Fri, 31 Dec 2021 16:57:53 -0600 Subject: [PATCH] Add:iOS audio player --- android/app/capacitor.build.gradle | 1 + .../src/main/assets/capacitor.plugins.json | 4 + android/capacitor.settings.gradle | 3 + assets/app.css | 25 +- components/app/AudioPlayer.vue | 4 +- components/app/AudioPlayerContainer.vue | 9 +- components/app/SideDrawer.vue | 5 +- components/bookshelf/LazyBookshelf.vue | 3 +- components/readers/ComicReader.vue | 8 +- ios/App/App.xcodeproj/project.pbxproj | 2 + ios/App/App/Info.plist | 2 + ios/App/App/MyNativeAudio.m | 7 +- ios/App/App/MyNativeAudio.swift | 293 +++++++++++++++++- ios/App/Podfile | 7 + layouts/blank.vue | 2 +- layouts/default.vue | 14 +- nuxt.config.js | 2 +- package-lock.json | 7 +- package.json | 3 +- pages/audiobook/_id/index.vue | 8 +- pages/bookshelf.vue | 4 +- pages/bookshelf/index.vue | 17 +- pages/downloads.vue | 160 +++++----- plugins/init.client.js | 6 + 24 files changed, 467 insertions(+), 129 deletions(-) diff --git a/android/app/capacitor.build.gradle b/android/app/capacitor.build.gradle index a10f1982..4ad9dba0 100644 --- a/android/app/capacitor.build.gradle +++ b/android/app/capacitor.build.gradle @@ -13,6 +13,7 @@ dependencies { implementation project(':capacitor-app') implementation project(':capacitor-dialog') implementation project(':capacitor-network') + implementation project(':capacitor-status-bar') implementation project(':capacitor-storage') implementation project(':robingenz-capacitor-app-update') implementation project(':capacitor-data-storage-sqlite') diff --git a/android/app/src/main/assets/capacitor.plugins.json b/android/app/src/main/assets/capacitor.plugins.json index 127f911b..1c40357f 100644 --- a/android/app/src/main/assets/capacitor.plugins.json +++ b/android/app/src/main/assets/capacitor.plugins.json @@ -15,6 +15,10 @@ "pkg": "@capacitor/network", "classpath": "com.capacitorjs.plugins.network.NetworkPlugin" }, + { + "pkg": "@capacitor/status-bar", + "classpath": "com.capacitorjs.plugins.statusbar.StatusBarPlugin" + }, { "pkg": "@capacitor/storage", "classpath": "com.capacitorjs.plugins.storage.StoragePlugin" diff --git a/android/capacitor.settings.gradle b/android/capacitor.settings.gradle index 0d7ae3ec..590a60b1 100644 --- a/android/capacitor.settings.gradle +++ b/android/capacitor.settings.gradle @@ -14,6 +14,9 @@ project(':capacitor-dialog').projectDir = new File('../node_modules/@capacitor/d include ':capacitor-network' project(':capacitor-network').projectDir = new File('../node_modules/@capacitor/network/android') +include ':capacitor-status-bar' +project(':capacitor-status-bar').projectDir = new File('../node_modules/@capacitor/status-bar/android') + include ':capacitor-storage' project(':capacitor-storage').projectDir = new File('../node_modules/@capacitor/storage/android') diff --git a/assets/app.css b/assets/app.css index d964d2da..fbfb32a1 100644 --- a/assets/app.css +++ b/assets/app.css @@ -1,7 +1,30 @@ @import "./fonts.css"; +body { + background-color: #262626; +} + +.layout-wrapper { + height: calc(100vh - env(safe-area-inset-top)); + min-height: calc(100vh - env(safe-area-inset-top)); + max-height: calc(100vh - env(safe-area-inset-top)); + margin-top: env(safe-area-inset-top); +} + +#content { + height: calc(100% - 64px); + min-height: calc(100% - 64px); + max-height: calc(100% - 64px); +} +#content.playerOpen { + height: calc(100% - 164px); + min-height: calc(100% - 164px); + max-height: calc(100% - 164px); +} + #bookshelf { - min-height: calc(100vh - 48px); + height: calc(100% - 48px); + min-height: calc(100% - 48px); } .box-shadow-sm { diff --git a/components/app/AudioPlayer.vue b/components/app/AudioPlayer.vue index 76d5a003..3472e2e9 100644 --- a/components/app/AudioPlayer.vue +++ b/components/app/AudioPlayer.vue @@ -1,5 +1,5 @@