Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

completed more and about screen #316

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
55 changes: 52 additions & 3 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,34 +38,44 @@ jobs:
- os: windows-latest
target: windows
build_path: build\windows\x64\runner\Release
- os: windows-latest
target: windows-arm64
build_path: build\windows\arm64\runner\Release

steps:
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
channel: "stable"
# Install Linux dependencies
- name: Install Linux dependencies
if: matrix.target == 'linux'
run: |
sudo apt-get update -y
sudo apt-get install -y libgtk-3-dev libx11-dev pkg-config cmake ninja-build libblkid-dev

# Install Android dependencies
- name: Install Android dependencies
if: matrix.target == 'android'
uses: actions/setup-java@v3
with:
distribution: 'zulu'
distribution: "zulu"
java-version: "12.x"

# Enable desktop support
- name: Enable desktop support
if: matrix.target != 'android' && matrix.target != 'ios' && matrix.target != 'web'
run: |
flutter config --enable-linux-desktop
flutter config --enable-macos-desktop
flutter config --enable-windows-desktop

# Recreating the project
- run: flutter doctor -v
- uses: actions/checkout@v3
# - run: flutter create .
- run: flutter pub get

# Configure Keystore for Android
- name: Configure Keystore for Android
if: matrix.target == 'android'
working-directory: android
Expand All @@ -76,22 +86,37 @@ jobs:
echo "storePassword=${{ secrets.KEYSTORE_STORE_PASSWORD }}" >> key.properties
echo "keyPassword=${{ secrets.KEYSTORE_KEY_PASSWORD }}" >> key.properties

# Build the project for the target platform
- if: matrix.target != 'android' && matrix.target != 'ios'
run: flutter build ${{ matrix.target }} --release

- if: matrix.target == 'android'
run: |
flutter build apk --release
flutter build apk --split-per-abi --release

- if: matrix.target == 'ios'
run: flutter build ios --release --no-codesign

# Windows packaging
- name: Copy VC redistributables to release directory for Windows
if: matrix.target == 'windows'
working-directory: ${{ matrix.build_path }}
run: |
Copy-Item (vswhere -latest -find 'VC\Redist\MSVC\*\x64\*\msvcp140.dll') .
Copy-Item (vswhere -latest -find 'VC\Redist\MSVC\*\x64\*\vcruntime140.dll') .
Copy-Item (vswhere -latest -find 'VC\Redist\MSVC\*\x64\*\vcruntime140_1.dll') .

# Windows packaging
- name: Copy VC redistributables to release directory for Windows
if: matrix.target == 'windows-arm64'
working-directory: ${{ matrix.build_path }}
run: |
Copy-Item (vswhere -latest -find 'VC\Redist\MSVC\*\arm64\*\msvcp140.dll') .
Copy-Item (vswhere -latest -find 'VC\Redist\MSVC\*\arm64\*\vcruntime140.dll') .
Copy-Item (vswhere -latest -find 'VC\Redist\MSVC\*\arm64\*\vcruntime140_1.dll') .

# Android packaging
- name: Rename build for Android
if: matrix.target == 'android'
working-directory: ${{ matrix.build_path }}
Expand Down Expand Up @@ -126,6 +151,7 @@ jobs:
cp "$GITHUB_WORKSPACE/assets/icons/launcher/sorayomi_icon.png" "./${{ env.pkg_name }}.png"
GZIP=-9 tar czf "$GITHUB_WORKSPACE/${{ env.pkg_name }}-${{ github.ref_name }}-${{ matrix.target }}-x64.tar.gz" *

# Debian packaging
- name: Build deb package
if: matrix.target == 'linux'
run: |
Expand All @@ -143,14 +169,24 @@ jobs:
debuild --no-lintian -us -uc
cp "../${{ env.pkg_name }}_${{ github.ref_name }}-1_amd64.deb" "$GITHUB_WORKSPACE/"

# macOS packaging
- name: Compress build for macOS
if: matrix.target == 'macos'
working-directory: ${{ matrix.build_path }}
run: ditto -c -k --sequesterRsrc --keepParent "Tachidesk Sorayomi.app" "$GITHUB_WORKSPACE/${{ env.pkg_name }}-${{ github.ref_name }}-${{ matrix.target }}-x64.zip"
run: ditto -c -k --sequesterRsrc --keepParent "Sorayomi.app" "$GITHUB_WORKSPACE/${{ env.pkg_name }}-${{ github.ref_name }}-${{ matrix.target }}-x64.zip"

# Windows packaging
- name: Compress build for Windows
if: matrix.target == 'windows'
working-directory: ${{ matrix.build_path }}
run: compress-archive -Path * -DestinationPath "${env:GITHUB_WORKSPACE}\${{ env.pkg_name }}-${{ github.ref_name }}-${{ matrix.target }}-x64.zip"

# Windows packaging
- name: Compress build for Windows
if: matrix.target == 'windows'
working-directory: ${{ matrix.build_path }}
run: compress-archive -Path * -DestinationPath "${env:GITHUB_WORKSPACE}\${{ env.pkg_name }}-${{ github.ref_name }}-${{ matrix.target }}-arm64.zip"

- name: Create MSI Package
if: matrix.target == 'windows' && startsWith(github.ref, 'refs/tags/')
working-directory: ${{ matrix.build_path }}
Expand All @@ -164,6 +200,19 @@ jobs:
light -b data "${{ env.pkg_name }}-x64.wixobj" data.wixobj -o "${{ env.pkg_name }}-${{ github.ref_name }}-${{ matrix.target }}-x64.msi"
Move-Item "${{ env.pkg_name }}-${{ github.ref_name }}-${{ matrix.target }}-x64.msi" "${env:GITHUB_WORKSPACE}"

- name: Create arm64 MSI Package
if: matrix.target == 'windows-arm64' && startsWith(github.ref, 'refs/tags/')
working-directory: ${{ matrix.build_path }}
run: |
$env:Path += ";C:\Program Files (x86)\WiX Toolset v3.11\bin"
$upgradeCode = [guid]::NewGuid().Guid
Copy-Item "${env:GITHUB_WORKSPACE}\scripts\${{ env.pkg_name }}-arm64.wxs" .
Copy-Item "${env:GITHUB_WORKSPACE}\assets\icons\launcher\sorayomi_icon.ico" .
heat dir data -cg data -dr data -sreg -sfrag -gg -o data.wxs
candle -arch arm64 -dVersion="${{ github.ref_name }}" -dUpgradeCode="$upgradeCode" -dIcon="sorayomi_icon.ico" "${{ env.pkg_name }}-arm64.wxs" data.wxs
light -b data "${{ env.pkg_name }}-arm64.wixobj" data.wixobj -o "${{ env.pkg_name }}-${{ github.ref_name }}-${{ matrix.target }}-arm64.msi"
Move-Item "${{ env.pkg_name }}-${{ github.ref_name }}-${{ matrix.target }}-arm64.msi" "${env:GITHUB_WORKSPACE}"

- name: Add packaged build to release draft
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/web.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Copyright (c) 2022 Contributors to the Suwayomi project
#
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
Expand All @@ -23,4 +23,4 @@ jobs:
channel: 'stable'
- uses: bluefireteam/flutter-gh-pages@v7
with:
baseHref: /Tachidesk-Sorayomi/
baseHref: /Tachidesk-Sorayomi/
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ sym_*
*.swp
.DS_Store
.atom/
.build/
.buildlog/
.history
.svn/
.swiftpm/
migrate_working_dir/

# IntelliJ related
Expand Down Expand Up @@ -44,3 +46,9 @@ app.*.map.json
/android/app/debug
/android/app/profile
/android/app/release


*.g.dart
*.freezed.dart
*.graphql.dart
**/__generated__
18 changes: 16 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
{
"cSpell.words": [
"behaviour",
"canonicalized",
"Compat",
"dattatreya",
"Gdefault",
"Gupdate",
"Gvalues",
"horiz",
"keydown",
"kindlish",
"localsourcelang",
"Mangas",
"metas",
"microtask",
"phonelink",
"proto",
Expand All @@ -16,16 +21,25 @@
"reddy",
"Scanlator",
"scanlators",
"Solverr",
"sublist",
"suwayomi",
"tachidesk",
"Tachiyomi",
"tekartik",
"vals",
"Webtoon",
"webtoons"
"webtoons",
"WEBUI"
],
"licenser.license": "MPLv2",
"licenser.projectName": "Tachidesk-Sorayomi",
"licenser.author": "Contributors to the Suwayomi project"
"licenser.author": "Contributors to the Suwayomi project",
"editor.wordSeparators": "`~!@#%^&*()-=+[{]}\\|;:'\",.<>/?",
"files.exclude": {
// "**/__generated__": true,
// "**/*.graphql.dart": true,
// "**/*.freezed.dart": true,
"**/*.g.dart": true,
}
}
17 changes: 17 additions & 0 deletions .vscode/sorayomi.code-snippets
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
// Place your sorayomi workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
// Placeholders with the same ids are connected.
// Example:
"Basic Dart Graphql Query Request": {
"scope": "dart",
"prefix": "req",
"body": [
"static G${1:query}Req ${1/^(.)(.*)$/${1:/downcase}${2}/}() => G${1:query}Req();"
],
"description": "Creates graphql query",
},
}
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<p align="center">
<img width=200px height=200px src="assets/icons/launcher/sorayomi_icon.png" alt="Tachidesk Sorayomi logo"/>
<img width=200px height=200px src="assets/icons/launcher/sorayomi_icon.png" alt="Sorayomi logo"/>
</p>

<h1 align="center"> Tachidesk Sorayomi </h1>
<h1 align="center"> Sorayomi </h1>

<div align="center">

Expand All @@ -23,16 +23,16 @@


<p align="center">
A free and open source manga reader based on <a href="https://flutter.dev/">Flutter</a> to read manga from a <a href="https://github.com/Suwayomi/Tachidesk-Server">Tachidesk-Server</a> instance.</br></br>
Tachidesk-Sorayomi need to connect with an already hosted server.</br></br>
Tachidesk-Sorayomi supports Linux, Windows, MacOS, Web, iOS and Android.
A free and open source manga reader based on <a href="https://flutter.dev/">Flutter</a> to read manga from a <a href="https://github.com/Suwayomi/Tachidesk-Server">Suwayomi-Server</a> instance.</br></br>
Sorayomi need to connect with an already hosted server.</br></br>
Sorayomi supports Linux, Windows, MacOS, Web, iOS and Android.
</p>

---

## Is this application usable? Should I test it?

Here is a list of current features for interaction with Tachidesk-Sorayomi:
Here is a list of current features for interaction with Sorayomi:

- Managing installed Extensions.
- Interaction with your library.
Expand All @@ -41,16 +41,16 @@ Here is a list of current features for interaction with Tachidesk-Sorayomi:
- Reading, downloading, and managing chapters.
- Viewing chapter updates

**Note:** Keep in mind that Tachidesk-Sorayomi and Tachidesk-Server are alpha software, so it can have issues. See [Support and help](#support-and-help) if it happens.
**Note:** Keep in mind that Sorayomi and Suwayomi-Server are alpha software, so it can have issues. See [Support and help](#support-and-help) if it happens.


### Supported Tachidesk versions
### Supported Suwayomi versions

These are the versions of [Tachidesk-Server][tachidesk-server] that Tachidesk-Sorayomi supports.
These are the versions of [Suwayomi-Server][suwayomi-server] that Sorayomi supports.

#### [Release build][release]

- [Tachidesk-Server][tachidesk-server] v0.6.6+
- [Suwayomi-Server][suwayomi-server] v0.6.6+


## Downloading and Running the app
Expand Down Expand Up @@ -151,7 +151,7 @@ You can install Flutter & Dart from [Official website](https://docs.flutter.dev/

## Support and help

- Join Tachidesk's [discord server](https://discord.gg/DDZdqZWaHA) to hang out with the community and receive support and help.
- Join Suwayomi's [discord server](https://discord.gg/DDZdqZWaHA) to hang out with the community and receive support and help.


## Built Using
Expand All @@ -166,7 +166,7 @@ Find other dependencies in [pubspec.yaml](pubspec.yaml)

## Credit

- The `Tachidesk-server` project is developed by [@AriaMoradi](https://github.com/AriaMoradi) and contributors,
- The `Suwayomi-server` project is developed by [@AriaMoradi](https://github.com/AriaMoradi) and contributors,

- The `Tachidesk-Sorayomi` project is developed by [@DattatreyaReddy](https://github.com/DattatreyaReddy) and contributors,

Expand Down Expand Up @@ -196,5 +196,5 @@ You can obtain a copy of `Mozilla Public License v2.0` from https://mozilla.org/


[release]: https://github.com/Suwayomi/Tachidesk-Sorayomi/releases
[tachidesk-server]: https://github.com/Suwayomi/Tachidesk-Server
[tachidesk-server-preview]: https://github.com/Suwayomi/Tachidesk-Server-preview/releases
[suwayomi-server]: https://github.com/Suwayomi/Suwayomi-Server
[suwayomi-server-preview]: https://github.com/Suwayomi/Suwayomi-Server-preview/releases
5 changes: 2 additions & 3 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,8 @@ linter:
# https://dart.dev/guides/language/analysis-options
analyzer:
exclude:
- "**/*.gform.dart"
- "**/*.g.dart"
- "**/*.freezed.dart"

- "**/*.graphql.dart"
errors:
invalid_annotation_target: ignore
invalid_annotation_target: ignore
19 changes: 7 additions & 12 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
plugins {
id "com.android.application"
id "kotlin-android"
id "dev.flutter.flutter-gradle-plugin"
}

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
Expand All @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) {
}
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
Expand All @@ -21,10 +22,6 @@ if (flutterVersionName == null) {
flutterVersionName = '1.0'
}

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
Expand Down Expand Up @@ -78,6 +75,4 @@ flutter {
source '../..'
}

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
dependencies {}
2 changes: 1 addition & 1 deletion android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
package="com.suwayomi.tachidesk_sorayomi">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:label="Tachidesk Sorayomi"
android:label="Sorayomi"
android:name="${applicationName}"
android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"
Expand Down
13 changes: 0 additions & 13 deletions android/build.gradle
Original file line number Diff line number Diff line change
@@ -1,16 +1,3 @@
buildscript {
ext.kotlin_version = '1.8.20'
repositories {
google()
mavenCentral()
}

dependencies {
classpath 'com.android.tools.build:gradle:7.1.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}

allprojects {
repositories {
google()
Expand Down
Loading