├── .github
└── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── extension-request.md
│ └── feature_request.md
├── .gitignore
├── .metadata
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
├── analysis_options.yaml
├── android
├── .gitignore
├── app
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ │ ├── debug
│ │ └── AndroidManifest.xml
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── kotlin
│ │ │ └── io
│ │ │ │ └── github
│ │ │ │ └── sayuri192
│ │ │ │ └── wakaranai
│ │ │ │ └── MainActivity.kt
│ │ └── res
│ │ │ ├── drawable-v21
│ │ │ └── launch_background.xml
│ │ │ ├── drawable
│ │ │ └── launch_background.xml
│ │ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── values-night
│ │ │ └── styles.xml
│ │ │ └── values
│ │ │ └── styles.xml
│ │ └── profile
│ │ └── AndroidManifest.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
└── settings.gradle
├── assets
└── favicon.png
├── build.yaml
├── docs
├── ChapterReader.png
├── ChapterReader2.png
├── ConcreteView1.png
├── ConcreteView2.png
├── ExplorePage.png
├── HistoryPage.png
├── ServiceViewer.png
├── ServiceViewerSearch.png
├── contribute
│ └── readme.md
├── guides
│ ├── capyscript_syntax.md
│ ├── caypscript_modules.md
│ ├── extension_templates
│ │ └── manga
│ │ │ ├── config.json
│ │ │ └── main.capyscript
│ ├── extensions.md
│ └── readme.md
├── inapp_docs
│ ├── 1.jpg
│ ├── 2.jpg
│ ├── 3.jpg
│ └── external_extension_sources.md
└── wakaranai.png
├── example.env
├── fonts
├── Ubuntu-B.ttf
├── Ubuntu-BI.ttf
├── Ubuntu-C.ttf
├── Ubuntu-L.ttf
├── Ubuntu-LI.ttf
├── Ubuntu-M.ttf
├── Ubuntu-MI.ttf
├── Ubuntu-R.ttf
├── Ubuntu-RI.ttf
├── Ubuntu-Th.ttf
├── UbuntuMono-B.ttf
├── UbuntuMono-BI.ttf
├── UbuntuMono-R.ttf
└── UbuntuMono-RI.ttf
├── ios
├── .gitignore
├── Flutter
│ ├── AppFrameworkInfo.plist
│ ├── Debug.xcconfig
│ └── Release.xcconfig
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
└── Runner
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ ├── Contents.json
│ │ ├── Icon-App-1024x1024@1x.png
│ │ ├── Icon-App-20x20@1x.png
│ │ ├── Icon-App-20x20@2x.png
│ │ ├── Icon-App-20x20@3x.png
│ │ ├── Icon-App-29x29@1x.png
│ │ ├── Icon-App-29x29@2x.png
│ │ ├── Icon-App-29x29@3x.png
│ │ ├── Icon-App-40x40@1x.png
│ │ ├── Icon-App-40x40@2x.png
│ │ ├── Icon-App-40x40@3x.png
│ │ ├── Icon-App-60x60@2x.png
│ │ ├── Icon-App-60x60@3x.png
│ │ ├── Icon-App-76x76@1x.png
│ │ ├── Icon-App-76x76@2x.png
│ │ └── Icon-App-83.5x83.5@2x.png
│ └── LaunchImage.imageset
│ │ ├── Contents.json
│ │ ├── LaunchImage.png
│ │ ├── LaunchImage@2x.png
│ │ ├── LaunchImage@3x.png
│ │ └── README.md
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Info.plist
│ └── Runner-Bridging-Header.h
├── lib
├── blocs
│ ├── api_client_controller
│ │ ├── api_client_controller_cubit.dart
│ │ └── api_client_controller_state.dart
│ ├── auth
│ │ ├── authentication_cubit.dart
│ │ └── authentication_state.dart
│ ├── browser_interceptor
│ │ ├── browser_interceptor_cubit.dart
│ │ └── browser_interceptor_state.dart
│ ├── latest_release_cubit
│ │ ├── latest_release_cubit.dart
│ │ └── latest_release_state.dart
│ └── service_view
│ │ ├── service_view_cubit.dart
│ │ └── service_view_state.dart
├── data
│ ├── domain
│ │ ├── app_version.dart
│ │ ├── base_domain.dart
│ │ ├── database
│ │ │ ├── anime_episode_activity_domain.dart
│ │ │ ├── base_activity_domain.dart
│ │ │ ├── base_extension.dart
│ │ │ ├── chapter_activity_domain.dart
│ │ │ ├── concrete_data_domain.dart
│ │ │ ├── extension_domain.dart
│ │ │ ├── extension_source_domain.dart
│ │ │ └── extension_source_type.dart
│ │ ├── github_url_data.dart
│ │ ├── latest_release_data.dart
│ │ └── ui
│ │ │ └── activity_list_item.dart
│ ├── entities
│ │ ├── anime_episode_activity_table.dart
│ │ ├── base_table.dart
│ │ ├── chapter_activity_table.dart
│ │ ├── concrete_data_table.dart
│ │ ├── extension_source_table.dart
│ │ └── extension_table.dart
│ └── models
│ │ ├── configs_repo
│ │ └── configs_response
│ │ │ ├── repo_configs_response.dart
│ │ │ └── repo_configs_response.g.dart
│ │ ├── configs_source_type
│ │ └── configs_source_type.dart
│ │ ├── github
│ │ ├── github_response_model.dart
│ │ ├── github_response_model.g.dart
│ │ ├── payload
│ │ │ ├── github_payload_model.dart
│ │ │ ├── github_payload_model.g.dart
│ │ │ ├── repo
│ │ │ │ ├── github_repo_model.dart
│ │ │ │ └── github_repo_model.g.dart
│ │ │ └── tree
│ │ │ │ ├── blob
│ │ │ │ ├── github_blob_model.dart
│ │ │ │ └── github_blob_model.g.dart
│ │ │ │ ├── github_tree_model.dart
│ │ │ │ ├── github_tree_model.g.dart
│ │ │ │ └── item
│ │ │ │ ├── github_tree_item_model.dart
│ │ │ │ └── github_tree_item_model.g.dart
│ │ └── release_response
│ │ │ ├── github_release_response_model.dart
│ │ │ └── github_release_response_model.g.dart
│ │ ├── protector
│ │ ├── protector_storage_item.dart
│ │ └── protector_storage_item.g.dart
│ │ ├── remote_config
│ │ ├── remote_category.dart
│ │ ├── remote_config.dart
│ │ └── remote_config.g.dart
│ │ ├── remote_script
│ │ ├── remote_script.dart
│ │ └── remote_script.g.dart
│ │ └── web_browser_result
│ │ ├── web_browser_result.dart
│ │ └── web_browser_result.g.dart
├── database
│ ├── wakaranai_database.dart
│ └── wakaranai_database.g.dart
├── env.dart
├── generated
│ ├── intl
│ │ ├── messages_all.dart
│ │ └── messages_en.dart
│ └── l10n.dart
├── l10n
│ └── intl_en.arb
├── main.dart
├── repositories
│ ├── configs_repository
│ │ ├── github
│ │ │ ├── github_configs_repository.dart
│ │ │ └── github_configs_repository.g.dart
│ │ └── local
│ │ │ ├── local_configs_repository.dart
│ │ │ └── local_configs_repository.g.dart
│ ├── database
│ │ ├── anime_episode_activity_repository.dart
│ │ ├── base_repository.dart
│ │ ├── chapter_activity_repository.dart
│ │ ├── concerete_data_repository.dart
│ │ ├── extension_repository.dart
│ │ ├── extension_source_repository.dart
│ │ └── repository_providers.dart
│ ├── releases_repository
│ │ └── github
│ │ │ ├── github_releases_repository.dart
│ │ │ └── github_releases_repository.g.dart
│ └── shared_pref
│ │ ├── default_extension_source_repository
│ │ └── default_extension_source_repository.dart
│ │ └── default_manga_reader_mode_repository
│ │ └── default_manga_reader_repository.dart
├── res.dart
├── services
│ ├── configs_service
│ │ ├── configs_service.dart
│ │ ├── github_configs_service.dart
│ │ └── repo_configs_service.dart
│ ├── protector_storage
│ │ └── protector_storage_service.dart
│ ├── releases_service
│ │ └── releases_service.dart
│ └── settings_service
│ │ └── settings_service.dart
├── ui
│ ├── app_view.dart
│ ├── common
│ │ └── service_viewer
│ │ │ └── service_viewer_loader.dart
│ ├── gallery_view_card.dart
│ ├── home
│ │ ├── activity_history_page
│ │ │ ├── acitvity_history_page.dart
│ │ │ ├── cubit
│ │ │ │ ├── activity_history_cubit_mixin.dart
│ │ │ │ ├── anime_activity_history_cubit.dart
│ │ │ │ ├── anime_activity_history_state.dart
│ │ │ │ ├── manga_activity_history_cubit.dart
│ │ │ │ └── manga_activity_history_state.dart
│ │ │ └── widgets
│ │ │ │ └── activity_history_long_tap_dialog.dart
│ │ ├── api_controller_wrapper.dart
│ │ ├── concrete_view_cubit_wrapper.dart
│ │ ├── configs_page
│ │ │ ├── bloc
│ │ │ │ └── remote_configs
│ │ │ │ │ ├── remote_configs_cubit.dart
│ │ │ │ │ └── remote_configs_state.dart
│ │ │ ├── config_card.dart
│ │ │ ├── configs_group.dart
│ │ │ ├── configs_page.dart
│ │ │ └── extension_sources
│ │ │ │ ├── add_extension_page
│ │ │ │ ├── add_extension_page.dart
│ │ │ │ ├── add_extension_page_arguments.dart
│ │ │ │ └── add_extension_page_result.dart
│ │ │ │ ├── cubit
│ │ │ │ ├── extension_sources_cubit.dart
│ │ │ │ └── extension_sources_state.dart
│ │ │ │ ├── extension_sources_page_result.dart
│ │ │ │ └── my_extension_sources_page.dart
│ │ ├── cubit
│ │ │ ├── home_page_cubit.dart
│ │ │ └── home_page_state.dart
│ │ ├── home_view.dart
│ │ ├── service_view_cubit_wrapper.dart
│ │ ├── service_viewer_app_bar.dart
│ │ ├── settings_page
│ │ │ ├── cubit
│ │ │ │ └── settings
│ │ │ │ │ ├── settings_cubit.dart
│ │ │ │ │ └── settings_state.dart
│ │ │ └── settings_page.dart
│ │ ├── web_browser_page.dart
│ │ ├── web_browser_wrapper.dart
│ │ └── widgets
│ │ │ ├── bottom_navigation_bar_container.dart
│ │ │ └── bottom_navigation_bar_item_widget.dart
│ ├── local_gallery_view_wrapper.dart
│ ├── routes.dart
│ ├── services
│ │ ├── anime
│ │ │ ├── anime_concrete_viewer
│ │ │ │ ├── anime_concrete_viewer.dart
│ │ │ │ └── anime_player_button.dart
│ │ │ ├── anime_iframe_player
│ │ │ │ ├── anime_iframe_player.dart
│ │ │ │ └── cubit
│ │ │ │ │ ├── anime_iframe_player_cubit.dart
│ │ │ │ │ └── anime_iframe_player_state.dart
│ │ │ └── anime_service_viewer
│ │ │ │ ├── anime_service_viewer.dart
│ │ │ │ └── anime_service_viewer_body.dart
│ │ ├── concrete_viewer_mixin.dart
│ │ ├── cubits
│ │ │ ├── chapter_view
│ │ │ │ ├── chapter_view_cubit.dart
│ │ │ │ └── chapter_view_state.dart
│ │ │ └── concrete_view
│ │ │ │ ├── concrete_view_cubit.dart
│ │ │ │ └── concrete_view_state.dart
│ │ └── manga
│ │ │ └── manga_service_viewer
│ │ │ ├── concrete_viewer
│ │ │ ├── chapter_viewer
│ │ │ │ ├── bottom_modal_settings.dart
│ │ │ │ ├── chapter_view_mode.dart
│ │ │ │ ├── chapter_viewer.dart
│ │ │ │ ├── pages_change_button.dart
│ │ │ │ └── settings_overlay.dart
│ │ │ ├── manga_concrete_viewer.dart
│ │ │ └── manga_provider_button.dart
│ │ │ ├── manga_service_viewer.dart
│ │ │ └── manga_service_viewer_body.dart
│ ├── splashscreen
│ │ └── splashscreen_view.dart
│ └── widgets
│ │ ├── appbar.dart
│ │ ├── change_order_icon_button.dart
│ │ ├── confirmation_dialog
│ │ └── confirmation_dialog.dart
│ │ ├── elevated_appbar.dart
│ │ ├── expandable_fab_widget.dart
│ │ ├── image_widget.dart
│ │ ├── infinite_rotation_animation.dart
│ │ ├── outlined_text_form_field.dart
│ │ ├── primary_button.dart
│ │ ├── primary_input_widget.dart
│ │ └── snackbars.dart
└── utils
│ ├── app_colors.dart
│ ├── browser.dart
│ ├── decoders.dart
│ ├── enum_converters.dart
│ ├── github_url_parser.dart
│ ├── globals.dart
│ ├── heroes.dart
│ ├── images.dart
│ └── text_styles.dart
├── pubspec.lock
└── pubspec.yaml
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve the wakaranai app
4 | title: ''
5 | labels: bug
6 | assignees: Sayuri128
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
23 | **Screenshots**
24 | If applicable, add screenshots to help explain your problem.
25 |
26 | **Smartphone (please complete the following information):**
27 | - Device: [e.g. Google Pixel 6a]
28 | - OS: [e.g. Android 12]
29 | - Version [e.g. 0.1.0]
30 |
31 | **Additional context**
32 | Add any other context about the problem here.
33 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/extension-request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Extension Request
3 | about: Request to add a new extension
4 | title: ''
5 | labels: extension request
6 | assignees: Sayuri128
7 |
8 | ---
9 |
10 | **Type** [e.g. Manga]
11 | **Language** [e.g. French]
12 | **Name** [e.g. Mangadex]
13 | **source** [e.g. https://mangadex.org/]
14 |
15 | **Additional context**
16 | Add any other context about the request here.
17 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for wakaranai app
4 | title: ''
5 | labels: enhancement
6 | assignees: Sayuri128
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 |
12 | # IntelliJ related
13 | *.iml
14 | *.ipr
15 | *.iws
16 | .idea/
17 |
18 | # The .vscode folder contains launch configuration and tasks you configure in
19 | # VS Code which you may wish to be included in version control, so this line
20 | # is commented out by default.
21 | #.vscode/
22 |
23 | # Flutter/Dart/Pub related
24 | **/doc/api/
25 | **/ios/Flutter/.last_build_id
26 | .dart_tool/
27 | .flutter-plugins
28 | .flutter-plugins-dependencies
29 | .packages
30 | .pub-cache/
31 | .pub/
32 | /build/
33 |
34 | # Web related
35 | lib/generated_plugin_registrant.dart
36 |
37 | # Symbolication related
38 | app.*.symbols
39 |
40 | # Obfuscation related
41 | app.*.map.json
42 |
43 | # Android Studio will place build artifacts here
44 | /android/app/debug
45 | /android/app/profile
46 | /android/app/release
47 |
48 | .env
49 |
--------------------------------------------------------------------------------
/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: "17025dd88227cd9532c33fa78f5250d548d87e9a"
8 | channel: "stable"
9 |
10 | project_type: app
11 |
12 | # Tracks metadata for the flutter migrate command
13 | migration:
14 | platforms:
15 | - platform: root
16 | create_revision: 17025dd88227cd9532c33fa78f5250d548d87e9a
17 | base_revision: 17025dd88227cd9532c33fa78f5250d548d87e9a
18 | - platform: windows
19 | create_revision: 17025dd88227cd9532c33fa78f5250d548d87e9a
20 | base_revision: 17025dd88227cd9532c33fa78f5250d548d87e9a
21 |
22 | # User provided section
23 |
24 | # List of Local paths (relative to this file) that should be
25 | # ignored by the migrate tool.
26 | #
27 | # Files that are not part of the templates will be ignored by default.
28 | unmanaged_files:
29 | - 'lib/main.dart'
30 | - 'ios/Runner.xcodeproj/project.pbxproj'
31 |
--------------------------------------------------------------------------------
/analysis_options.yaml:
--------------------------------------------------------------------------------
1 |
2 | include: package:flutter_lints/flutter.yaml
3 |
4 | linter:
5 | rules:
6 | avoid_print: true
7 | always_declare_return_types: true
8 | annotate_overrides: true
9 | use_build_context_synchronously: false
10 |
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11 | key.properties
12 | **/*.keystore
13 | **/*.jks
14 |
--------------------------------------------------------------------------------
/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id "com.android.application"
3 | id "kotlin-android"
4 | id "dev.flutter.flutter-gradle-plugin"
5 | }
6 |
7 | def localProperties = new Properties()
8 | def localPropertiesFile = rootProject.file('local.properties')
9 | if (localPropertiesFile.exists()) {
10 | localPropertiesFile.withReader('UTF-8') { reader ->
11 | localProperties.load(reader)
12 | }
13 | }
14 |
15 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
16 | if (flutterVersionCode == null) {
17 | flutterVersionCode = '1'
18 | }
19 |
20 | def flutterVersionName = localProperties.getProperty('flutter.versionName')
21 | if (flutterVersionName == null) {
22 | flutterVersionName = '1.0'
23 | }
24 |
25 | def keystoreProperties = new Properties()
26 | def keystorePropertiesFile = rootProject.file('key.properties')
27 | if (keystorePropertiesFile.exists()) {
28 | keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
29 | }
30 |
31 | android {
32 | compileSdkVersion 34
33 | namespace "io.github.sayuri128.wakaranai"
34 |
35 | compileOptions {
36 | sourceCompatibility JavaVersion.VERSION_1_8
37 | targetCompatibility JavaVersion.VERSION_1_8
38 | }
39 |
40 | kotlinOptions {
41 | jvmTarget = '1.8'
42 | }
43 |
44 | sourceSets {
45 | main.java.srcDirs += 'src/main/kotlin'
46 | }
47 |
48 | defaultConfig {
49 | applicationId "io.github.sayuri128.wakaranai"
50 | minSdkVersion 21
51 | targetSdkVersion 34
52 | versionCode flutterVersionCode.toInteger()
53 | versionName flutterVersionName
54 | }
55 |
56 | signingConfigs {
57 | release {
58 | keyAlias keystoreProperties['keyAlias']
59 | keyPassword keystoreProperties['keyPassword']
60 | storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
61 | storePassword keystoreProperties['storePassword']
62 |
63 | }
64 | }
65 |
66 | buildTypes {
67 | release {
68 | signingConfig signingConfigs.release
69 | }
70 | debug {
71 | signingConfig signingConfigs.release
72 | }
73 | }
74 | }
75 |
76 | flutter {
77 | source '../..'
78 | }
79 |
80 | dependencies {
81 |
82 | }
83 |
--------------------------------------------------------------------------------
/android/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | -dontwarn com.google.errorprone.annotations.CanIgnoreReturnValue
2 | -dontwarn com.google.errorprone.annotations.CheckReturnValue
3 | -dontwarn com.google.errorprone.annotations.Immutable
4 | -dontwarn com.google.errorprone.annotations.RestrictedApi
5 | -dontwarn javax.annotation.Nullable
6 | -dontwarn javax.annotation.concurrent.GuardedBy
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
15 |
23 |
27 |
31 |
32 |
33 |
34 |
35 |
36 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/io/github/sayuri192/wakaranai/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package io.github.sayuri128.wakaranai
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity() {
6 | }
7 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-v21/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/values-night/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | allprojects {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | }
6 | }
7 |
8 | rootProject.buildDir = '../build'
9 | subprojects {
10 | project.buildDir = "${rootProject.buildDir}/${project.name}"
11 | }
12 | subprojects {
13 | project.evaluationDependsOn(':app')
14 | }
15 |
16 | tasks.register("clean", Delete) {
17 | delete rootProject.buildDir
18 | }
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xms2048m -Xmx8196m
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
4 | networkTimeout=10000
5 | zipStoreBase=GRADLE_USER_HOME
6 | zipStorePath=wrapper/dists
7 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | def flutterSdkPath = {
3 | def properties = new Properties()
4 | file("local.properties").withInputStream { properties.load(it) }
5 | def flutterSdkPath = properties.getProperty("flutter.sdk")
6 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
7 | return flutterSdkPath
8 | }()
9 |
10 | includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
11 |
12 | repositories {
13 | google()
14 | mavenCentral()
15 | gradlePluginPortal()
16 | }
17 | }
18 |
19 | plugins {
20 | id "dev.flutter.flutter-plugin-loader" version "1.0.0"
21 | id "com.android.application" version "8.3.0" apply false
22 | id "org.jetbrains.kotlin.android" version "1.9.22" apply false
23 | }
24 |
25 | include ":app"
--------------------------------------------------------------------------------
/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/assets/favicon.png
--------------------------------------------------------------------------------
/build.yaml:
--------------------------------------------------------------------------------
1 | targets:
2 | $default:
3 | builders:
4 | json_serializable:
5 | options:
6 | any_map: true
7 | explicit_to_json: true
8 | sqfentity_gen|property_sqfentity:
9 | generate_for:
10 | - lib/model/*.dart
11 | - lib/model/test/*.dart
12 |
--------------------------------------------------------------------------------
/docs/ChapterReader.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/docs/ChapterReader.png
--------------------------------------------------------------------------------
/docs/ChapterReader2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/docs/ChapterReader2.png
--------------------------------------------------------------------------------
/docs/ConcreteView1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/docs/ConcreteView1.png
--------------------------------------------------------------------------------
/docs/ConcreteView2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/docs/ConcreteView2.png
--------------------------------------------------------------------------------
/docs/ExplorePage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/docs/ExplorePage.png
--------------------------------------------------------------------------------
/docs/HistoryPage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/docs/HistoryPage.png
--------------------------------------------------------------------------------
/docs/ServiceViewer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/docs/ServiceViewer.png
--------------------------------------------------------------------------------
/docs/ServiceViewerSearch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/docs/ServiceViewerSearch.png
--------------------------------------------------------------------------------
/docs/contribute/readme.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/docs/contribute/readme.md
--------------------------------------------------------------------------------
/docs/guides/capyscript_syntax.md:
--------------------------------------------------------------------------------
1 | # Capyscript syntax
2 |
3 | Capyscript is a language that is very similar to any other C-like language. It has a few differences
4 | though.
5 | There is no classes, only functions, though classes are planned for the future, so it's easier to
6 | structure extensions.
7 |
8 | ### Functions
9 |
10 | There is no return type for functions, and the return type is inferred from the return value.
11 | Functions are defined like this:
12 |
13 | ```capyscript
14 |
15 | function foo(bar) {
16 | return bar + 1;
17 | }
18 |
19 | function main() {
20 | return foo(1); // returns 2
21 | }
22 |
23 | ```
24 |
25 | ### Functions as arguments
26 |
27 | Functions can be passed as arguments to other functions. This is useful for callbacks.
28 |
29 | ```capyscript
30 |
31 | function foo(fun) {
32 | fun();
33 | }
34 |
35 | function bar() {
36 | print("Hello World!");
37 | }
38 |
39 | function main() {
40 | foo(bar); // prints "Hello World!"
41 | }
42 |
43 | ```
44 |
45 | ### Variables
46 |
47 | In Capyscript, variables are dynamically typed, meaning that you don't have to specify the type of a
48 | variable when you define it.
49 |
50 | ```capyscript
51 |
52 | foo = "Hello";
53 | bar = "World!";
54 | pi = 3.14;
55 |
56 | ```
57 |
58 | ### if statements
59 |
60 | If statements are defined like this:
61 |
62 | ```capyscript
63 |
64 | var = null;
65 |
66 | if(var == null) {
67 | print("var is null");
68 | } else {
69 | print("var is not null");
70 | }
71 |
72 | ```
73 |
74 | output:
75 |
76 | ```
77 | var is null
78 | ```
79 |
80 | ### Arrays
81 |
82 | It is possible to define arrays in Capyscript. Nested multidimensional arrays are also supported.
83 |
84 | Arrays are defined like this:
85 |
86 | ```capyscript
87 | arr = [1, 2, 3, 4, 5];
88 | arr2 = [[0], [1], [2]];
89 | ```
90 |
91 | ### for loops
92 |
93 | For loops are defined like this:
94 |
95 | ```capyscript
96 |
97 | for (i = 0; i < 10; i++) {
98 | print(i);
99 | }
100 |
101 |
102 | function main() {
103 | arr = [[0], [1], [2]];
104 |
105 | for (i = 0; i < 3; i++) {
106 | for (j = 0; j < 1; j++) {
107 | print(arr[i][j]);
108 | }
109 | }
110 | }
111 |
112 | ```
113 |
114 | output:
115 |
116 | ```
117 | 0
118 | 1
119 | 2
120 | ```
121 |
122 | ### Maps
123 |
124 | Maps are defined like this:
125 |
126 | ```capyscript
127 |
128 | map = {
129 | "foo": "bar",
130 | "bar": "foo"
131 | };
132 |
133 | print(map["foo"]); // prints "bar"
134 | print(map["bar"]); // prints "foo"
135 |
136 | ```
137 |
--------------------------------------------------------------------------------
/docs/guides/extension_templates/manga/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Name",
3 | "uid": "Generate a new UUIDv4",
4 | "logoUrl": "icon URL",
5 | "type": 0,
6 | "nsfw": false,
7 | "language": "English",
8 | "version": 1,
9 | "filters": [],
10 | "protectorConfig": {
11 | "pingUrl": "Url where the app will open in the web browser",
12 | "needToLogin": true,
13 | "inAppBrowserInterceptor": true
14 | },
15 | "searchAvailable": true
16 | }
17 |
--------------------------------------------------------------------------------
/docs/guides/extension_templates/manga/main.capyscript:
--------------------------------------------------------------------------------
1 | import "http";
2 | import "io";
3 | import "json";
4 | import "date";
5 | import "html";
6 | import "manga_models";
7 | import "converter";
8 |
9 |
10 |
11 | function getGallery(page, query, filters) {
12 |
13 | }
14 |
15 | function getConcrete(uid, data) {
16 |
17 | }
18 |
19 | function getPages(uid, data) {
20 |
21 | }
22 |
23 | function getImageHeaders(uid) {
24 | return {};
25 | }
26 |
27 | function passProtector(body, headers, cookies) {
28 | useHeaders({"headers": headers});
29 | }
30 |
31 | function passWebBrowserInterceptorController(controller) {
32 | registerInterceptorController(controller);
33 | }
34 |
--------------------------------------------------------------------------------
/docs/guides/readme.md:
--------------------------------------------------------------------------------
1 | TODO
2 |
--------------------------------------------------------------------------------
/docs/inapp_docs/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/docs/inapp_docs/1.jpg
--------------------------------------------------------------------------------
/docs/inapp_docs/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/docs/inapp_docs/2.jpg
--------------------------------------------------------------------------------
/docs/inapp_docs/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/docs/inapp_docs/3.jpg
--------------------------------------------------------------------------------
/docs/inapp_docs/external_extension_sources.md:
--------------------------------------------------------------------------------
1 | # External Extension Sources
2 |
3 | You can add external repositories to Wakaranai.
4 |
5 | You just need to add a URL to repository that contains the extensions in the following structure:
6 |
7 | ```
8 | ├── manga
9 | │ ├── extension1
10 | │ │ ├── config.json
11 | │ │ └── main.capyscript
12 | │ ├── extension2
13 | │ │ ├── config.json
14 | │ │ └── main.capyscript
15 | ├── anime
16 | │ ├── extension1
17 | │ │ ├── config.json
18 | │ │ └── main.capyscript
19 | │ ├── extension2
20 | │ │ ├── config.json
21 | │ │ └── main.capyscript
22 | ```
23 |
24 |
25 |
26 |
27 |
28 | |
29 |
30 |
31 | |
32 |
33 |
34 | |
35 |
36 |
37 |
38 | See guide for creating extensions [here](../guides/extensions.md)
39 |
--------------------------------------------------------------------------------
/docs/wakaranai.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/docs/wakaranai.png
--------------------------------------------------------------------------------
/example.env:
--------------------------------------------------------------------------------
1 | LOCAL_REPOSITORY_URL=
2 |
3 | OFFICIAL_GITHUB_CONFIGS_SOURCE_ORG=Sayuri128
4 | OFFICIAL_GITHUB_CONFIGS_SOURCE_REPOSITORY=wakaranai_configs
5 |
6 | OFFICIAL_GITHUB_REPO_ORG=Sayuri128
7 | OFFICIAL_GITHUB_REPO_NAME=wakaranai
8 |
9 | CURRENT_APP_VERSION=0.1.0
10 |
--------------------------------------------------------------------------------
/fonts/Ubuntu-B.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/fonts/Ubuntu-B.ttf
--------------------------------------------------------------------------------
/fonts/Ubuntu-BI.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/fonts/Ubuntu-BI.ttf
--------------------------------------------------------------------------------
/fonts/Ubuntu-C.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/fonts/Ubuntu-C.ttf
--------------------------------------------------------------------------------
/fonts/Ubuntu-L.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/fonts/Ubuntu-L.ttf
--------------------------------------------------------------------------------
/fonts/Ubuntu-LI.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/fonts/Ubuntu-LI.ttf
--------------------------------------------------------------------------------
/fonts/Ubuntu-M.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/fonts/Ubuntu-M.ttf
--------------------------------------------------------------------------------
/fonts/Ubuntu-MI.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/fonts/Ubuntu-MI.ttf
--------------------------------------------------------------------------------
/fonts/Ubuntu-R.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/fonts/Ubuntu-R.ttf
--------------------------------------------------------------------------------
/fonts/Ubuntu-RI.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/fonts/Ubuntu-RI.ttf
--------------------------------------------------------------------------------
/fonts/Ubuntu-Th.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/fonts/Ubuntu-Th.ttf
--------------------------------------------------------------------------------
/fonts/UbuntuMono-B.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/fonts/UbuntuMono-B.ttf
--------------------------------------------------------------------------------
/fonts/UbuntuMono-BI.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/fonts/UbuntuMono-BI.ttf
--------------------------------------------------------------------------------
/fonts/UbuntuMono-R.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/fonts/UbuntuMono-R.ttf
--------------------------------------------------------------------------------
/fonts/UbuntuMono-RI.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/fonts/UbuntuMono-RI.ttf
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | **/dgph
2 | *.mode1v3
3 | *.mode2v3
4 | *.moved-aside
5 | *.pbxuser
6 | *.perspectivev3
7 | **/*sync/
8 | .sconsign.dblite
9 | .tags*
10 | **/.vagrant/
11 | **/DerivedData/
12 | Icon?
13 | **/Pods/
14 | **/.symlinks/
15 | profile
16 | xcuserdata
17 | **/.generated/
18 | Flutter/App.framework
19 | Flutter/Flutter.framework
20 | Flutter/Flutter.podspec
21 | Flutter/Generated.xcconfig
22 | Flutter/ephemeral/
23 | Flutter/app.flx
24 | Flutter/app.zip
25 | Flutter/flutter_assets/
26 | Flutter/flutter_export_environment.sh
27 | ServiceDefinitions.json
28 | Runner/GeneratedPluginRegistrant.*
29 |
30 | # Exceptions to above rules.
31 | !default.mode1v3
32 | !default.mode2v3
33 | !default.pbxuser
34 | !default.perspectivev3
35 |
--------------------------------------------------------------------------------
/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 9.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Flutter
3 |
4 | @UIApplicationMain
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "20x20",
5 | "idiom" : "iphone",
6 | "filename" : "Icon-App-20x20@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "20x20",
11 | "idiom" : "iphone",
12 | "filename" : "Icon-App-20x20@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "Icon-App-29x29@1x.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "29x29",
23 | "idiom" : "iphone",
24 | "filename" : "Icon-App-29x29@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "29x29",
29 | "idiom" : "iphone",
30 | "filename" : "Icon-App-29x29@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "40x40",
35 | "idiom" : "iphone",
36 | "filename" : "Icon-App-40x40@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "40x40",
41 | "idiom" : "iphone",
42 | "filename" : "Icon-App-40x40@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "Icon-App-60x60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "Icon-App-60x60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "20x20",
59 | "idiom" : "ipad",
60 | "filename" : "Icon-App-20x20@1x.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "20x20",
65 | "idiom" : "ipad",
66 | "filename" : "Icon-App-20x20@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "29x29",
71 | "idiom" : "ipad",
72 | "filename" : "Icon-App-29x29@1x.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "29x29",
77 | "idiom" : "ipad",
78 | "filename" : "Icon-App-29x29@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "40x40",
83 | "idiom" : "ipad",
84 | "filename" : "Icon-App-40x40@1x.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "40x40",
89 | "idiom" : "ipad",
90 | "filename" : "Icon-App-40x40@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "76x76",
95 | "idiom" : "ipad",
96 | "filename" : "Icon-App-76x76@1x.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "76x76",
101 | "idiom" : "ipad",
102 | "filename" : "Icon-App-76x76@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "83.5x83.5",
107 | "idiom" : "ipad",
108 | "filename" : "Icon-App-83.5x83.5@2x.png",
109 | "scale" : "2x"
110 | },
111 | {
112 | "size" : "1024x1024",
113 | "idiom" : "ios-marketing",
114 | "filename" : "Icon-App-1024x1024@1x.png",
115 | "scale" : "1x"
116 | }
117 | ],
118 | "info" : {
119 | "version" : 1,
120 | "author" : "xcode"
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Sayuri128/wakaranai/7a13e9618c41c8d114f7f0b36cd7a06ad31abbbb/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | Wakaranai
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | $(FLUTTER_BUILD_NAME)
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | $(FLUTTER_BUILD_NUMBER)
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UISupportedInterfaceOrientations
30 |
31 | UIInterfaceOrientationPortrait
32 | UIInterfaceOrientationLandscapeLeft
33 | UIInterfaceOrientationLandscapeRight
34 |
35 | UISupportedInterfaceOrientations~ipad
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationPortraitUpsideDown
39 | UIInterfaceOrientationLandscapeLeft
40 | UIInterfaceOrientationLandscapeRight
41 |
42 | UIViewControllerBasedStatusBarAppearance
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/lib/blocs/api_client_controller/api_client_controller_state.dart:
--------------------------------------------------------------------------------
1 | part of 'api_client_controller_cubit.dart';
2 |
3 | class ApiClientControllerState {
4 | const ApiClientControllerState();
5 | }
6 |
7 | class ApiClientControllerInitialized
8 | extends ApiClientControllerState {
9 | final T apiClient;
10 | final ConfigInfo configInfo;
11 |
12 | ApiClientControllerInitialized(
13 | {required this.apiClient, required this.configInfo});
14 | }
15 |
16 | class ApiClientControllerError extends ApiClientControllerState {
17 | final String message;
18 |
19 | ApiClientControllerError({required this.message});
20 | }
21 |
--------------------------------------------------------------------------------
/lib/blocs/auth/authentication_cubit.dart:
--------------------------------------------------------------------------------
1 | import 'package:equatable/equatable.dart';
2 | import 'package:flutter/material.dart';
3 | import 'package:flutter_bloc/flutter_bloc.dart';
4 |
5 | part 'authentication_state.dart';
6 |
7 | class AuthenticationCubit extends Cubit {
8 | AuthenticationCubit() : super(AuthenticationInitial());
9 |
10 | void authorize(String email, String password) =>
11 | emit(AuthenticationAuthenticated.create(email, password));
12 | }
13 |
--------------------------------------------------------------------------------
/lib/blocs/auth/authentication_state.dart:
--------------------------------------------------------------------------------
1 | part of 'authentication_cubit.dart';
2 |
3 | @immutable
4 | abstract class AuthenticationState extends Equatable {}
5 |
6 | class AuthenticationInitial extends AuthenticationState {
7 | @override
8 | List