58 Commits

Author SHA1 Message Date
Jagandeep Brar
9490355792 release: v11.0.0
[skip ci]
2025-04-02 21:18:51 -04:00
Jagandeep Brar
5d069a537a release: v10.2.6
[skip ci]
2023-10-04 10:56:38 -04:00
Jagandeep Brar
60cdc3e0b0 release(testflight): beta
[skip ci]
2023-10-04 09:46:20 -04:00
Weblate (bot)
642af12404 chore(locale): translations update from Hosted Weblate (#768)
* Translated using Weblate (German)

Currently translated at 100.0% (19 of 19 strings)

Translation: LunaSea/Dashboard
Translate-URL: https://hosted.weblate.org/projects/lunasea/dashboard/de/

* Translated using Weblate (German)

Currently translated at 100.0% (220 of 220 strings)

Translation: LunaSea/Sonarr
Translate-URL: https://hosted.weblate.org/projects/lunasea/sonarr/de/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (35 of 35 strings)

Translation: LunaSea/Search
Translate-URL: https://hosted.weblate.org/projects/lunasea/search/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (24 of 24 strings)

Translation: LunaSea/SABnzbd
Translate-URL: https://hosted.weblate.org/projects/lunasea/sabnzbd/es/

---------

Co-authored-by: redoXiD <arvidjonas2004@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
2023-10-04 08:57:42 -04:00
Jagandeep Brar
3da56b0194 chore(flutter): upgrade to 3.13.6/a794cf2681 2023-10-04 08:56:05 -04:00
Jagandeep Brar
08228ef0f9 fix(sonarr): correctly support Sonarr v4 season posters 2023-08-29 22:57:15 -04:00
Jagandeep Brar
ea0fe19efc fix(sonarr): correctly sort missing content list in descending order 2023-08-27 18:30:14 -04:00
Weblate (bot)
bf5d0ba6ec chore(localization): translations update from Hosted Weblate
Co-authored-by: BeardedWatermelon <periklis.karantonis@gmail.com>
Co-authored-by: DragoPrime <emperordrago@gmail.com>
Co-authored-by: Dominique Schlabach <nickis1305@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: redoXiD <arvidjonas2004@gmail.com>

[skip ci]
2023-08-27 18:27:16 -04:00
Jagandeep Brar
55c417f761 fix(ui): upgrade to flash@3.0.5+1 2023-08-27 14:27:00 -04:00
Jagandeep Brar
8bd3368e99 chore(flutter): upgrade packages 2023-08-27 14:27:00 -04:00
Jagandeep Brar
69f094135c release: v10.2.5
[skip ci]
2023-07-03 12:16:36 -04:00
Jagandeep Brar
ce69e8ea90 release(testflight): beta
[skip ci]
2023-06-23 13:49:50 -04:00
Jagandeep Brar
d81052d817 fix(search): profile could not be changed on download prompt 2023-06-21 23:22:56 -04:00
Jagandeep Brar
1c18d007d3 chore(flutter): update packages
[skip ci]
2023-06-21 23:19:13 -04:00
Weblate (bot)
14e4f6a036 chore: translations update from Hosted Weblate (#760)
[skip ci]

Co-authored-by: 愿你多年归来仍是少年 <onestime@126.com>
Co-authored-by: Guillaume Chatelain <chatelain.guillaume@gmail.com>
2023-06-21 23:06:01 -04:00
Weblate (bot)
83dd953a06 chore: translations update from Hosted Weblate (#759)
Co-authored-by: Sulli <susu.leduc@gmail.com>
Co-authored-by: Jagandeep Brar <me@jagandeepbrar.io>
2023-06-06 22:17:42 -04:00
Jagandeep Brar
f3fdf6d5f3 chore(flutter): update packages 2023-05-25 12:26:56 -04:00
Jagandeep Brar
93d740bb9b release(testflight): beta
[skip ci]
2023-05-13 14:58:42 -04:00
Jagandeep Brar
85f8558e5d chore(locale): translations updates from Weblate
[skip ci]
2023-05-13 14:54:35 -04:00
Jagandeep Brar
896f24f5b6 chore(ci): automatically extract publisher and publisher name from signing certificate 2023-05-13 13:14:17 -04:00
Jagandeep Brar
d271412a99 chore(ci): update nwtgck/actions-netlify to v2.0 2023-05-13 12:55:09 -04:00
Jagandeep Brar
b1a513973d fix(ios): update App Store signing certificate 2023-05-13 12:11:16 -04:00
Jagandeep Brar
e2e1c7449b chore: regenerated plugin registrants 2023-05-13 01:54:50 -04:00
Jagandeep Brar
8e3c477bf7 fix(windows): revert Firebase packages to maintain Windows support 2023-05-12 23:04:27 -04:00
Jagandeep Brar
335aaa3acd fix(sonarr): remove duplicate episode file IDs on multi-select deletion 2023-05-12 21:20:09 -04:00
Jagandeep Brar
021a08e4e4 chore(flutter): upgrade to 3.10.0/d44b5a94c9 2023-05-12 21:18:43 -04:00
Jagandeep Brar
7ea7dfc2d6 chore(ci): disable provenance attestations for Docker builds 2023-05-01 09:26:14 -05:00
Jagandeep Brar
cfa78fb6ec chore(ci): update workflows to support arm64 build and push 2023-05-01 00:56:47 -05:00
Jagandeep Brar
89b0906eab feat(web): build multi-platform Docker image for amd64 and arm64 2023-05-01 00:11:33 -05:00
Jagandeep Brar
79d13889f2 feat(sonarr): re-implementation of multi-select episode actions 2023-05-01 01:10:20 -04:00
Jagandeep Brar
5adaf059c8 chore(fastlane): update match repository url
[skip ci]
2023-04-22 01:18:56 -04:00
Jagandeep Brar
44e2611008 chore(repo): update repository name to lowercase
[skip ci]
2023-04-22 01:15:16 -04:00
Jagandeep Brar
9d17eea143 chore: bump version to 10.2.5 2023-04-13 23:07:00 -04:00
Jagandeep Brar
ebf85f0f79 chore(scripts): automatically version pubspec and snapcraft configurations on npm versioning 2023-04-13 23:06:20 -04:00
Jagandeep Brar
5a04fd95ed release: v10.2.4
[skip ci]
2023-04-09 14:20:11 -04:00
Jagandeep Brar
e3a21d2817 chore: update changelog_stable.json
[skip ci]
2023-04-09 14:19:36 -04:00
Jagandeep Brar
50714fa603 release(testflight): beta
[skip ci]
2023-04-07 02:32:27 -04:00
Jagandeep Brar
fe3d41af57 refactor(flavors): remove candidate flavor and merge with beta 2023-04-07 01:46:04 -04:00
Jagandeep Brar
1304ae327d release(testflight): candidate
[skip ci]
2023-04-05 23:09:52 -04:00
Jagandeep Brar
aeb80fcf08 release(testflight): beta
[skip ci]
2023-04-05 12:28:53 -04:00
Jagandeep Brar
a44ec79b3d chore(ci): fallback to commit hash for build run-name 2023-04-05 11:30:08 -04:00
Jagandeep Brar
a15d09b455 chore(locale): regenerate localization assets 2023-04-05 11:26:50 -04:00
Weblate (bot)
3aa2cc974c chore(locale): translations update from Weblate (#751)
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Notis pap <notispap@hotmail.com>

[skip ci]
2023-04-05 11:25:06 -04:00
Jagandeep Brar
605002f5bd refactor: remove cupertino_icons and email_validator packages 2023-03-30 11:43:23 -04:00
Jagandeep Brar
2f94c42da1 refactor: remove riverpod state management 2023-03-30 11:43:23 -04:00
Jagandeep Brar
b65af75075 chore(locale): enable Greek (el) language 2023-03-30 04:12:40 -04:00
Weblate (bot)
4b149b58d0 chore(locale): translations update from Weblate
Co-authored-by: Notis pap <notispap@hotmail.com>
2023-03-30 04:10:41 -04:00
Jagandeep Brar
5ce12795e7 feat(settings): replace all strings with localizable strings 2023-03-30 04:07:10 -04:00
Jagandeep Brar
0f4ac9a893 feat(settings): add direct link to documentation for service notifications 2023-03-30 04:07:10 -04:00
Jagandeep Brar
4e243d6f30 release(testflight): beta
[skip ci]
2023-03-28 00:06:06 -04:00
Jagandeep Brar
568c28cd92 chore(ci): add run-name to build workflow
[skip ci]
2023-03-28 00:05:26 -04:00
Jagandeep Brar
3500d83477 fix(routing): handle pushing route which may return data 2023-03-27 17:41:23 -04:00
Jagandeep Brar
b515a0d14e chore(flutter): update packages 2023-03-27 16:42:31 -04:00
Jagandeep Brar
6a2e7d83f3 chore(locale): enable Slovak (sk) language 2023-03-27 16:39:07 -04:00
Jagandeep Brar
f1a82c06aa fix(images): utilize new technique to persistently cache images 2023-03-27 16:38:41 -04:00
Weblate (bot)
c5eace4352 chore(localization): translations update from Weblate
[skip ci]
2023-03-27 15:17:28 -04:00
Jagandeep Brar
781727abba fix(uiux): remove fading edge on horizontal scrollviews 2023-03-27 04:40:34 -04:00
Jagandeep Brar
7c8e17e59f chore: bump version to v10.2.4
[skip ci]
2023-03-27 04:36:15 -04:00
382 changed files with 5914 additions and 12227 deletions

View File

@@ -1,406 +0,0 @@
{
"files": [
"CONTRIBUTORS.md"
],
"imageSize": 100,
"commit": false,
"contributors": [
{
"login": "JagandeepBrar",
"name": "Jagandeep Brar",
"avatar_url": "https://avatars.githubusercontent.com/u/3048295?v=4",
"profile": "https://www.jagandeepbrar.io",
"contributions": [
"code",
"design",
"ideas"
]
},
{
"login": "lightglitch",
"name": "Mário Franco",
"avatar_url": "https://avatars.githubusercontent.com/u/196953?v=4",
"profile": "https://github.com/lightglitch",
"contributions": [
"code",
"translation"
]
},
{
"login": "Qstick",
"name": "Qstick",
"avatar_url": "https://avatars.githubusercontent.com/u/376117?v=4",
"profile": "https://github.com/Qstick",
"contributions": [
"code"
]
},
{
"login": "AliMickey",
"name": "Micky",
"avatar_url": "https://avatars.githubusercontent.com/u/60691199?v=4",
"profile": "https://github.com/AliMickey",
"contributions": [
"doc"
]
},
{
"login": "xrths",
"name": "xrths",
"avatar_url": "https://avatars.githubusercontent.com/u/40337934?v=4",
"profile": "http://www.xrths.fr",
"contributions": [
"doc"
]
},
{
"login": "Phaugt",
"name": "Patrik Hauguth",
"avatar_url": "https://avatars.githubusercontent.com/u/41962737?v=4",
"profile": "https://pythonexplainedto.me/",
"contributions": [
"translation"
]
},
{
"login": "comradekingu",
"name": "Allan Nordhøy",
"avatar_url": "https://avatars.githubusercontent.com/u/13802408?v=4",
"profile": "https://liberapay.com/kingu/",
"contributions": [
"translation"
]
},
{
"login": "cpt-kuesel",
"name": "cpt-kuesel",
"avatar_url": "https://avatars.githubusercontent.com/u/79487102?v=4",
"profile": "https://github.com/cpt-kuesel",
"contributions": [
"translation"
]
},
{
"login": "KovalevArtem",
"name": "KovalevArtem",
"avatar_url": "https://avatars.githubusercontent.com/u/36500228?v=4",
"profile": "https://github.com/KovalevArtem",
"contributions": [
"translation"
]
},
{
"login": "iFelix18",
"name": "Davide",
"avatar_url": "https://avatars.githubusercontent.com/u/19800006?v=4",
"profile": "https://github.com/iFelix18",
"contributions": [
"translation"
]
},
{
"login": "ersen0",
"name": "Oğuz Ersen",
"avatar_url": "https://avatars.githubusercontent.com/u/88676873?v=4",
"profile": "https://ersen.srht.site/",
"contributions": [
"translation"
]
},
{
"login": "bittin",
"name": "bittin",
"avatar_url": "https://avatars.githubusercontent.com/u/43197?v=4",
"profile": "https://github.com/bittin",
"contributions": [
"translation"
]
},
{
"login": "almontegil",
"name": "Gil",
"avatar_url": "https://avatars.githubusercontent.com/u/68232356?v=4",
"profile": "https://github.com/almontegil",
"contributions": [
"translation"
]
},
{
"login": "TheSander562",
"name": "Sander Lambrechts",
"avatar_url": "https://avatars.githubusercontent.com/u/14059770?v=4",
"profile": "https://github.com/TheSander562",
"contributions": [
"translation"
]
},
{
"login": "Guilhermerrrr",
"name": "Guilhermerrrr",
"avatar_url": "https://avatars.githubusercontent.com/u/92966143?v=4",
"profile": "https://github.com/Guilhermerrrr",
"contributions": [
"translation"
]
},
{
"login": "Ben-Wallner",
"name": "Ben Biber",
"avatar_url": "https://avatars.githubusercontent.com/u/24373331?v=4",
"profile": "https://github.com/Ben-Wallner",
"contributions": [
"translation"
]
},
{
"login": "Sytom",
"name": "Sytom",
"avatar_url": "https://avatars.githubusercontent.com/u/30535521?v=4",
"profile": "https://github.com/Sytom",
"contributions": [
"translation"
]
},
{
"login": "xxzj990",
"name": "xxzj990",
"avatar_url": "https://avatars.githubusercontent.com/u/5134154?v=4",
"profile": "https://xxzj990.top",
"contributions": [
"translation"
]
},
{
"login": "mfrelink",
"name": "Mark Frelink",
"avatar_url": "https://avatars.githubusercontent.com/u/3245077?v=4",
"profile": "https://www.openflixr.com",
"contributions": [
"translation"
]
},
{
"login": "diemade",
"name": "diemade",
"avatar_url": "https://avatars.githubusercontent.com/u/174809?v=4",
"profile": "https://github.com/diemade",
"contributions": [
"translation"
]
},
{
"login": "FeikoJoosten",
"name": "Feiko Joosten",
"avatar_url": "https://avatars.githubusercontent.com/u/10920052?v=4",
"profile": "https://feikojoosten.com",
"contributions": [
"translation"
]
},
{
"login": "TheMaxul",
"name": "TheMaxul",
"avatar_url": "https://avatars.githubusercontent.com/u/2436527?v=4",
"profile": "https://github.com/TheMaxul",
"contributions": [
"translation"
]
},
{
"login": "Lisapple",
"name": "Maxime Leroy",
"avatar_url": "https://avatars.githubusercontent.com/u/6952213?v=4",
"profile": "https://lisacintosh.itch.io",
"contributions": [
"translation"
]
},
{
"login": "vc5",
"name": "Vincent",
"avatar_url": "https://avatars.githubusercontent.com/u/13097192?v=4",
"profile": "https://github.com/vc5",
"contributions": [
"translation"
]
},
{
"login": "gmcinalli",
"name": "Gian Marco Cinalli",
"avatar_url": "https://avatars.githubusercontent.com/u/9024983?v=4",
"profile": "https://github.com/gmcinalli",
"contributions": [
"translation"
]
},
{
"login": "issaccv",
"name": "八月的蠢",
"avatar_url": "https://avatars.githubusercontent.com/u/17275050?v=4",
"profile": "https://www.issacc.top/",
"contributions": [
"translation"
]
},
{
"login": "neoestremi",
"name": "neoestremi",
"avatar_url": "https://avatars.githubusercontent.com/u/1340877?v=4",
"profile": "https://github.com/neoestremi",
"contributions": [
"translation"
]
},
{
"login": "marcosvdiasofc",
"name": "marcosvdiasofc",
"avatar_url": "https://avatars.githubusercontent.com/u/96720080?v=4",
"profile": "https://github.com/marcosvdiasofc",
"contributions": [
"translation"
]
},
{
"login": "fscorrupt",
"name": "FSCorrupt",
"avatar_url": "https://avatars.githubusercontent.com/u/45659314?v=4",
"profile": "https://liberapay.com/FSCorrupt/donate",
"contributions": [
"translation"
]
},
{
"login": "iHunterX",
"name": "iHunterX",
"avatar_url": "https://avatars.githubusercontent.com/u/16854718?v=4",
"profile": "https://github.com/iHunterX",
"contributions": [
"translation"
]
},
{
"login": "Brokeos",
"name": "Brokeos",
"avatar_url": "https://avatars.githubusercontent.com/u/8388746?v=4",
"profile": "https://github.com/Brokeos",
"contributions": [
"translation"
]
},
{
"login": "punchy98",
"name": "Michael Maldonado",
"avatar_url": "https://avatars.githubusercontent.com/u/12002902?v=4",
"profile": "https://github.com/punchy98",
"contributions": [
"translation"
]
},
{
"login": "natiz",
"name": "natiz",
"avatar_url": "https://avatars.githubusercontent.com/u/3515888?v=4",
"profile": "https://github.com/natiz",
"contributions": [
"code"
]
},
{
"login": "KevoM",
"name": "KevoM",
"avatar_url": "https://avatars.githubusercontent.com/u/8274366?v=4",
"profile": "https://github.com/KevoM",
"contributions": [
"translation"
]
},
{
"login": "rogeriomendes",
"name": "rogeriomendes",
"avatar_url": "https://avatars.githubusercontent.com/u/1494503?v=4",
"profile": "https://github.com/rogeriomendes",
"contributions": [
"translation"
]
},
{
"login": "Irishsmurf",
"name": "David K",
"avatar_url": "https://avatars.githubusercontent.com/u/587220?v=4",
"profile": "http://www.paddez.com/",
"contributions": [
"design"
]
},
{
"login": "Slam4uk",
"name": "Slam4uk",
"avatar_url": "https://avatars.githubusercontent.com/u/78175288?v=4",
"profile": "https://github.com/Slam4uk",
"contributions": [
"translation"
]
},
{
"login": "timrettop",
"name": "Tim Potter",
"avatar_url": "https://avatars.githubusercontent.com/u/434913?v=4",
"profile": "https://github.com/timrettop",
"contributions": [
"translation"
]
},
{
"login": "carlesmu",
"name": "Carles Muñoz Gorriz",
"avatar_url": "https://avatars.githubusercontent.com/u/1310090?v=4",
"profile": "https://github.com/carlesmu",
"contributions": [
"translation"
]
},
{
"login": "osjurso",
"name": "Olav Markus Sjursø",
"avatar_url": "https://avatars.githubusercontent.com/u/17827103?v=4",
"profile": "https://github.com/osjurso",
"contributions": [
"translation"
]
},
{
"login": "fyu0h",
"name": "fyu0h",
"avatar_url": "https://avatars.githubusercontent.com/u/33602841?v=4",
"profile": "https://github.com/fyu0h",
"contributions": [
"translation"
]
},
{
"login": "johnflorin",
"name": "Florin",
"avatar_url": "https://avatars.githubusercontent.com/u/45756085?v=4",
"profile": "https://github.com/johnflorin",
"contributions": [
"translation"
]
},
{
"login": "tuzumbear",
"name": "tuzumbear",
"avatar_url": "https://avatars.githubusercontent.com/u/61370405?v=4",
"profile": "https://github.com/tuzumbear",
"contributions": [
"translation"
]
}
],
"contributorsPerLine": 8,
"projectName": "LunaSea",
"projectOwner": "JagandeepBrar",
"repoType": "github",
"repoHost": "https://github.com",
"skipCi": true,
"commitConvention": "none"
}

View File

@@ -4,7 +4,7 @@ contact_links:
url: https://www.lunasea.app/discord
about: Request new features and get support from the community
- name: Support via GitHub Discussions
url: https://github.com/JagandeepBrar/LunaSea/discussions
url: https://github.com/JagandeepBrar/lunasea/discussions
about: Ask questions and discuss with other community members
- name: Support via Reddit
url: https://www.lunasea.app/reddit

View File

@@ -7,10 +7,6 @@ inputs:
required: true
# Config
firebase-token:
description: "Firebase Token"
required: false
default: ""
skip-core:
description: "Skip Installing Core Files"
required: false
@@ -33,10 +29,6 @@ inputs:
description: "Code Signing Certificate"
required: false
default: ""
firebase-service-worker:
description: "Firebase Service Worker"
required: false
default: ""
google-play-key:
description: "Google Play Store API Key"
required: false
@@ -56,7 +48,7 @@ runs:
- name: Prepare Core
if: ${{ inputs.skip-core == 'false' }}
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: core-files
@@ -78,12 +70,12 @@ runs:
uses: actions/setup-java@v3
with:
distribution: zulu
java-version: 11
java-version: 17
- name: Install Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 16
node-version: 20
- name: Install Ruby
if: ${{ inputs.platform == 'android' || inputs.platform == 'ios' || inputs.platform == 'macos' }}
@@ -116,33 +108,6 @@ runs:
echo ${{ inputs.android-key-jks }} | base64 --decode > android/key.jks
echo ${{ inputs.android-key-properties }} | base64 --decode > android/key.properties
- name: Setup Firebase Configuration
if: ${{ inputs.firebase-token != '' }}
shell: bash
run: |
gem install --user-install xcodeproj
npm install -g firebase-tools
firebase --version
dart pub global activate flutterfire_cli 0.3.0-dev.16
flutterfire configure \
--project=comettools-lunasea \
--token=${{ inputs.firebase-token }} \
--platforms=android,ios,macos,web \
--android-package-name=app.lunasea.lunasea \
--ios-bundle-id=app.lunasea.lunasea \
--macos-bundle-id=app.lunasea.lunasea \
--web-app-id=1:511093487055:web:37d2f8e4c960708add8eba \
--no-debug-symbols-ios \
--no-debug-symbols-macos \
--out=lib/firebase/options.dart \
--yes
- name: Setup Firebase Service Worker
if: ${{ inputs.firebase-service-worker != '' }}
shell: bash
run: echo ${{ inputs.firebase-service-worker }} | base64 --decode > web/firebase-messaging-sw.js
- name: Setup Android Platform
if: ${{ inputs.platform == 'android' }}
shell: bash

View File

@@ -1,28 +1,20 @@
name: 'Prepare for Deployment'
description: 'Setup all required dependencies and secrets for the given release channel'
name: "Prepare for Deployment"
description: "Setup all required dependencies and secrets for the given release channel"
inputs:
channel:
description: 'Release Channel'
description: "Release Channel"
required: true
# Secret Keys
appstore-connect-key:
description: 'App Store Connect API Key'
description: "App Store Connect API Key"
required: false
default: ''
ghcr-actor:
description: 'GitHub Container Registry Actor'
required: false
default: ''
ghcr-token:
description: 'GitHub Container Registry Token'
required: false
default: ''
default: ""
google-play-key:
description: 'Google Play Store API Key'
description: "Google Play Store API Key"
required: false
default: ''
default: ""
runs:
using: composite
@@ -43,25 +35,13 @@ runs:
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Install XCode
if: ${{ inputs.channel == 'app-store' }}
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Set up Docker Buildx
if: ${{ inputs.channel == 'docker' }}
uses: docker/setup-buildx-action@v2
- name: Setup GitHub Package Registry
if: ${{ inputs.channel == 'docker' }}
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ inputs.ghcr-actor }}
password: ${{ inputs.ghcr-token }}
- name: Setup Secret Keys
shell: bash
run: |
@@ -79,7 +59,7 @@ runs:
shell: bash
run: |
cd ios && bundle install
- name: Setup macOS Platform
if: ${{ inputs.channel == 'app-store' }}
shell: bash

View File

@@ -1,4 +1,5 @@
name: Build
run-name: "Build Release: ${{ inputs.flavor || github.sha }}"
on:
push:
@@ -14,41 +15,35 @@ on:
options:
- edge
- beta
- candidate
- stable
jobs:
prepare:
name: Prepare
uses: JagandeepBrar/LunaSea/.github/workflows/prepare.yml@master
uses: JagandeepBrar/lunasea/.github/workflows/prepare.yml@master
with:
flavor: ${{ inputs.flavor }}
secrets:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
build-android:
name: Build Android
needs: [ prepare ]
uses: JagandeepBrar/LunaSea/.github/workflows/build_android.yml@master
needs: [prepare]
uses: JagandeepBrar/lunasea/.github/workflows/build_android.yml@master
with:
build-number: ${{ needs.prepare.outputs.build-number }}
secrets:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
KEY_JKS: ${{ secrets.KEY_JKS }}
KEY_PROPERTIES: ${{ secrets.KEY_PROPERTIES }}
build-ios:
name: Build iOS
needs: [ prepare ]
uses: JagandeepBrar/LunaSea/.github/workflows/build_ios.yml@master
needs: [prepare]
uses: JagandeepBrar/lunasea/.github/workflows/build_ios.yml@master
with:
build-number: ${{ needs.prepare.outputs.build-number }}
secrets:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ITC_TEAM_ID: ${{ secrets.APPLE_ITC_TEAM_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
IOS_CODESIGNING_IDENTITY: ${{ secrets.IOS_CODESIGNING_IDENTITY }}
MATCH_KEYCHAIN_NAME: ${{ secrets.MATCH_KEYCHAIN_NAME }}
MATCH_KEYCHAIN_PASSWORD: ${{ secrets.MATCH_KEYCHAIN_PASSWORD }}
@@ -57,16 +52,16 @@ jobs:
build-linux:
name: Build Linux
needs: [ prepare ]
uses: JagandeepBrar/LunaSea/.github/workflows/build_linux.yml@master
needs: [prepare]
uses: JagandeepBrar/lunasea/.github/workflows/build_linux.yml@master
with:
build-number: ${{ needs.prepare.outputs.build-number }}
build-version: ${{ needs.prepare.outputs.build-version }}
build-macos:
name: Build macOS
needs: [ prepare ]
uses: JagandeepBrar/LunaSea/.github/workflows/build_macos.yml@master
needs: [prepare]
uses: JagandeepBrar/lunasea/.github/workflows/build_macos.yml@master
with:
build-number: ${{ needs.prepare.outputs.build-number }}
build-version: ${{ needs.prepare.outputs.build-version }}
@@ -77,7 +72,6 @@ jobs:
APPLE_STORE_CONNECT_KEY: ${{ secrets.APPLE_STORE_CONNECT_KEY }}
APPLE_STORE_CONNECT_KEY_ID: ${{ secrets.APPLE_STORE_CONNECT_KEY_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
MACOS_INSTALLER_CERT_APP_STORE: ${{ secrets.MACOS_INSTALLER_CERT_APP_STORE }}
MACOS_INSTALLER_CERT_DIRECT: ${{ secrets.MACOS_INSTALLER_CERT_DIRECT }}
MATCH_KEYCHAIN_NAME: ${{ secrets.MATCH_KEYCHAIN_NAME }}
@@ -87,109 +81,16 @@ jobs:
build-web:
name: Build Web
needs: [ prepare ]
uses: JagandeepBrar/LunaSea/.github/workflows/build_web.yml@master
needs: [prepare]
uses: JagandeepBrar/lunasea/.github/workflows/build_web.yml@master
with:
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-title: ${{ needs.prepare.outputs.build-title }}
secrets:
FIREBASE_SERVICE_WORKER: ${{ secrets.FIREBASE_SERVICE_WORKER }}
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
build-windows:
name: Build Windows
needs: [ prepare ]
uses: JagandeepBrar/LunaSea/.github/workflows/build_windows.yml@master
needs: [prepare]
uses: JagandeepBrar/lunasea/.github/workflows/build_windows.yml@master
secrets:
CODE_SIGNING_CERTIFICATE: ${{ secrets.CODE_SIGNING_CERTIFICATE }}
CODE_SIGNING_PASSWORD: ${{ secrets.CODE_SIGNING_PASSWORD }}
CODE_SIGNING_PUBLISHER: ${{ secrets.CODE_SIGNING_PUBLISHER }}
CODE_SIGNING_PUBLISHER_NAME: ${{ secrets.CODE_SIGNING_PUBLISHER_NAME }}
publish-android:
name: Publish Android
needs: [ prepare, build-android ]
uses: JagandeepBrar/LunaSea/.github/workflows/publish_android.yml@master
with:
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-motd: ${{ needs.prepare.outputs.build-motd }}
build-title: ${{ needs.prepare.outputs.build-title }}
secrets:
GOOGLE_PLAY_API: ${{ secrets.GOOGLE_PLAY_API }}
publish-ios:
name: Publish iOS
needs: [ prepare, build-ios ]
uses: JagandeepBrar/LunaSea/.github/workflows/publish_ios.yml@master
with:
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-motd: ${{ needs.prepare.outputs.build-motd }}
secrets:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ITC_TEAM_ID: ${{ secrets.APPLE_ITC_TEAM_ID }}
APPLE_STORE_CONNECT_ISSUER_ID: ${{ secrets.APPLE_STORE_CONNECT_ISSUER_ID }}
APPLE_STORE_CONNECT_KEY: ${{ secrets.APPLE_STORE_CONNECT_KEY }}
APPLE_STORE_CONNECT_KEY_ID: ${{ secrets.APPLE_STORE_CONNECT_KEY_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
publish-linux:
name: Publish Linux
needs: [ prepare, build-linux ]
uses: JagandeepBrar/LunaSea/.github/workflows/publish_linux.yml@master
with:
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
secrets:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_STORE_CREDENTIALS }}
publish-macos:
name: Publish macOS
needs: [ prepare, build-macos ]
uses: JagandeepBrar/LunaSea/.github/workflows/publish_macos.yml@master
with:
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-motd: ${{ needs.prepare.outputs.build-motd }}
secrets:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ITC_TEAM_ID: ${{ secrets.APPLE_ITC_TEAM_ID }}
APPLE_STORE_CONNECT_ISSUER_ID: ${{ secrets.APPLE_STORE_CONNECT_ISSUER_ID }}
APPLE_STORE_CONNECT_KEY: ${{ secrets.APPLE_STORE_CONNECT_KEY }}
APPLE_STORE_CONNECT_KEY_ID: ${{ secrets.APPLE_STORE_CONNECT_KEY_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
publish-web:
name: Publish Web
needs: [ prepare, build-web ]
uses: JagandeepBrar/LunaSea/.github/workflows/publish_web.yml@master
with:
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-title: ${{ needs.prepare.outputs.build-title }}
secrets:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
publish-s3:
name: Publish S3
needs: [ prepare, build-android, build-ios, build-linux, build-macos, build-web, build-windows ]
uses: JagandeepBrar/LunaSea/.github/workflows/publish_s3.yml@master
with:
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-number: ${{ needs.prepare.outputs.build-number }}
build-title: ${{ needs.prepare.outputs.build-title }}
secrets:
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_BUCKET: ${{ secrets.S3_BUCKET }}
S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
S3_KEY_ID: ${{ secrets.S3_KEY_ID }}
S3_REGION: ${{ secrets.S3_REGION }}
notify:
name: Notify
needs: [ prepare, publish-s3 ]
uses: JagandeepBrar/LunaSea/.github/workflows/notify.yml@master
with:
build-flavor: ${{ needs.prepare.outputs.build-flavor }}
build-title: ${{ needs.prepare.outputs.build-title }}
secrets:
DISCORD_WEBHOOK_EDGE: ${{ secrets.DISCORD_WEBHOOK_EDGE }}
DISCORD_WEBHOOK_BETA: ${{ secrets.DISCORD_WEBHOOK_BETA }}
DISCORD_WEBHOOK_CANDIDATE: ${{ secrets.DISCORD_WEBHOOK_CANDIDATE }}
DISCORD_WEBHOOK_STABLE: ${{ secrets.DISCORD_WEBHOOK_STABLE }}

View File

@@ -1,4 +1,4 @@
name: 'Build Android'
name: "Build Android"
on:
workflow_call:
@@ -8,8 +8,6 @@ on:
type: string
secrets:
FIREBASE_TOKEN:
required: true
KEY_JKS:
required: true
KEY_PROPERTIES:
@@ -21,19 +19,18 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
uses: JagandeepBrar/lunasea/.github/actions/prepare_for_build@master
with:
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
platform: android
android-key-jks: ${{ secrets.KEY_JKS }}
android-key-properties: ${{ secrets.KEY_PROPERTIES }}
android-key-properties: ${{ secrets.KEY_PROPERTIES }}
- name: Build LunaSea
working-directory: ${{ github.workspace }}/android
run: bundle exec fastlane build_aab build_number:${{ inputs.build-number }}
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: android-playstore-package
path: ${{ github.workspace }}/output
@@ -43,19 +40,18 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
uses: JagandeepBrar/lunasea/.github/actions/prepare_for_build@master
with:
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
platform: android
android-key-jks: ${{ secrets.KEY_JKS }}
android-key-properties: ${{ secrets.KEY_PROPERTIES }}
android-key-properties: ${{ secrets.KEY_PROPERTIES }}
- name: Build LunaSea
working-directory: ${{ github.workspace }}/android
run: bundle exec fastlane build_apk build_number:${{ inputs.build-number }}
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: android-app-package
path: ${{ github.workspace }}/output

View File

@@ -1,4 +1,4 @@
name: 'Build iOS'
name: "Build iOS"
on:
workflow_call:
@@ -14,8 +14,6 @@ on:
required: true
APPLE_TEAM_ID:
required: true
FIREBASE_TOKEN:
required: true
IOS_CODESIGNING_IDENTITY:
required: true
MATCH_KEYCHAIN_NAME:
@@ -33,11 +31,10 @@ jobs:
runs-on: macos-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
uses: JagandeepBrar/lunasea/.github/actions/prepare_for_build@master
with:
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
platform: ios
match-ssh-private-key: ${{ secrets.MATCH_SSH_PRIVATE_KEY }}
match-ssh-private-key: ${{ secrets.MATCH_SSH_PRIVATE_KEY }}
- name: Build LunaSea
working-directory: ${{ github.workspace }}/ios
@@ -50,9 +47,9 @@ jobs:
MATCH_KEYCHAIN_NAME: ${{ secrets.MATCH_KEYCHAIN_NAME }}
MATCH_KEYCHAIN_PASSWORD: ${{ secrets.MATCH_KEYCHAIN_PASSWORD }}
run: bundle exec fastlane build_appstore build_number:${{ inputs.build-number }}
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ios-appstore-package
path: ${{ github.workspace }}/output

View File

@@ -1,4 +1,4 @@
name: 'Build Linux'
name: "Build Linux"
on:
workflow_call:
@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
uses: JagandeepBrar/lunasea/.github/actions/prepare_for_build@master
with:
platform: linux
@@ -25,9 +25,9 @@ jobs:
- name: Prepare Artifact
run: dart ${{github.workspace }}/scripts/generate_debian.dart "${{ inputs.build-version }}+${{ inputs.build-number }}"
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: linux-debian
path: ${{ github.workspace }}/output
@@ -37,7 +37,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
uses: JagandeepBrar/lunasea/.github/actions/prepare_for_build@master
with:
platform: linux
@@ -46,9 +46,9 @@ jobs:
- name: Prepare Artifact
run: tar czf output/lunasea-linux-amd64.tar.gz -C build/linux/x64/release/bundle/ .
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: linux-tarball
path: ${{ github.workspace }}/output
@@ -58,21 +58,19 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
uses: JagandeepBrar/lunasea/.github/actions/prepare_for_build@master
with:
platform: linux
- name: Build LunaSea
uses: snapcore/action-build@v1
id: build
- name: Prepare Artifact
run: mv ${{ steps.build.outputs.snap }} ${{ github.workspace }}/output/lunasea-linux-amd64.snap
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: linux-snapcraft
path: ${{ github.workspace }}/output

View File

@@ -1,4 +1,4 @@
name: 'Build macOS'
name: "Build macOS"
on:
workflow_call:
@@ -23,8 +23,6 @@ on:
required: true
APPLE_TEAM_ID:
required: true
FIREBASE_TOKEN:
required: true
MACOS_INSTALLER_CERT_APP_STORE:
required: true
MACOS_INSTALLER_CERT_DIRECT:
@@ -44,12 +42,11 @@ jobs:
runs-on: macos-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
uses: JagandeepBrar/lunasea/.github/actions/prepare_for_build@master
with:
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
platform: macos
appstore-connect-key: ${{ secrets.APPLE_STORE_CONNECT_KEY }}
match-ssh-private-key: ${{ secrets.MATCH_SSH_PRIVATE_KEY }}
match-ssh-private-key: ${{ secrets.MATCH_SSH_PRIVATE_KEY }}
- name: Build LunaSea
working-directory: ${{ github.workspace }}/macos
@@ -67,7 +64,7 @@ jobs:
run: bundle exec fastlane build_app_store build_number:${{ inputs.build-number }}
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: macos-appstore-package
path: ${{ github.workspace }}/output
@@ -77,12 +74,11 @@ jobs:
runs-on: macos-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
uses: JagandeepBrar/lunasea/.github/actions/prepare_for_build@master
with:
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
platform: macos
appstore-connect-key: ${{ secrets.APPLE_STORE_CONNECT_KEY }}
match-ssh-private-key: ${{ secrets.MATCH_SSH_PRIVATE_KEY }}
match-ssh-private-key: ${{ secrets.MATCH_SSH_PRIVATE_KEY }}
- name: Build LunaSea
working-directory: ${{ github.workspace }}/macos
@@ -100,7 +96,7 @@ jobs:
run: bundle exec fastlane build_app_package build_number:${{ inputs.build-number }}
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: macos-app-package
path: ${{ github.workspace }}/output
@@ -110,17 +106,17 @@ jobs:
runs-on: macos-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
uses: JagandeepBrar/lunasea/.github/actions/prepare_for_build@master
with:
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
platform: macos
appstore-connect-key: ${{ secrets.APPLE_STORE_CONNECT_KEY }}
match-ssh-private-key: ${{ secrets.MATCH_SSH_PRIVATE_KEY }}
- name: Setup Disk Image Creator
run: |
npm install -g create-dmg
brew install graphicsmagick imagemagick
pip install setuptools
npm install -g create-dmg
- name: Build LunaSea
working-directory: ${{ github.workspace }}/macos
@@ -138,7 +134,7 @@ jobs:
run: bundle exec fastlane build_disk_image build_number:${{ inputs.build-number }} build_version:${{ inputs.build-version }}
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: macos-disk-image
path: ${{ github.workspace }}/output

View File

@@ -1,4 +1,4 @@
name: 'Build Web'
name: "Build Web"
on:
workflow_call:
@@ -10,29 +10,21 @@ on:
required: true
type: string
secrets:
FIREBASE_TOKEN:
required: true
FIREBASE_SERVICE_WORKER:
required: true
jobs:
build-hosted:
name: Hosted
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
uses: JagandeepBrar/lunasea/.github/actions/prepare_for_build@master
with:
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
firebase-service-worker: ${{ secrets.FIREBASE_SERVICE_WORKER }}
platform: web
- name: Build LunaSea
run: npm run build:web
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: web-hosted
path: ${{ github.workspace }}/build/web
@@ -42,7 +34,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
uses: JagandeepBrar/lunasea/.github/actions/prepare_for_build@master
with:
platform: web
@@ -57,7 +49,7 @@ jobs:
filename: ../../output/lunasea-web-canvaskit.zip
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: web-archive
path: ${{ github.workspace }}/output
@@ -67,7 +59,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
uses: JagandeepBrar/lunasea/.github/actions/prepare_for_build@master
with:
platform: web
@@ -86,15 +78,18 @@ jobs:
if (process.env.BUILD_FLAVOR === 'stable') tags.push('latest');
return tags.map((tag) => `ghcr.io/jagandeepbrar/lunasea:${tag}`).join(',');
- name: Build LunaSea
uses: docker/build-push-action@v3
- name: Setup GitHub Package Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ github.token }}
- name: Build & Push LunaSea
uses: docker/build-push-action@v4
with:
context: .
outputs: type=docker,dest=${{ github.workspace}}/output/lunasea-web-docker.tar
platforms: linux/amd64,linux/arm64
provenance: false
push: true
tags: ${{ steps.tags.outputs.result }}
- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: web-docker
path: ${{ github.workspace }}/output

View File

@@ -1,4 +1,4 @@
name: 'Build Windows'
name: "Build Windows"
on:
workflow_call:
@@ -7,10 +7,6 @@ on:
required: true
CODE_SIGNING_PASSWORD:
required: true
CODE_SIGNING_PUBLISHER:
required: true
CODE_SIGNING_PUBLISHER_NAME:
required: true
jobs:
build-app-package:
@@ -18,7 +14,7 @@ jobs:
runs-on: windows-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
uses: JagandeepBrar/lunasea/.github/actions/prepare_for_build@master
with:
platform: windows
@@ -26,10 +22,10 @@ jobs:
run: npm run build:windows
- name: Prepare Artifact
run: Compress-Archive -path ${{ github.workspace }}\build\windows\runner\Release\* ${{github.workspace}}\output\lunasea-windows-amd64.zip
run: Compress-Archive -path ${{ github.workspace }}\build\windows\x64\runner\Release\* ${{github.workspace}}\output\lunasea-windows-amd64.zip
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: windows-app-package
path: ${{ github.workspace }}/output
@@ -39,7 +35,7 @@ jobs:
runs-on: windows-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
uses: JagandeepBrar/lunasea/.github/actions/prepare_for_build@master
with:
platform: windows
code-signing-certificate: ${{ secrets.CODE_SIGNING_CERTIFICATE }}
@@ -49,12 +45,10 @@ jobs:
flutter pub run msix:create `
--certificate-password=${{ secrets.CODE_SIGNING_PASSWORD }} `
--certificate-path=${{ github.workspace }}/keys/codesigning.pfx `
--output-path=${{ github.workspace }}/output `
--publisher=${{ secrets.CODE_SIGNING_PUBLISHER }} `
--publisher-display-name=${{ secrets.CODE_SIGNING_PUBLISHER_NAME }}
--output-path=${{ github.workspace }}/output
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: windows-msix-installer
path: ${{ github.workspace }}/output

View File

@@ -1,42 +0,0 @@
name: 'GitHub Issue Labels'
on:
issues:
types: [labeled, unlabeled, reopened]
jobs:
support:
runs-on: ubuntu-latest
steps:
- name: Feature Request
uses: dessant/support-requests@v2
with:
github-token: ${{ github.token }}
support-label: 'feature request'
issue-comment: >
Hi @{issue-author}! We use the issue tracker exclusively
for bug reports and issues. However, this issue appears
to be a feature request. Please use the [Discord](https://www.lunasea.app/discord)
to request new features.
close-issue: true
lock-issue: true
issue-lock-reason: 'off-topic'
- name: Support
uses: dessant/support-requests@v2
with:
github-token: ${{ github.token }}
support-label: 'support'
issue-comment: >
Hi @{issue-author}! We use the issue tracker exclusively
for bug reports and issues. However, this issue appears
to be a support request. Please use the following channels:
- [Discord](https://www.lunasea.app/discord)
- [GitHub Discussions](https://github.com/JagandeepBrar/LunaSea/discussions)
- [Subreddit](https://www.lunasea.app/reddit)
close-issue: true
lock-issue: true
issue-lock-reason: 'off-topic'

View File

@@ -1,69 +0,0 @@
name: Notify
on:
workflow_call:
inputs:
build-flavor:
required: true
type: string
build-title:
required: true
type: string
secrets:
DISCORD_WEBHOOK_EDGE:
required: true
DISCORD_WEBHOOK_BETA:
required: true
DISCORD_WEBHOOK_CANDIDATE:
required: true
DISCORD_WEBHOOK_STABLE:
required: true
jobs:
discord:
name: Discord
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Determine Webhook Channel
id: webhook
uses: actions/github-script@v6
env:
DISCORD_WEBHOOK_EDGE: ${{ secrets.DISCORD_WEBHOOK_EDGE }}
DISCORD_WEBHOOK_BETA: ${{ secrets.DISCORD_WEBHOOK_BETA }}
DISCORD_WEBHOOK_CANDIDATE: ${{ secrets.DISCORD_WEBHOOK_CANDIDATE }}
DISCORD_WEBHOOK_STABLE: ${{ secrets.DISCORD_WEBHOOK_STABLE }}
BUILD_FLAVOR: ${{ inputs.build-flavor }}
with:
result-encoding: string
script: |
switch (process.env.BUILD_FLAVOR) {
case 'beta': return process.env.DISCORD_WEBHOOK_BETA;
case 'candidate': return process.env.DISCORD_WEBHOOK_CANDIDATE;
case 'stable': return process.env.DISCORD_WEBHOOK_STABLE;
case 'edge':
default: return process.env.DISCORD_WEBHOOK_EDGE;
}
- name: Create Discord Embed
id: embed
uses: actions/github-script@v6
env:
BUILD_FLAVOR: ${{ inputs.build-flavor }}
BUILD_TITLE: ${{ inputs.build-title }}
with:
result-encoding: string
script: return require('.github/scripts/notify_discord_embed.js')();
- name: Send Discord Message
uses: Ilshidur/action-discord@0.3.2
env:
DISCORD_WEBHOOK: ${{ steps.webhook.outputs.result }}
DISCORD_USERNAME: LunaSea Support
DISCORD_AVATAR: https://raw.githubusercontent.com/JagandeepBrar/LunaSea/master/assets/icon/icon.png
DISCORD_EMBEDS: ${{ steps.embed.outputs.result }}

View File

@@ -24,12 +24,6 @@ on:
description: "Build Version"
value: ${{ jobs.build-details.outputs.build-version }}
secrets:
FIREBASE_TOKEN:
required: true
SENTRY_DSN:
required: true
jobs:
build-details:
name: Build Details
@@ -51,7 +45,7 @@ jobs:
run: |
COUNT=`git rev-list HEAD --count`
echo "commit-count=$COUNT" >> $GITHUB_OUTPUT
- name: Build Flavor
id: build-flavor
uses: actions/github-script@v6
@@ -64,7 +58,6 @@ jobs:
if (flavor) switch (flavor) {
case 'edge':
case 'beta':
case 'candidate':
case 'stable':
return flavor;
}
@@ -122,9 +115,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
uses: JagandeepBrar/lunasea/.github/actions/prepare_for_build@master
with:
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
platform: test
skip-core: true
@@ -133,24 +125,19 @@ jobs:
export FLAVOR=${{ needs.build-details.outputs.build-flavor }}
export COMMIT=${{ github.sha }}
export BUILD=${{ needs.build-details.outputs.build-number }}
export SENTRY_DSN=${{ secrets.SENTRY_DSN }}
flutter packages pub run environment_config:generate
- name: Generate Localization
run: dart ${{github.workspace }}/scripts/generate_localization.dart
- name: Generate Changelog
run: dart ${{github.workspace }}/scripts/generate_changelog.dart ${{ needs.build-details.outputs.build-flavor }}
- name: Generate Build Runner Files
run: flutter packages pub run build_runner build
- name: Upload Core Files
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: core-files
path: |
${{ github.workspace }}/assets/changelog.json
${{ github.workspace }}/assets/localization
${{ github.workspace }}/lib/**/*.g.dart
${{ github.workspace }}/lib/system/environment.dart

View File

@@ -1,66 +0,0 @@
name: Publish Android
on:
workflow_call:
inputs:
build-flavor:
required: true
type: string
build-motd:
required: true
type: string
build-title:
required: true
type: string
secrets:
GOOGLE_PLAY_API:
required: true
jobs:
play-store:
name: Play Store
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: play-store
google-play-key: ${{ secrets.GOOGLE_PLAY_API }}
- name: Download Play Store Package
uses: actions/download-artifact@v3
with:
name: android-playstore-package
path: ${{ github.workspace }}/output
- name: Determine Release Channel
id: channel
uses: actions/github-script@v6
env:
FLAVOR: ${{ inputs.build-flavor }}
with:
result-encoding: string
script: |
const ref = process.env.FLAVOR || 'edge';
switch (ref) {
case 'beta': return 'alpha';
case 'candidate': return 'beta';
case 'stable': return 'production';
case 'edge':
default: return 'internal';
}
- name: Generate Changelog
env:
MOTD: ${{ inputs.build-motd }}
OUTPUT_PATH: ${{ github.workspace }}/android/fastlane/metadata/android/en-CA/changelogs
run: |
mkdir -p $OUTPUT_PATH
echo $MOTD > $OUTPUT_PATH/default.txt
- name: Deploy to Google Play Store
working-directory: ${{ github.workspace }}/android
env:
SUPPLY_JSON_KEY: ${{ github.workspace }}/keys/googleplay.json
run: bundle exec fastlane deploy_playstore track:${{ steps.channel.outputs.result }} aab:${{ github.workspace }}/output/lunasea-android.aab version_name:${{ inputs.build-title }}

View File

@@ -1,61 +0,0 @@
name: Publish iOS
on:
workflow_call:
inputs:
build-flavor:
required: true
type: string
build-motd:
required: true
type: string
secrets:
APPLE_ID:
required: true
APPLE_ITC_TEAM_ID:
required: true
APPLE_STORE_CONNECT_ISSUER_ID:
required: true
APPLE_STORE_CONNECT_KEY:
required: true
APPLE_STORE_CONNECT_KEY_ID:
required: true
APPLE_TEAM_ID:
required: true
jobs:
app-store:
name: App Store (iOS)
runs-on: macos-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: app-store
appstore-connect-key: ${{ secrets.APPLE_STORE_CONNECT_KEY }}
- name: Download App Store Package
uses: actions/download-artifact@v3
with:
name: ios-appstore-package
path: ${{ github.workspace }}/output
- name: Generate Changelog
env:
MOTD: ${{ inputs.build-motd }}
OUTPUT_PATH: ${{ github.workspace }}/ios/fastlane
run: |
mkdir -p $OUTPUT_PATH
echo $MOTD > $OUTPUT_PATH/changelog.txt
- name: Deploy to App Store Connect
working-directory: ${{ github.workspace }}/ios
env:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ITC_TEAM_ID: ${{ secrets.APPLE_ITC_TEAM_ID }}
APPLE_STORE_CONNECT_ISSUER_ID: ${{ secrets.APPLE_STORE_CONNECT_ISSUER_ID }}
APPLE_STORE_CONNECT_KEY_FILEPATH: ${{ github.workspace }}/keys/appstore.p8
APPLE_STORE_CONNECT_KEY_ID: ${{ secrets.APPLE_STORE_CONNECT_KEY_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
run: bundle exec fastlane deploy_appstore groups:${{ inputs.build-flavor }} ipa:${{ github.workspace }}/output/lunasea-ios.ipa

View File

@@ -1,36 +0,0 @@
name: Publish Linux
on:
workflow_call:
inputs:
build-flavor:
required: true
type: string
secrets:
SNAPCRAFT_STORE_CREDENTIALS:
required: true
jobs:
snapcraft:
name: Snapcraft
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: snapcraft
- name: Download Snap
uses: actions/download-artifact@v3
with:
name: linux-snapcraft
path: ${{ github.workspace }}/output
- name: Deploy to Snapcraft
uses: snapcore/action-publish@master
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_STORE_CREDENTIALS }}
with:
release: ${{ inputs.build-flavor }}
snap: ${{ github.workspace }}/output/lunasea-linux-amd64.snap

View File

@@ -1,61 +0,0 @@
name: Publish macOS
on:
workflow_call:
inputs:
build-flavor:
required: true
type: string
build-motd:
required: true
type: string
secrets:
APPLE_ID:
required: true
APPLE_ITC_TEAM_ID:
required: true
APPLE_STORE_CONNECT_ISSUER_ID:
required: true
APPLE_STORE_CONNECT_KEY:
required: true
APPLE_STORE_CONNECT_KEY_ID:
required: true
APPLE_TEAM_ID:
required: true
jobs:
app-store:
name: App Store (macOS)
runs-on: macos-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: app-store
appstore-connect-key: ${{ secrets.APPLE_STORE_CONNECT_KEY }}
- name: Download App Store Package
uses: actions/download-artifact@v3
with:
name: macos-appstore-package
path: ${{ github.workspace }}/output
- name: Generate Changelog
env:
MOTD: ${{ inputs.build-motd }}
OUTPUT_PATH: ${{ github.workspace }}/macos/fastlane
run: |
mkdir -p $OUTPUT_PATH
echo $MOTD > $OUTPUT_PATH/changelog.txt
- name: Deploy to App Store Connect
working-directory: ${{ github.workspace }}/macos
env:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ITC_TEAM_ID: ${{ secrets.APPLE_ITC_TEAM_ID }}
APPLE_STORE_CONNECT_ISSUER_ID: ${{ secrets.APPLE_STORE_CONNECT_ISSUER_ID }}
APPLE_STORE_CONNECT_KEY_FILEPATH: ${{ github.workspace }}/keys/appstore.p8
APPLE_STORE_CONNECT_KEY_ID: ${{ secrets.APPLE_STORE_CONNECT_KEY_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
run: bundle exec fastlane deploy_appstore groups:${{ inputs.build-flavor }} pkg:${{ github.workspace }}/output/lunasea-macos-amd64.pkg

View File

@@ -1,133 +0,0 @@
name: Publish S3
on:
workflow_call:
inputs:
build-flavor:
required: true
type: string
build-number:
required: true
type: string
build-title:
required: true
type: string
secrets:
S3_ACCESS_KEY:
required: true
S3_BUCKET:
required: true
S3_ENDPOINT:
required: true
S3_KEY_ID:
required: true
S3_REGION:
required: true
jobs:
s3:
name: S3
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: s3
- name: Download Android App Package
uses: actions/download-artifact@v3
with:
name: android-app-package
path: ${{ github.workspace }}/output
- name: Download iOS App Package
uses: actions/download-artifact@v3
with:
name: ios-appstore-package
path: ${{ github.workspace }}/output
- name: Download Linux Debian
uses: actions/download-artifact@v3
with:
name: linux-debian
path: ${{ github.workspace }}/output
- name: Download Linux Tarball
uses: actions/download-artifact@v3
with:
name: linux-tarball
path: ${{ github.workspace }}/output
- name: Download Linux Snap
uses: actions/download-artifact@v3
with:
name: linux-snapcraft
path: ${{ github.workspace }}/output
- name: Download macOS App Package
uses: actions/download-artifact@v3
with:
name: macos-app-package
path: ${{ github.workspace }}/output
- name: Download macOS Disk Image
uses: actions/download-artifact@v3
with:
name: macos-disk-image
path: ${{ github.workspace }}/output
- name: Download Web Archive
uses: actions/download-artifact@v3
with:
name: web-archive
path: ${{ github.workspace }}/output
- name: Download Windows App Package
uses: actions/download-artifact@v3
with:
name: windows-app-package
path: ${{ github.workspace }}/output
- name: Download Windows MSIX Installer
uses: actions/download-artifact@v3
with:
name: windows-msix-installer
path: ${{ github.workspace }}/output
- name: Create Version File
working-directory: ${{ github.workspace }}/output
run: |
echo ${{ inputs.build-number }} > VERSION.txt
echo ${{ inputs.build-number }} > VERSION_ANDROID.txt
echo ${{ inputs.build-number }} > VERSION_IOS.txt
echo ${{ inputs.build-number }} > VERSION_LINUX.txt
echo ${{ inputs.build-number }} > VERSION_MACOS.txt
echo ${{ inputs.build-number }} > VERSION_WEB.txt
echo ${{ inputs.build-number }} > VERSION_WINDOWS.txt
- name: Upload to S3 Bucket (Build Title)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: ${{ inputs.build-title }}
- name: Upload to S3 Bucket (Latest)
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
AWS_S3_BUCKET: ${{ secrets.S3_BUCKET }}
AWS_S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
AWS_REGION: ${{ secrets.S3_REGION }}
SOURCE_DIR: ${{ github.workspace }}/output
DEST_DIR: latest/${{ inputs.build-flavor }}

View File

@@ -1,81 +0,0 @@
name: Publish Web
on:
workflow_call:
inputs:
build-flavor:
required: true
type: string
build-title:
required: true
type: string
secrets:
NETLIFY_AUTH_TOKEN:
required: true
jobs:
docker:
name: Docker
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: docker
ghcr-actor: ${{ github.actor }}
ghcr-token: ${{ github.token }}
- name: Download Docker Image
uses: actions/download-artifact@v3
with:
name: web-docker
path: ${{ github.workspace }}/output
- name: Load Docker Image
run: docker load --input ${{ github.workspace}}/output/lunasea-web-docker.tar
- name: Deploy to GitHub Container Registry
run: docker image push --all-tags ghcr.io/jagandeepbrar/lunasea
netlify:
name: Netlify
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_deployment@master
with:
channel: netlify
- name: Download Web Package
uses: actions/download-artifact@v3
with:
name: web-hosted
path: ${{ github.workspace }}/output
- name: Determine Release Channel
id: channel
uses: actions/github-script@v6
env:
FLAVOR: ${{ inputs.build-flavor }}
with:
result-encoding: string
script: |
const ref = process.env.FLAVOR || 'edge';
switch (ref) {
case 'beta': return '11ef2676-fc31-41b5-897b-fd21273d87ed';
case 'candidate': return '4636e6a1-17ef-45a2-a2b6-3d1c166fd1df';
case 'stable': return '6634f0b1-323c-4a2f-bd0b-8f1f388673a9';
case 'edge':
default: return '325e197e-55f4-449a-b2bb-6831fe47bf2a';
}
- name: Deploy to Netlify
uses: nwtgck/actions-netlify@v1.2
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ steps.channel.outputs.result }}
with:
publish-dir: ${{ github.workspace}}/output
production-deploy: true
deploy-message: ${{ inputs.build-title }}

View File

@@ -1,27 +0,0 @@
name: Validate
on:
workflow_call:
secrets:
FIREBASE_TOKEN:
required: true
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
steps:
- name: Setup Environment
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
with:
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
platform: test
- name: Analyze Release
uses: invertase/github-action-dart-analyzer@v1
with:
fatal-infos: false
fatal-warnings: true
- name: Test Release
run: flutter test

8
.gitignore vendored
View File

@@ -63,14 +63,6 @@ keys/
android/key.jks
android/key.properties
# Firebase
android/firebase_app_id_file.json
android/app/google-services.json
ios/firebase_app_id_file.json
ios/Runner/GoogleService-Info.plist
macos/firebase_app_id_file.json
macos/Runner/GoogleService-Info.plist
# Node Dependency directories
node_modules/
jspm_packages/

76
.vscode/cspell.json vendored
View File

@@ -1,76 +0,0 @@
{
"ignorePaths": [
"*.lock",
"*.yaml",
"*.yml",
/** Directories */
".dart_tool",
".git",
"build",
"shaders",
/** Files */
".all-contributorsrc",
".commitlintrc",
".czrc",
".packages"
],
"useGitignore": true,
"words": [
"AMOLED",
"appbundle",
"autofocused",
"blackbox",
"CanvasKit",
"cocoapods",
"codecov",
"colours",
"deinitialize",
"deintegrate",
"Discogs",
"emdash",
"encrypter",
"fanart",
"fastlane",
"Firestore",
"Fluro",
"Gitbook",
"hardlink",
"Hellonext",
"IMDb",
"keychain",
"leechers",
"Letterboxd",
"Lidarr",
"LunaBox",
"LunaConfig",
"lunasea",
"LunaTable",
"microtask",
"msix",
"Newznab",
"NZBGet",
"Overseerr",
"Plex",
"podfile",
"prefill",
"Radarr",
"Riverpod",
"roboto",
"SABnzbd",
"scrollview",
"sksl",
"snapcraft",
"Sonarr",
"stickied",
"subheaders",
"subroutes",
"Tautulli",
"TestFlight",
"Trakt",
"typescale",
"unencrypted",
"unignore",
"Weblate",
"worktree"
]
}

View File

@@ -1,5 +0,0 @@
{
"yaml.schemas": {
"https://json.schemastore.org/github-issue-config.json": "file:///Users/jagandeepbrar/Git/LunaSea/.github/ISSUE_TEMPLATE/config.yml"
}
}

View File

@@ -2,271 +2,322 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
### [10.2.3](https://github.com/JagandeepBrar/LunaSea/compare/v10.2.2...v10.2.3) (2023-03-22)
## [11.0.0](https://github.com/jagandeepbrar/lunasea/tree/v11.0.0) (2025-04-03)
**This is the final release of LunaSea.**
### Features
* **flutter:** replace Skia with Impeller rendering engine ([6241ee4](https://github.com/JagandeepBrar/LunaSea/commit/6241ee462989f1f65fa8f1e18378579e2e77197b))
* **flutter:** upgrade to Flutter 3.7/b06b8b2710 ([f1b831a](https://github.com/JagandeepBrar/LunaSea/commit/f1b831a118e56c480aae72042ee4eb7013f954b2))
* **tautulli:** add ability to open media in Plex ([5cf1a06](https://github.com/JagandeepBrar/LunaSea/commit/5cf1a06cec079aa66c77425c0ed8d4fa7897bbd3))
* **tautulli:** display audio language, subtitle language, and video dynamic range for activity ([6de8063](https://github.com/JagandeepBrar/LunaSea/commit/6de806316efaa61c5ddbac1b8f5b214949f0bcf8))
### [10.2.6](https://github.com/jagandeepbrar/lunasea/compare/v10.2.5...v10.2.6) (2023-10-04)
### Bug Fixes
* **http:** correctly set content type for POST requests ([aca5d0e](https://github.com/JagandeepBrar/LunaSea/commit/aca5d0eb826b38ebeec33e3495045bf21e8a49c7))
* **links:** use platform default method to laucnh URLs ([596eab4](https://github.com/JagandeepBrar/LunaSea/commit/596eab4bad1aa183e3c0dfc8d20a32c15ecdb78d))
* **macos:** set minimum platform version to 10.15 ([d612ae2](https://github.com/JagandeepBrar/LunaSea/commit/d612ae221cac741b3a36893d4bc7f05f5055c7b8))
* **uiux:** update bottom modal sheet package to support Flutter 3.7 ([8042c04](https://github.com/JagandeepBrar/LunaSea/commit/8042c0475ecff05d9337842eef7cfe4117d05528))
* **sonarr:** correctly sort missing content list in descending order ([ea0fe19](https://github.com/jagandeepbrar/lunasea/commit/ea0fe19efc0c0c8f1582c4a0507fb3d929ba561f))
* **sonarr:** correctly support Sonarr v4 season posters ([08228ef](https://github.com/jagandeepbrar/lunasea/commit/08228ef0f93cb3c298a8677019535ad7ec0c7a54))
* **ui:** upgrade to flash@3.0.5+1 ([55c417f](https://github.com/jagandeepbrar/lunasea/commit/55c417f7618e1e80a776c57203c5b4bbbacf99bc))
### [10.2.2](https://github.com/JagandeepBrar/LunaSea/compare/v10.2.1...v10.2.2) (2022-12-22)
### [10.2.5](https://github.com/jagandeepbrar/lunasea/compare/v10.2.4...v10.2.5) (2023-07-03)
### Features
* **android:** add option to disable back action to open drawer ([d4774b0](https://github.com/JagandeepBrar/LunaSea/commit/d4774b054204546490ef9f78090e28303eefc1fc))
* **linux:** include MD5 sums in Debian distributions ([c46924c](https://github.com/JagandeepBrar/LunaSea/commit/c46924c99645a2d9c27e2d3532d30ecf93882e2a))
* **linux:** publish Linux builds as Debian archive (.deb) ([b1d01e0](https://github.com/JagandeepBrar/LunaSea/commit/b1d01e02ca4cdb8a2775700930ada2d1d40a1031))
* **linux:** publish Linux builds as tarball (.tar.gz) ([a390a80](https://github.com/JagandeepBrar/LunaSea/commit/a390a80ef1897d4c95812045a3472527ff38fd49))
* **sonarr:** re-implementation of multi-select episode actions ([79d1388](https://github.com/jagandeepbrar/lunasea/commit/79d13889f2eb0668b1fbb4d29ea9b11b1d82d9bb))
* **web:** build multi-platform Docker image for amd64 and arm64 ([89b0906](https://github.com/jagandeepbrar/lunasea/commit/89b0906eab883bddb860583cc6e4bf86efd2b115))
### Bug Fixes
* **calendar:** scroll to last past date with content when selected date has no content ([3f10675](https://github.com/JagandeepBrar/LunaSea/commit/3f10675422b9a32c43f4f49c16b6e9723f267f50))
* **linux:** install binaries to /usr/share instead of /usr/local/lib ([edb645f](https://github.com/JagandeepBrar/LunaSea/commit/edb645f8871d8f3a59c122191e8d8219e9957924))
* **tautulli:** cached or downloaded activity sessions could not be opened ([4c99ecf](https://github.com/JagandeepBrar/LunaSea/commit/4c99ecf927e21538f875bb7ee93fc7aaf20de479))
* **ios:** update App Store signing certificate ([b1a5139](https://github.com/jagandeepbrar/lunasea/commit/b1a513973d16a1a17cf0805da6cdd8e7929072c9))
* **search:** profile could not be changed on download prompt ([d81052d](https://github.com/jagandeepbrar/lunasea/commit/d81052d81783df6d93d9f41e2c543782299e7067))
* **sonarr:** remove duplicate episode file IDs on multi-select deletion ([335aaa3](https://github.com/jagandeepbrar/lunasea/commit/335aaa3acd7ff7645018e305639586a25411771c))
* **windows:** revert Firebase packages to maintain Windows support ([8e3c477](https://github.com/jagandeepbrar/lunasea/commit/8e3c477bf7d8a0fa47276ba5bb2096f07c6dc69d))
### [10.2.4](https://github.com/jagandeepbrar/lunasea/compare/v10.2.3...v10.2.4) (2023-04-09)
### Features
* **settings:** add direct link to documentation for service notifications ([0f4ac9a](https://github.com/jagandeepbrar/lunasea/commit/0f4ac9a893d5b13a732db49e0bfc7b09fe7c05d9))
* **settings:** replace all strings with localizable strings ([5ce1279](https://github.com/jagandeepbrar/lunasea/commit/5ce12795e7223a543bd037151b1a3eaa484f2634))
### Bug Fixes
* **images:** utilize new technique to persistently cache images ([f1a82c0](https://github.com/jagandeepbrar/lunasea/commit/f1a82c06aa58fe493af2b2b0bf9ef8a93011802b))
* **routing:** handle pushing route which may return data ([3500d83](https://github.com/jagandeepbrar/lunasea/commit/3500d83477880b8ee490132bc270e632af4a4bb1))
* **uiux:** remove fading edge on horizontal scrollviews ([781727a](https://github.com/jagandeepbrar/lunasea/commit/781727abbab0dc70d959c723c3d101e66430ac60))
### Tweaks
* **uiux:** disable horizontal swiping/scrolling between pages ([968fe9c](https://github.com/JagandeepBrar/LunaSea/commit/968fe9cbbc4aff3ae584682e462defbf09ea5699))
* **flavors:** remove candidate flavor and merge with beta ([fe3d41a](https://github.com/jagandeepbrar/lunasea/commit/fe3d41af57717b994e71370968404fc05f20f72b))
* remove cupertino_icons and email_validator packages ([605002f](https://github.com/jagandeepbrar/lunasea/commit/605002f5bd4b015791d3d1f260e03b4127c5020d))
* remove riverpod state management ([2f94c42](https://github.com/jagandeepbrar/lunasea/commit/2f94c42da1a97847be4a77e79d096eb0212a9657))
### [10.2.1](https://github.com/JagandeepBrar/LunaSea/compare/v10.2.0...v10.2.1) (2022-11-06)
### [10.2.3](https://github.com/jagandeepbrar/lunasea/compare/v10.2.2...v10.2.3) (2023-03-22)
### Features
* **-arr:** button to open indexer information page ([bccd1a4](https://github.com/JagandeepBrar/LunaSea/commit/bccd1a43c42b349901137f8fc605f393b51d541a))
* **calendar:** remove option to show previous days in schedule view, now always shows them ([3ac2c5d](https://github.com/JagandeepBrar/LunaSea/commit/3ac2c5d791f94208a4004d161bb046c24b698345))
* **calendar:** scroll to selected date when switching from calendar to schedule view ([f1226e5](https://github.com/JagandeepBrar/LunaSea/commit/f1226e563899cfc0950865a9734448d4e00601b9))
* launch recovery mode on bootstrap failure ([c062b3d](https://github.com/JagandeepBrar/LunaSea/commit/c062b3d786e55bc3ba7fe767dd946d73efbef64f))
* **lidarr:** add MusicBrainz to links ([c76418d](https://github.com/JagandeepBrar/LunaSea/commit/c76418d26f1a5f52f5cb1e46951f1cf6726508c2))
* **modules:** ability to set the boot module ([3dd087e](https://github.com/JagandeepBrar/LunaSea/commit/3dd087e361619889057a0b037b1eef35157a0988))
* **radarr:** support moving files when editing the storage path ([c9bd02b](https://github.com/JagandeepBrar/LunaSea/commit/c9bd02b75086579f60ad8987c42ab217c12f6d43))
* **web:** support local filesystem read/save actions ([7d437d5](https://github.com/JagandeepBrar/LunaSea/commit/7d437d5c3a34a8681c372570fc366e869f0b2090))
* **flutter:** replace Skia with Impeller rendering engine ([6241ee4](https://github.com/jagandeepbrar/lunasea/commit/6241ee462989f1f65fa8f1e18378579e2e77197b))
* **flutter:** upgrade to Flutter 3.7/b06b8b2710 ([f1b831a](https://github.com/jagandeepbrar/lunasea/commit/f1b831a118e56c480aae72042ee4eb7013f954b2))
* **tautulli:** add ability to open media in Plex ([5cf1a06](https://github.com/jagandeepbrar/lunasea/commit/5cf1a06cec079aa66c77425c0ed8d4fa7897bbd3))
* **tautulli:** display audio language, subtitle language, and video dynamic range for activity ([6de8063](https://github.com/jagandeepbrar/lunasea/commit/6de806316efaa61c5ddbac1b8f5b214949f0bcf8))
### Bug Fixes
* **android:** apply Google Play Services plugin during gradle build ([71f597b](https://github.com/JagandeepBrar/LunaSea/commit/71f597baa7c23102b711c3ca3c1ea5b2f8e1f5e9))
* **android:** revert applying Google Play Services plugin during gradle build ([250a494](https://github.com/JagandeepBrar/LunaSea/commit/250a49490333f4de726226dc4aa15a681f32a70c))
* **android:** support Android 13 filesystem access ([25e0d05](https://github.com/JagandeepBrar/LunaSea/commit/25e0d051422b399de8c90e0fc71e57349e3355b7))
* **android:** utilize Kotlin v1.7.20 & Gradle v7.1.2 ([b7ceebc](https://github.com/JagandeepBrar/LunaSea/commit/b7ceebcb679dbca935b6a1810c0c67a14002e358))
* **backup:** edge-case where backup/restore would fail ([f3931c6](https://github.com/JagandeepBrar/LunaSea/commit/f3931c6b08025a70920039e5cbbc9cf7120c0b36))
* **calendar:** label unreleased movies as unreleased instead of missing ([70ed750](https://github.com/JagandeepBrar/LunaSea/commit/70ed750652ff419e6fed659a0785adc5064654e7))
* **calendar:** start to current date when past days are enabled ([6eff6c9](https://github.com/JagandeepBrar/LunaSea/commit/6eff6c902cd7bcd523d83be09034098234679a79))
* **firebase:** inject service file for older OS versions ([38f2eb4](https://github.com/JagandeepBrar/LunaSea/commit/38f2eb4cb2a8e400ce2ecb0b6f2854469c9626fc))
* **firebase:** upgrade to Firebase v10 ([#717](https://github.com/JagandeepBrar/LunaSea/issues/717)) ([f3a3f22](https://github.com/JagandeepBrar/LunaSea/commit/f3a3f222bd56beb4e961817b18d71f01fb7c5e81))
* **uiux:** add circular radius to linear progression bars ([d9623e9](https://github.com/JagandeepBrar/LunaSea/commit/d9623e992d2ac2039eaa4f069c739d968c921cc6))
* **http:** correctly set content type for POST requests ([aca5d0e](https://github.com/jagandeepbrar/lunasea/commit/aca5d0eb826b38ebeec33e3495045bf21e8a49c7))
* **links:** use platform default method to laucnh URLs ([596eab4](https://github.com/jagandeepbrar/lunasea/commit/596eab4bad1aa183e3c0dfc8d20a32c15ecdb78d))
* **macos:** set minimum platform version to 10.15 ([d612ae2](https://github.com/jagandeepbrar/lunasea/commit/d612ae221cac741b3a36893d4bc7f05f5055c7b8))
* **uiux:** update bottom modal sheet package to support Flutter 3.7 ([8042c04](https://github.com/jagandeepbrar/lunasea/commit/8042c0475ecff05d9337842eef7cfe4117d05528))
### [10.2.2](https://github.com/jagandeepbrar/lunasea/compare/v10.2.1...v10.2.2) (2022-12-22)
### Features
* **android:** add option to disable back action to open drawer ([d4774b0](https://github.com/jagandeepbrar/lunasea/commit/d4774b054204546490ef9f78090e28303eefc1fc))
* **linux:** include MD5 sums in Debian distributions ([c46924c](https://github.com/jagandeepbrar/lunasea/commit/c46924c99645a2d9c27e2d3532d30ecf93882e2a))
* **linux:** publish Linux builds as Debian archive (.deb) ([b1d01e0](https://github.com/jagandeepbrar/lunasea/commit/b1d01e02ca4cdb8a2775700930ada2d1d40a1031))
* **linux:** publish Linux builds as tarball (.tar.gz) ([a390a80](https://github.com/jagandeepbrar/lunasea/commit/a390a80ef1897d4c95812045a3472527ff38fd49))
### Bug Fixes
* **calendar:** scroll to last past date with content when selected date has no content ([3f10675](https://github.com/jagandeepbrar/lunasea/commit/3f10675422b9a32c43f4f49c16b6e9723f267f50))
* **linux:** install binaries to /usr/share instead of /usr/local/lib ([edb645f](https://github.com/jagandeepbrar/lunasea/commit/edb645f8871d8f3a59c122191e8d8219e9957924))
* **tautulli:** cached or downloaded activity sessions could not be opened ([4c99ecf](https://github.com/jagandeepbrar/lunasea/commit/4c99ecf927e21538f875bb7ee93fc7aaf20de479))
### Tweaks
* **settings:** consolidate appearance, network, and localization pages ([ac838f9](https://github.com/JagandeepBrar/LunaSea/commit/ac838f99a9c839ce4e36e5eae80f1100e2787dc5))
* **uiux:** remove forced-upper case on headers ([958e6f1](https://github.com/JagandeepBrar/LunaSea/commit/958e6f156862c1092399649baa361cd955299c88))
* **uiux:** disable horizontal swiping/scrolling between pages ([968fe9c](https://github.com/jagandeepbrar/lunasea/commit/968fe9cbbc4aff3ae584682e462defbf09ea5699))
## [10.2.0](https://github.com/JagandeepBrar/LunaSea/compare/v10.1.1...v10.2.0) (2022-09-22)
### [10.2.1](https://github.com/jagandeepbrar/lunasea/compare/v10.2.0...v10.2.1) (2022-11-06)
### Features
* **-arr:** view download client queue via overlay sheet ([0c59886](https://github.com/JagandeepBrar/LunaSea/commit/0c59886657db0ed05a9d741c82689cb1272c6ad2))
* **android:** add support for monochromatic adaptive icon ([#701](https://github.com/JagandeepBrar/LunaSea/issues/701)) ([96b2b1b](https://github.com/JagandeepBrar/LunaSea/commit/96b2b1b5b010507dd7ece3421bf02eac6ba32486))
* **locale:** support Croatian ([a160f09](https://github.com/JagandeepBrar/LunaSea/commit/a160f0941f2e0c86d2e2fab5e01a577ceba2a8f3))
* **logging:** integrate Sentry logging support for all platforms ([57bbb80](https://github.com/JagandeepBrar/LunaSea/commit/57bbb80a0188d3bed9ca70846a89df6a3c2c0953))
* **logo:** add Vectorized app logos ([113b294](https://github.com/JagandeepBrar/LunaSea/commit/113b2943469464598ce07b931818c7e29c6cc63a))
* **router:** re-implementation of routing via go_router ([1d4207a](https://github.com/JagandeepBrar/LunaSea/commit/1d4207ae5106c2a0648b77a3b3ef6508665561e8))
* **sabnzbd:** rewrite SABnzbd API interface ([a1b736a](https://github.com/JagandeepBrar/LunaSea/commit/a1b736ae0c9bf754d913e86c69d15c27f256c413))
* **search:** view download client queue via overlay sheet ([a6be658](https://github.com/JagandeepBrar/LunaSea/commit/a6be658164fed7dd2411a167dec6b4c53eab70f0))
* **settings:** re-add option to disable Sentry logging ([3d0c520](https://github.com/JagandeepBrar/LunaSea/commit/3d0c5209cb3e796629817dee986634154e7ffe9e))
* **web:** enable service worker processing of notifications ([4b41110](https://github.com/JagandeepBrar/LunaSea/commit/4b411107f74f048e6f3d571845590a5d29720ac3))
* **-arr:** button to open indexer information page ([bccd1a4](https://github.com/jagandeepbrar/lunasea/commit/bccd1a43c42b349901137f8fc605f393b51d541a))
* **calendar:** remove option to show previous days in schedule view, now always shows them ([3ac2c5d](https://github.com/jagandeepbrar/lunasea/commit/3ac2c5d791f94208a4004d161bb046c24b698345))
* **calendar:** scroll to selected date when switching from calendar to schedule view ([f1226e5](https://github.com/jagandeepbrar/lunasea/commit/f1226e563899cfc0950865a9734448d4e00601b9))
* launch recovery mode on bootstrap failure ([c062b3d](https://github.com/jagandeepbrar/lunasea/commit/c062b3d786e55bc3ba7fe767dd946d73efbef64f))
* **lidarr:** add MusicBrainz to links ([c76418d](https://github.com/jagandeepbrar/lunasea/commit/c76418d26f1a5f52f5cb1e46951f1cf6726508c2))
* **modules:** ability to set the boot module ([3dd087e](https://github.com/jagandeepbrar/lunasea/commit/3dd087e361619889057a0b037b1eef35157a0988))
* **radarr:** support moving files when editing the storage path ([c9bd02b](https://github.com/jagandeepbrar/lunasea/commit/c9bd02b75086579f60ad8987c42ab217c12f6d43))
* **web:** support local filesystem read/save actions ([7d437d5](https://github.com/jagandeepbrar/lunasea/commit/7d437d5c3a34a8681c372570fc366e869f0b2090))
### Bug Fixes
* **android:** support Android 13 notification prompt ([83e8374](https://github.com/JagandeepBrar/LunaSea/commit/83e8374c33977c82096fcf8d5a4d94da5c291f8f))
* **cache:** add type-safety to LRU cache ([7aae480](https://github.com/JagandeepBrar/LunaSea/commit/7aae4807221184dbe1d02454f73998a0458dd7f6))
* **database:** prevent deadlock in database deletion actions ([9960124](https://github.com/JagandeepBrar/LunaSea/commit/9960124d3219e2ab72e14443a1a79a1bac6b2cd3))
* **graphs:** support fl_chart@0.55.1 ([b812c7b](https://github.com/JagandeepBrar/LunaSea/commit/b812c7b4a12b4766e04b5d4023b45320e6b7927c))
* **images:** validate image availability before fading-in ([6f9e0e8](https://github.com/JagandeepBrar/LunaSea/commit/6f9e0e87ce3d02dfff7dec439a2e975585c5b986))
* **notifications:** correctly inject service worker for notification handling ([82ef5f0](https://github.com/JagandeepBrar/LunaSea/commit/82ef5f0c529a9e30475f86f496fa63c18785e87c))
* **notifications:** enable in-app notifications config was inversed ([3593eb3](https://github.com/JagandeepBrar/LunaSea/commit/3593eb329b38fb4a5b776cf1b165ad6f463e371b))
* **resources:** remove feedback board resource ([d3d090e](https://github.com/JagandeepBrar/LunaSea/commit/d3d090e277f7dda7d4ef3d7808e7341cf79178fe))
* **scrolling:** remove custom scrolling behaviour ([864082f](https://github.com/JagandeepBrar/LunaSea/commit/864082fd4045ef7dea0e0ab6a17d41ca86015fcb))
* **settings:** show notification settings area on web ([136cda5](https://github.com/JagandeepBrar/LunaSea/commit/136cda5215ae1d44dcd898e8e8e0b1e1912b3a41))
* **sheets:** set default overlay theme for sheets, remove bottom radius clipping ([3a5e19b](https://github.com/JagandeepBrar/LunaSea/commit/3a5e19b02c048df21bd169a0a06f1e9ae741debb))
* **sonarr:** support Sonarr v4 API changes ([e477eca](https://github.com/JagandeepBrar/LunaSea/commit/e477ecafcce268d7de112f33711fc02a089a4206))
* **web:** correctly register notification service worker ([579531c](https://github.com/JagandeepBrar/LunaSea/commit/579531c30a17e2c8d53d011dbecf710f42598ec8))
* **android:** apply Google Play Services plugin during gradle build ([71f597b](https://github.com/jagandeepbrar/lunasea/commit/71f597baa7c23102b711c3ca3c1ea5b2f8e1f5e9))
* **android:** revert applying Google Play Services plugin during gradle build ([250a494](https://github.com/jagandeepbrar/lunasea/commit/250a49490333f4de726226dc4aa15a681f32a70c))
* **android:** support Android 13 filesystem access ([25e0d05](https://github.com/jagandeepbrar/lunasea/commit/25e0d051422b399de8c90e0fc71e57349e3355b7))
* **android:** utilize Kotlin v1.7.20 & Gradle v7.1.2 ([b7ceebc](https://github.com/jagandeepbrar/lunasea/commit/b7ceebcb679dbca935b6a1810c0c67a14002e358))
* **backup:** edge-case where backup/restore would fail ([f3931c6](https://github.com/jagandeepbrar/lunasea/commit/f3931c6b08025a70920039e5cbbc9cf7120c0b36))
* **calendar:** label unreleased movies as unreleased instead of missing ([70ed750](https://github.com/jagandeepbrar/lunasea/commit/70ed750652ff419e6fed659a0785adc5064654e7))
* **calendar:** start to current date when past days are enabled ([6eff6c9](https://github.com/jagandeepbrar/lunasea/commit/6eff6c902cd7bcd523d83be09034098234679a79))
* **firebase:** inject service file for older OS versions ([38f2eb4](https://github.com/jagandeepbrar/lunasea/commit/38f2eb4cb2a8e400ce2ecb0b6f2854469c9626fc))
* **firebase:** upgrade to Firebase v10 ([#717](https://github.com/jagandeepbrar/lunasea/issues/717)) ([f3a3f22](https://github.com/jagandeepbrar/lunasea/commit/f3a3f222bd56beb4e961817b18d71f01fb7c5e81))
* **uiux:** add circular radius to linear progression bars ([d9623e9](https://github.com/jagandeepbrar/lunasea/commit/d9623e992d2ac2039eaa4f069c739d968c921cc6))
### Tweaks
* **remove logos:** removes unused logo pngs ([2adfe59](https://github.com/JagandeepBrar/LunaSea/commit/2adfe59bd5cd289beb7f7c703fe26397310dbc90))
* **settings:** consolidate appearance, network, and localization pages ([ac838f9](https://github.com/jagandeepbrar/lunasea/commit/ac838f99a9c839ce4e36e5eae80f1100e2787dc5))
* **uiux:** remove forced-upper case on headers ([958e6f1](https://github.com/jagandeepbrar/lunasea/commit/958e6f156862c1092399649baa361cd955299c88))
### [10.1.1](https://github.com/JagandeepBrar/LunaSea/compare/v10.1.0...v10.1.1) (2022-08-21)
## [10.2.0](https://github.com/jagandeepbrar/lunasea/compare/v10.1.1...v10.2.0) (2022-09-22)
### Features
* **changelog:** do not show changelog on first boot of new installs ([52fd7fc](https://github.com/JagandeepBrar/LunaSea/commit/52fd7fca0c5076b4b98458d449a4b1f581726a52))
* **-arr:** view download client queue via overlay sheet ([0c59886](https://github.com/jagandeepbrar/lunasea/commit/0c59886657db0ed05a9d741c82689cb1272c6ad2))
* **android:** add support for monochromatic adaptive icon ([#701](https://github.com/jagandeepbrar/lunasea/issues/701)) ([96b2b1b](https://github.com/jagandeepbrar/lunasea/commit/96b2b1b5b010507dd7ece3421bf02eac6ba32486))
* **locale:** support Croatian ([a160f09](https://github.com/jagandeepbrar/lunasea/commit/a160f0941f2e0c86d2e2fab5e01a577ceba2a8f3))
* **logging:** integrate Sentry logging support for all platforms ([57bbb80](https://github.com/jagandeepbrar/lunasea/commit/57bbb80a0188d3bed9ca70846a89df6a3c2c0953))
* **logo:** add Vectorized app logos ([113b294](https://github.com/jagandeepbrar/lunasea/commit/113b2943469464598ce07b931818c7e29c6cc63a))
* **router:** re-implementation of routing via go_router ([1d4207a](https://github.com/jagandeepbrar/lunasea/commit/1d4207ae5106c2a0648b77a3b3ef6508665561e8))
* **sabnzbd:** rewrite SABnzbd API interface ([a1b736a](https://github.com/jagandeepbrar/lunasea/commit/a1b736ae0c9bf754d913e86c69d15c27f256c413))
* **search:** view download client queue via overlay sheet ([a6be658](https://github.com/jagandeepbrar/lunasea/commit/a6be658164fed7dd2411a167dec6b4c53eab70f0))
* **settings:** re-add option to disable Sentry logging ([3d0c520](https://github.com/jagandeepbrar/lunasea/commit/3d0c5209cb3e796629817dee986634154e7ffe9e))
* **web:** enable service worker processing of notifications ([4b41110](https://github.com/jagandeepbrar/lunasea/commit/4b411107f74f048e6f3d571845590a5d29720ac3))
### Bug Fixes
* **config:** log restoration error after resetting the database to default ([b02fe81](https://github.com/JagandeepBrar/LunaSea/commit/b02fe81df697066be6172a7d423768490639593e))
* **indexer:** remove LunaIndexerIcon from model definition ([cf3d9bb](https://github.com/JagandeepBrar/LunaSea/commit/cf3d9bbc17cd67f0c5e8be22b9450563046a2127))
## [10.1.0](https://github.com/JagandeepBrar/LunaSea/compare/v10.0.3...v10.1.0) (2022-08-21)
### Features
* **calendar:** show current month in header ([925f163](https://github.com/JagandeepBrar/LunaSea/commit/925f163e1534aeb45e5b22e8254eaf391eabd79f))
* **changelog:** prepare and show changelog on pre-release builds ([df65f53](https://github.com/JagandeepBrar/LunaSea/commit/df65f53a4b00d11abc998f681274d22d94254f14))
* **locale:** support Vietnamese (vi) ([8b57450](https://github.com/JagandeepBrar/LunaSea/commit/8b5745044e3af64a6c9bc593a9877400ac8a2dc2))
### Bug Fixes
* **android:** correctly handle back-button to open drawer on applicable routes ([c91ba2c](https://github.com/JagandeepBrar/LunaSea/commit/c91ba2ce8134fdc796d0431ba1c9134908fddd91))
* **changelog:** group changelog item rows by key feature change ([2ababbd](https://github.com/JagandeepBrar/LunaSea/commit/2ababbd1b32abd153fa73fcdfe292c7791edbf52))
* **ci:** utilize latest standard for Snapcraft login ([aff6e2c](https://github.com/JagandeepBrar/LunaSea/commit/aff6e2ca184e9539f28dd326c06478ca2dbfee4c))
* **database:** correctly store manually ordered module list ([8fe81d1](https://github.com/JagandeepBrar/LunaSea/commit/8fe81d11ab5c5aa484f0c2b471932d5364e6209c))
* **database:** detect and recover from database corruption ([758756f](https://github.com/JagandeepBrar/LunaSea/commit/758756fcf2456996c7ee02be2bd523cca91c45d3))
* **database:** fallback to defaults on null values in profile ([fb3e8e5](https://github.com/JagandeepBrar/LunaSea/commit/fb3e8e53255c457d0922505ad6c2d91f5c0fcf03))
* **database:** safely type indexer fields and headers ([f1dcd0c](https://github.com/JagandeepBrar/LunaSea/commit/f1dcd0c36d558882bfbc7f4465ed56fac0743c55))
* **database:** utilize stricter typing for module headers map ([d4d9816](https://github.com/JagandeepBrar/LunaSea/commit/d4d9816c945b1930ecfda0382d809a7c67839a26))
* **database:** validate enabled profile exists on restore ([d8506ee](https://github.com/JagandeepBrar/LunaSea/commit/d8506ee2834ca6a83394c11f6d4d329f03a3647f))
* display 0-length timestamps as "0 Minutes" instead of "Under a Minute" ([e05b17a](https://github.com/JagandeepBrar/LunaSea/commit/e05b17ae5ed35cec85ade5b910b82869cb7ad3f2))
* **lidarr:** (history) sort list by date descending ([ad22820](https://github.com/JagandeepBrar/LunaSea/commit/ad22820d6662371d3d2bc7fbf596f86619002d20))
* **lists:** reorderable lists could not be reordered on some platforms ([95a645c](https://github.com/JagandeepBrar/LunaSea/commit/95a645c06cf2a76231c4b8dbea87ec593961c205))
* **locale:** create stub primary language localization assets ([18ef4cf](https://github.com/JagandeepBrar/LunaSea/commit/18ef4cf1d4032a3f9db54b5da56158ffaf9b50c8))
* **overseerr:** issues/requests list view translation keys ([136b92b](https://github.com/JagandeepBrar/LunaSea/commit/136b92b8a7bdd5cd0ec2322444443d054df6daed))
* **radarr:** (queue) allow loading queue list when associated movie is not found ([22bf728](https://github.com/JagandeepBrar/LunaSea/commit/22bf728a3dab6b7d76c7674cb4d97dc73e849201))
* **sonarr:** fanart image requests not including headers ([b5bb300](https://github.com/JagandeepBrar/LunaSea/commit/b5bb300046431d8c1c26fd8ac4a26c42444f4f53))
* **sonarr:** invalid linking to theTVDB content ([80678a7](https://github.com/JagandeepBrar/LunaSea/commit/80678a75bb871a4835d1c73934e043564d80b6b0))
* **android:** support Android 13 notification prompt ([83e8374](https://github.com/jagandeepbrar/lunasea/commit/83e8374c33977c82096fcf8d5a4d94da5c291f8f))
* **cache:** add type-safety to LRU cache ([7aae480](https://github.com/jagandeepbrar/lunasea/commit/7aae4807221184dbe1d02454f73998a0458dd7f6))
* **database:** prevent deadlock in database deletion actions ([9960124](https://github.com/jagandeepbrar/lunasea/commit/9960124d3219e2ab72e14443a1a79a1bac6b2cd3))
* **graphs:** support fl_chart@0.55.1 ([b812c7b](https://github.com/jagandeepbrar/lunasea/commit/b812c7b4a12b4766e04b5d4023b45320e6b7927c))
* **images:** validate image availability before fading-in ([6f9e0e8](https://github.com/jagandeepbrar/lunasea/commit/6f9e0e87ce3d02dfff7dec439a2e975585c5b986))
* **notifications:** correctly inject service worker for notification handling ([82ef5f0](https://github.com/jagandeepbrar/lunasea/commit/82ef5f0c529a9e30475f86f496fa63c18785e87c))
* **notifications:** enable in-app notifications config was inversed ([3593eb3](https://github.com/jagandeepbrar/lunasea/commit/3593eb329b38fb4a5b776cf1b165ad6f463e371b))
* **resources:** remove feedback board resource ([d3d090e](https://github.com/jagandeepbrar/lunasea/commit/d3d090e277f7dda7d4ef3d7808e7341cf79178fe))
* **scrolling:** remove custom scrolling behaviour ([864082f](https://github.com/jagandeepbrar/lunasea/commit/864082fd4045ef7dea0e0ab6a17d41ca86015fcb))
* **settings:** show notification settings area on web ([136cda5](https://github.com/jagandeepbrar/lunasea/commit/136cda5215ae1d44dcd898e8e8e0b1e1912b3a41))
* **sheets:** set default overlay theme for sheets, remove bottom radius clipping ([3a5e19b](https://github.com/jagandeepbrar/lunasea/commit/3a5e19b02c048df21bd169a0a06f1e9ae741debb))
* **sonarr:** support Sonarr v4 API changes ([e477eca](https://github.com/jagandeepbrar/lunasea/commit/e477ecafcce268d7de112f33711fc02a089a4206))
* **web:** correctly register notification service worker ([579531c](https://github.com/jagandeepbrar/lunasea/commit/579531c30a17e2c8d53d011dbecf710f42598ec8))
### Tweaks
* **changelog:** do not show documentation changes in in-app changelog ([2367050](https://github.com/JagandeepBrar/LunaSea/commit/2367050a66f2929d1ead17cc9191f47ddcb07f3a))
* **core:** destructure core folder and reintegrate extensions ([5d52440](https://github.com/JagandeepBrar/LunaSea/commit/5d52440a43e4b605a8ac95bcb02b909f489ef7e2))
* **database:** rewrite interface to key-value database ([a0eaca0](https://github.com/JagandeepBrar/LunaSea/commit/a0eaca084a399a2e249b142cb720cc50739a3f51))
* **environment:** load environment using environment_config ([c4dd509](https://github.com/JagandeepBrar/LunaSea/commit/c4dd509e3210847c0ddba4c7982f38099228a2d6))
* refactored in-app purchase interface ([9cb3fab](https://github.com/JagandeepBrar/LunaSea/commit/9cb3fabdf1f5fa10d65770a181ced937413642a2))
* utilize statics and class functions for LunaModule enum ([9f3c3f7](https://github.com/JagandeepBrar/LunaSea/commit/9f3c3f779dda1b2da007abe5c2079dcfa834eb99))
* **remove logos:** removes unused logo pngs ([2adfe59](https://github.com/jagandeepbrar/lunasea/commit/2adfe59bd5cd289beb7f7c703fe26397310dbc90))
### [10.0.3](https://github.com/JagandeepBrar/LunaSea/compare/v10.0.2...v10.0.3) (2022-05-26)
### [10.1.1](https://github.com/jagandeepbrar/lunasea/compare/v10.1.0...v10.1.1) (2022-08-21)
### Features
* **-arr:** updated UI for viewing content links ([8b559e0](https://github.com/JagandeepBrar/LunaSea/commit/8b559e00b01305af6d1f8139a75aa25391127626))
* **ci:** build web docker images ([73fbb10](https://github.com/JagandeepBrar/LunaSea/commit/73fbb1076ec8e951d99ad2df28a28454ca8189a1))
* **notifications:** option to disable in-app notifications ([da0c44c](https://github.com/JagandeepBrar/LunaSea/commit/da0c44c8b1bc846acc4a1d0a4b7f1ee7c4c2e44d))
* **settings:** ability to check for updates ([b3caf34](https://github.com/JagandeepBrar/LunaSea/commit/b3caf34074ecc72257b26d091a332e8f54a47587))
* **changelog:** do not show changelog on first boot of new installs ([52fd7fc](https://github.com/jagandeepbrar/lunasea/commit/52fd7fca0c5076b4b98458d449a4b1f581726a52))
### Bug Fixes
* correctly calculate age of releases in -arrs ([e35433a](https://github.com/JagandeepBrar/LunaSea/commit/e35433af314b13ff3c951eef4c99f42e460f2b28))
* **ui:** enable interactivity on all scrollbars on all platforms ([174fa96](https://github.com/JagandeepBrar/LunaSea/commit/174fa969517b00e611534defc12ca3768348623a))
* **config:** log restoration error after resetting the database to default ([b02fe81](https://github.com/jagandeepbrar/lunasea/commit/b02fe81df697066be6172a7d423768490639593e))
* **indexer:** remove LunaIndexerIcon from model definition ([cf3d9bb](https://github.com/jagandeepbrar/lunasea/commit/cf3d9bbc17cd67f0c5e8be22b9450563046a2127))
### [10.0.2](https://github.com/JagandeepBrar/LunaSea/compare/v10.0.1...v10.0.2) (2022-04-12)
## [10.1.0](https://github.com/jagandeepbrar/lunasea/compare/v10.0.3...v10.1.0) (2022-08-21)
### Features
* **account:** ability to update account email and password ([5ea6269](https://github.com/JagandeepBrar/LunaSea/commit/5ea6269bca9cc21f9a3ec34ff9840ea22384b717))
* **firebase:** allow building LunaSea without setting up Firebase [skip ci] ([d7431b1](https://github.com/JagandeepBrar/LunaSea/commit/d7431b110217ff868e662be4a34af656ca1d6515))
* **firebase:** conditionally load Firebase depending on the platform ([91f556d](https://github.com/JagandeepBrar/LunaSea/commit/91f556d07833c9be6a4d176d663e7889361b8ec2))
* **linux:** initial linux support ([12fab1d](https://github.com/JagandeepBrar/LunaSea/commit/12fab1d6c22104cbf18ff695b1c636cc48236126))
* **resources:** add link to build bucket [skip ci] ([64db574](https://github.com/JagandeepBrar/LunaSea/commit/64db574155182942dabbaffba5dbf43e0cca950c))
* **resources:** add link to information about build channels ([fb31aba](https://github.com/JagandeepBrar/LunaSea/commit/fb31aba7f9b2678736f2d9abacdbf244edd1048a))
* **ui:** ability to set background color on LunaBlock tiles [skip ci] ([e108cfb](https://github.com/JagandeepBrar/LunaSea/commit/e108cfbac5f5bb2a1cd7404af0a331fadba85612))
* **windows:** initial windows support ([313e05c](https://github.com/JagandeepBrar/LunaSea/commit/313e05c8f519ca0c17efbec3d0587418e712cb81))
* **calendar:** show current month in header ([925f163](https://github.com/jagandeepbrar/lunasea/commit/925f163e1534aeb45e5b22e8254eaf391eabd79f))
* **changelog:** prepare and show changelog on pre-release builds ([df65f53](https://github.com/jagandeepbrar/lunasea/commit/df65f53a4b00d11abc998f681274d22d94254f14))
* **locale:** support Vietnamese (vi) ([8b57450](https://github.com/jagandeepbrar/lunasea/commit/8b5745044e3af64a6c9bc593a9877400ac8a2dc2))
### Bug Fixes
* **charts:** rollback to fl_charts@0.46.0 ([cc81ee7](https://github.com/JagandeepBrar/LunaSea/commit/cc81ee7f14adc49b84556224dfef54c735c54758))
* **database:** write to LunaSea parent folder on Linux and Windows ([6e89796](https://github.com/JagandeepBrar/LunaSea/commit/6e89796a15622f82759a6f8f02a82b1494ea1f8d))
* **desktop:** prevent flickering by waiting for window settings to apply ([5a2a9b7](https://github.com/JagandeepBrar/LunaSea/commit/5a2a9b780b94d27aa2005823e1a18e225970967f))
* **desktop:** set initial and minimum window sizes ([dd30c3a](https://github.com/JagandeepBrar/LunaSea/commit/dd30c3a0a32201a6503c81685dfdbc928a4aee90))
* **android:** correctly handle back-button to open drawer on applicable routes ([c91ba2c](https://github.com/jagandeepbrar/lunasea/commit/c91ba2ce8134fdc796d0431ba1c9134908fddd91))
* **changelog:** group changelog item rows by key feature change ([2ababbd](https://github.com/jagandeepbrar/lunasea/commit/2ababbd1b32abd153fa73fcdfe292c7791edbf52))
* **ci:** utilize latest standard for Snapcraft login ([aff6e2c](https://github.com/jagandeepbrar/lunasea/commit/aff6e2ca184e9539f28dd326c06478ca2dbfee4c))
* **database:** correctly store manually ordered module list ([8fe81d1](https://github.com/jagandeepbrar/lunasea/commit/8fe81d11ab5c5aa484f0c2b471932d5364e6209c))
* **database:** detect and recover from database corruption ([758756f](https://github.com/jagandeepbrar/lunasea/commit/758756fcf2456996c7ee02be2bd523cca91c45d3))
* **database:** fallback to defaults on null values in profile ([fb3e8e5](https://github.com/jagandeepbrar/lunasea/commit/fb3e8e53255c457d0922505ad6c2d91f5c0fcf03))
* **database:** safely type indexer fields and headers ([f1dcd0c](https://github.com/jagandeepbrar/lunasea/commit/f1dcd0c36d558882bfbc7f4465ed56fac0743c55))
* **database:** utilize stricter typing for module headers map ([d4d9816](https://github.com/jagandeepbrar/lunasea/commit/d4d9816c945b1930ecfda0382d809a7c67839a26))
* **database:** validate enabled profile exists on restore ([d8506ee](https://github.com/jagandeepbrar/lunasea/commit/d8506ee2834ca6a83394c11f6d4d329f03a3647f))
* display 0-length timestamps as "0 Minutes" instead of "Under a Minute" ([e05b17a](https://github.com/jagandeepbrar/lunasea/commit/e05b17ae5ed35cec85ade5b910b82869cb7ad3f2))
* **lidarr:** (history) sort list by date descending ([ad22820](https://github.com/jagandeepbrar/lunasea/commit/ad22820d6662371d3d2bc7fbf596f86619002d20))
* **lists:** reorderable lists could not be reordered on some platforms ([95a645c](https://github.com/jagandeepbrar/lunasea/commit/95a645c06cf2a76231c4b8dbea87ec593961c205))
* **locale:** create stub primary language localization assets ([18ef4cf](https://github.com/jagandeepbrar/lunasea/commit/18ef4cf1d4032a3f9db54b5da56158ffaf9b50c8))
* **overseerr:** issues/requests list view translation keys ([136b92b](https://github.com/jagandeepbrar/lunasea/commit/136b92b8a7bdd5cd0ec2322444443d054df6daed))
* **radarr:** (queue) allow loading queue list when associated movie is not found ([22bf728](https://github.com/jagandeepbrar/lunasea/commit/22bf728a3dab6b7d76c7674cb4d97dc73e849201))
* **sonarr:** fanart image requests not including headers ([b5bb300](https://github.com/jagandeepbrar/lunasea/commit/b5bb300046431d8c1c26fd8ac4a26c42444f4f53))
* **sonarr:** invalid linking to theTVDB content ([80678a7](https://github.com/jagandeepbrar/lunasea/commit/80678a75bb871a4835d1c73934e043564d80b6b0))
### Tweaks
* **flavor:** rename build flavors [skip ci] ([26cc258](https://github.com/JagandeepBrar/LunaSea/commit/26cc2585b28f17342caf034ef9ef76dad06eb474))
* **settings:** do not show version code [skip ci] ([ac807a8](https://github.com/JagandeepBrar/LunaSea/commit/ac807a8a01993939b86baad2dcb11e7d2a73e509))
* **ui:** remove usages of tab indentations [skip ci] ([d9e7009](https://github.com/JagandeepBrar/LunaSea/commit/d9e70090007b402d2596e09195da5324ac1aafd0))
* **changelog:** do not show documentation changes in in-app changelog ([2367050](https://github.com/jagandeepbrar/lunasea/commit/2367050a66f2929d1ead17cc9191f47ddcb07f3a))
* **core:** destructure core folder and reintegrate extensions ([5d52440](https://github.com/jagandeepbrar/lunasea/commit/5d52440a43e4b605a8ac95bcb02b909f489ef7e2))
* **database:** rewrite interface to key-value database ([a0eaca0](https://github.com/jagandeepbrar/lunasea/commit/a0eaca084a399a2e249b142cb720cc50739a3f51))
* **environment:** load environment using environment_config ([c4dd509](https://github.com/jagandeepbrar/lunasea/commit/c4dd509e3210847c0ddba4c7982f38099228a2d6))
* refactored in-app purchase interface ([9cb3fab](https://github.com/jagandeepbrar/lunasea/commit/9cb3fabdf1f5fa10d65770a181ced937413642a2))
* utilize statics and class functions for LunaModule enum ([9f3c3f7](https://github.com/jagandeepbrar/lunasea/commit/9f3c3f779dda1b2da007abe5c2079dcfa834eb99))
### [10.0.1](https://github.com/JagandeepBrar/LunaSea/compare/v10.0.0...v10.0.1) (2022-03-25)
### [10.0.3](https://github.com/jagandeepbrar/lunasea/compare/v10.0.2...v10.0.3) (2022-05-26)
### Features
* **config:** support retrying entering encryption password on failure ([cd9a3d2](https://github.com/JagandeepBrar/LunaSea/commit/cd9a3d295e87b7d8987e508e6c77b02c1c5290f8))
* **filesystem:** rewrite filesystem interface for better compatibility ([4c60df5](https://github.com/JagandeepBrar/LunaSea/commit/4c60df5523b98da3a7f135bb26fa20b36ed653e9))
* **ios:** enable landscape support on iOS devices ([f8e6760](https://github.com/JagandeepBrar/LunaSea/commit/f8e676015c26f1e33f8680043663ea4f25dbc872))
* **web:** initial web support ([91e1fa0](https://github.com/JagandeepBrar/LunaSea/commit/91e1fa03d9fae7cf82d158f00587075b29c610ea))
* **window_manager:** rewrite window manager to be platform-safe ([d6aed6c](https://github.com/JagandeepBrar/LunaSea/commit/d6aed6c707ad75c0a02c3a4fa496ee6d8adeb55e))
* **-arr:** updated UI for viewing content links ([8b559e0](https://github.com/jagandeepbrar/lunasea/commit/8b559e00b01305af6d1f8139a75aa25391127626))
* **ci:** build web docker images ([73fbb10](https://github.com/jagandeepbrar/lunasea/commit/73fbb1076ec8e951d99ad2df28a28454ca8189a1))
* **notifications:** option to disable in-app notifications ([da0c44c](https://github.com/jagandeepbrar/lunasea/commit/da0c44c8b1bc846acc4a1d0a4b7f1ee7c4c2e44d))
* **settings:** ability to check for updates ([b3caf34](https://github.com/jagandeepbrar/lunasea/commit/b3caf34074ecc72257b26d091a332e8f54a47587))
### Bug Fixes
* **android:** prevent multiple splash screens from appearing on Android 12 ([26523e5](https://github.com/JagandeepBrar/LunaSea/commit/26523e58ed12c8789c5c2c0df8d9f6e75e719f11))
* **web:** set notification vapid key ([1ddcc27](https://github.com/JagandeepBrar/LunaSea/commit/1ddcc279dd6adf629a2f99939a567481e3675bd2))
* correctly calculate age of releases in -arrs ([e35433a](https://github.com/jagandeepbrar/lunasea/commit/e35433af314b13ff3c951eef4c99f42e460f2b28))
* **ui:** enable interactivity on all scrollbars on all platforms ([174fa96](https://github.com/jagandeepbrar/lunasea/commit/174fa969517b00e611534defc12ca3768348623a))
### Tweaks
* **images:** guard and fallback image cache implementation ([601d82c](https://github.com/JagandeepBrar/LunaSea/commit/601d82cf89a22890d4197d10e1b74dbe110b0755))
* **platform:** guard usages of dart:io and dart:html for future compatibility ([c7bd62d](https://github.com/JagandeepBrar/LunaSea/commit/c7bd62de2ee5669b41e6ccbc5e706ecb237cbcac))
* **wake_on_lan:** refactor wake on LAN support, support loading API with dart:html ([403edc1](https://github.com/JagandeepBrar/LunaSea/commit/403edc16fb8188bba9bb6dd5b60a128dc8c2b0d4))
## [10.0.0](https://github.com/JagandeepBrar/LunaSea/tree/v10.0.0) (2022-03-12)
### [10.0.2](https://github.com/jagandeepbrar/lunasea/compare/v10.0.1...v10.0.2) (2022-04-12)
### Features
* **debug:** debug page for multiple UI elements ([80c5d21](https://github.com/JagandeepBrar/LunaSea/commit/80c5d2118a68129690cde5acbf70a23746d30acf))
* **http:** set User-Agent to "LunaSea/{version} {build}" ([420d11c](https://github.com/JagandeepBrar/LunaSea/commit/420d11c37188fe1d56d76b51b98325b384a45cff))
* **overseerr:** integrate request list and request tiles ([b7fc3c0](https://github.com/JagandeepBrar/LunaSea/commit/b7fc3c0a0fe917ca13513be74159af022c956465))
* **overseerr:** issues (de)serialization & list integration ([db4dfda](https://github.com/JagandeepBrar/LunaSea/commit/db4dfdaf9ca1976d1a6e4b0ebc451b2e0f08b19e))
* **overseerr:** serialized movie & tv objects ([2b778dc](https://github.com/JagandeepBrar/LunaSea/commit/2b778dc437559549df7404fa5266719979c3cce3))
* **settings:** add test build information to resources ([be2d3e6](https://github.com/JagandeepBrar/LunaSea/commit/be2d3e63c27dc8eb5f2f01740df02d23b75eec8e))
* **sonarr:** support for searching entire series for monitored episodes [skip ci] ([ba958b5](https://github.com/JagandeepBrar/LunaSea/commit/ba958b59a6445d422ae1ea9533f9a6ada188962b))
* **ui:** support skeleton-state loading on LunaBlock ([8ab5f80](https://github.com/JagandeepBrar/LunaSea/commit/8ab5f80d004ead52a40a69f33482f371fe0f8c8b))
* **account:** ability to update account email and password ([5ea6269](https://github.com/jagandeepbrar/lunasea/commit/5ea6269bca9cc21f9a3ec34ff9840ea22384b717))
* **firebase:** allow building LunaSea without setting up Firebase [skip ci] ([d7431b1](https://github.com/jagandeepbrar/lunasea/commit/d7431b110217ff868e662be4a34af656ca1d6515))
* **firebase:** conditionally load Firebase depending on the platform ([91f556d](https://github.com/jagandeepbrar/lunasea/commit/91f556d07833c9be6a4d176d663e7889361b8ec2))
* **linux:** initial linux support ([12fab1d](https://github.com/jagandeepbrar/lunasea/commit/12fab1d6c22104cbf18ff695b1c636cc48236126))
* **resources:** add link to build bucket [skip ci] ([64db574](https://github.com/jagandeepbrar/lunasea/commit/64db574155182942dabbaffba5dbf43e0cca950c))
* **resources:** add link to information about build channels ([fb31aba](https://github.com/jagandeepbrar/lunasea/commit/fb31aba7f9b2678736f2d9abacdbf244edd1048a))
* **ui:** ability to set background color on LunaBlock tiles [skip ci] ([e108cfb](https://github.com/jagandeepbrar/lunasea/commit/e108cfbac5f5bb2a1cd7404af0a331fadba85612))
* **windows:** initial windows support ([313e05c](https://github.com/jagandeepbrar/lunasea/commit/313e05c8f519ca0c17efbec3d0587418e712cb81))
### Bug Fixes
* **desktop:** handle pull-to-refresh drag action ([d38fc77](https://github.com/JagandeepBrar/LunaSea/commit/d38fc770d2de4c2e2471aa4b61f8c4eb231ee134))
* **firebase:** remove remaining references to crashlytics and analytics [skip ci] ([67afaa0](https://github.com/JagandeepBrar/LunaSea/commit/67afaa05f22163b95faff7be526c7a7ddbd5ac5e))
* **overseerr:** rehydrate missing cached media content when required after cache ejection ([b09353b](https://github.com/JagandeepBrar/LunaSea/commit/b09353ba6e35992ce90613a198f7eb39759522a1))
* **radarr:** localized strings and correctly display disk/root folder tiles ([490ecf6](https://github.com/JagandeepBrar/LunaSea/commit/490ecf60d1d2267a1e2a6677db8e58c0dea9e096))
* **radarr:** match file details to web GUI ([a42aa41](https://github.com/JagandeepBrar/LunaSea/commit/a42aa4109ecde42dd2226ee13d398ca09c66a4b3))
* **radarr:** prevent using preDB availability when adding movie ([9d71c1a](https://github.com/JagandeepBrar/LunaSea/commit/9d71c1ac9ae5505692c24c425be2ce22ae292a25))
* **tautulli:** set graph padding to theme-default padding ([1229e5e](https://github.com/JagandeepBrar/LunaSea/commit/1229e5ee5ba1534d3e694fb85657b79b7dfcbf78))
* **charts:** rollback to fl_charts@0.46.0 ([cc81ee7](https://github.com/jagandeepbrar/lunasea/commit/cc81ee7f14adc49b84556224dfef54c735c54758))
* **database:** write to LunaSea parent folder on Linux and Windows ([6e89796](https://github.com/jagandeepbrar/lunasea/commit/6e89796a15622f82759a6f8f02a82b1494ea1f8d))
* **desktop:** prevent flickering by waiting for window settings to apply ([5a2a9b7](https://github.com/jagandeepbrar/lunasea/commit/5a2a9b780b94d27aa2005823e1a18e225970967f))
* **desktop:** set initial and minimum window sizes ([dd30c3a](https://github.com/jagandeepbrar/lunasea/commit/dd30c3a0a32201a6503c81685dfdbc928a4aee90))
### Tweaks
* **flavor:** rename "internal" to "develop" ([5652cb0](https://github.com/JagandeepBrar/LunaSea/commit/5652cb04bc7a23292d0ea9d65d6e919218975905))
* **modules:** remove canonical module import file [skip ci] ([0cbd61e](https://github.com/JagandeepBrar/LunaSea/commit/0cbd61eac5c8e8675b3dd5702977c99e06ca81d5))
* **overseerr:** utilize JsonEnum generators in enum types [skip ci] ([76d530e](https://github.com/JagandeepBrar/LunaSea/commit/76d530ed0810724d9b61bb73b689d6afb23d4ebd))
* **flavor:** rename build flavors [skip ci] ([26cc258](https://github.com/jagandeepbrar/lunasea/commit/26cc2585b28f17342caf034ef9ef76dad06eb474))
* **settings:** do not show version code [skip ci] ([ac807a8](https://github.com/jagandeepbrar/lunasea/commit/ac807a8a01993939b86baad2dcb11e7d2a73e509))
* **ui:** remove usages of tab indentations [skip ci] ([d9e7009](https://github.com/jagandeepbrar/lunasea/commit/d9e70090007b402d2596e09195da5324ac1aafd0))
### [10.0.1](https://github.com/jagandeepbrar/lunasea/compare/v10.0.0...v10.0.1) (2022-03-25)
### Features
* **config:** support retrying entering encryption password on failure ([cd9a3d2](https://github.com/jagandeepbrar/lunasea/commit/cd9a3d295e87b7d8987e508e6c77b02c1c5290f8))
* **filesystem:** rewrite filesystem interface for better compatibility ([4c60df5](https://github.com/jagandeepbrar/lunasea/commit/4c60df5523b98da3a7f135bb26fa20b36ed653e9))
* **ios:** enable landscape support on iOS devices ([f8e6760](https://github.com/jagandeepbrar/lunasea/commit/f8e676015c26f1e33f8680043663ea4f25dbc872))
* **web:** initial web support ([91e1fa0](https://github.com/jagandeepbrar/lunasea/commit/91e1fa03d9fae7cf82d158f00587075b29c610ea))
* **window_manager:** rewrite window manager to be platform-safe ([d6aed6c](https://github.com/jagandeepbrar/lunasea/commit/d6aed6c707ad75c0a02c3a4fa496ee6d8adeb55e))
### Bug Fixes
* **android:** prevent multiple splash screens from appearing on Android 12 ([26523e5](https://github.com/jagandeepbrar/lunasea/commit/26523e58ed12c8789c5c2c0df8d9f6e75e719f11))
* **web:** set notification vapid key ([1ddcc27](https://github.com/jagandeepbrar/lunasea/commit/1ddcc279dd6adf629a2f99939a567481e3675bd2))
### Tweaks
* **images:** guard and fallback image cache implementation ([601d82c](https://github.com/jagandeepbrar/lunasea/commit/601d82cf89a22890d4197d10e1b74dbe110b0755))
* **platform:** guard usages of dart:io and dart:html for future compatibility ([c7bd62d](https://github.com/jagandeepbrar/lunasea/commit/c7bd62de2ee5669b41e6ccbc5e706ecb237cbcac))
* **wake_on_lan:** refactor wake on LAN support, support loading API with dart:html ([403edc1](https://github.com/jagandeepbrar/lunasea/commit/403edc16fb8188bba9bb6dd5b60a128dc8c2b0d4))
## [10.0.0](https://github.com/jagandeepbrar/lunasea/tree/v10.0.0) (2022-03-12)
### Features
* **debug:** debug page for multiple UI elements ([80c5d21](https://github.com/jagandeepbrar/lunasea/commit/80c5d2118a68129690cde5acbf70a23746d30acf))
* **http:** set User-Agent to "LunaSea/{version} {build}" ([420d11c](https://github.com/jagandeepbrar/lunasea/commit/420d11c37188fe1d56d76b51b98325b384a45cff))
* **overseerr:** integrate request list and request tiles ([b7fc3c0](https://github.com/jagandeepbrar/lunasea/commit/b7fc3c0a0fe917ca13513be74159af022c956465))
* **overseerr:** issues (de)serialization & list integration ([db4dfda](https://github.com/jagandeepbrar/lunasea/commit/db4dfdaf9ca1976d1a6e4b0ebc451b2e0f08b19e))
* **overseerr:** serialized movie & tv objects ([2b778dc](https://github.com/jagandeepbrar/lunasea/commit/2b778dc437559549df7404fa5266719979c3cce3))
* **settings:** add test build information to resources ([be2d3e6](https://github.com/jagandeepbrar/lunasea/commit/be2d3e63c27dc8eb5f2f01740df02d23b75eec8e))
* **sonarr:** support for searching entire series for monitored episodes [skip ci] ([ba958b5](https://github.com/jagandeepbrar/lunasea/commit/ba958b59a6445d422ae1ea9533f9a6ada188962b))
* **ui:** support skeleton-state loading on LunaBlock ([8ab5f80](https://github.com/jagandeepbrar/lunasea/commit/8ab5f80d004ead52a40a69f33482f371fe0f8c8b))
### Bug Fixes
* **desktop:** handle pull-to-refresh drag action ([d38fc77](https://github.com/jagandeepbrar/lunasea/commit/d38fc770d2de4c2e2471aa4b61f8c4eb231ee134))
* **firebase:** remove remaining references to crashlytics and analytics [skip ci] ([67afaa0](https://github.com/jagandeepbrar/lunasea/commit/67afaa05f22163b95faff7be526c7a7ddbd5ac5e))
* **overseerr:** rehydrate missing cached media content when required after cache ejection ([b09353b](https://github.com/jagandeepbrar/lunasea/commit/b09353ba6e35992ce90613a198f7eb39759522a1))
* **radarr:** localized strings and correctly display disk/root folder tiles ([490ecf6](https://github.com/jagandeepbrar/lunasea/commit/490ecf60d1d2267a1e2a6677db8e58c0dea9e096))
* **radarr:** match file details to web GUI ([a42aa41](https://github.com/jagandeepbrar/lunasea/commit/a42aa4109ecde42dd2226ee13d398ca09c66a4b3))
* **radarr:** prevent using preDB availability when adding movie ([9d71c1a](https://github.com/jagandeepbrar/lunasea/commit/9d71c1ac9ae5505692c24c425be2ce22ae292a25))
* **tautulli:** set graph padding to theme-default padding ([1229e5e](https://github.com/jagandeepbrar/lunasea/commit/1229e5ee5ba1534d3e694fb85657b79b7dfcbf78))
### Tweaks
* **flavor:** rename "internal" to "develop" ([5652cb0](https://github.com/jagandeepbrar/lunasea/commit/5652cb04bc7a23292d0ea9d65d6e919218975905))
* **modules:** remove canonical module import file [skip ci] ([0cbd61e](https://github.com/jagandeepbrar/lunasea/commit/0cbd61eac5c8e8675b3dd5702977c99e06ca81d5))
* **overseerr:** utilize JsonEnum generators in enum types [skip ci] ([76d530e](https://github.com/jagandeepbrar/lunasea/commit/76d530ed0810724d9b61bb73b689d6afb23d4ebd))
---

View File

@@ -1,4 +0,0 @@
Welcome to the LunaSea community.
Settle differences by offering and accepting constructive critique, within desired privacy.
Finding yourselves unable, e-mail the project maintainer at hello@lunasea.app.

View File

@@ -1,79 +0,0 @@
# Contributors
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-43-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
Thank you to everyone who has helped contribute to LunaSea, from development to localization efforts!
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tbody>
<tr>
<td align="center"><a href="https://www.jagandeepbrar.io"><img src="https://avatars.githubusercontent.com/u/3048295?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jagandeep Brar</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=JagandeepBrar" title="Code">💻</a> <a href="#design-JagandeepBrar" title="Design">🎨</a> <a href="#ideas-JagandeepBrar" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center"><a href="https://github.com/lightglitch"><img src="https://avatars.githubusercontent.com/u/196953?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mário Franco</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=lightglitch" title="Code">💻</a> <a href="#translation-lightglitch" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/Qstick"><img src="https://avatars.githubusercontent.com/u/376117?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Qstick</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=Qstick" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/AliMickey"><img src="https://avatars.githubusercontent.com/u/60691199?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Micky</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=AliMickey" title="Documentation">📖</a></td>
<td align="center"><a href="http://www.xrths.fr"><img src="https://avatars.githubusercontent.com/u/40337934?v=4?s=100" width="100px;" alt=""/><br /><sub><b>xrths</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=xrths" title="Documentation">📖</a></td>
<td align="center"><a href="https://pythonexplainedto.me/"><img src="https://avatars.githubusercontent.com/u/41962737?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Patrik Hauguth</b></sub></a><br /><a href="#translation-Phaugt" title="Translation">🌍</a></td>
<td align="center"><a href="https://liberapay.com/kingu/"><img src="https://avatars.githubusercontent.com/u/13802408?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Allan Nordhøy</b></sub></a><br /><a href="#translation-comradekingu" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/cpt-kuesel"><img src="https://avatars.githubusercontent.com/u/79487102?v=4?s=100" width="100px;" alt=""/><br /><sub><b>cpt-kuesel</b></sub></a><br /><a href="#translation-cpt-kuesel" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/KovalevArtem"><img src="https://avatars.githubusercontent.com/u/36500228?v=4?s=100" width="100px;" alt=""/><br /><sub><b>KovalevArtem</b></sub></a><br /><a href="#translation-KovalevArtem" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/iFelix18"><img src="https://avatars.githubusercontent.com/u/19800006?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Davide</b></sub></a><br /><a href="#translation-iFelix18" title="Translation">🌍</a></td>
<td align="center"><a href="https://ersen.srht.site/"><img src="https://avatars.githubusercontent.com/u/88676873?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Oğuz Ersen</b></sub></a><br /><a href="#translation-ersen0" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/bittin"><img src="https://avatars.githubusercontent.com/u/43197?v=4?s=100" width="100px;" alt=""/><br /><sub><b>bittin</b></sub></a><br /><a href="#translation-bittin" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/almontegil"><img src="https://avatars.githubusercontent.com/u/68232356?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Gil</b></sub></a><br /><a href="#translation-almontegil" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/TheSander562"><img src="https://avatars.githubusercontent.com/u/14059770?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sander Lambrechts</b></sub></a><br /><a href="#translation-TheSander562" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/Guilhermerrrr"><img src="https://avatars.githubusercontent.com/u/92966143?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Guilhermerrrr</b></sub></a><br /><a href="#translation-Guilhermerrrr" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/Ben-Wallner"><img src="https://avatars.githubusercontent.com/u/24373331?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ben Biber</b></sub></a><br /><a href="#translation-Ben-Wallner" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/Sytom"><img src="https://avatars.githubusercontent.com/u/30535521?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sytom</b></sub></a><br /><a href="#translation-Sytom" title="Translation">🌍</a></td>
<td align="center"><a href="https://xxzj990.top"><img src="https://avatars.githubusercontent.com/u/5134154?v=4?s=100" width="100px;" alt=""/><br /><sub><b>xxzj990</b></sub></a><br /><a href="#translation-xxzj990" title="Translation">🌍</a></td>
<td align="center"><a href="https://www.openflixr.com"><img src="https://avatars.githubusercontent.com/u/3245077?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mark Frelink</b></sub></a><br /><a href="#translation-mfrelink" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/diemade"><img src="https://avatars.githubusercontent.com/u/174809?v=4?s=100" width="100px;" alt=""/><br /><sub><b>diemade</b></sub></a><br /><a href="#translation-diemade" title="Translation">🌍</a></td>
<td align="center"><a href="https://feikojoosten.com"><img src="https://avatars.githubusercontent.com/u/10920052?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Feiko Joosten</b></sub></a><br /><a href="#translation-FeikoJoosten" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/TheMaxul"><img src="https://avatars.githubusercontent.com/u/2436527?v=4?s=100" width="100px;" alt=""/><br /><sub><b>TheMaxul</b></sub></a><br /><a href="#translation-TheMaxul" title="Translation">🌍</a></td>
<td align="center"><a href="https://lisacintosh.itch.io"><img src="https://avatars.githubusercontent.com/u/6952213?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Maxime Leroy</b></sub></a><br /><a href="#translation-Lisapple" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/vc5"><img src="https://avatars.githubusercontent.com/u/13097192?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Vincent</b></sub></a><br /><a href="#translation-vc5" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/gmcinalli"><img src="https://avatars.githubusercontent.com/u/9024983?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Gian Marco Cinalli</b></sub></a><br /><a href="#translation-gmcinalli" title="Translation">🌍</a></td>
<td align="center"><a href="https://www.issacc.top/"><img src="https://avatars.githubusercontent.com/u/17275050?v=4?s=100" width="100px;" alt=""/><br /><sub><b>八月的蠢</b></sub></a><br /><a href="#translation-issaccv" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/neoestremi"><img src="https://avatars.githubusercontent.com/u/1340877?v=4?s=100" width="100px;" alt=""/><br /><sub><b>neoestremi</b></sub></a><br /><a href="#translation-neoestremi" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/marcosvdiasofc"><img src="https://avatars.githubusercontent.com/u/96720080?v=4?s=100" width="100px;" alt=""/><br /><sub><b>marcosvdiasofc</b></sub></a><br /><a href="#translation-marcosvdiasofc" title="Translation">🌍</a></td>
<td align="center"><a href="https://liberapay.com/FSCorrupt/donate"><img src="https://avatars.githubusercontent.com/u/45659314?v=4?s=100" width="100px;" alt=""/><br /><sub><b>FSCorrupt</b></sub></a><br /><a href="#translation-fscorrupt" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/iHunterX"><img src="https://avatars.githubusercontent.com/u/16854718?v=4?s=100" width="100px;" alt=""/><br /><sub><b>iHunterX</b></sub></a><br /><a href="#translation-iHunterX" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/Brokeos"><img src="https://avatars.githubusercontent.com/u/8388746?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Brokeos</b></sub></a><br /><a href="#translation-Brokeos" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/punchy98"><img src="https://avatars.githubusercontent.com/u/12002902?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Michael Maldonado</b></sub></a><br /><a href="#translation-punchy98" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/natiz"><img src="https://avatars.githubusercontent.com/u/3515888?v=4?s=100" width="100px;" alt=""/><br /><sub><b>natiz</b></sub></a><br /><a href="https://github.com/JagandeepBrar/LunaSea/commits?author=natiz" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/KevoM"><img src="https://avatars.githubusercontent.com/u/8274366?v=4?s=100" width="100px;" alt=""/><br /><sub><b>KevoM</b></sub></a><br /><a href="#translation-KevoM" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/rogeriomendes"><img src="https://avatars.githubusercontent.com/u/1494503?v=4?s=100" width="100px;" alt=""/><br /><sub><b>rogeriomendes</b></sub></a><br /><a href="#translation-rogeriomendes" title="Translation">🌍</a></td>
<td align="center"><a href="http://www.paddez.com/"><img src="https://avatars.githubusercontent.com/u/587220?v=4?s=100" width="100px;" alt=""/><br /><sub><b>David K</b></sub></a><br /><a href="#design-Irishsmurf" title="Design">🎨</a></td>
<td align="center"><a href="https://github.com/Slam4uk"><img src="https://avatars.githubusercontent.com/u/78175288?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Slam4uk</b></sub></a><br /><a href="#translation-Slam4uk" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/timrettop"><img src="https://avatars.githubusercontent.com/u/434913?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tim Potter</b></sub></a><br /><a href="#translation-timrettop" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/carlesmu"><img src="https://avatars.githubusercontent.com/u/1310090?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Carles Muñoz Gorriz</b></sub></a><br /><a href="#translation-carlesmu" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/osjurso"><img src="https://avatars.githubusercontent.com/u/17827103?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Olav Markus Sjursø</b></sub></a><br /><a href="#translation-osjurso" title="Translation">🌍</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/fyu0h"><img src="https://avatars.githubusercontent.com/u/33602841?v=4?s=100" width="100px;" alt=""/><br /><sub><b>fyu0h</b></sub></a><br /><a href="#translation-fyu0h" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/johnflorin"><img src="https://avatars.githubusercontent.com/u/45756085?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Florin</b></sub></a><br /><a href="#translation-johnflorin" title="Translation">🌍</a></td>
<td align="center"><a href="https://github.com/tuzumbear"><img src="https://avatars.githubusercontent.com/u/61370405?v=4?s=100" width="100px;" alt=""/><br /><sub><b>tuzumbear</b></sub></a><br /><a href="#translation-tuzumbear" title="Translation">🌍</a></td>
</tr>
</tbody>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->

View File

@@ -1,5 +1,5 @@
# Build
FROM debian:latest as build
FROM --platform=$BUILDPLATFORM debian:latest as build
ENV PATH="/usr/local/flutter/bin:/usr/local/flutter/bin/cache/dart-sdk/bin:$PATH"
RUN apt-get update
@@ -16,6 +16,6 @@ WORKDIR /lunasea/
RUN flutter build web
# Runtime
FROM nginx:alpine
LABEL org.opencontainers.image.source="https://github.com/JagandeepBrar/LunaSea"
FROM --platform=$TARGETPLATFORM nginx:alpine
LABEL org.opencontainers.image.source="https://github.com/JagandeepBrar/lunasea"
COPY --from=build /lunasea/build/web /usr/share/nginx/html

View File

@@ -1,5 +1,7 @@
# <img width="40px" src="./assets/images/branding_logo.png" alt="LunaSea"></img>&nbsp;&nbsp;LunaSea
> :warning: **This project is no longer being actively maintained and this repository is archived.** :warning:
LunaSea is a fully featured, open source self-hosted controller focused on giving you a seamless experience between all of your self-hosted media software remotely on your devices. LunaSea currently supports:
- [Lidarr](https://github.com/lidarr/lidarr)
@@ -16,41 +18,5 @@ LunaSea even comes with support for webhook-based push notifications, multiple i
> Please note that LunaSea is purely a remote control application, it does not offer any functionality without software installed on a server/computer.
## Releases
All releases for every build channel can be downloaded from the [build bucket](https://builds.lunasea.app), and all stable releases for all platforms are also available on [GitHub](https://github.com/JagandeepBrar/LunaSea/releases).
- [Android](https://docs.lunasea.app/releases/android)
- [iOS](https://docs.lunasea.app/releases/ios)
- [Linux](https://docs.lunasea.app/releases/linux)
- [macOS](https://docs.lunasea.app/releases/macos)
- [Web](https://docs.lunasea.app/releases/web)
- [Windows](https://docs.lunasea.app/releases/windows)
Interested in using prerelease build channels of LunaSea? Learn the differences between all the build channels and how to join one [here](https://www.lunasea.app/build-channels)!
## Getting Started
- [Build Guide](https://github.com/JagandeepBrar/LunaSea/wiki/Build-Guide)
- [Documentation](https://www.lunasea.app/docs)
- [Frequently Asked Questions](https://docs.lunasea.app/getting-started/frequently-asked-questions)
## Support
[![Discord](https://img.shields.io/discord/673591529834807358?label=Discord&style=flat)](https://www.lunasea.app/discord)
[![Reddit](https://img.shields.io/reddit/subreddit-subscribers/LunaSeaApp?label=r%2FLunaSeaApp&style=flat)](https://www.lunasea.app/reddit)
**Please only create an issue on GitHub for bugs and software issues**. Post in the [discussions board](https://github.com/JagandeepBrar/LunaSea/discussions) or the [Discord forum](https://www.lunasea.app/discord) for requests and general feedback.
- [Email](mailto:hello@lunasea.app)
- [Reddit](https://www.lunasea.app/reddit)
- [Website](https://www.lunasea.app)
## Tools & Services
[![Translation status](https://hosted.weblate.org/widgets/lunasea/-/svg-badge.svg)](https://www.lunasea.app/translate)
Thank you to all tools and services for offering free subscriptions for open-source projects!
- [Gitbook](https://www.gitbook.com): Gitbook is used to host LunaSea's documentation
- [Weblate](https://weblate.org): Weblate is used to gather community localization for LunaSea

View File

@@ -1,9 +1,9 @@
include: package:flutter_lints/flutter.yaml
analyzer:
exclude:
- 'test/**'
- 'test.g.dart'
- 'lib/**/*.g.dart'
- "test/**"
- "test.g.dart"
- "lib/**/*.g.dart"
linter:
rules:

View File

@@ -1,3 +1,7 @@
source "https://rubygems.org"
gem "fastlane"
gem "abbrev"
gem "logger"
gem "mutex_m"
gem "csv"

View File

@@ -1,43 +1,49 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.6)
CFPropertyList (3.0.7)
base64
nkf
rexml
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
artifactory (3.0.15)
abbrev (0.1.2)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
artifactory (3.0.17)
atomos (0.1.3)
aws-eventstream (1.2.0)
aws-partitions (1.731.0)
aws-sdk-core (3.170.1)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
aws-eventstream (1.3.2)
aws-partitions (1.1077.0)
aws-sdk-core (3.222.1)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
base64
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.63.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.119.1)
aws-sdk-core (~> 3, >= 3.165.0)
logger
aws-sdk-kms (1.99.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.182.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sigv4 (1.5.2)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.11.0)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
base64 (0.2.0)
claide (1.1.0)
colored (1.2)
colored2 (3.1.2)
commander (4.6.0)
highline (~> 2.0.0)
csv (3.3.3)
declarative (0.0.20)
digest-crc (0.6.4)
digest-crc (0.7.0)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
domain_name (0.6.20240107)
dotenv (2.8.1)
emoji_regex (3.2.3)
excon (0.99.0)
faraday (1.10.3)
excon (0.112.0)
faraday (1.10.4)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
@@ -56,24 +62,24 @@ GEM
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.4)
multipart-post (~> 2)
faraday-net_http (1.0.1)
faraday-multipart (1.1.0)
multipart-post (~> 2.0)
faraday-net_http (1.0.2)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
faraday_middleware (1.2.0)
faraday_middleware (1.2.1)
faraday (~> 1.0)
fastimage (2.2.6)
fastlane (2.212.1)
fastimage (2.4.0)
fastlane (2.227.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
aws-sdk-s3 (~> 1.0)
babosa (>= 1.0.3, < 2.0.0)
bundler (>= 1.12.0, < 3.0.0)
colored
colored (~> 1.2)
commander (~> 4.6)
dotenv (>= 2.1.1, < 3.0.0)
emoji_regex (>= 0.1, < 4.0)
@@ -82,33 +88,38 @@ GEM
faraday-cookie_jar (~> 0.0.6)
faraday_middleware (~> 1.0)
fastimage (>= 2.1.0, < 3.0.0)
fastlane-sirp (>= 1.0.0)
gh_inspector (>= 1.1.2, < 2.0.0)
google-apis-androidpublisher_v3 (~> 0.3)
google-apis-playcustomapp_v1 (~> 0.1)
google-cloud-env (>= 1.6.0, < 2.0.0)
google-cloud-storage (~> 1.31)
highline (~> 2.0)
http-cookie (~> 1.0.5)
json (< 3.0.0)
jwt (>= 2.1.0, < 3)
mini_magick (>= 4.9.4, < 5.0.0)
multipart-post (~> 2.0.0)
multipart-post (>= 2.0.0, < 3.0.0)
naturally (~> 2.2)
optparse (~> 0.1.1)
optparse (>= 0.1.1, < 1.0.0)
plist (>= 3.1.0, < 4.0.0)
rubyzip (>= 2.0.0, < 3.0.0)
security (= 0.1.3)
security (= 0.1.5)
simctl (~> 1.6.3)
terminal-notifier (>= 2.0.0, < 3.0.0)
terminal-table (>= 1.4.5, < 2.0.0)
terminal-table (~> 3)
tty-screen (>= 0.6.3, < 1.0.0)
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
xcodeproj (>= 1.13.0, < 2.0.0)
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
xcpretty (~> 0.4.0)
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
fastlane-sirp (1.0.0)
sysrandom (~> 1.0)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.37.0)
google-apis-androidpublisher_v3 (0.54.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-core (0.11.0)
google-apis-core (0.11.3)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
@@ -116,64 +127,66 @@ GEM
representable (~> 3.0)
retriable (>= 2.0, < 4.a)
rexml
webrick
google-apis-iamcredentials_v1 (0.17.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-playcustomapp_v1 (0.13.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-storage_v1 (0.19.0)
google-apis-core (>= 0.9.0, < 2.a)
google-cloud-core (1.6.0)
google-cloud-env (~> 1.0)
google-apis-storage_v1 (0.31.0)
google-apis-core (>= 0.11.0, < 2.a)
google-cloud-core (1.8.0)
google-cloud-env (>= 1.0, < 3.a)
google-cloud-errors (~> 1.0)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
google-cloud-errors (1.3.1)
google-cloud-storage (1.44.0)
google-cloud-errors (1.5.0)
google-cloud-storage (1.47.0)
addressable (~> 2.8)
digest-crc (~> 0.4)
google-apis-iamcredentials_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.19.0)
google-apis-storage_v1 (~> 0.31.0)
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
googleauth (1.3.0)
googleauth (1.8.1)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
highline (2.0.3)
http-cookie (1.0.5)
http-cookie (1.0.8)
domain_name (~> 0.5)
httpclient (2.8.3)
httpclient (2.9.0)
mutex_m
jmespath (1.6.2)
json (2.6.3)
jwt (2.7.0)
memoist (0.16.2)
mini_magick (4.12.0)
mini_mime (1.1.2)
json (2.10.2)
jwt (2.10.1)
base64
logger (1.7.0)
mini_magick (4.13.2)
mini_mime (1.1.5)
multi_json (1.15.0)
multipart-post (2.0.0)
nanaimo (0.3.0)
multipart-post (2.4.1)
mutex_m (0.3.0)
nanaimo (0.4.0)
naturally (2.2.1)
optparse (0.1.1)
nkf (0.2.0)
optparse (0.6.0)
os (1.1.4)
plist (3.7.0)
public_suffix (5.0.1)
rake (13.0.6)
plist (3.7.2)
public_suffix (6.0.1)
rake (13.2.1)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rexml (3.2.5)
rouge (2.0.7)
rexml (3.4.1)
rouge (3.28.0)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
security (0.1.3)
signet (0.17.0)
rubyzip (2.4.1)
security (0.1.5)
signet (0.19.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
@@ -181,38 +194,40 @@ GEM
simctl (1.6.10)
CFPropertyList
naturally
sysrandom (1.0.5)
terminal-notifier (2.0.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
trailblazer-option (0.1.2)
tty-cursor (0.7.1)
tty-screen (0.8.1)
tty-screen (0.8.2)
tty-spinner (0.9.3)
tty-cursor (~> 0.7)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (1.8.0)
webrick (1.8.1)
unicode-display_width (2.6.0)
word_wrap (1.0.0)
xcodeproj (1.22.0)
xcodeproj (1.27.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
rexml (~> 3.2.4)
xcpretty (0.3.0)
rouge (~> 2.0.7)
nanaimo (~> 0.4.0)
rexml (>= 3.3.6, < 4.0)
xcpretty (0.4.1)
rouge (~> 3.28.0)
xcpretty-travis-formatter (1.0.1)
xcpretty (~> 0.2, >= 0.0.7)
PLATFORMS
ruby
arm64-darwin-22
arm64-darwin-24
DEPENDENCIES
abbrev
csv
fastlane
logger
mutex_m
BUNDLED WITH
2.3.25
2.6.6

View File

@@ -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()) {
@@ -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'
@@ -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()) {
@@ -32,7 +29,8 @@ if (keystorePropertiesFile.exists()) {
}
android {
compileSdkVersion 33
namespace = "app.lunasea.lunasea"
compileSdkVersion 35
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
@@ -50,35 +48,31 @@ android {
defaultConfig {
applicationId "app.lunasea.lunasea"
minSdkVersion 24
targetSdkVersion 33
targetSdkVersion 35
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
versionNameSuffix "-dev"
}
release {
signingConfig signingConfigs.release
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
versionNameSuffix "-dev"
}
release {
signingConfig signingConfigs.release
}
}
}
flutter {
source '../..'
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

View File

@@ -6,12 +6,6 @@
android:label="LunaSea"
android:icon="@mipmap/ic_launcher">
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/ic_notification" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/ic_notification_background" />
<activity
android:name=".MainActivity"
android:exported="true"

View File

@@ -1,16 +1,3 @@
buildscript {
ext.kotlin_version = '1.7.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()
@@ -26,6 +13,6 @@ subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
tasks.register("clean", Delete) {
delete rootProject.buildDir
}

View File

@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip

View File

@@ -1,15 +1,25 @@
include ':app'
pluginManagement {
def flutterSdkPath = {
def properties = new Properties()
file("local.properties").withInputStream { properties.load(it) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
return flutterSdkPath
}()
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
plugins.each { name, path ->
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
include ":$name"
project(":$name").projectDir = pluginDirectory
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "8.1.0" apply false
id "org.jetbrains.kotlin.android" version "1.8.10" apply false
}
include ":app"

View File

@@ -1,46 +1 @@
{
"motd": "Welcome to LunaSea v10.2.3!\n\nThis update adds the ability to open Tautulli library items directly in Plex and more details about activity streams.",
"feat": {
"tautulli": [
{
"commit": "5cf1a06cec079aa66c77425c0ed8d4fa7897bbd3",
"message": "add ability to open media in Plex"
},
{
"commit": "6de806316efaa61c5ddbac1b8f5b214949f0bcf8",
"message": "display audio language, subtitle language, and video dynamic range for activity"
}
],
"flutter": [
{
"commit": "6241ee462989f1f65fa8f1e18378579e2e77197b",
"message": "replace Skia with Impeller rendering engine"
},
{
"commit": "f1b831a118e56c480aae72042ee4eb7013f954b2",
"message": "upgrade to Flutter 3.7.7/1837b5be5f"
}
]
},
"fix": {
"links": [
{
"commit": "596eab4bad1aa183e3c0dfc8d20a32c15ecdb78d",
"message": "use platform default method to launch URLs"
}
],
"http": [
{
"commit": "aca5d0eb826b38ebeec33e3495045bf21e8a49c7",
"message": "correctly set content type for POST requests"
}
],
"macos": [
{
"commit": "d612ae221cac741b3a36893d4bc7f05f5055c7b8",
"message": "set minimum platform version to 10.15"
}
]
},
"refactor": {}
}
{}

View File

@@ -4,7 +4,7 @@
"dashboard.Tuesday": "Dienstag",
"dashboard.Thursday": "Donnerstag",
"dashboard.Sunday": "Sonntag",
"dashboard.Schedule": "Übersicht",
"dashboard.Schedule": "Zeitplan",
"dashboard.Saturday": "Samstag",
"dashboard.PastDaysDescription": "Wähle die Anzahl an Tagen in der Vergangenheit für die Kalendereinträge abgerufen werden sollen.",
"dashboard.PastDays": "Vergangene Tage",
@@ -57,6 +57,8 @@
"lunasea.DownloadClient": "Downloadklient",
"lunasea.Edge": "Edge",
"lunasea.Error": "Fehler",
"lunasea.EverySecond": "Jede Sekunde",
"lunasea.EverySeconds": "Alle {} Sekunden",
"lunasea.ExternalModules": "Externe Module",
"lunasea.Features": "Funktionen",
"lunasea.Fixes": "Behoben",
@@ -70,6 +72,7 @@
"lunasea.IncorrectEncryptionKey": "Ungültige Sicherungsphrase",
"lunasea.Internal": "Intern",
"lunasea.InvalidFileTypeSelected": "Ungültiger Dateityp ausgewählt",
"lunasea.Items": "{} Artikel",
"lunasea.JustNow": "Jetzt gerade",
"lunasea.Minutes": "{} Minuten",
"lunasea.MinutesAgo": "Vor {} Minuten",
@@ -85,6 +88,7 @@
"lunasea.OneDayAgo": "Vor 1 Tag",
"lunasea.OneHour": "1 Stunde",
"lunasea.OneHourAgo": "Vor 1 Stunde",
"lunasea.OneItem": "1 Element",
"lunasea.OneMinute": "1 Minute",
"lunasea.OneMinuteAgo": "Vor 1 Minute",
"lunasea.OneMonth": "1 Monat",
@@ -113,6 +117,8 @@
"lunasea.Settings": "Einstellungen",
"lunasea.Stable": "Stabil",
"lunasea.StartingView": "Startansicht",
"lunasea.ThankYou": "Dankeschön",
"lunasea.ThankYouMessage": "Vielen Dank für die Unterstützung der Open-Source-Community!",
"lunasea.Today": "Heute",
"lunasea.TransactionFailure": "Transaktion fehlgeschlagen",
"lunasea.TryAgain": "Erneut versuchen",
@@ -181,6 +187,8 @@
"radarr.DigitalRelease": "Digitale Veröffentlichung",
"radarr.DirectoryNotFound": "Verzeichnis nicht gefunden",
"radarr.Discover": "Entdecken",
"radarr.DiscoverSuggestions": "Vorschläge entdecken",
"radarr.DiscoverSuggestionsDescription": "Vorgeschlagene Releases in Discover hinzufügen",
"radarr.Disks": "Platten",
"radarr.DownloadFailed": "Herunterladen gescheitert",
"radarr.DownloadIgnored": "Herunterladen ignoriert",
@@ -215,6 +223,7 @@
"radarr.MoveFilesDescription": "Möchten Sie die Dateien verschieben?",
"radarr.MoveFull": "Dateien übertragen",
"radarr.Movie": "Film",
"radarr.MovieDetails": "Film Details",
"radarr.MovieFileDeleted": "Filmdatei gelöscht",
"radarr.MovieFileRenamed": "Filmdatei umbenannt",
"radarr.MovieImported": "Film importiert ({})",
@@ -237,6 +246,7 @@
"radarr.QualityProfile": "Qualitätsprofil",
"radarr.Queue": "Warteschlange",
"radarr.QueueDescription": "Aktiven und eingereihten Inhalt zeigen",
"radarr.QueueSize": "Größe der Warteschlange",
"radarr.Quick": "Schnell",
"radarr.RefreshMovie": "Film aktualisieren",
"radarr.Rejected": "Abgelehnt",
@@ -311,7 +321,7 @@
"search.FailedToDownloadNZB": "Herunterladen der NZB fehlgeschlagen",
"search.DownloadToDevice": "Auf Gerät herunterladen",
"search.DownloadingNZBToDevice": "Lädt NZB auf deinem Gerät herunter",
"search.Downloading": "Herunterladen …",
"search.Downloading": "Herunterladen…",
"search.Download": "Herunterladen",
"search.Comments": "Kommentare",
"search.Categories": "Kategorien",
@@ -327,6 +337,20 @@
"search.Results": "Ergebnisse",
"search.NoSubcategoriesFound": "Keine Unterkategorien gefunden",
"search.NoResultsFound": "Keine Ergebnisse gefunden",
"search.AddIndexer": "Indexer hinzufügen",
"search.FailedToAddIndexer": "Fehler beim hinzufügen des Indexers",
"search.ShowLinksDescription": "Zeige Download und Kommentar Links an",
"search.DeleteIndexer": "Indexer entfernen",
"search.EditIndexer": "Indexer bearbeiten",
"search.HideAdultCategories": "Verberge Kategorien für Erwachsene",
"search.HideAdultCategoriesDescription": "Verberge Inhalt für Erwachsene",
"search.IndexerAPIKey": "Indexer API Schlüssel",
"search.IndexerAdded": "Indexer hinzugefügt",
"search.IndexerDeleted": "Indexer entfernt",
"search.IndexerAPIHost": "Indexer API Host",
"search.IndexerNotFound": "Indexer nicht gefunden",
"search.NoIndexersFound": "Keinen Indexer gefunden",
"search.ShowLinks": "Links anzeigen",
"settings.EncryptionKey": "Sicherungsphrase",
"settings.EnabledProfile": "Aktives Profil",
"settings.DismissBannersHint2": "Die Kurzinfo-Banner werden dir Tipps und Hinweise zu verfügbaren Funktionen in LunaSea geben.",
@@ -596,6 +620,19 @@
"settings.BootModule": "Startmodul",
"settings.General": "Allgemein",
"settings.GeneralDescription": "LunaSea anpassen",
"settings.Clear": "Entfernen",
"settings.ConfigurationClearedDescription": "Deine Konfiguration wurde gelöscht",
"settings.ConfigurationCleared": "Konfiguration gelöscht",
"settings.CopiedURLFor": "URL für {} kopiert",
"settings.CopiedDeviceURL": "Deine gerätebasierte URL wurde in die Zwischenablage kopiert",
"settings.CopiedUserURL": "Deine benutzerbasierte URL wurde in die Zwischenablage kopiert",
"settings.AllLogs": "Alle Logs",
"settings.AllLogsDescription": "Alle Arten von Logs anzeigen",
"settings.CalendarSettingsDescription": "Anpassen des einheitlichen Kalenders",
"settings.Class": "Klasse",
"settings.ClearImageCacheDescription": "Bilder aus dem permanenten Speicher löschen",
"settings.Device": "Gerät",
"settings.Exception": "Ausnahme",
"sonarr.AddSeries": "Serie hinzufügen",
"sonarr.AddToExclusionList": "Zur Ignorierliste hinzufügen",
"sonarr.AllSeasons": "Alle Staffeln",
@@ -807,6 +844,15 @@
"sonarr.SearchingForMonitoredEpisodes": "Suche nach beobachteten Episoden…",
"sonarr.SearchMonitored": "Suche Beobachtet",
"sonarr.FailedToSearchForMonitoredEpisodes": "Suche nach beobachteten Episoden fehlgeschlagen",
"sonarr.EpisodesCount": "{} Episoden",
"sonarr.EpisodeFilesDeleted": "Episodendateien gelöscht",
"sonarr.NoEpisodeFilesFound": "Keine Episodendateien gefunden",
"sonarr.OneEpisode": "1 Episode",
"sonarr.QueueSize": "Größe der Warteschlange",
"sonarr.FailedToSearchForEpisodes": "Suche nach Episoden fehlgeschlagen",
"sonarr.FailedToDeleteEpisodeFiles": "Löschen der Episodendateien fehlgeschlagen",
"sonarr.NoEpisodeFilesFoundDeleteMessage": "Keine der ausgewählten Episoden haben Dateien zum Löschen",
"sonarr.SearchingForEpisodes": "Suche nach Episoden…",
"tautulli.TerminateSessionFailed": "Abbrechen der Sitzung fehlgeschlagen",
"tautulli.TerminateSession": "Sitzung abbrechen",
"tautulli.TerminatedSession": "Abgebrochene Sitzung",
@@ -856,7 +902,7 @@
"tautulli.DeletingImageCache": "Lösche Bild-Zwischenspeicher …",
"tautulli.DeletingCacheFailed": "Löschen des Zwischenspeichers fehlgeschlagen",
"tautulli.DeletingCacheDescription": "Tautulli Zwischenspeicher wird gelöscht",
"tautulli.DeletingCache": "Lösche Zwischenspeicher …",
"tautulli.DeletingCache": "Lösche Zwischenspeicher…",
"tautulli.DeleteTemporarySessions": "Lösche temporäre Sitzungen",
"tautulli.DeleteImageCache": "Bild-Zwischenspeicher löschen",
"tautulli.DeleteCache": "Zwischenspeicher löschen",
@@ -868,13 +914,23 @@
"tautulli.BackupConfiguration": "Konfiguration sichern",
"tautulli.BackingUpDatabaseFailed": "Sichern der Datenbank fehlgeschlagen",
"tautulli.BackingUpDatabaseDescription": "Deine Datenbank wird im Hintergrund gesichert",
"tautulli.BackingUpDatabase": "Datenbank wird gesichert …",
"tautulli.BackingUpDatabase": "Datenbank wird gesichert…",
"tautulli.BackingUpConfigurationFailed": "Sichern der Konfiguration fehlgeschlagen",
"tautulli.BackingUpConfigurationDescription": "Deine Konfiguration wird im Hintergrund gesichert",
"tautulli.BackingUpConfiguration": "Konfiguration wird gesichert …",
"tautulli.BackingUpConfiguration": "Konfiguration wird gesichert…",
"tautulli.Audio": "Audio",
"tautulli.ActivityDetails": "Aktivitätsdetails",
"tautulli.Activity": "Aktivität",
"tautulli.Converting": "Konvertieren",
"tautulli.Speed": "Geschwindigkeit: {}x",
"tautulli.ActivityRefreshRate": "Aktivität Aktualisierungsrate",
"tautulli.DefaultTerminationMessage": "Standard Abbruch Meldung",
"tautulli.Graphs": "Abbildungen",
"tautulli.LibraryDetails": "Bibliothek Details",
"tautulli.MediaDetails": "Medien Details",
"tautulli.Statistics": "Statistik",
"tautulli.StatisticsItemCount": "Anzahl Statistischer Elemente",
"tautulli.UserDetails": "Benutzer Details",
"wake_on_lan.MagicPacketSent": "Magic Paket gesendet",
"wake_on_lan.MagicPacketSentMessage": "Ihre Maschine sollte nun aufwachen!",
"wake_on_lan.MagicPacketFailedToSend": "Senden von Magic Paket fehlgeschlagen"

955
assets/localization/el.json Normal file
View File

@@ -0,0 +1,955 @@
{
"dashboard.Friday": "Παρασκευή",
"dashboard.FutureDays": "Μελλοντικές Ημέρες",
"dashboard.OneMonth": "Ένας μήνας",
"dashboard.Tuesday": "Τρίτη",
"dashboard.MinimumOfOneDay": "1 ημέρα το ελάχιστο",
"dashboard.Modules": "Ενότητες",
"dashboard.Monday": "Δευτέρα",
"dashboard.NoNewContent": "Τίποτα νέο",
"dashboard.OneWeek": "Μία εβδομάδα",
"dashboard.PastDays": "Προηγούμενες ημέρες",
"dashboard.Saturday": "Σάββατο",
"dashboard.Schedule": "Πρόγραμμα",
"dashboard.Sunday": "Κυριακή",
"dashboard.Thursday": "Πέμπτη",
"dashboard.Calendar": "Ημερολόγιο",
"dashboard.PastDaysDescription": "Ορίστε τον αριθμό των ημερών στο παρελθόν για τις οποίες θα λαμβάνονται οι καταχωρήσεις ημερολογίου.",
"dashboard.TwoWeeks": "Δύο εβδομάδες",
"dashboard.Wednesday": "Τετάρτη",
"dashboard.FutureDaysDescription": "Ορίστε τον αριθμό των ημερών στο μέλλον για την ανάκτηση εγγραφών ημερολογίου.",
"lidarr.StartSearchForMissingAlbums": "Ξεκίνα αναζήτηση για άλμπουμ που λείπουν",
"lidarr.StartSearchFor": "Ξεκίνα αναζήτηση…",
"lunasea.Add": "Προσέθεσε",
"lunasea.Alpha": "Πρώτη",
"lunasea.AnErrorHasOccurred": "Κάποιο σφάλμα δημιουργήθηκε",
"lunasea.Ascending": "Αύξουσα",
"lunasea.BackUp": "Αντίγραφα ασφαλείας",
"lunasea.Beta": "Δοκιμαστική",
"lunasea.BlockView": "Εμφάνιση σε blocks",
"lunasea.BuyMeABeer": "Κέρασε με μια μπύρα",
"lunasea.BuyMeABurger": "Κέρασε με ένα burger",
"lunasea.BuyMeACoffee": "Κέρασε με ένα καφέ",
"lunasea.BuyMeASoda": "Κέρασε με ένα αναψυκτικό",
"lunasea.Cancel": "Ακύρωση",
"lunasea.Candidate": "Υποψήφιος",
"lunasea.ChangeProfiles": "Αλλαγή προφίλ",
"lunasea.Changelog": "Αλλαγές",
"lunasea.CheckLogsMessage": "Δες τις καταγραφές για περισσότερες λεπτομέρειες",
"lunasea.Chores": "Μικρό δουλειές",
"lunasea.Clear": "Καθαρισμός",
"lunasea.Close": "Κοντά",
"lunasea.ComingSoon": "Έρχονται σύντομα",
"lunasea.Copied": "Αντιγράφτηκε",
"lunasea.CopiedContentToTheClipboard": "Το περιεχόμενο αντιγράφηκε στο πρόχειρο",
"lunasea.Critical": "Κρίσιμο",
"lunasea.Dashboard": "Ταμπλό",
"lunasea.Days": "{} ημέρες",
"lunasea.DaysAgo": "{} παλαιότερες ημέρες",
"lunasea.Debug": "Εντοπισμός σφαλμάτων",
"lunasea.Delete": "Διαγράφω",
"lunasea.Descending": "Φθίνουσα",
"lunasea.Develop": "Ανάπτυξη",
"lunasea.Disable": "Απενεργοποιώ",
"lunasea.Disabled": "Ανενεργός",
"lunasea.Dismiss": "Απόρριψη",
"lunasea.Docs": "Έγγραφα",
"lunasea.DownloadClient": "Πρόγραμμα λήψης",
"lunasea.Edge": "Χείλος",
"lunasea.Error": "Σφάλμα",
"lunasea.EverySecond": "Κάθε δευτερόλεπτο",
"lunasea.EverySeconds": "Κάθε {} Δευτερόλεπτα",
"lunasea.ExternalModules": "Εξωτερικές μονάδες",
"lunasea.Features": "Χαρακτηριστικά",
"lunasea.Fixes": "Επιδιορθώσεις",
"lunasea.FullChangelog": "Πλήρες ημερολόγιο αλλαγών",
"lunasea.GoBack": "Επιστροφή",
"lunasea.GoToSettings": "Πήγαινε στις ρυθμίσεις",
"lunasea.GridView": "Προβολή πλέγματος",
"lunasea.Home": "Αρχική σελίδα",
"lunasea.Hours": "{} ώρες",
"lunasea.HoursAgo": "{} ώρες πριν",
"lunasea.IncorrectEncryptionKey": "Λανθασμένο κλειδί κρυπτογράφησης",
"lunasea.Internal": "Εσωτερικό",
"lunasea.InvalidFileTypeSelected": "Επιλέχθηκε μη έγκυρος τύπος αρχείου",
"lunasea.Items": "{} Στοιχεία",
"lunasea.JustNow": "Αμέσως",
"lunasea.Minutes": "{} Λεπτά",
"lunasea.MinutesAgo": "{} λεπτά πριν",
"lunasea.Module": "Μονάδα",
"lunasea.ModuleIsNotEnabled": "{} Δεν είναι ενεργοποιημένο",
"lunasea.Months": "{} Μήνες",
"lunasea.MonthsAgo": "{} Μήνες πριν",
"lunasea.New": "Νέο",
"lunasea.No": "Όχι",
"lunasea.NoModulesEnabled": "Δεν υπάρχουν ενεργοποιημένες μονάδες",
"lunasea.NotSet": "Δεν έχει οριστεί",
"lunasea.OneDay": "1 ημέρα",
"lunasea.OneDayAgo": "1 ημέρα πριν",
"lunasea.OneHour": "1 Ώρα",
"lunasea.OneHourAgo": "1 ώρα πριν",
"lunasea.OneItem": "1 στοιχείο",
"lunasea.OneMinute": "1 λεπτό",
"lunasea.OneMinuteAgo": "1 λεπτό πριν",
"lunasea.OneMonth": "1 μήνας",
"lunasea.OneMonthAgo": "1 μήνα πριν",
"lunasea.OneSecond": "1 δευτερόλεπτο",
"lunasea.OneSecondAgo": "Πριν από 1 δευτερόλεπτο",
"lunasea.OneYear": "1 χρόνος",
"lunasea.OneYearAgo": "1 χρόνο πριν",
"lunasea.Options": "Επιλογές",
"lunasea.Other": "Άλλο",
"lunasea.Page": "Σελίδα",
"lunasea.PlatformSpecific": "Συγκεκριμένη πλατφόρμα",
"lunasea.PleaseTryAgain": "Παρακαλώ προσπαθήστε ξανά",
"lunasea.Production": "Παραγωγή",
"lunasea.Refresh": "Ανανέωση",
"lunasea.Refreshing": "Γίνεται ανανέωση…",
"lunasea.Remove": "Αφαίρεση",
"lunasea.Rename": "Μετονομασία",
"lunasea.Restore": "Επαναφορά",
"lunasea.Retry": "Επανάληψη",
"lunasea.ReturnToDashboard": "Επιστροφή στο ταμπλό",
"lunasea.SearchTextBar": "Αναζήτηση…",
"lunasea.Seconds": "{} δευτερόλεπτα",
"lunasea.SecondsAgo": "{} Δευτερόλεπτα πριν",
"lunasea.Set": "Ορισμός",
"lunasea.Settings": "Ρυθμίσεις",
"lunasea.Stable": "Σταθερή",
"lunasea.StartingView": "Αρχική προβολή",
"lunasea.ThankYou": "Ευχαριστούμε",
"lunasea.ThankYouMessage": "Σας ευχαριστούμε που υποστηρίζετε την κοινότητα ανοιχτού κώδικα!",
"lunasea.Today": "Σήμερα",
"lunasea.TransactionFailure": "Αποτυχία συναλλαγής",
"lunasea.TryAgain": "Δοκιμάστε ξανά",
"lunasea.Tweaks": "Τροποποιήσεις",
"lunasea.UnderAMinute": "Κάτω από ένα λεπτό",
"lunasea.Unknown": "Άγνωστο",
"lunasea.UnknownDate": "Άγνωστη ημερομηνία",
"lunasea.UnknownError": "Άγνωστο σφάλμα",
"lunasea.UnknownModule": "Άγνωστη μονάδα",
"lunasea.Update": "Ενημέρωση",
"lunasea.View": "Προβολή",
"lunasea.Warning": "Προειδοποίηση",
"lunasea.Website": "Ιστοσελίδα",
"lunasea.Years": "{} Χρόνια",
"lunasea.YearsAgo": "{} Χρόνια πριν",
"lunasea.Yes": "Ναι",
"overseerr.Audio": "Ήχος",
"overseerr.Approved": "Έγκριση",
"overseerr.Available": "Διαθέσιμο",
"overseerr.Declined": "Αρνήθηκε",
"overseerr.Issues": "Θέματα",
"overseerr.NoIssues": "Κανένα Θέμα",
"overseerr.NoIssuesFound": "Κανένα θέμα δεν βρέθηκε",
"overseerr.NoRequests": "Χωρίς αιτήματα",
"overseerr.NoRequestsFound": "Κανένα αίτημα δεν βρέθηκε",
"overseerr.OneRequest": "1 Αίτημα",
"overseerr.Open": "Ανοιχτό",
"overseerr.OpenedBy": "Ανοίχτηκε από {}",
"overseerr.Other": "Άλλο",
"overseerr.PartiallyAvailable": "Μερικώς διαθέσιμο",
"overseerr.Pending": "Εκκρεμεί",
"overseerr.Processing": "Υπό Επεξεργασία",
"overseerr.SomeRequests": "{} Αιτήματα",
"overseerr.Resolved": "Επιλύθηκε",
"overseerr.Requested": "Αιτήθηκε",
"overseerr.RequestedBy": "Αιτήθηκε από {}",
"overseerr.Requests": "Αιτήματα",
"overseerr.Subtitle": "Υπότιτλος",
"overseerr.NoUsersFound": "Δε βρέθηκαν χρήστες",
"overseerr.UnknownUser": "Άγνωστος χρήστης",
"overseerr.Users": "Χρήστες",
"overseerr.Video": "Βίντεο",
"radarr.AddMovie": "Προσθήκη ταινίας",
"radarr.AddMovieAndSearch": "Προσθήκη + αναζήτηση",
"radarr.AddedTag": "Προσθήκη ετικέτας",
"radarr.Age": "Ηλικία",
"radarr.All": "Όλα",
"radarr.Alphabetical": "Αλφαβητικά",
"radarr.Approved": "Εγκεκριμένο",
"radarr.Audio": "Ήχος",
"radarr.Automatic": "Αυτόματα",
"radarr.AvailabilityUnknown": "Διαθεσιμότητα Άγνωστη",
"radarr.AvailableIn": "Διαθέσιμο στο {}",
"radarr.AvailableToday": "Διαθέσιμο σήμερα",
"radarr.BackupDatabase": "Δημιουργία Αντιγράφου ασφαλείας",
"radarr.BitDepth": "Βάθος bit",
"radarr.Channels": "Κανάλια",
"radarr.CinemaDateUnknown": "Άγνωστη ημερομηνία κινηματογράφου",
"radarr.Codec": "Codec",
"radarr.Configure": "Ρύθμιση",
"radarr.Copy": "Αντιγραφή",
"radarr.CopyFiles": "Hardlink/Αντιγραφή αρχείων",
"radarr.CopyFull": "Hardlink/Αντιγραφή αρχείων",
"radarr.CutoffUnmet": "Αποκοπή Ανεκπλήρωτη",
"radarr.DateAdded": "Ημερομηνία προσθήκης",
"radarr.DigitalRelease": "Ψηφιακή κυκλοφορία",
"radarr.DirectoryNotFound": "Κατάλογος δεν βρέθηκε",
"radarr.Discover": "Ανακαλύψτε",
"radarr.DiscoverSuggestions": "Προτάσεις Ανακάλυψης",
"radarr.DiscoverSuggestionsDescription": "Προσθήκη προτεινόμενων κυκλοφοριών στην Ανακάλυψη",
"radarr.Disks": "Δίσκοι",
"radarr.DownloadFailed": "Η λήψη απέτυχε",
"radarr.DownloadIgnored": "Η λήψη αγνοήθηκε",
"radarr.DynamicRange": "Δυναμικό εύρος",
"radarr.EditMovie": "Επεξεργασία ταινίας",
"radarr.FPS": "FPS",
"radarr.FailedToAddTag": "Αποτυχία προσθήκης ετικέτας",
"radarr.FileBrowser": "Περιηγητής αρχείων…",
"radarr.FilterCatalogue": "Φιλτράρισμα καταλόγου",
"radarr.GrabbedFrom": "Λήψη από {}",
"radarr.History": "Ιστορικό",
"radarr.HistoryDescription": "Προβολή πρόσφατης δραστηριότητας",
"radarr.Import": "Εισαγωγή",
"radarr.ImportMode": "Λειτουργία εισαγωγής",
"radarr.InCinemas": "Στους Κινηματογράφους",
"radarr.InCinemasIn": "Στους κινηματογράφους σε {}",
"radarr.InCinemasToday": "Στους κινηματογράφους σήμερα",
"radarr.Interactive": "Διαδραστικό",
"radarr.Language": "Γλώσσα",
"radarr.Languages": "Γλώσσες",
"radarr.ManualImport": "Χειροκίνητη εισαγωγή",
"radarr.ManualImportDescription": "Εισαγωγή ταινιών από το σύστημα αρχείων",
"radarr.MinimumAvailability": "Ελάχιστη Διαθεσιμότητα",
"radarr.Missing": "Λείπει",
"radarr.Monitor": "Παρακολούθηση",
"radarr.MonitorMovie": "Παρακολούθηση ταινίας",
"radarr.Monitored": "Παρακολουθείται",
"radarr.MonitoredDescription": "Παρακολούθηση για νέες κυκλοφορίες",
"radarr.More": "Περισσότερα",
"radarr.Move": "Μετακίνηση",
"radarr.MoveFiles": "Μετακίνηση αρχείων",
"radarr.MoveFilesDescription": "Θέλετε να μετακινήσετε τα αρχεία;",
"radarr.MoveFull": "Μετακίνηση αρχείων",
"radarr.Movie": "Ταινία",
"radarr.MovieDetails": "Λεπτομέρειες ταινίας",
"radarr.MovieFileDeleted": "Το αρχείο ταινίας διαγράφηκε",
"radarr.MovieFileRenamed": "Το αρχείο ταινίας μετονομάστηκε",
"radarr.MovieImported": "Η ταινία εισάχθηκε ({})",
"radarr.MovieNotFound": "Η ταινία δε βρέθηκε",
"radarr.MoviePath": "Διαδρομή ταινίας",
"radarr.Movies": "Ταινίες",
"radarr.NoDisksFound": "Δε βρέθηκαν δίσκοι",
"radarr.NoFilesFound": "Δε βρέθηκαν αρχεία",
"radarr.NoHistoryFound": "Δε βρέθηκε ιστορικό",
"radarr.NoMoviesFound": "Δε βρέθηκαν ταινίες",
"radarr.NoResultsFound": "Δε βρέθηκαν αποτελέσματα",
"radarr.NoRootFoldersFound": "Δε βρέθηκαν Κύριοι φάκελοι",
"radarr.NoSubdirectoriesFound": "Δε βρέθηκαν υποκατάλογοι",
"radarr.NoSummaryIsAvailable": "Δεν υπάρχει διαθέσιμη περίληψη.",
"radarr.NoTagsFound": "Δε βρέθηκαν ετικέτες",
"radarr.Other": "Άλλο",
"radarr.ParentDirectory": "Κύριος κατάλογος",
"radarr.PhysicalRelease": "Φυσική έκδοση",
"radarr.Quality": "Ποιότητα",
"radarr.QualityProfile": "Προφίλ ποιότητας",
"radarr.Queue": "Ουρά",
"radarr.QueueDescription": "Προβολή ενεργού & σε αναμονή περιεχομένου",
"radarr.QueueSize": "Μέγεθος ουράς",
"radarr.Quick": "Γρήγορη",
"radarr.RefreshMovie": "Ανανέωση ταινίας",
"radarr.Rejected": "Απορρίφθηκε",
"radarr.Released": "Κυκλοφόρησε",
"radarr.ReleasedToday": "Κυκλοφόρησε σήμερα",
"radarr.Releases": "Κυκλοφορίες",
"radarr.RemoveMovie": "Αφαίρεση ταινίας",
"radarr.Resolution": "Ανάλυση",
"radarr.RootFolder": "Κύριος φάκελος",
"radarr.RootFolders": "Κύριοι φάκελοι",
"radarr.RunRSSSync": "Εκτέλεση συγχρονισμού RSS",
"radarr.Runtime": "Διάρκεια",
"radarr.ScanType": "Τύπος σάρωσης",
"radarr.Search": "Αναζήτηση",
"radarr.SearchAllMissing": "Αναζήτηση όλων όσων λείπουν",
"radarr.SearchFor": "Αναζήτηση για {}",
"radarr.Seeders": "Seeders",
"radarr.SelectLanguage": "Επιλέξτε γλώσσες",
"radarr.SelectMovie": "Επιλέξτε ταινία",
"radarr.SelectQuality": "Επιλέξτε Ποιότητα",
"radarr.Size": "Μέγεθος",
"radarr.SortCatalogue": "Ταξινόμηση καταλόγου",
"radarr.StartSearchFor": "Έναρξη αναζήτησης για…",
"radarr.StartSearchForMissingMovie": "Έναρξη αναζήτησης για ταινία που λείπει",
"radarr.Streams": "Ροές",
"radarr.Studio": "Στούντιο",
"radarr.Subtitles": "Υπότιτλοι",
"radarr.SystemStatus": "Κατάσταση συστήματος",
"radarr.SystemStatusDescription": "Κατάσταση συστήματος & χώρος δίσκου",
"radarr.Tags": "Ετικέτες",
"radarr.TagsDescription": "Διαχειριστείτε τις ετικέτες σας",
"radarr.Type": "Τύπος",
"radarr.UnmappedFolder": "1 Μη αντιστοιχισμένος φάκελος",
"radarr.UnmappedFolders": "{} Μη αντιστοιχισμένοι φάκελοι",
"radarr.UnmonitorMovie": "Κατάργηση παρακολούθησης ταινίας",
"radarr.Unmonitored": "Δε παρακολουθείται",
"radarr.Unreleased": "Ακυκλοφόρητο",
"radarr.Upcoming": "Επερχόμενα",
"radarr.UpdateLibrary": "Ενημέρωση βιβλιοθήκης",
"radarr.UpdateMovie": "Ενημέρωση ταινίας",
"radarr.Video": "Βίντεο",
"radarr.ViewWebGUI": "Προβολή Web GUI",
"radarr.Wanted": "Ζητούμενα",
"radarr.Weight": "Βάρος",
"radarr.Year": "Έτος",
"sabnzbd.All": "Όλα",
"sabnzbd.Ascending": "Αύξουσα",
"sabnzbd.Age": "Ηλικία",
"sabnzbd.CategoryDefault": "Προεπιλογή κατηγορίας",
"sabnzbd.Completed": "Ολοκληρώθηκε",
"sabnzbd.Descending": "Φθίνουσα",
"sabnzbd.Duplicate": "Διπλότυπο",
"sabnzbd.Failed": "Απέτυχε",
"sabnzbd.Force": "Εξαναγκασμός",
"sabnzbd.HibernatePC": "Αδρανοποίηση υπολογιστή",
"sabnzbd.High": "Υψηλή",
"sabnzbd.Low": "Χαμηλή",
"sabnzbd.Name": "Όνομα",
"sabnzbd.Paused": "Σε παύση",
"sabnzbd.RepairUnpack": "Επιδιόρθωση/αποσυσκευασία",
"sabnzbd.RepairUnpackDelete": "Επιδιόρθωση/αποσυσκευασία/διαγραφή",
"sabnzbd.Size": "Μέγεθος",
"sabnzbd.ShutdownPC": "Τερματισμός υπολογιστή",
"sabnzbd.ShutdownSABnzbd": "Τερματισμός SABnzbd",
"sabnzbd.StandbyPC": "Η/Υ σε αναμονή",
"sabnzbd.Stop": "Σταματήστε το",
"sabnzbd.Normal": "Κανονικό",
"sabnzbd.None": "Κανένα",
"sabnzbd.Repair": "Επιδιόρθωση",
"search.AddIndexer": "Προσθήκη Indexer",
"search.Age": "Ηλικία",
"search.AllSubcategories": "Όλες οι υποκατηγορίες",
"search.Alphabetical": "Αλφαβητικά",
"search.Category": "Κατηγορία",
"search.NoCategoriesFound": "Δεν βρέθηκαν Κατηγορίες",
"search.DownloadToDevice": "Λήψη στη συσκευή",
"search.NoResultsFound": "Δε βρέθηκαν αποτελέσματα",
"search.FailedToDownloadNZB": "Αποτυχία λήψης του NZB",
"search.FailedToSend": "Αποτυχία αποστολής",
"search.SentTo": "Στάλθηκε στο {}",
"search.Size": "Μέγεθος",
"search.Subcategories": "Υποκατηγορίες",
"search.Categories": "Κατηγορίες",
"search.Comments": "Σχόλια",
"search.DeleteIndexer": "Διαγραφή Indexer",
"search.DownloadingNZBToDevice": "Λήψη NZB στη συσκευή σας",
"search.EditIndexer": "Επεξεργασία Indexer",
"search.IndexerNotFound": "Indexer δεν βρέθηκε",
"search.NoIndexersFound": "Δεν βρέθηκαν Indexers",
"search.NoSubcategoriesFound": "Δε βρέθηκαν υποκατηγορίες",
"search.Results": "Αποτελέσματα",
"search.Search": "Αναζήτηση",
"search.SentNZBData": "Απεσταλμένα δεδομένα NZB",
"search.ShowLinks": "Εμφάνιση συνδέσμων",
"search.ShowLinksDescription": "Εμφάνιση συνδέσμων λήψης και σχολίων",
"search.Download": "Λήψη",
"search.Downloading": "Λήψη…",
"search.IndexerAPIHost": "Κεντρικός υπολογιστής API Indexer",
"search.IndexerAPIKey": "Κλειδί API Indexer",
"search.IndexerDeleted": "Indexer Διαγράφηκε",
"search.HideAdultCategoriesDescription": "Απόκρυψη περιεχομένου για ενήλικες",
"search.FailedToAddIndexer": "Αποτυχία προσθήκης indexer",
"search.HideAdultCategories": "Απόκρυψη κατηγοριών για ενήλικες",
"search.IndexerAdded": "Indexer Προστέθηκε",
"settings.AccountDeleted": "Ο λογαριασμός διαγράφηκε",
"settings.AccountDescription": "Ο LunaSea λογαριασμός σου",
"settings.AccountDeletedMessage": "Ο λογαριασμός LunaSea διαγράφηκε",
"settings.Account": "Λογαριασμός",
"settings.AccountHelp": "Λογαριασμός LunaSea",
"settings.AccountHelpHint1": "Το LunaSea προσφέρει έναν δωρεάν λογαριασμό για να δημιουργήσετε αντίγραφα ασφαλείας της διαμόρφωσής σας στο cloud, με πρόσθετες λειτουργίες να έρχονται στο μέλλον!",
"settings.AccountSettings": "Ρυθμίσεις λογαριασμού",
"settings.Add": "Προσθήκη",
"settings.AddHeader": "Προσθήκη Header",
"settings.AddModule": "Προσθήκη ενότητας",
"settings.AddModuleFailed": "Αποτυχία προσθήκης μονάδας",
"settings.AddModuleSuccess": "Η μονάδα προστέθηκε",
"settings.AddProfile": "Προσθήκη προφίλ",
"settings.AddProfileDescription": "Προσθήκη νέου προφίλ",
"settings.AllFieldsAreRequired": "Όλα τα πεδία είναι υποχρεωτικά",
"settings.BackupToCloudSuccess": "Επιτυχής δημιουργία αντιγράφων ασφαλείας",
"settings.BootModule": "Μονάδα εκκίνησης",
"settings.ClearImageCache": "Εκκαθάριση προσωρινής μνήμης εικόνων",
"settings.ClearImageCacheDescription": "Εκκαθάριση εικόνων από μόνιμο αποθηκευτικό χώρο",
"settings.DeleteAccountHint1": "Είστε βέβαιοι ότι θέλετε να διαγράψετε τον λογαριασμό σας στο LunaSea;",
"settings.DeleteCloudBackupFailure": "Αποτυχία διαγραφής",
"settings.EnableModule": "Ενεργοποίηση {}",
"settings.FailedToUpdatePassword": "Αποτυχία ενημέρωσης κωδικού πρόσβασης",
"settings.FilterCategory": "Φιλτράρισμα κατηγορίας",
"settings.HostHint4": "Όταν δε χρησιμοποιείτε αντίστροφο διακομιστή μεσολάβησης (reverse proxy), παρακαλώ συμπεριλάβετε τη θύρα",
"settings.HostHint5": "Για να προσθέσετε βασικό έλεγχο ταυτότητας (basic authentication), χρησιμοποιήστε τη λειτουργία των προσαρμοσμένων headers",
"settings.HostRequired": "Απαιτείται κεντρικός υπολογιστής",
"settings.HostValidation": "Ο κεντρικός υπολογιστής πρέπει να περιλαμβάνει http:// ή https://",
"settings.HostRequiredMessage": "Απαιτείται κεντρικός υπολογιστής για σύνδεση στο {}",
"settings.ImageBackgroundOpacityHint2": "Για να απενεργοποιήσετε εντελώς τη λήψη εικόνων φόντου, ορίστε την τιμή σε 0.",
"settings.LogsDescription": "Προβολή, εξαγωγή και διαγραφή αρχείων καταγραφής",
"settings.NoBackupsFound": "Δεν βρέθηκαν αντίγραφα ασφαλείας",
"settings.PleaseSignInAgain": "Παρακαλώ συνδεθείτε ξανά",
"settings.RegisteredFailure": "Αποτυχία εγγραφής",
"settings.RegisteredSuccess": "Εγγεγραμμένος",
"settings.RenamedProfile": "Μετονομάστηκε το προφίλ",
"settings.RenameProfile": "Μετονομασία προφίλ",
"settings.RenameProfileDescription": "Μετονομασία υπάρχοντος προφίλ",
"settings.SentryLogging": "Καταγραφή Sentry",
"settings.SortDirection": "Ταξινόμηση Κατεύθυνσης",
"settings.SystemStatus": "Κατάσταση συστήματος",
"settings.UpToDate": "Ενημερωμένο",
"settings.AmoledThemeBorders": "Περιγράμματα θέματος AMOLED",
"settings.AmoledThemeBordersDescription": "Προσθήκη λεπτών περιγραμμάτων σε όλο το UI",
"settings.ApiKeyRequired": "Απαιτείται κλειδί API",
"settings.ApiKeyRequiredMessage": "Απαιτείται κλειδί API για σύνδεση με {}",
"settings.Appearance": "Εμφάνιση",
"settings.BackupToCloudFailure": "Απέτυχε η δημιουργία αντιγράφων ασφαλείας",
"settings.BannersNotificationModuleSupportHeader": "Υποστηριζόμενες μονάδες",
"settings.ClearConfiguration": "Καθαρισμός παραμετροποίησης",
"settings.ClearConfigurationHint1": "Είστε σίγουροι ότι θέλετε να διαγράψετε τη παραμετροποίηση σας;",
"settings.ClearConfigurationHint2": "Θα ξεκινήσετε από την αρχή, βεβαιωθείτε ότι έχετε πρώτα δημιουργήσει αντίγραφα ασφαλείας της τρέχουσας παραμετροποίησης σας!",
"settings.ClearConfigurationHint3": "Εάν είστε συνδεδεμένοι σε έναν λογαριασμό LunaSea, θα αποσυνδεθείτε.",
"settings.ClearImageCacheHint1": "Είστε σίγουροι ότι θέλετε να διαγράψετε όλες τις εικόνες από την προσωρινή μνήμη;",
"settings.ClearImageCacheHint2": "Η λήψη εικόνων για μια μεγάλη βιβλιοθήκη μπορεί να καταναλώσει ένα μεγάλο όγκο δεδομένων.",
"settings.ClearLogs": "Εκκαθάριση αρχείων καταγραφής",
"settings.ClearLogsHint1": "Είστε σίγουροι ότι θέλετε να διαγράψετε όλα τα καταγεγραμμένα αρχεία καταγραφής;\n\nΤα αρχεία καταγραφής μπορεί να είναι χρήσιμα για αναφορές σφαλμάτων και αποσφαλμάτωση.",
"settings.ConfigureModule": "Διαμόρφωση {}",
"settings.Configuration": "Παραμετροποίηση",
"settings.ConfigurationCleared": "Η παραμετροποίηση εκκαθαρίστηκε",
"settings.ConfigurationClearedDescription": "Η παραμετροποίηση σας έχει εκκαθαριστεί",
"settings.ConfigurationDescription": "Διαμόρφωση & Εγκατάσταση του LunaSea",
"settings.ConnectedSuccessfully": "Συνδεδεμένο",
"settings.Custom": "Προσαρμοσμένη…",
"settings.CustomHeader": "Προσαρμοσμένο Header",
"settings.DatabaseCorruptionDetectedMessageLine2": "Συγγνώμη για την ταλαιπωρία, όλα τα αντίγραφα ασφαλείας που δημιουργήθηκαν προηγουμένως θα πρέπει να μπορούν να αποκατασταθούν ακόμη και όταν έχουν προηγουμένως εξαχθεί με κατεστραμμένη βάση δεδομένων.",
"settings.DaysOne": "1 ημέρα",
"settings.DaysCount": "{} ημέρες",
"settings.DefaultPage": "Προεπιλεγμένη σελίδα",
"settings.DefaultPages": "Προεπιλεγμένες σελίδες",
"settings.DefaultPagesDescription": "Ορισμός προεπιλεγμένων σελίδων προορισμού",
"settings.DefaultOptions": "Προεπιλεγμένες επιλογές",
"settings.DefaultOptionsDescription": "Ορισμός επιλογών ταξινόμησης, φιλτραρίσματος και προβολής",
"settings.DefaultSortingAndFiltering": "Προεπιλεγμένη ταξινόμηση & φιλτράρισμα",
"settings.DefaultSortingAndFilteringDescription": "Ορισμός προεπιλεγμένων μεθόδων ταξινόμησης και φιλτραρίσματος",
"settings.DecryptBackup": "Αποκρυπτογράφηση αντιγράφου ασφαλείας",
"settings.DecryptBackupHint1": "Εισάγετε το κλειδί κρυπτογράφησης για αυτό το αντίγραφο ασφαλείας.",
"settings.DebugMenu": "Μενού εντοπισμού σφαλμάτων",
"settings.DeletedProfile": "Διαγράφηκε το προφίλ",
"settings.DeleteAccount": "Διαγραφή λογαριασμού",
"settings.DeleteAccountDescription": "Οριστική διαγραφή του λογαριασμού σας",
"settings.DeleteAccountWarning1": "Αυτή η διαδικασία είναι μη αναστρέψιμη",
"settings.DeleteCloudBackup": "Διαγραφή αντιγράφων ασφαλείας Cloud",
"settings.DeleteCloudBackupSuccess": "Διαγράφηκε",
"settings.DeleteHeader": "Διαγραφή header",
"settings.DeleteHeaderHint1": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το header;",
"settings.DeleteIndexer": "Διαγραφή Indexer",
"settings.DeleteIndexerHint1": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτόν τον indexer;",
"settings.DeleteModule": "Διαγραφή μονάδας",
"settings.DeleteProfile": "Διαγραφή προφίλ",
"settings.DeleteProfileDescription": "Διαγραφή υπάρχοντος προφίλ",
"settings.Device": "Συσκευή",
"settings.DiscordDescription": "Ζητήστε δυνατότητες και λάβετε υποστήριξη",
"settings.DismissBanners": "Παράβλεψη Banners",
"settings.DismissBannersHint1": "Είστε σίγουροι ότι θέλετε να απορρίψετε όλα τα banners των tooltip;",
"settings.DismissBannersHint2": "Τα banner συμβουλών εργαλείων θα σας δώσουν συμβουλές για λειτουργίες που είναι διαθέσιμες στο LunaSea.",
"settings.DisplayName": "Όνομα εμφάνισης",
"settings.DownloadUpdate": "Λήψη ενημέρωσης",
"settings.Drawer": "Συρτάρι",
"settings.DrawerDescription": "Προσαρμόστε το Συρτάρι",
"settings.EditModule": "Επεξεργασία μονάδας",
"settings.Email": "Email",
"settings.EmailSentFailure": "Απέτυχε η επαναφορά κωδικού πρόσβασης",
"settings.EmailSentSuccess": "Το email στάλθηκε",
"settings.EmailUpdated": "Το email ενημερώθηκε",
"settings.EmailValidation": "Μη έγκυρη διεύθυνση email",
"settings.EnableInAppNotifications": "Ενεργοποίηση ειδοποιήσεων εντός της εφαρμογής",
"settings.EncryptionKey": "Κλειδί κρυπτογράφησης",
"settings.Exception": "Εξαίρεση",
"settings.Export": "Εξαγωγή",
"settings.ExportedLogs": "Εξαγόμενα αρχεία καταγραφής",
"settings.ExportedLogsMessage": "Τα αρχεία καταγραφής έχουν εξαχθεί με επιτυχία",
"settings.FailedToDeleteAccount": "Απέτυχε η διαγραφή λογαριασμού",
"settings.FailedToUpdateEmail": "Απέτυχε η ενημέρωση email",
"settings.ForgotYourPassword": "Ξεχάσατε το κωδικό σας;",
"settings.FutureDays": "Μελλοντικές ημέρες",
"settings.General": "Γενικά",
"settings.GeneralDescription": "Προσαρμογή του LunaSea",
"settings.GettingStarted": "Ξεκινώντας",
"settings.GettingStartedDescription": "Πληροφορίες & οδηγίες εγκατάστασης",
"settings.HeaderAdded": "Προστέθηκε το header",
"settings.HeaderDeleted": "Διαγράφηκε το header",
"settings.HeaderKey": "Κλειδί header",
"settings.HeaderKeyValidation": "Απαιτείται κλειδί header",
"settings.HeaderValue": "Τιμή header",
"settings.HeaderValueValidation": "Απαιτείται τιμή header",
"settings.Home": "Αρχική σελίδα",
"settings.Host": "Κεντρικός υπολογιστής",
"settings.ImageBackgroundOpacity": "Αδιαφάνεια φόντου εικόνας",
"settings.ImageBackgroundOpacityHint1": "Ορίστε την αδιαφάνεια των εικόνων φόντου.",
"settings.ImageCacheCleared": "Η προσωρινή μνήμη εικόνων εκκαθαρίστηκε",
"settings.ImageCacheClearedDescription": "Η προσωρινή μνήμη εικόνων έχει εκκαθαριστεί",
"settings.InvalidPassword": "Λανθασμένος κωδικός",
"settings.InvalidPasswordMessage": "Ο κωδικός πρόσβασης είναι λανθασμένος",
"settings.Language": "Γλώσσα",
"settings.LogsCleared": "Τα αρχεία καταγραφής εκκαθαρίστηκαν",
"settings.LogsClearedDescription": "Όλα τα καταγεγραμμένα αρχεία καταγραφής έχουν εκκαθαριστεί",
"settings.Method": "Μέθοδος",
"settings.MACAddress": "Διεύθυνση MAC",
"settings.NotificationsDescription": "Ρύθμιση Webhooks για Push ειδοποιήσεις",
"settings.NoAdditionalProfilesAdded": "Δεν έχουν προστεθεί επιπλέον προφίλ",
"settings.NoExternalModulesFound": "Δε βρέθηκαν εξωτερικές μονάδες",
"settings.NoHeadersAdded": "Δεν έχουν προστεθεί headers",
"settings.NoLogsFound": "Δε βρέθηκαν αρχεία καταγραφής",
"settings.NoProfilesFound": "Δε βρέθηκαν Προφίλ",
"settings.OpenDrawerOnBackAction": "Άνοιγμα συρταριού όταν πατάτε Πίσω",
"settings.OpenDrawerOnBackActionDescription": "Άνοιγμα συρταριού αντί για κλείσιμο του LunaSea",
"settings.OpenLinksIn": "Άνοιγμα συνδέσμων σε…",
"settings.Password": "Κωδικός",
"settings.PasswordHint1": "Εάν ο κωδικός σας περιλαμβάνει ειδικούς χαρακτήρες, σκεφτείτε να προσθέσετε μια κεφαλίδα βασικού ελέγχου ταυτότητας με το όνομα χρήστη και τον κωδικό πρόσβασής σας για καλύτερη υποστήριξη",
"settings.Platform": "Πλατφόρμα",
"settings.Profiles": "Προφίλ",
"settings.ProfilesBannerLine2": "Η αναζήτηση με τον Newznab indexer και οι εξωτερικές μονάδες είναι ενεργοποιημένες και κοινόχρηστες σε όλα τα προφίλ.",
"settings.ProfilesDescription": "Διαχειριστείτε τα προφίλ σας",
"settings.ProfileAlreadyExists": "Το προφίλ υπάρχει ήδη",
"settings.ProfileName": "Όνομα προφίλ",
"settings.ProfileNameRequired": "Απαιτείται όνομα προφίλ",
"settings.ProfileToProfile": "\"{}\" έως \"{}\"",
"settings.QuickActions": "Γρήγορες Ενέργειες",
"settings.RedditDescription": "Κάντε ερωτήσεις & λάβετε υποστήριξη",
"settings.ResetPassword": "Επαναφορά κωδικού πρόσβασης",
"settings.Resources": "Πόροι",
"settings.ResourcesDescription": "Χρήσιμοι πόροι και σύνδεσμοι",
"settings.RestoreFromCloud": "Επαναφορά από το Cloud",
"settings.RestoreFromCloudDescription": "Επαναφορά δεδομένων παραμετροποίησης",
"settings.RestoreFromCloudFailure": "Αποτυχία επαναφοράς",
"settings.RestoreFromCloudSuccessMessage": "Η παραμετροποίηση σας έχει αποκατασταθεί",
"settings.SignedOutSuccessMessage": "Αποσυνδεθήκατε από τον λογαριασμό σας στο LunaSea",
"settings.SignIn": "Σύνδεση",
"settings.SignOut": "Αποσύνδεση",
"settings.SignOutHint1": "Είστε σίγουροι ότι θέλετε να αποσυνδεθείτε από το λογαριασμό σας στο LunaSea;",
"settings.ShowCalendarEntries": "Εμφάνιση {} καταχωρίσεων ημερολογίου",
"settings.SortCategory": "Ταξινόμηση κατηγορίας",
"settings.StartingDay": "Ημέρα έναρξης",
"settings.StartingSize": "Αρχικό μέγεθος",
"settings.StartingType": "Αρχικός τύπος",
"settings.StartingView": "Αρχική προβολή",
"settings.System": "Σύστημα",
"settings.SystemDescription": "Βοηθητικά προγράμματα και πληροφορίες συστήματος",
"settings.TLSCertificateValidation": "Επικύρωση πιστοποιητικού TLS",
"settings.Username": "Όνομα Χρήστη",
"settings.UsernameValidation": "Απαιτείται όνομα χρήστη",
"settings.Version": "Έκδοση",
"settings.ViewRecentChanges": "Δείτε τις πρόσφατες αλλαγές",
"settings.ViewTypeLogs": "Προβολή {} αρχείων καταγραφής",
"settings.WeblateDescription": "Βοηθήστε στην τοπική προσαρμογή του LunaSea",
"settings.Website": "Ιστοσελίδα",
"settings.WebsiteDescription": "Επισκεφθείτε την ιστοσελίδα του LunaSea",
"settings.AddedProfile": "Το προφίλ προστέθηκε",
"settings.AmoledThemeDescription": "Καθαρό μαύρο σκοτεινό θέμα",
"settings.AllLogs": "Όλα τα αρχεία καταγραφής",
"settings.AllLogsDescription": "Προβολή αρχείων καταγραφής όλων των τύπων",
"settings.AmoledTheme": "Θέμα AMOLED",
"settings.ApiKey": "Κλειδί API",
"settings.AutomaticallyManageOrder": "Αυτόματη διαχείριση σειράς",
"settings.AutomaticallyManageOrderDescription": "Λίστα μονάδων αλφαβητικά",
"settings.BackgroundImageOpacity": "Αδιαφάνεια εικόνας φόντου",
"settings.BackupConfiguration": "Αντίγραφο ασφαλείας ρυθμίσεων",
"settings.BackupConfigurationHint1": "Όλα τα αντίγραφα ασφαλείας κρυπτογραφούνται πριν εξαχθούν",
"settings.BackupConfigurationHint2": "Το κλειδί κρυπτογράφησης πρέπει να είναι τουλάχιστον 8 χαρακτήρες",
"settings.BackupList": "Λίστα αντιγράφων ασφαλείας",
"settings.BackupToCloud": "Δημιουργία αντιγράφου ασφαλείας στο Cloud",
"settings.AppearanceDescription": "Προσαρμόστε την εμφάνιση και την αίσθηση",
"settings.BackupToCloudDescription": "Δημιουργία αντιγράφου ασφαλείας παραμετροποίησης",
"settings.BackupToDevice": "Δημιουργία αντιγράφων ασφαλείας στη συσκευή",
"settings.BannersNotificationModuleSupportBody": "Οι ειδοποιήσεις μέσω Webhook υποστηρίζονται επί του παρόντος μόνο στις μονάδες που αναφέρονται παρακάτω.\n\nΠερισσότερες μονάδες θα υποστηριχθούν στο μέλλον!",
"settings.BasicAuthentication": "Βασικός έλεγχος ταυτότητας",
"settings.BasicAuthenticationHint2": "Ο κωδικός πρόσβασης μπορεί να περιέχει άνω και κάτω τελεία",
"settings.BasicAuthenticationHint3": "Το όνομα χρήστη και ο κωδικός πρόσβασης μετατρέπονται αυτόματα σε κωδικοποίηση base64",
"settings.BroadcastAddress": "Διεύθυνση μετάδοσης",
"settings.BroadcastAddressHint1": "Αυτή είναι η διεύθυνση μετάδοσης του τοπικού σας δικτύου",
"settings.BroadcastAddressHint2": "Συνήθως πρόκειται για τη διεύθυνση IP του μηχανήματός σας με την τελευταία οκτάδα να είναι 255",
"settings.BackupToDeviceDescription": "Δημιουργία αντιγράφου ασφαλείας παραμετροποίησης",
"settings.BasicAuthenticationHint1": "Το όνομα χρήστη δεν πρέπει να περιέχει άνω και κάτω τελεία",
"settings.BroadcastAddressHint3": "Δεδομένου ενός παραδείγματος διεύθυνσης IP μηχανήματος 192.168.1.111, η διεύθυνση IP μετάδοσης που προκύπτει είναι 192.168.1.255",
"settings.BroadcastAddressValidation": "Μη έγκυρη διεύθυνση μετάδοσης",
"settings.BuildChannelsDescription": "Μάθετε περισσότερα για τα επιπλέον κανάλια εκδόσεων",
"settings.CalendarSettings": "Ρυθμίσεις ημερολογίου",
"settings.Build": "Build",
"settings.BuildChannels": "Κανάλια εκδόσεων",
"settings.CalendarSettingsDescription": "Προσαρμογή του ενοποιημένου ημερολογίου",
"settings.ChangedProfile": "Άλλαξε το προφίλ",
"settings.Channel": "Κανάλι",
"settings.Class": "Κλάση",
"settings.CleanSlate": "Λευκό χαρτί",
"settings.Clear": "Καθαρισμός",
"settings.CopiedDeviceURL": "Αντιγράφηκε η διεύθυνση URL που βασίζεται στη συσκευή σας στο πρόχειρο",
"settings.ConnectedSuccessfullyMessage": "Το {} είναι έτοιμο για χρήση με το LunaSea!",
"settings.ConnectionDetails": "Λεπτομέρειες σύνδεσης",
"settings.CopiedURLFor": "Αντιγράφηκε διεύθυνση URL για {}",
"settings.ConnectionDetailsDescription": "Λεπτομέρειες σύνδεσης για το {}",
"settings.ConnectionTestFailed": "Η δοκιμή σύνδεσης απέτυχε",
"settings.DatabaseCorruptionDetected": "Εντοπίστηκε διαφθορά βάσης δεδομένων",
"settings.CopiedUserURL": "Αντιγράφηκε η διεύθυνση URL βάσει χρήστη στο πρόχειρο",
"settings.CurrentPassword": "Τρέχων κωδικός πρόσβασης",
"settings.CustomHeaders": "Προσαρμοσμένα Headers",
"settings.CustomHeadersDescription": "Προσθήκη προσαρμοσμένων headers σε αιτήματα",
"settings.DatabaseCorruptionDetectedMessageLine1": "Εντοπίστηκε διαφθορά της βάσης δεδομένων και η διαμόρφωσή σας έχει διαγραφεί.",
"settings.DeleteModuleHint1": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτή την εξωτερική μονάδα;",
"settings.Documentation": "Τεκμηρίωση",
"settings.DebugMenuDescription": "Βοηθητικά προγράμματα εντοπισμού σφαλμάτων και ανάπτυξης",
"settings.DeleteAccountHint2": "Αυτή η διαδικασία θα διαγράψει επίσης όλα τα αποθηκευμένα αντίγραφα ασφαλείας στο cloud και τα δεδομένα που συνδέονται με αυτόν το λογαριασμό.",
"settings.DeleteCloudBackupDescription": "Διαγραφή αρχείου διαμόρφωσης",
"settings.DeleteModuleSuccess": "Η μονάδα διαγράφηκε",
"settings.EmailSentSuccessMessage": "Ένα email για την επαναφορά του κωδικού πρόσβασής σας έχει σταλεί!",
"settings.DocumentationDescription": "Δείτε την τεκμηρίωση",
"settings.Donations": "Δωρεές",
"settings.DonationsDescription": "Κάντε δωρεά στον προγραμματιστή",
"settings.EnabledProfile": "Ενεργοποιημένο προφίλ",
"settings.FailedToClearImageCache": "Απέτυχε η εκκαθάριση της προσωρινής μνήμης εικόνων",
"settings.FailedToClearImageCacheDescription": "Δεν κατέστη δυνατή η εκκαθάριση της προσωρινής μνήμης εικόνων",
"settings.GitHubDescription": "Προβολή του πηγαίου κώδικα",
"settings.HostHint1": "Αυτή είναι η διεύθυνση URL με την οποία αποκτάτε πρόσβαση στο web GUI της υπηρεσίας",
"settings.HostHint2": "Πρέπει να συμπεριλάβετε είτε το http:// είτε το https://",
"settings.HostHint3": "Μην χρησιμοποιείτε localhost ή 127.0.0.1",
"settings.InvalidEmail": "Μη έγκυρη διεύθυνση email",
"settings.InvalidEmailMessage": "Η διεύθυνση email δεν είναι έγκυρη",
"settings.Localization": "Τοπικοποίηση",
"settings.LocalizationDescription": "Προσαρμογή στις τοπικές ρυθμίσεις σας",
"settings.Logs": "Αρχεία καταγραφής",
"settings.MACAddressHint3": "Τα δεκαεξαδικά ψηφία κυμαίνονται από 0-9 και A-F",
"settings.MACAddressHint4": "Κάθε δεκαεξαδική οκτάδα πρέπει να διαχωρίζεται με άνω και κάτω τελεία",
"settings.MACAddressValidation": "Μη έγκυρη διεύθυνση MAC",
"settings.ModuleNotFound": "Η μονάδα δε βρέθηκε",
"settings.MACAddressHint1": "Αυτή είναι η διεύθυνση MAC του μηχανήματος που θέλετε να ξυπνήσετε",
"settings.MACAddressHint2": "Οι διευθύνσεις MAC περιέχουν έξι διψήφιες δεκαεξαδικές ψηφίδες (μια οκτάδα)",
"settings.MinimumCharacters": "Τουλάχιστον {} χαρακτήρες",
"settings.MustBeValueBetween": "Πρέπει να είναι μια τιμή μεταξύ {} και {}",
"settings.Network": "Δίκτυο",
"settings.NetworkDescription": "Προσαρμογή δυνατοτήτων δικτύου",
"settings.NewPassword": "Νέος Κωδικός",
"settings.NotAvailable": "Δεν είναι διαθέσιμο",
"settings.NotAuthorized": "Μη εξουσιοδοτημένο",
"settings.NotAuthorizedMessage": "Το LunaSea δεν είναι εξουσιοδοτημένο να εμφανίζει ειδοποιήσεις. Μεταβείτε στις ρυθμίσεις της συσκευής σας για να ενεργοποιήσετε τις ειδοποιήσεις.",
"settings.Notifications": "Ειδοποιήσεις",
"settings.PasswordUpdated": "Ο κωδικός πρόσβασης ενημερώθηκε",
"settings.PastDays": "Προηγούμενες ημέρες",
"settings.PasswordValidation": "Απαιτείται κωδικός πρόσβασης",
"settings.PastDaysInScheduleView": "Προηγούμενες ημέρες σε προβολή προγράμματος",
"settings.ProfilesBannerLine1": "Τα προφίλ σας επιτρέπουν να προσθέσετε πολλαπλές εγκαταστάσεις μονάδων στο LunaSea. Μπορείτε να εναλλάσσεστε μεταξύ των προφίλ στο κύριο συρτάρι πλοήγησης.",
"settings.QuickActionsBannerLine2": "Μπορεί να οριστεί περιορισμένος αριθμός γρήγορων ενεργειών κάθε φορά και η ενεργοποίηση περισσότερων από όσες μπορεί να υποστηρίξει ο εκκινητής σας δε θα έχει κανένα αποτέλεσμα.",
"settings.QuickActionsDescription": "Γρήγορες ενέργειες στην αρχική οθόνη",
"settings.Register": "Εγγραφή",
"settings.RestoreFromCloudSuccess": "Επιτυχής επαναφορά",
"settings.RestoreFromDevice": "Επαναφορά από συσκευή",
"settings.SignedOutFailure": "Αποτυχία αποσύνδεσης",
"settings.QuickActionsBannerLine1": "Οι γρήγορες ενέργειες σας επιτρέπουν να μεταβείτε γρήγορα σε μονάδες απευθείας από την αρχική οθόνη ή το πρόγραμμα εκκίνησης της συσκευής σας πατώντας παρατεταμένα το εικονίδιο του LunaSea.",
"settings.RestoreFromDeviceDescription": "Επαναφορά δεδομένων παραμετροποίησης",
"settings.SentryLoggingDescription": "Μεταφόρτωση σφαλμάτων στο Sentry",
"settings.SignedInFailure": "Αποτυχία σύνδεσης",
"settings.SignedInSuccess": "Επιτυχής σύνδεση",
"settings.SignedOutSuccess": "Αποσυνδεθήκατε",
"settings.UpdateEmail": "Ενημέρωση Email",
"settings.SystemStatusDescription": "Σελίδα κατάστασης για τις φιλοξενούμενες υπηρεσίες",
"settings.TestConnection": "Δοκιμή σύνδεσης",
"settings.TLSCertificateValidationDescription": "Επικύρωση πιστοποιητικών σε συνδέσεις TLS",
"settings.UpdatePassword": "Ενημέρωση κωδικού",
"settings.Use24HourTime": "Χρήση 24ωρης ώρας",
"settings.Use24HourTimeDescription": "Εμφάνιση χρονοσφραγίδων σε στυλ 24 ωρών",
"settings.User": "Χρήστης",
"sonarr.AddedSeries": "Προστέθηκε σειρά",
"sonarr.AddedTag": "Προσθήκη ετικέτας",
"sonarr.AddReleaseToBlocklist": "Προσθήκη έκδοσης στην λίστα αποκλεισμού",
"sonarr.AddedOn": "Προστέθηκε στις",
"sonarr.AddSeries": "Προσθήκη σειρών",
"sonarr.EpisodesCount": "{} Επεισόδια",
"sonarr.EpisodeFilesDeleted": "Τα αρχεία επεισοδίων διαγράφηκαν",
"sonarr.Monitor": "Παρακολούθηση",
"sonarr.MonitorEpisode": "Παρακολούθηση επεισοδίου",
"sonarr.MonitorSeries": "Παρακολούθηση σειράς",
"sonarr.Monitored": "Παρακολουθείται",
"sonarr.More": "Περισσότερα",
"sonarr.Name": "Όνομα",
"sonarr.NoEpisodesFound": "Δε βρέθηκαν επεισόδια",
"sonarr.Monitoring": "Υπό παρακολούθηση",
"sonarr.MonitoredDescription": "Λήψη παρακολουθούμενων επεισοδίων αυτής της σειράς",
"sonarr.Age": "Ηλικία",
"sonarr.AutomaticSearch": "Αυτόματη αναζήτηση",
"sonarr.BackingUpDatabase": "Δημιουργία αντιγράφου ασφαλείας βάσης δεδομένων{}",
"sonarr.BackingUpDatabaseDescription": "Γίνεται δημιουργία αντιγράφου ασφαλείας στο παρασκήνιο",
"sonarr.CheckDownloadClient": "Ελέγξτε το πρόγραμμα λήψης για περισσότερες λεπτομέρειες",
"sonarr.Codec": "Codec",
"sonarr.DeleteEpisodeFileHint1": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το αρχείο επεισοδίου;",
"sonarr.DeleteFile": "Διαγραφή αρχείου",
"sonarr.DeleteReasonUpgrade": "Το αρχείο διαγράφηκε για την εισαγωγή μιας αναβάθμισης",
"sonarr.DeleteReasonMissingFromDisk": "Το Sonarr δεν μπόρεσε να βρει το αρχείο στο δίσκο, οπότε αφαιρέθηκε",
"sonarr.DeleteReasonManual": "Το αρχείο διαγράφηκε μέσω του UI",
"sonarr.DestinationRelative": "Προορισμός Σχετικός",
"sonarr.Download": "Λήψη",
"sonarr.Downloaded": "Λήφθηκε",
"sonarr.DownloadedImporting": "Κατέβηκε: Γίνεται εισαγωγή",
"sonarr.DownloadedWaitingToImport": "Κατέβηκε: Αναμονή για εισαγωγή",
"sonarr.DownloadedWaitingToProcess": "Κατέβηκε: Αναμονή για επεξεργασία",
"sonarr.Downloading": "Γίνεται Λήψη",
"sonarr.DownloadingWithMessage": "Γίνεται Λήψη: {}",
"sonarr.DownloadingRelease": "Λήψη έκδοσης…",
"sonarr.DownloadClientUnavailable": "Το πρόγραμμα λήψης δεν είναι διαθέσιμο",
"sonarr.DownloadFailed": "Η λήψη απέτυχε",
"sonarr.DownloadID": "Αναγνωριστικό λήψης",
"sonarr.DownloadIgnored": "Η λήψη αγνοήθηκε",
"sonarr.DownloadWarning": "Προειδοποίηση λήψης",
"sonarr.DownloadWarningWithMessage": "Προειδοποίηση λήψης: {}",
"sonarr.EditSeries": "Επεξεργασία σειράς",
"sonarr.EmptyQueue": "Άδεια ουρά",
"sonarr.Ended": "Τελείωσε",
"sonarr.Automatic": "Αυτόματα",
"sonarr.Approved": "Εγκρίθηκε",
"sonarr.AddToExclusionList": "Προσθήκη στη λίστα εξαιρέσεων",
"sonarr.All": "Όλα",
"sonarr.AllSeasons": "Όλες οι σεζόν",
"sonarr.Audio": "Ήχος",
"sonarr.BackupDatabase": "Δημιουργία Αντιγράφου ασφαλείας",
"sonarr.Bitrate": "Bitrate",
"sonarr.DeleteFiles": "Διαγραφή αρχείων",
"sonarr.BitDepth": "Βάθος bit",
"sonarr.Continuing": "Συνεχίζεται",
"sonarr.DeleteEpisodeFile": "Διαγραφή αρχείου επεισοδίου",
"sonarr.Channels": "Κανάλια",
"sonarr.Client": "Client",
"sonarr.Destination": "Προορισμός",
"sonarr.EpisodeFileRenamed": "Το αρχείο επεισοδίου μετονομάστηκε",
"sonarr.Episode": "Επεισόδιο",
"sonarr.Episodes": "Επεισόδια",
"sonarr.EpisodesAvailable": "Διαθέσιμα επεισόδια",
"sonarr.EpisodeFileDeleted": "Το αρχείο επεισοδίου διαγράφηκε",
"sonarr.NoEpisodeFilesFound": "Δε βρέθηκαν αρχεία επεισοδίων",
"sonarr.FailedToDeleteEpisodeFiles": "Αποτυχία διαγραφής αρχείων επεισοδίου",
"sonarr.FailedToRefresh": "Αποτυχία ανανέωσης",
"sonarr.FailedToRemoveFromQueue": "Απέτυχε η αφαίρεση από την ουρά",
"sonarr.FailedToRemoveSeries": "Αποτυχία κατάργησης σειράς",
"sonarr.FailedToRunRSSSync": "Αποτυχία εκτέλεσης συγχρονισμού RSS",
"sonarr.FailedToSearchForEpisodes": "Αποτυχία αναζήτησης επεισοδίων",
"sonarr.FailedToSearch": "Αποτυχία αναζήτησης",
"sonarr.FailedToUnmonitorEpisode": "Αποτυχία κατάργησης παρακολούθησης του επεισοδίου",
"sonarr.FPS": "FPS",
"sonarr.GrabbedFrom": "Αρπάχτηκε από {}",
"sonarr.History": "Ιστορικό",
"sonarr.HistoryDescription": "Προβολή πρόσφατης δραστηριότητας",
"sonarr.Import": "Εισαγωγή",
"sonarr.Indexer": "Indexer",
"sonarr.NoEpisodeFilesFoundDeleteMessage": "Κανένα επιλεγμένο επεισόδιο δεν έχει αρχεία προς διαγραφή",
"sonarr.NoHistoryFound": "Δε βρέθηκε ιστορικό",
"sonarr.NoLongerMonitoring": "Δε παρακολουθείται πλέον",
"sonarr.NoMessagesFound": "Δε βρέθηκαν μηνύματα",
"sonarr.NoReleasesFound": "Δεν βρέθηκαν κυκλοφορίες",
"sonarr.NoResultsFound": "Δε βρέθηκαν αποτελέσματα",
"sonarr.NoSeasonsFound": "Δεν βρέθηκαν σεζόν",
"sonarr.OneEpisode": "1 επεισόδιο",
"sonarr.QueueSize": "Μέγεθος ουράς",
"sonarr.Reason": "Λόγος",
"sonarr.RefreshSeries": "Ανανέωση σειράς",
"sonarr.Rejected": "Απορρίφθηκε",
"sonarr.LanguageProfile": "Προφίλ γλώσσας",
"sonarr.Leechers": "Leechers",
"sonarr.ManualImport": "Χειροκίνητη εισαγωγή",
"sonarr.ManualImportDescription": "Εισαγωγή περιεχομένου από το σύστημα αρχείων",
"sonarr.Releases": "Εκδόσεις",
"sonarr.ReleaseGroup": "Ομάδα κυκλοφορίας",
"sonarr.RemoveSeries": "Αφαίρεση σειράς",
"sonarr.RemovedSeriesWithFiles": "Αφαιρεθείσα σειρά (με αρχεία)",
"sonarr.RemovedSeries": "Αφαιρεθείσα σειρά",
"sonarr.Resolution": "Ανάλυση",
"sonarr.RootFolder": "Κύριος φάκελος",
"sonarr.RunRSSSync": "Εκτέλεση συγχρονισμού RSS",
"sonarr.RunningRSSSync": "Εκτέλεση συγχρονισμού RSS {}",
"sonarr.SearchingForEpisodes": "Αναζήτηση επεισοδίων…",
"sonarr.Season": "Σεζόν",
"sonarr.Seasons": "Σεζόν",
"sonarr.SeasonDetails": "Λεπτομέρειες σεζόν",
"sonarr.SeasonFolders": "Φάκελοι σεζόν",
"sonarr.SeasonFoldersDescription": "Ταξινόμηση επεισοδίων σε φακέλους σεζόν",
"sonarr.SeasonNumber": "Σεζόν {}",
"sonarr.Seeders": "Seeders",
"sonarr.SeriesType": "Τύπος σειράς",
"sonarr.Size": "Μέγεθος",
"sonarr.SortCatalogue": "Ταξινόμηση καταλόγου",
"sonarr.SortReleases": "Ταξινόμηση κυκλοφοριών",
"sonarr.Source": "Πηγή",
"sonarr.SourceRelative": "Σχετική πηγή",
"sonarr.SourceTitle": "Τίτλος πηγής",
"sonarr.Specials": "Σπέσιαλ",
"sonarr.StartSearchFor": "Έναρξη αναζήτησης για…",
"sonarr.StartSearchForMissingEpisodes": "Έναρξη αναζήτησης για επεισόδια που λείπουν",
"sonarr.StartSearchForCutoffUnmetEpisodes": "Ξεκινήστε την αναζήτηση για επεισόδια που δεν έχει καλυφθεί η αποκοπή",
"sonarr.Title": "Τίτλος",
"sonarr.Torrent": "Torrent",
"sonarr.Unaired": "Ακυκλοφόρητο",
"sonarr.Unmonitored": "Δε παρακολουθείται",
"sonarr.Upcoming": "Επερχόμενα",
"sonarr.UpdateLibrary": "Ενημέρωση βιβλιοθήκης",
"sonarr.UpdateSeries": "Ενημέρωση σειράς",
"sonarr.UpdatingLibrary": "Γίνεται ενημέρωση βιβλιοθήκης",
"sonarr.UpdatingLibraryDescription": "Γίνεται ενημέρωση βιβλιοθήκης στο παρασκήνιο",
"sonarr.UpdatedSeries": "Ενημερωμένη σειρά",
"sonarr.Usenet": "Usenet",
"sonarr.UseSeasonFolders": "Χρήση φακέλων σεζόν",
"sonarr.UseSeasonFoldersDescription": "Ταξινόμηση επεισοδίων σε φακέλους σεζόν",
"sonarr.Video": "Βίντεο",
"sonarr.ViewWebGUI": "Προβολή Web GUI",
"sonarr.WordScore": "Βαθμολογία λέξεων",
"sonarr.OneSeason": "1 σεζόν",
"sonarr.Other": "Άλλο",
"sonarr.Overview": "Σύνοψη",
"sonarr.NoSummaryAvailable": "Δεν υπάρχει διαθέσιμη περίληψη",
"sonarr.NoTagsFound": "Δε βρέθηκαν ετικέτες",
"sonarr.Path": "Διαδρομή",
"sonarr.Paused": "Σε παύση",
"sonarr.Quality": "Ποιότητα",
"sonarr.Pending": "Εκκρεμεί",
"sonarr.PendingWithMessage": "Σε εκκρεμότητα: {}",
"sonarr.PublishedDate": "Ημερομηνία δημοσίευσης",
"sonarr.QualityProfile": "Προφίλ ποιότητας",
"sonarr.Queue": "Ουρά",
"sonarr.Queued": "Στην ουρά",
"sonarr.QueueDescription": "Προβολή ενεργού & σε αναμονή περιεχομένου",
"sonarr.RemovedFromQueue": "Αφαιρέθηκε από την ουρά",
"sonarr.RemoveFromQueue": "Αφαίρεση από την ουρά",
"sonarr.RemoveFromDownloadClient": "Αφαίρεση από το πρόγραμμα λήψης",
"sonarr.ScanType": "Τύπος σάρωσης",
"sonarr.Search": "Αναζήτηση",
"sonarr.Searching": "Αναζήτηση{}",
"sonarr.Subtitles": "Υπότιτλοι",
"sonarr.UnmonitorSeries": "Κατάργηση παρακολούθησης σειράς",
"sonarr.UnmonitorEpisode": "Κατάργηση παρακολούθησης επεισοδίου",
"sonarr.EpisodeImported": "Το επεισόδιο εισήχθη ({})",
"sonarr.EpisodeNumber": "Επεισόδιο {}",
"sonarr.FailedToAddSeries": "Αποτυχία προσθήκης σειράς",
"sonarr.FailedToAddTag": "Αποτυχία προσθήκης ετικέτας",
"sonarr.FailedToDeleteEpisodeFile": "Αποτυχία διαγραφής αρχείου επεισοδίου",
"sonarr.FailedToDownloadRelease": "Αποτυχία λήψης της έκδοσης",
"sonarr.FailedToMonitorEpisode": "Αποτυχία παρακολούθησης επεισοδίου",
"sonarr.ImportFailed": "Η εισαγωγή απέτυχε",
"sonarr.ImportedTo": "Εισαγωγή σε",
"sonarr.SearchingDescription": "Αναζήτηση όλων των επεισοδίων που λείπουν",
"sonarr.SearchingForMonitoredEpisodes": "Αναζήτηση επεισοδίων που παρακολουθούνται…",
"sonarr.Runtime": "Διάρκεια",
"sonarr.SearchingForEpisode": "Αναζήτηση επεισοδίου…",
"sonarr.SearchingForSeason": "Αναζήτηση σεζόν…",
"sonarr.SearchFor": "Αναζήτηση για {}",
"sonarr.SearchAllMissing": "Αναζήτηση όλων όσων λείπουν",
"sonarr.SearchMonitored": "Αναζήτηση αυτών που παρακολουθούνται",
"sonarr.SeriesNotFound": "Η σειρά δε βρέθηκε",
"sonarr.SeriesPath": "Διαδρομή σειράς",
"sonarr.Series": "Σειρά",
"sonarr.SeriesDetails": "Λεπτομέρειες σειράς",
"sonarr.SeriesEnded": "Ολοκληρωμένη σειρά",
"sonarr.SeriesFolderImported": "Το επεισόδιο εισήχθη από το φάκελο της σειράς",
"sonarr.Streams": "Ροές",
"sonarr.TagsDescription": "Διαχειριστείτε τις ετικέτες σας",
"sonarr.SystemStatus": "Κατάσταση συστήματος",
"sonarr.SystemStatusDescription": "Κατάσταση συστήματος και χώρος στο δίσκο",
"sonarr.Tags": "Ετικέτες",
"sonarr.TimeLeft": "Υπολειπόμενος χρόνος",
"sonarr.FailedToSeasonSearch": "Αποτυχία αναζήτησης σεζόν",
"sonarr.FailedToUnmonitorSeason": "Αποτυχία κατάργησης παρακολούθησης σεζόν",
"sonarr.FailedToUnmonitorSeries": "Αποτυχία κατάργησης παρακολούθησης σειράς",
"sonarr.FailedToUpdateLibrary": "Αποτυχία ενημέρωσης βιβλιοθήκης",
"sonarr.FilterReleases": "Φιλτράρισμα εκδόσεων",
"sonarr.FailedToUpdateSeries": "Αποτυχία ενημέρωσης σειράς",
"sonarr.FilterCatalogue": "Φιλτράρισμα καταλόγου",
"sonarr.Files": "Αρχεία",
"sonarr.NoSeriesFound": "Δε βρέθηκαν σειρές",
"sonarr.FailedToBackupDatabase": "Αποτυχία δημιουργίας αντιγράφου ασφαλείας",
"sonarr.FailedToMonitorSeason": "Αποτυχία παρακολούθησης σεζόν",
"sonarr.FailedToMonitorSeries": "Αποτυχία παρακολούθησης σειράς",
"sonarr.FailedToSearchForMonitoredEpisodes": "Αποτυχία αναζήτησης επεισοδίων που παρακολουθούνται",
"sonarr.InfoURL": "URL πληροφοριών",
"sonarr.Interactive": "Διαδραστικό",
"sonarr.InteractiveSearch": "Διαδραστική αναζήτηση",
"sonarr.Language": "Γλώσσα",
"sonarr.Languages": "Γλώσσες",
"sonarr.ManySeasons": "{} Σεζόν",
"sonarr.Missing": "Λείπει",
"sonarr.MediaInfo": "Πληροφορίες πολυμέσου",
"sonarr.Message": "Μήνυμα",
"sonarr.Messages": "Μηνύματα",
"sonarr.MissingEpisodes": "Επεισόδια που λείπουν",
"sonarr.MissingEpisodesHint1": "Είστε βέβαιοι ότι θέλετε να αναζητήσετε όλα τα επεισόδια που λείπουν;",
"sonarr.RelativePath": "Σχετική διαδρομή",
"sonarr.RunningRSSSyncDescription": "Εκτέλεση συγχρονισμού RSS στο παρασκήνιο",
"tautulli.Activity": "Δραστηριότητα",
"tautulli.ActivityDetails": "Λεπτομέρειες δραστηριότητας",
"tautulli.ActivityRefreshRate": "Ρυθμός ανανέωσης δραστηριότητας",
"tautulli.Audio": "Ήχος",
"tautulli.BackingUpConfiguration": "Δημιουργία αντιγράφων ασφαλείας διαμόρφωσης…",
"tautulli.DeleteCache": "Διαγραφή Cache",
"tautulli.DeletingImageCache": "Διαγραφή προσωρινής μνήμης εικόνων…",
"tautulli.DirectStream": "Απευθείας ροή",
"tautulli.DirectStreams": "Απευθείας ροές",
"tautulli.Duration": "Διάρκεια",
"tautulli.Episode": "Επεισόδιο {}",
"tautulli.DirectPlay": "Απευθείας αναπαραγωγή",
"tautulli.DirectPlays": "Απευθείας αναπαραγωγές",
"tautulli.Stream": "Ροή",
"tautulli.Subtitle": "Υπότιτλος",
"tautulli.Terminate": "Τερματισμός",
"tautulli.TerminationAttachMessage": "Μπορείτε προαιρετικά να επισυνάψετε ένα μήνυμα τερματισμού παρακάτω.",
"tautulli.TerminationMessage": "Μήνυμα τερματισμού",
"tautulli.TerminateSessionFailed": "Απέτυχε ο τερματισμός της συνεδρίας",
"tautulli.Throttled": "Φρεναρισμένη",
"tautulli.Title": "Τίτλος",
"tautulli.Transcode": "Μετατροπή",
"tautulli.Transcodes": "Μετατροπές",
"tautulli.User": "Χρήστης",
"tautulli.Video": "Βίντεο",
"tautulli.Users": "Χρήστες",
"tautulli.ViewWebGUI": "Προβολή Web GUI",
"tautulli.Year": "Έτος",
"tautulli.BackingUpConfigurationDescription": "Δημιουργία αντιγράφων ασφαλείας της διαμόρφωσής σας στο παρασκήνιο",
"tautulli.BackingUpConfigurationFailed": "Αποτυχία δημιουργίας αντιγράφων ασφαλείας διαμόρφωσης",
"tautulli.BackingUpDatabase": "Δημιουργία αντιγράφων ασφαλείας της βάσης δεδομένων…",
"tautulli.BackingUpDatabaseDescription": "Γίνεται δημιουργία του αντιγράφου ασφαλείας σας στο παρασκήνιο",
"tautulli.BackupConfiguration": "Αντίγραφο ασφαλείας ρυθμίσεων",
"tautulli.BackupDatabase": "Δημιουργία Αντιγράφου ασφαλείας",
"tautulli.Bandwidth": "Bandwidth",
"tautulli.Burn": "Burn",
"tautulli.Converting": "Μετατροπή",
"tautulli.Container": "Container",
"tautulli.Copy": "Αντιγραφή",
"tautulli.DeletingImageCacheFailed": "Απέτυχε η διαγραφή της προσωρινής μνήμης εικόνας",
"tautulli.DeletingTemporarySessions": "Διαγραφή προσωρινών συνεδριών…",
"tautulli.DeletingTemporarySessionsDescription": "Οι προσωρινές συνεδρίες διαγράφονται",
"tautulli.DeletingTemporarySessionsFailed": "Απέτυχε η διαγραφή προσωρινών συνεδριών",
"tautulli.ETA": "ΕΤΑ",
"tautulli.Graphs": "Γραφήματα",
"tautulli.History": "Ιστορικό",
"tautulli.Library": "Βιβλιοθήκη",
"tautulli.LibraryDetails": "Λεπτομέρειες βιβλιοθήκης",
"tautulli.Location": "Τοποθεσία",
"tautulli.MediaDetails": "Λεπτομέρειες πολυμέσου",
"tautulli.Metadata": "Μεταδεδομένα",
"tautulli.Player": "Αναμεταδότης",
"tautulli.Product": "Προϊόν",
"tautulli.Quality": "Ποιότητα",
"tautulli.Season": "Σεζόν {}",
"tautulli.SessionEnded": "Η συνεδρία τελείωσε",
"tautulli.Sessions": "Συνεδρίες",
"tautulli.SessionsOne": "1 συνεδρία",
"tautulli.SessionsMany": "{} Συνεδρίες",
"tautulli.Speed": "Ταχύτητα: {}x",
"tautulli.Statistics": "Στατιστικά",
"tautulli.StatisticsItemCount": "Πλήθος στατιστικών στοιχείων",
"tautulli.TerminationConfirmMessage": "Θέλετε να τερματίσετε αυτή τη συνεδρία;",
"tautulli.TerminatedSession": "Τερματίστηκε η συνεδρία",
"tautulli.TerminateSession": "Τερματισμός συνεδρίας",
"tautulli.UserDetails": "Λεπτομέρειες χρήστη",
"tautulli.BackingUpDatabaseFailed": "Αποτυχία δημιουργίας αντιγράφου ασφαλείας",
"tautulli.DeletingCache": "Διαγραφή cache…",
"tautulli.DefaultTerminationMessage": "Προεπιλεγμένο μήνυμα τερματισμού",
"tautulli.DeleteImageCache": "Διαγραφή προσωρινής μνήμης εικόνων",
"tautulli.DeleteTemporarySessions": "Διαγραφή προσωρινών συνεδριών",
"tautulli.DeletingCacheDescription": "Το Tautulli cache διαγράφεται",
"tautulli.DeletingCacheFailed": "Αποτυχία διαγραφής της προσωρινής μνήμης",
"tautulli.DeletingImageCacheDescription": "Η προσωρινή μνήμη cache εικόνων Tautulli διαγράφεται",
"tautulli.More": "Περισσότερα",
"tautulli.None": "Κανένα",
"tautulli.NoActiveStreams": "Δεν υπάρχουν ενεργές ροές",
"tautulli.Platform": "Πλατφόρμα",
"wake_on_lan.MagicPacketSent": "Αποστολή Magic Packet",
"wake_on_lan.MagicPacketSentMessage": "Το μηχάνημα πρέπει να εκκινεί!",
"wake_on_lan.MagicPacketFailedToSend": "Αποτυχία αποστολής Magic Packet"
}

View File

@@ -57,6 +57,8 @@
"lunasea.DownloadClient": "Download Client",
"lunasea.Edge": "Edge",
"lunasea.Error": "Error",
"lunasea.EverySecond": "Every Second",
"lunasea.EverySeconds": "Every {} Seconds",
"lunasea.ExternalModules": "External Modules",
"lunasea.Features": "Features",
"lunasea.Fixes": "Fixes",
@@ -70,6 +72,7 @@
"lunasea.IncorrectEncryptionKey": "Incorrect encryption key",
"lunasea.Internal": "Internal",
"lunasea.InvalidFileTypeSelected": "Invalid File Type Selected",
"lunasea.Items": "{} Items",
"lunasea.JustNow": "Just Now",
"lunasea.Minutes": "{} Minutes",
"lunasea.MinutesAgo": "{} Minutes Ago",
@@ -85,6 +88,7 @@
"lunasea.OneDayAgo": "1 Day Ago",
"lunasea.OneHour": "1 Hour",
"lunasea.OneHourAgo": "1 Hour Ago",
"lunasea.OneItem": "1 Item",
"lunasea.OneMinute": "1 Minute",
"lunasea.OneMinuteAgo": "1 Minute Ago",
"lunasea.OneMonth": "1 Month",
@@ -113,6 +117,8 @@
"lunasea.Settings": "Settings",
"lunasea.Stable": "Stable",
"lunasea.StartingView": "Starting View",
"lunasea.ThankYou": "Thank You",
"lunasea.ThankYouMessage": "Thank you for supporting the open-source community!",
"lunasea.Today": "Today",
"lunasea.TransactionFailure": "Transaction Failure",
"lunasea.TryAgain": "Try Again",
@@ -155,11 +161,11 @@
"overseerr.UnknownUser": "Unknown User",
"overseerr.Users": "Users",
"overseerr.Video": "Video",
"radarr.Age": "Age",
"radarr.All": "All",
"radarr.AddedTag": "Added Tag",
"radarr.AddMovie": "Add Movie",
"radarr.AddMovieAndSearch": "Add + Search",
"radarr.AddedTag": "Added Tag",
"radarr.Age": "Age",
"radarr.All": "All",
"radarr.Alphabetical": "Alphabetical",
"radarr.Approved": "Approved",
"radarr.Audio": "Audio",
@@ -181,15 +187,17 @@
"radarr.DigitalRelease": "Digital Release",
"radarr.DirectoryNotFound": "Directory Not Found",
"radarr.Discover": "Discover",
"radarr.DiscoverSuggestions": "Discover Suggestions",
"radarr.DiscoverSuggestionsDescription": "Add Suggested Releases in Discover",
"radarr.Disks": "Disks",
"radarr.DownloadFailed": "Download Failed",
"radarr.DownloadIgnored": "Download Ignored",
"radarr.DynamicRange": "Dynamic Range",
"radarr.EditMovie": "Edit Movie",
"radarr.FPS": "FPS",
"radarr.FailedToAddTag": "Failed to Add Tag",
"radarr.FileBrowser": "File Browser…",
"radarr.FilterCatalogue": "Filter Catalogue",
"radarr.FPS": "FPS",
"radarr.GrabbedFrom": "Grabbed from {}",
"radarr.History": "History",
"radarr.HistoryDescription": "View Recent Activity",
@@ -206,30 +214,31 @@
"radarr.MinimumAvailability": "Minimum Availability",
"radarr.Missing": "Missing",
"radarr.Monitor": "Monitor",
"radarr.MonitorMovie": "Monitor Movie",
"radarr.Monitored": "Monitored",
"radarr.MonitoredDescription": "Monitor for new releases",
"radarr.MonitorMovie": "Monitor Movie",
"radarr.More": "More",
"radarr.Move": "Move",
"radarr.MoveFiles": "Move Files",
"radarr.MoveFilesDescription": "Would you like to move the files?",
"radarr.MoveFull": "Move Files",
"radarr.Movie": "Movie",
"radarr.Movies": "Movies",
"radarr.MovieDetails": "Movie Details",
"radarr.MovieFileDeleted": "Movie File Deleted",
"radarr.MovieFileRenamed": "Movie File Renamed",
"radarr.MovieImported": "Movie Imported ({})",
"radarr.MovieNotFound": "Movie Not Found",
"radarr.MoviePath": "Movie Path",
"radarr.Movies": "Movies",
"radarr.NoDisksFound": "No Disks Found",
"radarr.NoFilesFound": "No Files Found",
"radarr.NoHistoryFound": "No History Found",
"radarr.NoTagsFound": "No Tags Found",
"radarr.NoMoviesFound": "No Movies Found",
"radarr.NoResultsFound": "No Results Found",
"radarr.NoRootFoldersFound": "No Root Folders Found",
"radarr.NoSubdirectoriesFound": "No Subdirectories Found",
"radarr.NoSummaryIsAvailable": "No summary is available.",
"radarr.NoTagsFound": "No Tags Found",
"radarr.Other": "Other",
"radarr.ParentDirectory": "Parent Directory",
"radarr.PhysicalRelease": "Physical Release",
@@ -237,18 +246,19 @@
"radarr.QualityProfile": "Quality Profile",
"radarr.Queue": "Queue",
"radarr.QueueDescription": "View Active & Queued Content",
"radarr.QueueSize": "Queue Size",
"radarr.Quick": "Quick",
"radarr.RefreshMovie": "Refresh Movie",
"radarr.Rejected": "Rejected",
"radarr.Releases": "Releases",
"radarr.Released": "Released",
"radarr.ReleasedToday": "Released Today",
"radarr.Releases": "Releases",
"radarr.RemoveMovie": "Remove Movie",
"radarr.Resolution": "Resolution",
"radarr.RootFolder": "Root Folder",
"radarr.RootFolders": "Root Folders",
"radarr.Runtime": "Runtime",
"radarr.RunRSSSync": "Run RSS Sync",
"radarr.Runtime": "Runtime",
"radarr.ScanType": "Scan Type",
"radarr.Search": "Search",
"radarr.SearchAllMissing": "Search All Missing",
@@ -271,8 +281,8 @@
"radarr.Type": "Type",
"radarr.UnmappedFolder": "1 Unmapped Folder",
"radarr.UnmappedFolders": "{} Unmapped Folders",
"radarr.Unmonitored": "Unmonitored",
"radarr.UnmonitorMovie": "Unmonitor Movie",
"radarr.Unmonitored": "Unmonitored",
"radarr.Unreleased": "Unreleased",
"radarr.Upcoming": "Upcoming",
"radarr.UpdateLibrary": "Update Library",
@@ -306,25 +316,39 @@
"sabnzbd.ShutdownSABnzbd": "Shutdown SABnzbd",
"sabnzbd.StandbyPC": "Standby PC",
"sabnzbd.Stop": "Stop",
"search.AddIndexer": "Add Indexer",
"search.Age": "Age",
"search.AllSubcategories": "All Subcategories",
"search.Alphabetical": "Alphabetical",
"search.Category": "Category",
"search.Categories": "Categories",
"search.Comments": "Comments",
"search.DeleteIndexer": "Delete Indexer",
"search.Download": "Download",
"search.Downloading": "Downloading…",
"search.DownloadingNZBToDevice": "Downloading NZB to your device",
"search.DownloadToDevice": "Download to Device",
"search.EditIndexer": "Edit Indexer",
"search.FailedToAddIndexer": "Failed to Add indexer",
"search.FailedToDownloadNZB": "Failed to Download NZB",
"search.FailedToSend": "Failed to Send",
"search.HideAdultCategories": "Hide Adult Categories",
"search.HideAdultCategoriesDescription": "Hide Adult Content",
"search.IndexerAPIHost": "Indexer API Host",
"search.IndexerAPIKey": "Indexer API Key",
"search.IndexerAdded": "Indexer Added",
"search.IndexerDeleted": "Indexer Deleted",
"search.IndexerNotFound": "Indexer Not Found",
"search.NoCategoriesFound": "No Categories Found",
"search.NoIndexersFound": "No Indexers Found",
"search.NoResultsFound": "No Results Found",
"search.NoSubcategoriesFound": "No Subcategories Found",
"search.Results": "Results",
"search.Search": "Search",
"search.SentNZBData": "Sent NZB Data",
"search.SentTo": "Sent to {}",
"search.ShowLinks": "Show Links",
"search.ShowLinksDescription": "Show Download and Comments Links",
"search.Size": "Size",
"search.Subcategories": "Subcategories",
"settings.Account": "Account",
@@ -343,6 +367,8 @@
"settings.AddProfileDescription": "Add a New Profile",
"settings.AddedProfile": "Added Profile",
"settings.AllFieldsAreRequired": "All fields are required",
"settings.AllLogs": "All Logs",
"settings.AllLogsDescription": "View Logs of All Types",
"settings.AmoledTheme": "AMOLED Theme",
"settings.AmoledThemeBorders": "AMOLED Theme Borders",
"settings.AmoledThemeBordersDescription": "Add Subtle Borders Across the UI",
@@ -381,25 +407,35 @@
"settings.BuildChannels": "Build Channels",
"settings.BuildChannelsDescription": "Learn About Additional Build Channels",
"settings.CalendarSettings": "Calendar Settings",
"settings.CalendarSettingsDescription": "Customize the Unified Calendar",
"settings.ChangedProfile": "Changed Profile",
"settings.Channel": "Channel",
"settings.Class": "Class",
"settings.CleanSlate": "Clean Slate",
"settings.Clear": "Clear",
"settings.ClearConfiguration": "Clear Configuration",
"settings.ClearConfigurationHint1": "Are you sure you want to clear your configuration?",
"settings.ClearConfigurationHint2": "You will be starting from a clean slate, please ensure you backup your current configuration first!",
"settings.ClearConfigurationHint3": "If you are signed into a LunaSea account, you will be signed out.",
"settings.ClearImageCache": "Clear Image Cache",
"settings.ClearImageCacheDescription": "Clear Images From Persistent Storage",
"settings.ClearImageCacheHint1": "Are you sure you want to clear all images from the cache?",
"settings.ClearImageCacheHint2": "Redownloading images for a large library can consume a large amount of data.",
"settings.ClearImageCacheHint2": "Re-downloading images for a large library can consume a large amount of data.",
"settings.ClearLogs": "Clear Logs",
"settings.ClearLogsHint1": "Are you sure you want to clear all recorded logs?\n\nLogs can be useful for bug reports and debugging.",
"settings.ConfigureModule": "Configure {}",
"settings.Configuration": "Configuration",
"settings.ConfigurationCleared": "Configuration Cleared",
"settings.ConfigurationClearedDescription": "Your configuration has been cleared",
"settings.ConfigurationDescription": "Configure & Setup LunaSea",
"settings.ConnectedSuccessfully": "Connected",
"settings.ConnectedSuccessfullyMessage": "{} is ready to use with LunaSea!",
"settings.ConnectionDetails": "Connection Details",
"settings.ConnectionDetailsDescription": "Connection Details for {}",
"settings.ConnectionTestFailed": "Connection Test Failed",
"settings.CopiedURLFor": "Copied URL for {}",
"settings.CopiedDeviceURL": "Copied your device-based URL to the clipboard",
"settings.CopiedUserURL": "Copied your user-based URL to the clipboard",
"settings.CurrentPassword": "Current Password",
"settings.Custom": "Custom…",
"settings.CustomHeader": "Custom Header",
@@ -440,6 +476,7 @@
"settings.DeleteModuleSuccess": "Module Deleted",
"settings.DeleteProfile": "Delete Profile",
"settings.DeleteProfileDescription": "Delete an Existing Profile",
"settings.Device": "Device",
"settings.DiscordDescription": "Request Features & Get Support",
"settings.DismissBanners": "Dismiss Banners",
"settings.DismissBannersHint1": "Are you sure you want to dismiss all tooltip banners?",
@@ -463,6 +500,12 @@
"settings.EnableModule": "Enable {}",
"settings.EnabledProfile": "Enabled Profile",
"settings.EncryptionKey": "Encryption Key",
"settings.Exception": "Exception",
"settings.Export": "Export",
"settings.ExportedLogs": "Exported Logs",
"settings.ExportedLogsMessage": "Logs have been successfully exported",
"settings.FailedToClearImageCache": "Failed to Clear Image Cache",
"settings.FailedToClearImageCacheDescription": "The image cache could not be cleared",
"settings.FailedToDeleteAccount": "Failed to Delete Account",
"settings.FailedToUpdateEmail": "Failed to Update Email",
"settings.FailedToUpdatePassword": "Failed to Update Password",
@@ -471,6 +514,8 @@
"settings.FutureDays": "Future Days",
"settings.General": "General",
"settings.GeneralDescription": "Customize LunaSea",
"settings.GettingStarted": "Getting Started",
"settings.GettingStartedDescription": "Information & Setup Instructions",
"settings.GitHubDescription": "View the Source Code",
"settings.HeaderAdded": "Header Added",
"settings.HeaderDeleted": "Header Deleted",
@@ -491,6 +536,8 @@
"settings.ImageBackgroundOpacity": "Image Background Opacity",
"settings.ImageBackgroundOpacityHint1": "Set the opacity of background images.",
"settings.ImageBackgroundOpacityHint2": "To completely disable fetching background images, set the value to 0.",
"settings.ImageCacheCleared": "Image Cache Cleared",
"settings.ImageCacheClearedDescription": "The image cache has been cleared",
"settings.InvalidEmail": "Invalid Email Address",
"settings.InvalidEmailMessage": "The email address is invalid",
"settings.InvalidPassword": "Invalid Password",
@@ -498,11 +545,16 @@
"settings.Language": "Language",
"settings.Localization": "Localization",
"settings.LocalizationDescription": "Customize to your Locale",
"settings.Logs": "Logs",
"settings.LogsCleared": "Logs Cleared",
"settings.LogsClearedDescription": "All recorded logs have been cleared",
"settings.LogsDescription": "View, Export, and Clear Logs",
"settings.Method": "Method",
"settings.MACAddress": "MAC Address",
"settings.MACAddressHint1": "This is the MAC address of the machine that you want to wake up",
"settings.MACAddressHint2": "MAC addresses contain six two-digit hexidecimal nibbles (an octet)",
"settings.MACAddressHint3": "Hexidecimal digits range from 0-9 and A-F",
"settings.MACAddressHint4": "Each hexidecimal octet should be separated by a colon",
"settings.MACAddressHint2": "MAC addresses contain six two-digit hexadecimal nibbles (an octet)",
"settings.MACAddressHint3": "Hexadecimal digits range from 0-9 and A-F",
"settings.MACAddressHint4": "Each hexadecimal octet should be separated by a colon",
"settings.MACAddressValidation": "Invalid MAC Address",
"settings.MinimumCharacters": "Minimum of {} characters",
"settings.ModuleNotFound": "Module Not Found",
@@ -510,12 +562,16 @@
"settings.Network": "Network",
"settings.NetworkDescription": "Customize Network Features",
"settings.NewPassword": "New Password",
"settings.NotAuthorized": "Not Authorized",
"settings.NotAuthorizedMessage": "LunaSea is not authorized to show notifications. Please go to your device's settings to enable notifications.",
"settings.NotAvailable": "Not Available",
"settings.Notifications": "Notifications",
"settings.NotificationsDescription": "Set up Webhooks for Push Notifications",
"settings.NoAdditionalProfilesAdded": "No additional profiles have been added",
"settings.NoBackupsFound": "No Backups Found",
"settings.NoExternalModulesFound": "No External Modules Found",
"settings.NoHeadersAdded": "No Headers Added",
"settings.NoLogsFound": "No Logs Found",
"settings.NoProfilesFound": "No Profiles Found",
"settings.OpenDrawerOnBackAction": "Open Drawer on Back Action",
"settings.OpenDrawerOnBackActionDescription": "Open the drawer instead of closing LunaSea",
@@ -586,6 +642,7 @@
"settings.UpToDate": "Up To Date",
"settings.Use24HourTime": "Use 24 Hour Time",
"settings.Use24HourTimeDescription": "Show Timestamps in 24 Hour Style",
"settings.User": "User",
"settings.Username": "Username",
"settings.UsernameValidation": "Username Required",
"settings.Version": "Version",
@@ -646,14 +703,17 @@
"sonarr.Episode": "Episode",
"sonarr.Episodes": "Episodes",
"sonarr.EpisodesAvailable": "Episodes Available",
"sonarr.EpisodesCount": "{} Episodes",
"sonarr.EpisodeFileDeleted": "Episode File Deleted",
"sonarr.EpisodeFileRenamed": "Episode File Renamed",
"sonarr.EpisodeFilesDeleted": "Episode Files Deleted",
"sonarr.EpisodeImported": "Episode Imported ({})",
"sonarr.EpisodeNumber": "Episode {}",
"sonarr.FailedToAddSeries": "Failed to Add Series",
"sonarr.FailedToAddTag": "Failed to Add Tag",
"sonarr.FailedToBackupDatabase": "Failed to Backup Database",
"sonarr.FailedToDeleteEpisodeFile": "Failed to Delete Episode File",
"sonarr.FailedToDeleteEpisodeFiles": "Failed to Delete Episode Files",
"sonarr.FailedToDownloadRelease": "Failed to Download Release",
"sonarr.FailedToMonitorEpisode": "Failed to Monitor Episode",
"sonarr.FailedToMonitorSeason": "Failed to Monitor Season",
@@ -662,6 +722,7 @@
"sonarr.FailedToRemoveFromQueue": "Failed to Remove From Queue",
"sonarr.FailedToRemoveSeries": "Failed to Remove Series",
"sonarr.FailedToRunRSSSync": "Failed to Run RSS Sync",
"sonarr.FailedToSearchForEpisodes": "Failed to Search for Episodes",
"sonarr.FailedToSearchForMonitoredEpisodes": "Failed to Search for Monitored Episodes",
"sonarr.FailedToSeasonSearch": "Failed to Season Search",
"sonarr.FailedToSearch": "Failed to Search",
@@ -706,6 +767,8 @@
"sonarr.More": "More",
"sonarr.Name": "Name",
"sonarr.NoEpisodesFound": "No Episodes Found",
"sonarr.NoEpisodeFilesFound": "No Episode Files Found",
"sonarr.NoEpisodeFilesFoundDeleteMessage": "No selected episodes have files to delete",
"sonarr.NoHistoryFound": "No History Found",
"sonarr.NoLongerMonitoring": "No Longer Monitoring",
"sonarr.NoMessagesFound": "No Messages Found",
@@ -715,6 +778,7 @@
"sonarr.NoSeriesFound": "No Series Found",
"sonarr.NoSummaryAvailable": "No Summary Available",
"sonarr.NoTagsFound": "No Tags Found",
"sonarr.OneEpisode": "1 Episode",
"sonarr.OneSeason": "1 Season",
"sonarr.Other": "Other",
"sonarr.Overview": "Overview",
@@ -728,6 +792,7 @@
"sonarr.Queue": "Queue",
"sonarr.Queued": "Queued",
"sonarr.QueueDescription": "View Active & Queued Content",
"sonarr.QueueSize": "Queue Size",
"sonarr.Reason": "Reason",
"sonarr.RefreshSeries": "Refresh Series",
"sonarr.Rejected": "Rejected",
@@ -750,6 +815,7 @@
"sonarr.Search": "Search",
"sonarr.Searching": "Searching{}",
"sonarr.SearchingForEpisode": "Searching for Episode…",
"sonarr.SearchingForEpisodes": "Searching for Episodes…",
"sonarr.SearchingForSeason": "Searching for Season…",
"sonarr.SearchingForMonitoredEpisodes": "Searching for Monitored Episodes…",
"sonarr.SearchingDescription": "Searching for all missing episodes",
@@ -807,6 +873,7 @@
"sonarr.WordScore": "Word Score",
"tautulli.Activity": "Activity",
"tautulli.ActivityDetails": "Activity Details",
"tautulli.ActivityRefreshRate": "Activity Refresh Rate",
"tautulli.Audio": "Audio",
"tautulli.BackingUpConfiguration": "Backing Up Configuration…",
"tautulli.BackingUpConfigurationDescription": "Backing up your configuration in the background",
@@ -821,6 +888,7 @@
"tautulli.Converting": "Converting",
"tautulli.Container": "Container",
"tautulli.Copy": "Copy",
"tautulli.DefaultTerminationMessage": "Default Termination Message",
"tautulli.DeleteCache": "Delete Cache",
"tautulli.DeleteImageCache": "Delete Image Cache",
"tautulli.DeleteTemporarySessions": "Delete Temporary Sessions",
@@ -840,9 +908,12 @@
"tautulli.Duration": "Duration",
"tautulli.Episode": "Episode {}",
"tautulli.ETA": "ETA",
"tautulli.Graphs": "Graphs",
"tautulli.History": "History",
"tautulli.Library": "Library",
"tautulli.LibraryDetails": "Library Details",
"tautulli.Location": "Location",
"tautulli.MediaDetails": "Media Details",
"tautulli.Metadata": "Metadata",
"tautulli.More": "More",
"tautulli.None": "None",
@@ -857,6 +928,8 @@
"tautulli.SessionsOne": "1 Session",
"tautulli.SessionsMany": "{} Sessions",
"tautulli.Speed": "Speed: {}x",
"tautulli.Statistics": "Statistics",
"tautulli.StatisticsItemCount": "Statistics Item Count",
"tautulli.Stream": "Stream",
"tautulli.Subtitle": "Subtitle",
"tautulli.Terminate": "Terminate",
@@ -872,6 +945,7 @@
"tautulli.Transcodes": "Transcodes",
"tautulli.User": "User",
"tautulli.Users": "Users",
"tautulli.UserDetails": "User Details",
"tautulli.Video": "Video",
"tautulli.ViewWebGUI": "View Web GUI",
"tautulli.Year": "Year",

View File

@@ -39,7 +39,7 @@
"lunasea.Chores": "Quehaceres",
"lunasea.Clear": "Borrar",
"lunasea.Close": "Cerrar",
"lunasea.ComingSoon": "Próximamente",
"lunasea.ComingSoon": "Muy pronto",
"lunasea.Copied": "Copiado",
"lunasea.CopiedContentToTheClipboard": "Contenido copiado en el portapapeles",
"lunasea.Critical": "Crítica",
@@ -47,15 +47,18 @@
"lunasea.Days": "{} Días",
"lunasea.DaysAgo": "Hace {} días",
"lunasea.Debug": "Depurar",
"lunasea.Delete": "Eliminar",
"lunasea.Delete": "Borrar",
"lunasea.Descending": "Descendente",
"lunasea.Develop": "Desarrollar",
"lunasea.Disable": "Desactivar",
"lunasea.Disabled": "Desactivado",
"lunasea.Dismiss": "Descartar",
"lunasea.Docs": "Documentos",
"lunasea.DownloadClient": "Descargar el cliente",
"lunasea.Edge": "Borde",
"lunasea.Error": "Error",
"lunasea.EverySecond": "Cada segundo",
"lunasea.EverySeconds": "Cada {} segundos",
"lunasea.ExternalModules": "Módulos externos",
"lunasea.Features": "Características",
"lunasea.Fixes": "Arreglos",
@@ -69,6 +72,7 @@
"lunasea.IncorrectEncryptionKey": "Clave de cifrado incorrecta",
"lunasea.Internal": "Interno",
"lunasea.InvalidFileTypeSelected": "Tipo de archivo seleccionado no válido",
"lunasea.Items": "{} Artículos",
"lunasea.JustNow": "Ahora mismo",
"lunasea.Minutes": "{} minutos",
"lunasea.MinutesAgo": "Hace {} minutos",
@@ -77,12 +81,14 @@
"lunasea.Months": "{} meses",
"lunasea.MonthsAgo": "Hace {} meses",
"lunasea.New": "Nuevo",
"lunasea.No": "No",
"lunasea.NoModulesEnabled": "Sin módulos habilitados",
"lunasea.NotSet": "No establecido",
"lunasea.OneDay": "1 día",
"lunasea.OneDayAgo": "Hace 1 día",
"lunasea.OneHour": "1 hora",
"lunasea.OneHourAgo": "Hace 1 hora",
"lunasea.OneItem": "1 Artículo",
"lunasea.OneMinute": "1 minuto",
"lunasea.OneMinuteAgo": "Hace 1 minuto",
"lunasea.OneMonth": "1 mes",
@@ -94,11 +100,12 @@
"lunasea.Options": "Opciones",
"lunasea.Other": "Otro",
"lunasea.Page": "Página",
"lunasea.PlatformSpecific": "Plataforma específica",
"lunasea.PleaseTryAgain": "Por favor, inténtelo de nuevo",
"lunasea.Production": "Producción",
"lunasea.Refresh": "Actualizar",
"lunasea.Refreshing": "Refrescando…",
"lunasea.Remove": "Eliminar",
"lunasea.Remove": "Borrar",
"lunasea.Rename": "Renombrar",
"lunasea.Restore": "Restaurar",
"lunasea.Retry": "Reintentar",
@@ -107,9 +114,11 @@
"lunasea.Seconds": "{} segundos",
"lunasea.SecondsAgo": "Hace {} segundos",
"lunasea.Set": "Establecer",
"lunasea.Settings": "Configuración",
"lunasea.Settings": "Ajustes",
"lunasea.Stable": "Estable",
"lunasea.StartingView": "Vista inicial",
"lunasea.ThankYou": "Gracias",
"lunasea.ThankYouMessage": "¡Gracias por apoyar a la comunidad del código abierto!",
"lunasea.Today": "Hoy",
"lunasea.TransactionFailure": "Error de transacción",
"lunasea.TryAgain": "Volver a intentar",
@@ -125,6 +134,7 @@
"lunasea.Website": "Sitio web",
"lunasea.Years": "{} años",
"lunasea.YearsAgo": "Hace {} años",
"lunasea.Yes": "Sí",
"overseerr.NoRequests": "Sin solicitudes",
"overseerr.OneRequest": "1 solicitud",
"overseerr.SomeRequests": "{} solicitudes",
@@ -170,12 +180,15 @@
"radarr.Codec": "Códec",
"radarr.Configure": "Configurar",
"radarr.Copy": "Copiar",
"radarr.CopyFiles": "Enlace permanente/Copiar archivos",
"radarr.CopyFull": "Enlazar/Copiar archivos",
"radarr.CutoffUnmet": "Límite no alcanzado",
"radarr.DateAdded": "Fecha añadida",
"radarr.DigitalRelease": "Publicación digital",
"radarr.DirectoryNotFound": "Directorio no encontrado",
"radarr.Discover": "Descubra",
"radarr.DiscoverSuggestions": "Descubrir las sugerencias",
"radarr.DiscoverSuggestionsDescription": "Agregar las versiones recomendadas a Discover",
"radarr.Disks": "Discos",
"radarr.DownloadFailed": "Descarga fracasó",
"radarr.DownloadIgnored": "Descarga ignorada",
@@ -206,8 +219,11 @@
"radarr.MonitoredDescription": "Monitorear nuevos lanzamientos",
"radarr.More": "Más",
"radarr.Move": "Mover",
"radarr.MoveFiles": "Mover los archivos",
"radarr.MoveFilesDescription": "¿Quieres mover los archivos?",
"radarr.MoveFull": "Mover archivos",
"radarr.Movie": "Película",
"radarr.MovieDetails": "Detalles de la película",
"radarr.MovieFileDeleted": "Archivo de película eliminado",
"radarr.MovieFileRenamed": "Archivo de película renombrado",
"radarr.MovieImported": "Película importada ({})",
@@ -230,9 +246,10 @@
"radarr.QualityProfile": "Perfil de calidad",
"radarr.Queue": "Cola",
"radarr.QueueDescription": "Ver contenido activo y en cola",
"radarr.QueueSize": "Tamaño de la cola",
"radarr.Quick": "Rápidamente",
"radarr.RefreshMovie": "Actualizar película",
"radarr.Rejected": "Rechazado",
"radarr.RefreshMovie": "Actualizar la película",
"radarr.Rejected": "Rechazada",
"radarr.Released": "Estrenada",
"radarr.ReleasedToday": "Estrena hoy",
"radarr.Releases": "Comunicados",
@@ -266,6 +283,7 @@
"radarr.UnmappedFolders": "{} Carpetas no asignadas",
"radarr.UnmonitorMovie": "No monitorear",
"radarr.Unmonitored": "No monitoreadas",
"radarr.Unreleased": "Sin publicar",
"radarr.Upcoming": "Próximamente",
"radarr.UpdateLibrary": "Actualizar librería",
"radarr.UpdateMovie": "Actualizar película",
@@ -282,6 +300,22 @@
"sabnzbd.Descending": "Descendente",
"sabnzbd.Duplicate": "Duplicado",
"sabnzbd.Failed": "Fallido",
"sabnzbd.StandbyPC": "PC en modo de espera",
"sabnzbd.HibernatePC": "Hibernar el PC",
"sabnzbd.Size": "Tamaño",
"sabnzbd.Normal": "Normal",
"sabnzbd.RepairUnpack": "Reparar/desembalar",
"sabnzbd.None": "Ninguno",
"sabnzbd.RepairUnpackDelete": "Reparar/Deshacer/Borrar",
"sabnzbd.Low": "Bajo",
"sabnzbd.ShutdownSABnzbd": "Apagar SABnzbd",
"sabnzbd.Paused": "En pausa",
"sabnzbd.Stop": "Parar",
"sabnzbd.Repair": "Reparar",
"sabnzbd.Name": "Nombre",
"sabnzbd.High": "Alto",
"sabnzbd.Force": "Fuerza",
"sabnzbd.ShutdownPC": "Apagar el PC",
"search.Alphabetical": "Alfabética",
"search.Category": "Categoria",
"search.Comments": "Comentarios",
@@ -303,6 +337,20 @@
"search.Categories": "Categorias",
"search.NoSubcategoriesFound": "Subcategorías no encontradas",
"search.Results": "Resultados",
"search.DeleteIndexer": "Borrar un indexador",
"search.HideAdultCategoriesDescription": "Ocultar el contenido para adultos",
"search.ShowLinks": "Mostrar los enlaces",
"search.EditIndexer": "Editar un indexador",
"search.IndexerDeleted": "Indexador borrado",
"search.NoIndexersFound": "No se han encontrado indexadores",
"search.HideAdultCategories": "Ocultar las categorías para adultos",
"search.FailedToAddIndexer": "Error al añadir el indexador",
"search.AddIndexer": "Añadir un indexador",
"search.IndexerNotFound": "No se encuentra el indexador",
"search.ShowLinksDescription": "Mostrar los enlaces de la descarga y los comentarios",
"search.IndexerAPIKey": "Clave dela API de indexación",
"search.IndexerAdded": "Indexador añadido",
"search.IndexerAPIHost": "Indexador del Host de la API",
"settings.BroadcastAddressHint1": "Esta es la dirección de transmisión de su red local",
"settings.AccountHelp": "Cuenta LunaSea",
"settings.AddHeader": "Añadir cabecera",
@@ -750,6 +798,16 @@
"tautulli.Transcode": "Transcodificar",
"tautulli.Transcodes": "Transcodificaciones",
"tautulli.ETA": "Tiempo Restante",
"tautulli.Converting": "Conversión",
"tautulli.Speed": "Velocidad: {}x",
"tautulli.ActivityRefreshRate": "Frecuencia de actualización de la actividad",
"tautulli.DefaultTerminationMessage": "Mensaje de finalización predeterminado",
"tautulli.Graphs": "Gráficos",
"tautulli.LibraryDetails": "Detalles de la biblioteca",
"tautulli.MediaDetails": "Detalles de los medios",
"tautulli.Statistics": "Estadísticas",
"tautulli.StatisticsItemCount": "Estadísticas del recuento de artículos",
"tautulli.UserDetails": "Detalles del usuario",
"wake_on_lan.MagicPacketSent": "Paquete mágico enviado",
"wake_on_lan.MagicPacketSentMessage": "¡Su máquina debería estar despertando!",
"wake_on_lan.MagicPacketFailedToSend": "Error al enviar Magic Packet"

View File

@@ -57,6 +57,8 @@
"lunasea.DownloadClient": "Client de téléchargement",
"lunasea.Edge": "Limite",
"lunasea.Error": "Erreur",
"lunasea.EverySecond": "Chaque seconde",
"lunasea.EverySeconds": "Toutes les {} secondes",
"lunasea.ExternalModules": "Modules externes",
"lunasea.Features": "Fonctionnalités",
"lunasea.Fixes": "Corrections",
@@ -70,6 +72,7 @@
"lunasea.IncorrectEncryptionKey": "Clé de chiffrement incorrecte",
"lunasea.Internal": "Interne",
"lunasea.InvalidFileTypeSelected": "Type de fichier sélectionné invalide",
"lunasea.Items": "{} article",
"lunasea.JustNow": "À l'instant",
"lunasea.Minutes": "{} Minutes",
"lunasea.MinutesAgo": "Il y a {} minutes",
@@ -85,6 +88,7 @@
"lunasea.OneDayAgo": "Il y a 1 jour",
"lunasea.OneHour": "1 Heure",
"lunasea.OneHourAgo": "Il y a 1 heure",
"lunasea.OneItem": "1 article",
"lunasea.OneMinute": "1 Minute",
"lunasea.OneMinuteAgo": "Il y a 1 minute",
"lunasea.OneMonth": "1 mois",
@@ -101,7 +105,7 @@
"lunasea.Production": "Production",
"lunasea.Refresh": "Actualiser",
"lunasea.Refreshing": "Actualisation…",
"lunasea.Remove": "Supprimer",
"lunasea.Remove": "Retirer",
"lunasea.Rename": "Renommer",
"lunasea.Restore": "Restaurer",
"lunasea.Retry": "Réessayer",
@@ -113,6 +117,8 @@
"lunasea.Settings": "Réglages",
"lunasea.Stable": "Stable",
"lunasea.StartingView": "Page d'accueil",
"lunasea.ThankYou": "Merci",
"lunasea.ThankYouMessage": "Merci de soutenir la communauté open-source !",
"lunasea.Today": "Aujourd'hui",
"lunasea.TransactionFailure": "Transaction échouée",
"lunasea.TryAgain": "Réessayer",
@@ -181,6 +187,8 @@
"radarr.DigitalRelease": "Sortie numérique",
"radarr.DirectoryNotFound": "Répertoire non trouvé",
"radarr.Discover": "Découvrir",
"radarr.DiscoverSuggestions": "Découvertes suggérées",
"radarr.DiscoverSuggestionsDescription": "Ajouter les sorties suggérées dans découvertes",
"radarr.Disks": "Disques",
"radarr.DownloadFailed": "Échec du téléchargement",
"radarr.DownloadIgnored": "Téléchargement ignoré",
@@ -215,6 +223,7 @@
"radarr.MoveFilesDescription": "Voulez-vous déplacer les fichiers ?",
"radarr.MoveFull": "Déplacer les fichiers",
"radarr.Movie": "Film",
"radarr.MovieDetails": "Détails du film",
"radarr.MovieFileDeleted": "Fichier vidéo supprimé",
"radarr.MovieFileRenamed": "Fichier vidéo renommé",
"radarr.MovieImported": "Film importé ({})",
@@ -237,6 +246,7 @@
"radarr.QualityProfile": "Profil de qualité",
"radarr.Queue": "File d'attente",
"radarr.QueueDescription": "Voir le contenu actif et en attente",
"radarr.QueueSize": "Taille de la file d'attente",
"radarr.Quick": "Rapide",
"radarr.RefreshMovie": "Rafraichir le film",
"radarr.Rejected": "Rejeté",
@@ -327,6 +337,20 @@
"search.Alphabetical": "Alphabétique",
"search.AllSubcategories": "Toutes les sous-catégories",
"search.Age": "Âge",
"search.AddIndexer": "Ajouter un indexeur",
"search.HideAdultCategories": "Masquer les catégories adultes",
"search.ShowLinks": "Afficher les liens",
"search.FailedToAddIndexer": "Échec de l'ajout de l'indexeur",
"search.IndexerDeleted": "Indexeur supprimé",
"search.DeleteIndexer": "Supprimer l'indexeur",
"search.EditIndexer": "Modifier l'indexeur",
"search.HideAdultCategoriesDescription": "Masquer le contenu pour adultes",
"search.IndexerAdded": "Indexeur ajouté",
"search.IndexerNotFound": "Indexeur introuvable",
"search.NoIndexersFound": "Aucun indexeur trouvé",
"search.IndexerAPIHost": "API Host de lIndexer",
"search.IndexerAPIKey": "Clé API de lIndexer",
"search.ShowLinksDescription": "Afficher les liens de téléchargements et commentaires",
"settings.MustBeValueBetween": "Doit être une valeur entre {} et {}",
"settings.UsernameValidation": "Nom d'utilisateur requis",
"settings.Username": "Nom d'utilisateur",
@@ -522,7 +546,7 @@
"settings.SortDirection": "Direction du tri",
"settings.ClearImageCache": "Effacer le cache d'image",
"settings.ClearImageCacheHint1": "Êtes-vous sûr(e) de vouloir effacer toutes les images du cache ?",
"settings.ClearImageCacheHint2": "Le retéléchargement d'images pour une grande bibliothèque peut consommer une grande quantité de données.",
"settings.ClearImageCacheHint2": "Le re-téléchargement d'images pour une grande bibliothèque peut consommer une grande quantité de données.",
"settings.Network": "Réseau",
"settings.NetworkDescription": "Personnaliser les fonctionnalités du réseau",
"settings.TLSCertificateValidation": "Validation du certificat TLS",
@@ -596,6 +620,39 @@
"settings.BootModule": "Module de démarrage",
"settings.General": "Général",
"settings.GeneralDescription": "Personnaliser LunsaSea",
"settings.ExportedLogsMessage": "Les journaux (logs) ont été exportés avec succès",
"settings.ImageCacheCleared": "Image cache effacée",
"settings.NotAuthorizedMessage": "LunaSea nest pas autorisé à afficher les notifications. Merci daller dans les réglages de votre appareil pour activer les notifications.",
"settings.User": "Utilisateur",
"settings.Logs": "Journaux (logs)",
"settings.LogsDescription": "Voir, exporter et effacer les journaux (logs)",
"settings.AllLogs": "Tous les journaux",
"settings.AllLogsDescription": "Voir tous les types de journaux",
"settings.CalendarSettingsDescription": "Personnaliser le calendrier commun",
"settings.Class": "Classe",
"settings.CleanSlate": "Repartir à zéro",
"settings.Clear": "Effacer",
"settings.ClearImageCacheDescription": "Effacer les images de la mémoire permanente",
"settings.ConfigurationCleared": "Configuration annulée",
"settings.ConfigurationClearedDescription": "Votre configuration a été effacée",
"settings.CopiedURLFor": "Copier le lien pour {}",
"settings.CopiedDeviceURL": "Copier le lien de votre appareil dans le presse-papiers",
"settings.CopiedUserURL": "Copier votre lien utilisateur dans le presse-papiers",
"settings.Device": "Appareil",
"settings.Exception": "Exception",
"settings.Export": "Exporter",
"settings.ExportedLogs": "Journaux (logs) exportés",
"settings.FailedToClearImageCache": "Impossible deffacer limage cache",
"settings.FailedToClearImageCacheDescription": "Limage cache na pas pu être effacé",
"settings.GettingStarted": "Débuter",
"settings.GettingStartedDescription": "Information & instruction de configuration",
"settings.ImageCacheClearedDescription": "Limage cache a été effacée",
"settings.LogsCleared": "Journaux (logs) effacés",
"settings.LogsClearedDescription": "Lensemble des journaux (logs) ont été effacés",
"settings.Method": "Méthode",
"settings.NotAuthorized": "Non autorisé",
"settings.NotAvailable": "Non disponible",
"settings.NoLogsFound": "Aucun journaux (logs) trouvés",
"sonarr.AddedOn": "Ajouté le",
"sonarr.AddedSeries": "Série ajoutée",
"sonarr.AddedTag": "Étiquette ajoutée",
@@ -709,7 +766,7 @@
"sonarr.FailedToUpdateLibrary": "Échec de la mise à jour de la bibliothèque",
"sonarr.FailedToUpdateSeries": "Échec de la mise à jour des séries",
"sonarr.FilterCatalogue": "Trier le catalogue",
"sonarr.FilterReleases": "Trier les versions",
"sonarr.FilterReleases": "Filtrer les versions",
"sonarr.GrabbedFrom": "Récupéré depuis {}",
"sonarr.HistoryDescription": "Afficher les activités récentes",
"sonarr.InfoURL": "Infos de l'URL",
@@ -807,14 +864,23 @@
"sonarr.SearchingForMonitoredEpisodes": "Recherche d'épisodes suivis…",
"sonarr.SearchMonitored": "Rechercher des suivis",
"sonarr.FailedToSearchForMonitoredEpisodes": "Échec de la recherche des épisodes suivis",
"sonarr.EpisodesCount": "{} épisodes",
"sonarr.EpisodeFilesDeleted": "Fichiers d'épisodes supprimés",
"sonarr.FailedToDeleteEpisodeFiles": "Échec de la suppression des fichiers d'épisode",
"sonarr.FailedToSearchForEpisodes": "Échec de la recherche d'épisodes",
"sonarr.NoEpisodeFilesFound": "Aucun fichier d'épisode trouvé",
"sonarr.NoEpisodeFilesFoundDeleteMessage": "Aucun épisode sélectionné n'a de fichiers à supprimer",
"sonarr.OneEpisode": "1 épisode",
"sonarr.SearchingForEpisodes": "Recherche d'épisodes…",
"sonarr.QueueSize": "Taille de la file dattente",
"tautulli.Burn": "Graver",
"tautulli.Year": "Année",
"tautulli.ViewWebGUI": "Afficher l'interface Web",
"tautulli.Video": "Vidéo",
"tautulli.Users": "Utilisateurs",
"tautulli.User": "Utilisateur",
"tautulli.Transcodes": "Conversions",
"tautulli.Transcode": "Conversion",
"tautulli.Transcodes": "Transcodés",
"tautulli.Transcode": "Transcoder",
"tautulli.Title": "Titre",
"tautulli.Throttled": "Limité",
"tautulli.TerminateSessionFailed": "Échec de la fin de la session",
@@ -829,7 +895,7 @@
"tautulli.SessionsMany": "{} Sessions",
"tautulli.SessionsOne": "1 session",
"tautulli.Sessions": "Sessions",
"tautulli.SessionEnded": "Session terminée",
"tautulli.SessionEnded": "Session cloturée",
"tautulli.Season": "Saison {}",
"tautulli.Quality": "Qualité",
"tautulli.Product": "Produit",
@@ -839,10 +905,10 @@
"tautulli.None": "Aucun",
"tautulli.More": "Plus",
"tautulli.Metadata": "Métadonnées",
"tautulli.Location": "Localisation",
"tautulli.Location": "Emplacement",
"tautulli.Library": "Bibliothèque",
"tautulli.History": "Historique",
"tautulli.ETA": "Temps restant",
"tautulli.ETA": "Heure d'arrivée estimée",
"tautulli.Episode": "Épisode {}",
"tautulli.Duration": "Durée",
"tautulli.DirectStreams": "Flux directs",
@@ -877,6 +943,14 @@
"tautulli.Activity": "Activité",
"tautulli.Speed": "Vitesse : x{}",
"tautulli.Converting": "Conversion",
"tautulli.Statistics": "Statistiques",
"tautulli.MediaDetails": "Détails des médias",
"tautulli.UserDetails": "Détails de l'utilisateur",
"tautulli.ActivityRefreshRate": "Temps dactualisation de lactivité",
"tautulli.DefaultTerminationMessage": "Message de clôture par défaut",
"tautulli.Graphs": "Graphiques",
"tautulli.LibraryDetails": "Détails de la librairie",
"tautulli.StatisticsItemCount": "Nombre déléments statistiques",
"wake_on_lan.MagicPacketSent": "Paquet magique envoyé",
"wake_on_lan.MagicPacketSentMessage": "Votre machine devrait se réveiller !",
"wake_on_lan.MagicPacketFailedToSend": "Échec de l'envoi du paquet magique"

View File

@@ -52,6 +52,8 @@
"lunasea.Edge": "Edge",
"lunasea.Error": "Erro",
"lunasea.ExternalModules": "Módulos Externos",
"lunasea.Features": "Recursos",
"lunasea.Fixes": "Correções",
"lunasea.FullChangelog": "Registro de alterações completo",
"lunasea.GoBack": "Voltar",
"lunasea.GoToSettings": "Ir para as Definições",
@@ -62,6 +64,7 @@
"lunasea.IncorrectEncryptionKey": "Chave de encriptação incorreta",
"lunasea.Internal": "Interno",
"lunasea.InvalidFileTypeSelected": "Tipo de arquivo selecionado inválido",
"lunasea.Items": "{} Itens",
"lunasea.JustNow": "Agora mesmo",
"lunasea.Minutes": "{} Minutos",
"lunasea.MinutesAgo": "{} Minutos atrás",
@@ -70,12 +73,14 @@
"lunasea.Months": "{} Meses",
"lunasea.MonthsAgo": "{} Meses atrás",
"lunasea.New": "Novo",
"lunasea.No": "Não",
"lunasea.NoModulesEnabled": "Nenhum Módulo Ativado",
"lunasea.NotSet": "Não Definido",
"lunasea.OneDay": "1 Dia",
"lunasea.OneDayAgo": "1 Dia atrás",
"lunasea.OneHour": "1 Hora",
"lunasea.OneHourAgo": "1 Hora atrás",
"lunasea.OneItem": "1 Item",
"lunasea.OneMinute": "1 Minuto",
"lunasea.OneMinuteAgo": "1 Minuto atrás",
"lunasea.OneMonth": "1 Mês",
@@ -85,6 +90,7 @@
"lunasea.OneYear": "1 Ano",
"lunasea.OneYearAgo": "1 Ano atrás",
"lunasea.Options": "Opções",
"lunasea.Other": "Outro",
"lunasea.Page": "Página",
"lunasea.PlatformSpecific": "Específico da plataforma",
"lunasea.PleaseTryAgain": "Por favor, tente novamente",
@@ -102,6 +108,7 @@
"lunasea.Set": "Definir",
"lunasea.Settings": "Definições",
"lunasea.Stable": "Estável",
"lunasea.ThankYou": "Obrigado",
"lunasea.Today": "Hoje",
"lunasea.TransactionFailure": "Falha na transação",
"lunasea.TryAgain": "Tente novamente",
@@ -117,6 +124,7 @@
"lunasea.Website": "Website",
"lunasea.Years": "{} Anos",
"lunasea.YearsAgo": "{} Anos atrás",
"lunasea.Yes": "Sim",
"overseerr.NoRequestsFound": "Nenhum Pedido Encontrado",
"overseerr.Requests": "Pedidos",
"overseerr.NoUsersFound": "Nenhum Usuário Encontrado",
@@ -477,6 +485,15 @@
"settings.TLSCertificateValidationDescription": "Validar certificados em conexões TLS",
"settings.UpdateEmail": "Atualizar e-mail",
"settings.UpdatePassword": "Atualizar senha",
"settings.Clear": "Limpar",
"settings.Device": "Dispositivo",
"settings.Export": "Exportar",
"settings.General": "Geral",
"settings.NotAuthorized": "Não Autorizado",
"settings.NotAvailable": "Não Disponível",
"settings.User": "Usuário",
"settings.AllLogs": "Todos os Registros",
"settings.GeneralDescription": "Customizar LunaSea",
"sonarr.AddedTag": "Tag Adicionada",
"sonarr.AddSeries": "Adicionar Série",
"sonarr.DeleteFile": "Apagar Ficheiro",

View File

@@ -13,5 +13,46 @@
"dashboard.TwoWeeks": "Două săptămâni",
"dashboard.Wednesday": "Miercuri",
"dashboard.FutureDays": "Zile în viitor",
"dashboard.Monday": "Luni"
"dashboard.Monday": "Luni",
"lidarr.StartSearchFor": "Începe Căutarea Pentru…",
"lidarr.StartSearchForMissingAlbums": "Începe căutarea pentru albume lipsă",
"sonarr.AddedOn": "Adăugat La",
"sonarr.AddedSeries": "Seriale Adăugate",
"sonarr.AddedTag": "Etichetă Adăugată",
"sonarr.AddSeries": "Adaugă Serial",
"sonarr.AddReleaseToBlocklist": "Adaugă la Lista de Blocate",
"sonarr.AddToExclusionList": "Adaugă la Lista de Excluderi",
"sonarr.Age": "Vârstă",
"sonarr.All": "Toate",
"sonarr.AllSeasons": "Toate Sezoanele",
"sonarr.Approved": "Aprobat",
"sonarr.Audio": "Audio",
"sonarr.BackingUpDatabase": "Copie de rezervă a bazei de date{}",
"sonarr.BackingUpDatabaseDescription": "Copie de rezervă a bazei de date în fundal",
"sonarr.BackupDatabase": "Copie de rezervă a bazei de date",
"sonarr.Bitrate": "Rata de biți",
"sonarr.BitDepth": "Adâncime de biți",
"sonarr.Channels": "Canale",
"sonarr.CheckDownloadClient": "Verifică clientul de descărcare pentru mai multe detalii",
"sonarr.Codec": "Codec",
"sonarr.Client": "Client",
"sonarr.Continuing": "Continuând",
"sonarr.DeleteEpisodeFile": "Șterge Fișier Episod",
"sonarr.DeleteEpisodeFileHint1": "Sigur dorești să ștergi acest fișier de episod?",
"sonarr.DeleteFile": "Șterge Fișier",
"sonarr.DeleteFiles": "Șterge Fișiere",
"sonarr.DeleteReasonUpgrade": "Fișierul a fost șters pentru a importa o actualizare",
"sonarr.DeleteReasonMissingFromDisk": "Sonarr nu a putut găsi fișierul pe disc, așa că a fost eliminat",
"sonarr.Destination": "Destinație",
"sonarr.DestinationRelative": "Destinație Relativă",
"sonarr.Download": "Descărcare",
"sonarr.Downloaded": "Descărcat",
"sonarr.DownloadedImporting": "Descărcat: Se Importă",
"sonarr.DownloadedWaitingToImport": "Descărcat: Se Așteaptă Importarea",
"sonarr.DownloadedWaitingToProcess": "Descărcat: Se Așteaptă Procesarea",
"sonarr.Downloading": "Se Descarcă",
"sonarr.DownloadingWithMessage": "Se Descarcă: {}",
"sonarr.Automatic": "Automat",
"sonarr.AutomaticSearch": "Căutare Automată",
"sonarr.DeleteReasonManual": "Fișierul a fost șters de către UI"
}

132
assets/localization/sk.json Normal file
View File

@@ -0,0 +1,132 @@
{
"dashboard.Calendar": "Kalendár",
"dashboard.Friday": "Piatok",
"dashboard.MinimumOfOneDay": "Minimálne 1 deň",
"dashboard.Modules": "Moduly",
"dashboard.Monday": "Pondelok",
"dashboard.OneMonth": "Jeden mesiac",
"dashboard.OneWeek": "Jeden týždeň",
"dashboard.PastDays": "Uplynulé dni",
"dashboard.PastDaysDescription": "Vyberte počet dní v minulosti, pre ktoré sa majú načítať záznamy z kalendára.",
"dashboard.Saturday": "Sobota",
"dashboard.Schedule": "Prehľad",
"dashboard.Sunday": "Nedeľa",
"dashboard.FutureDaysDescription": "Vyberte počet dní v budúcnosti, pre ktoré sa majú načítať záznamy z kalendára.",
"dashboard.TwoWeeks": "Dva týždne",
"dashboard.Wednesday": "Streda",
"dashboard.FutureDays": "Budúce dni",
"dashboard.Tuesday": "Utorok",
"dashboard.NoNewContent": "Žiadny nový obsah",
"dashboard.Thursday": "Štvrtok",
"lidarr.StartSearchFor": "Začnite hľadať…",
"lidarr.StartSearchForMissingAlbums": "Začnite hľadať chýbajúce albumy",
"overseerr.Approved": "Schválené",
"overseerr.Issues": "Problémy",
"overseerr.NoIssues": "Žiadne problémy",
"overseerr.NoIssuesFound": "Nenašli sa žiadne problémy",
"overseerr.NoRequests": "Žiadne požiadavky",
"overseerr.NoRequestsFound": "Nenašli sa žiadne požiadavky",
"overseerr.OneRequest": "1 požiadavka",
"overseerr.Open": "Otvorené",
"overseerr.Other": "Iné",
"overseerr.PartiallyAvailable": "Čiastočne dostupné",
"overseerr.Pending": "Čakajúce",
"overseerr.SomeRequests": "Požiadavky",
"overseerr.Resolved": "Vyriešené",
"overseerr.RequestedBy": "Vyžiadané {}",
"overseerr.Requests": "Požiadavky",
"overseerr.Subtitle": "Titulky",
"overseerr.Users": "Používatelia",
"overseerr.Video": "Video",
"overseerr.Requested": "Vyžiadané",
"overseerr.Declined": "Zamietnuté",
"overseerr.OpenedBy": "Otvorené",
"overseerr.Audio": "Audio",
"overseerr.Processing": "Spracovávané",
"overseerr.Available": "Dostupné",
"overseerr.NoUsersFound": "Žiadni nájdení používatelia",
"overseerr.UnknownUser": "Neznámy používateľ",
"sabnzbd.All": "Všetky",
"sabnzbd.Ascending": "Vzostupne",
"sabnzbd.CategoryDefault": "Predvolená kategória",
"sabnzbd.Completed": "Dokončené",
"sabnzbd.Descending": "Zostupne",
"sabnzbd.Duplicate": "Duplikát",
"sabnzbd.Force": "Vynútiť",
"sabnzbd.High": "Vysoká",
"sabnzbd.Name": "Názov",
"sabnzbd.Normal": "Normálna",
"sabnzbd.Repair": "Opraviť",
"sabnzbd.RepairUnpackDelete": "Opraviť/rozbaliť/vymazať",
"sabnzbd.Size": "Veľkosť",
"sabnzbd.StandbyPC": "Pohotovostný režim PC",
"sabnzbd.Stop": "Stop",
"sabnzbd.RepairUnpack": "Opraviť/rozbaliť",
"sabnzbd.Low": "Nízka",
"sabnzbd.None": "Žiadne",
"sabnzbd.Age": "Vek",
"sabnzbd.Failed": "Neúspešné",
"sabnzbd.HibernatePC": "Hibernovať PC",
"sabnzbd.Paused": "Pozastavené",
"sabnzbd.ShutdownPC": "Vypnúť PC",
"sabnzbd.ShutdownSABnzbd": "Vypnúť SABnzbd",
"search.AllSubcategories": "Všetky podkategórie",
"search.Category": "Kategória",
"search.Download": "Stiahnuť",
"search.Downloading": "Sťahovanie…",
"search.DownloadingNZBToDevice": "Sťahuje sa NZB do zariadenia",
"search.DownloadToDevice": "Stiahnuť do zariadenia",
"search.FailedToDownloadNZB": "Nepodarilo sa stiahnuť NZB",
"search.FailedToSend": "Nepodarilo sa odoslať",
"search.NoSubcategoriesFound": "Nenašli sa žiadne podkategórie",
"search.Results": "Výsledky",
"search.Search": "Vyhľadávanie",
"search.SentTo": "Odoslané {}",
"search.Size": "Veľkosť",
"search.Subcategories": "Podkategórie",
"search.Age": "Vek",
"search.Alphabetical": "Abecedné",
"search.Categories": "Kategórie",
"search.Comments": "Komentáre",
"search.NoCategoriesFound": "Nenašli sa žiadne kategórie",
"search.NoResultsFound": "Nenašli sa žiadne výsledky",
"search.SentNZBData": "Odoslané NZB údaje",
"settings.Account": "Účet",
"settings.AccountDeleted": "Účet zmazaný",
"settings.AccountDescription": "Váš účet LunaSea",
"settings.AccountHelp": "Účet LunaSea",
"settings.AccountSettings": "Nastavenia účtu",
"settings.Add": "Pridať",
"settings.AddHeader": "Pridať hlavičku",
"settings.AddProfile": "Pridať profil",
"settings.AddProfileDescription": "Pridať nový profil",
"settings.AmoledTheme": "AMOLED téma",
"settings.AmoledThemeBorders": "AMOLED Okraje témy",
"settings.AmoledThemeBordersDescription": "Pridanie jemných hraníc v celom UI",
"settings.ApiKey": "API kľúč",
"settings.ApiKeyRequiredMessage": "API kľúč je potrebný na pripojenie k {}",
"settings.AccountDeletedMessage": "Odstránený účet LunaSea",
"settings.AccountHelpHint1": "LunaSea ponúka bezplatný účet na zálohovanie vašej konfigurácie do cloudu, pričom v budúcnosti pribudnú ďalšie funkcie!",
"settings.AddModule": "Pridať modul",
"settings.AddModuleFailed": "Nepodarilo sa pridať modul",
"settings.AddModuleSuccess": "Modul pridaný",
"settings.AddedProfile": "Pridaný profil",
"settings.AllFieldsAreRequired": "Všetky polia sú povinné",
"settings.AmoledThemeDescription": "Čisto čierna tmavá téma",
"settings.ApiKeyRequired": "API kľúč požadovaný",
"settings.AppearanceDescription": "Prispôsobenie vzhľadu a funkcií",
"settings.Appearance": "Vzhľad",
"tautulli.ActivityDetails": "Podrobnosti o aktivite",
"tautulli.BackingUpConfiguration": "Zálohovanie konfigurácie…",
"tautulli.BackingUpConfigurationDescription": "Zálohovanie konfigurácie na pozadí",
"tautulli.BackingUpConfigurationFailed": "Zlyhalo zálohovanie konfigurácie",
"tautulli.BackingUpDatabaseFailed": "Zlyhalo zálohovanie databázy",
"tautulli.BackupConfiguration": "Konfigurácia zálohovania",
"tautulli.Activity": "Aktivita",
"tautulli.Audio": "Audio",
"tautulli.BackingUpDatabase": "Zálohovanie databázy…",
"tautulli.BackingUpDatabaseDescription": "Zálohovanie databázy na pozadí",
"wake_on_lan.MagicPacketSent": "Odoslaný magický balík",
"wake_on_lan.MagicPacketFailedToSend": "Nepodarilo sa odoslať magický balík",
"wake_on_lan.MagicPacketSentMessage": "Váš počítač by sa mal prebúdzať!"
}

View File

@@ -57,6 +57,8 @@
"lunasea.DownloadClient": "İstemciyi İndir",
"lunasea.Edge": "Kenar",
"lunasea.Error": "Hata",
"lunasea.EverySecond": "Her Saniye",
"lunasea.EverySeconds": "Her {} Saniyede Bir",
"lunasea.ExternalModules": "Harici Modüller",
"lunasea.Features": "Özellikler",
"lunasea.Fixes": "Düzeltmeler",
@@ -70,6 +72,7 @@
"lunasea.IncorrectEncryptionKey": "Yanlış şifreleme anahtarı",
"lunasea.Internal": "Dahili",
"lunasea.InvalidFileTypeSelected": "Geçersiz Dosya Türü Seçildi",
"lunasea.Items": "{} Öge",
"lunasea.JustNow": "Az Önce",
"lunasea.Minutes": "{} Dakika",
"lunasea.MinutesAgo": "{} Dakika Önce",
@@ -85,6 +88,7 @@
"lunasea.OneDayAgo": "1 Gün Önce",
"lunasea.OneHour": "1 Saat",
"lunasea.OneHourAgo": "1 Saat Önce",
"lunasea.OneItem": "1 Öge",
"lunasea.OneMinute": "1 Dakika",
"lunasea.OneMinuteAgo": "1 Dakika Önce",
"lunasea.OneMonth": "1 Ay",
@@ -113,6 +117,8 @@
"lunasea.Settings": "Ayarlar",
"lunasea.Stable": "Kararlı",
"lunasea.StartingView": "Başlangıç Görünümü",
"lunasea.ThankYou": "Teşekkürler",
"lunasea.ThankYouMessage": "Açık kaynak topluluğunu desteklediğiniz için teşekkür ederiz!",
"lunasea.Today": "Bugün",
"lunasea.TransactionFailure": "İşlem Hatası",
"lunasea.TryAgain": "Tekrar Deneyin",

View File

@@ -57,6 +57,8 @@
"lunasea.DownloadClient": "下载客户端",
"lunasea.Edge": "边缘",
"lunasea.Error": "错误",
"lunasea.EverySecond": "每一秒",
"lunasea.EverySeconds": "每{}秒",
"lunasea.ExternalModules": "外部模块",
"lunasea.Features": "特征",
"lunasea.Fixes": "修复",
@@ -70,6 +72,7 @@
"lunasea.IncorrectEncryptionKey": "不正确的加密密匙",
"lunasea.Internal": "内部的",
"lunasea.InvalidFileTypeSelected": "不正确的文件类型",
"lunasea.Items": "{}项目",
"lunasea.JustNow": "刚才",
"lunasea.Minutes": "{} 分钟",
"lunasea.MinutesAgo": "{} 几分钟前",
@@ -181,6 +184,8 @@
"radarr.DigitalRelease": "数字发行",
"radarr.DirectoryNotFound": "找不到目录",
"radarr.Discover": "发现",
"radarr.DiscoverSuggestions": "发现建议",
"radarr.DiscoverSuggestionsDescription": "在发现中添加建议的版本",
"radarr.Disks": "磁盘",
"radarr.DownloadFailed": "下载失败",
"radarr.DownloadIgnored": "下载被忽略",
@@ -327,6 +332,20 @@
"search.Subcategories": "子类别",
"search.Age": "年龄",
"search.Download": "下载",
"search.AddIndexer": "添加索引器",
"search.FailedToAddIndexer": "添加索引器失败",
"search.HideAdultCategories": "隐藏成人类别",
"search.DeleteIndexer": "删除索引器",
"search.EditIndexer": "编辑索引器",
"search.IndexerDeleted": "索引器已删除",
"search.IndexerAdded": "添加索引器",
"search.IndexerNotFound": "未找到索引器",
"search.ShowLinks": "显示链接",
"search.ShowLinksDescription": "显示下载和评论链接",
"search.NoIndexersFound": "未找到索引器",
"search.HideAdultCategoriesDescription": "隐藏成人内容",
"search.IndexerAPIHost": "索引器API主机",
"search.IndexerAPIKey": "索引器API键",
"settings.AccountDescription": "账户描述",
"settings.AccountHelp": "账户帮助",
"settings.AddModule": "添加模块",
@@ -596,6 +615,10 @@
"settings.BootModule": "启动模块",
"settings.OpenDrawerOnBackAction": "从背面打开抽屉",
"settings.OpenDrawerOnBackActionDescription": "打开抽屉而不关闭LunaSea",
"settings.AllLogs": "所有日志",
"settings.AllLogsDescription": "查看所有类型的日志",
"settings.CalendarSettingsDescription": "自定义统一日历",
"settings.Class": "分类",
"sonarr.AddSeries": "添加系列",
"sonarr.AddedOn": "添加到",
"sonarr.Age": "年龄",
@@ -807,6 +830,8 @@
"sonarr.SearchMonitored": "监视搜索",
"sonarr.FailedToSearchForMonitoredEpisodes": "搜索监控剧集失败",
"sonarr.SearchingForMonitoredEpisodes": "正在搜索受监控的剧集…",
"sonarr.EpisodesCount": "{}剧集",
"sonarr.EpisodeFilesDeleted": "剧集文件已删除",
"tautulli.Activity": "活动",
"tautulli.Audio": "音频",
"tautulli.BackingUpConfiguration": "正在备份配置…",
@@ -877,6 +902,13 @@
"tautulli.TerminateSessionFailed": "终止会话失败",
"tautulli.Converting": "转换",
"tautulli.Speed": "倍速:{}x",
"tautulli.ActivityRefreshRate": "活动刷新率",
"tautulli.LibraryDetails": "库详细信息",
"tautulli.DefaultTerminationMessage": "默认终止消息",
"tautulli.Graphs": "曲线图",
"tautulli.MediaDetails": "媒体详细信息",
"tautulli.Statistics": "统计数据",
"tautulli.StatisticsItemCount": "统计项目计数",
"wake_on_lan.MagicPacketSent": "已发送幻包",
"wake_on_lan.MagicPacketSentMessage": "您的机器正在唤醒!",
"wake_on_lan.MagicPacketFailedToSend": "幻包发送失败"

View File

@@ -16,5 +16,5 @@ targets:
include_if_null: false
# Retrofit
retrofit_generator|retrofit:
retrofit_generator:
enabled: true

View File

@@ -15,8 +15,3 @@ environment_config:
type: String
default: edge
env_var: FLAVOR
sentryDSN:
type: String
default: ""
env_var: SENTRY_DSN

View File

@@ -21,6 +21,6 @@
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>11.0</string>
<string>12.0</string>
</dict>
</plist>

View File

@@ -1,3 +0,0 @@
#include? "Pods/Target Support Files/Pods-ImageNotification/Pods-ImageNotification.debug.xcconfig"
#include "Pods/Target Support Files/Pods-ImageNotification/Pods-ImageNotification.debug.xcconfig"
#include "Generated.xcconfig"

View File

@@ -1,3 +0,0 @@
#include? "Pods/Target Support Files/Pods-ImageNotification/Pods-ImageNotification.release.xcconfig"
#include "Pods/Target Support Files/Pods-ImageNotification/Pods-ImageNotification.release.xcconfig"
#include "Generated.xcconfig"

View File

@@ -2,3 +2,7 @@ source "https://rubygems.org"
gem "fastlane"
gem "cocoapods"
gem "abbrev"
gem "logger"
gem "mutex_m"
gem "csv"

View File

@@ -1,44 +1,59 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.6)
CFPropertyList (3.0.7)
base64
nkf
rexml
activesupport (7.0.4.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
abbrev (0.1.2)
activesupport (7.2.2.1)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
artifactory (3.0.15)
artifactory (3.0.17)
atomos (0.1.3)
aws-eventstream (1.2.0)
aws-partitions (1.731.0)
aws-sdk-core (3.170.1)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
aws-eventstream (1.3.2)
aws-partitions (1.1077.0)
aws-sdk-core (3.222.1)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
base64
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.63.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.119.1)
aws-sdk-core (~> 3, >= 3.165.0)
logger
aws-sdk-kms (1.99.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.182.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sigv4 (1.5.2)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.11.0)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
base64 (0.2.0)
benchmark (0.4.0)
bigdecimal (3.1.9)
claide (1.1.0)
cocoapods (1.12.0)
cocoapods (1.16.2)
addressable (~> 2.8)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.12.0)
cocoapods-core (= 1.16.2)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 1.6.0, < 2.0)
cocoapods-downloader (>= 2.1, < 3.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
cocoapods-search (>= 1.0.0, < 2.0)
cocoapods-trunk (>= 1.6.0, < 2.0)
@@ -50,8 +65,8 @@ GEM
molinillo (~> 0.8.0)
nap (~> 1.0)
ruby-macho (>= 2.3.0, < 3.0)
xcodeproj (>= 1.21.0, < 2.0)
cocoapods-core (1.12.0)
xcodeproj (>= 1.27.0, < 2.0)
cocoapods-core (1.16.2)
activesupport (>= 5.0, < 8)
addressable (~> 2.8)
algoliasearch (~> 1.0)
@@ -62,7 +77,7 @@ GEM
public_suffix (~> 4.0)
typhoeus (~> 1.0)
cocoapods-deintegrate (1.0.5)
cocoapods-downloader (1.6.3)
cocoapods-downloader (2.1)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.1)
@@ -74,19 +89,21 @@ GEM
colored2 (3.1.2)
commander (4.6.0)
highline (~> 2.0.0)
concurrent-ruby (1.2.2)
concurrent-ruby (1.3.5)
connection_pool (2.5.0)
csv (3.3.3)
declarative (0.0.20)
digest-crc (0.6.4)
digest-crc (0.7.0)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
domain_name (0.6.20240107)
dotenv (2.8.1)
drb (2.2.1)
emoji_regex (3.2.3)
escape (0.0.4)
ethon (0.16.0)
ffi (>= 1.15.0)
excon (0.99.0)
faraday (1.10.3)
excon (0.112.0)
faraday (1.10.4)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
@@ -105,24 +122,24 @@ GEM
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.4)
multipart-post (~> 2)
faraday-net_http (1.0.1)
faraday-multipart (1.1.0)
multipart-post (~> 2.0)
faraday-net_http (1.0.2)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
faraday_middleware (1.2.0)
faraday_middleware (1.2.1)
faraday (~> 1.0)
fastimage (2.2.6)
fastlane (2.212.1)
fastimage (2.4.0)
fastlane (2.227.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
aws-sdk-s3 (~> 1.0)
babosa (>= 1.0.3, < 2.0.0)
bundler (>= 1.12.0, < 3.0.0)
colored
colored (~> 1.2)
commander (~> 4.6)
dotenv (>= 2.1.1, < 3.0.0)
emoji_regex (>= 0.1, < 4.0)
@@ -131,36 +148,41 @@ GEM
faraday-cookie_jar (~> 0.0.6)
faraday_middleware (~> 1.0)
fastimage (>= 2.1.0, < 3.0.0)
fastlane-sirp (>= 1.0.0)
gh_inspector (>= 1.1.2, < 2.0.0)
google-apis-androidpublisher_v3 (~> 0.3)
google-apis-playcustomapp_v1 (~> 0.1)
google-cloud-env (>= 1.6.0, < 2.0.0)
google-cloud-storage (~> 1.31)
highline (~> 2.0)
http-cookie (~> 1.0.5)
json (< 3.0.0)
jwt (>= 2.1.0, < 3)
mini_magick (>= 4.9.4, < 5.0.0)
multipart-post (~> 2.0.0)
multipart-post (>= 2.0.0, < 3.0.0)
naturally (~> 2.2)
optparse (~> 0.1.1)
optparse (>= 0.1.1, < 1.0.0)
plist (>= 3.1.0, < 4.0.0)
rubyzip (>= 2.0.0, < 3.0.0)
security (= 0.1.3)
security (= 0.1.5)
simctl (~> 1.6.3)
terminal-notifier (>= 2.0.0, < 3.0.0)
terminal-table (>= 1.4.5, < 2.0.0)
terminal-table (~> 3)
tty-screen (>= 0.6.3, < 1.0.0)
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
xcodeproj (>= 1.13.0, < 2.0.0)
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
ffi (1.15.5)
xcpretty (~> 0.4.0)
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
fastlane-sirp (1.0.0)
sysrandom (~> 1.0)
ffi (1.17.1-arm64-darwin)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.37.0)
google-apis-androidpublisher_v3 (0.54.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-core (0.11.0)
google-apis-core (0.11.3)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
@@ -168,71 +190,74 @@ GEM
representable (~> 3.0)
retriable (>= 2.0, < 4.a)
rexml
webrick
google-apis-iamcredentials_v1 (0.17.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-playcustomapp_v1 (0.13.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-storage_v1 (0.19.0)
google-apis-core (>= 0.9.0, < 2.a)
google-cloud-core (1.6.0)
google-cloud-env (~> 1.0)
google-apis-storage_v1 (0.31.0)
google-apis-core (>= 0.11.0, < 2.a)
google-cloud-core (1.8.0)
google-cloud-env (>= 1.0, < 3.a)
google-cloud-errors (~> 1.0)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
google-cloud-errors (1.3.1)
google-cloud-storage (1.44.0)
google-cloud-errors (1.5.0)
google-cloud-storage (1.47.0)
addressable (~> 2.8)
digest-crc (~> 0.4)
google-apis-iamcredentials_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.19.0)
google-apis-storage_v1 (~> 0.31.0)
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
googleauth (1.3.0)
googleauth (1.8.1)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
highline (2.0.3)
http-cookie (1.0.5)
http-cookie (1.0.8)
domain_name (~> 0.5)
httpclient (2.8.3)
i18n (1.12.0)
httpclient (2.9.0)
mutex_m
i18n (1.14.7)
concurrent-ruby (~> 1.0)
jmespath (1.6.2)
json (2.6.3)
jwt (2.7.0)
memoist (0.16.2)
mini_magick (4.12.0)
mini_mime (1.1.2)
minitest (5.18.0)
json (2.10.2)
jwt (2.10.1)
base64
logger (1.7.0)
mini_magick (4.13.2)
mini_mime (1.1.5)
minitest (5.25.5)
molinillo (0.8.0)
multi_json (1.15.0)
multipart-post (2.0.0)
nanaimo (0.3.0)
multipart-post (2.4.1)
mutex_m (0.3.0)
nanaimo (0.4.0)
nap (1.1.0)
naturally (2.2.1)
netrc (0.11.0)
optparse (0.1.1)
nkf (0.2.0)
optparse (0.6.0)
os (1.1.4)
plist (3.7.0)
plist (3.7.2)
public_suffix (4.0.7)
rake (13.0.6)
rake (13.2.1)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rexml (3.2.5)
rouge (2.0.7)
rexml (3.4.1)
rouge (3.28.0)
ruby-macho (2.5.1)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
security (0.1.3)
signet (0.17.0)
rubyzip (2.4.1)
securerandom (0.4.1)
security (0.1.5)
signet (0.19.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
@@ -240,43 +265,45 @@ GEM
simctl (1.6.10)
CFPropertyList
naturally
sysrandom (1.0.5)
terminal-notifier (2.0.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
trailblazer-option (0.1.2)
tty-cursor (0.7.1)
tty-screen (0.8.1)
tty-screen (0.8.2)
tty-spinner (0.9.3)
tty-cursor (~> 0.7)
typhoeus (1.4.0)
typhoeus (1.4.1)
ethon (>= 0.9.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (1.8.0)
webrick (1.8.1)
unicode-display_width (2.6.0)
word_wrap (1.0.0)
xcodeproj (1.22.0)
xcodeproj (1.27.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
rexml (~> 3.2.4)
xcpretty (0.3.0)
rouge (~> 2.0.7)
nanaimo (~> 0.4.0)
rexml (>= 3.3.6, < 4.0)
xcpretty (0.4.1)
rouge (~> 3.28.0)
xcpretty-travis-formatter (1.0.1)
xcpretty (~> 0.2, >= 0.0.7)
PLATFORMS
ruby
arm64-darwin-22
arm64-darwin-24
DEPENDENCIES
abbrev
cocoapods
csv
fastlane
logger
mutex_m
BUNDLED WITH
2.3.25
2.6.6

View File

@@ -1,31 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>ImageNotification</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>NSExtension</key>
<dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.usernotifications.service</string>
<key>NSExtensionPrincipalClass</key>
<string>NotificationService</string>
</dict>
</dict>
</plist>

View File

@@ -1,13 +0,0 @@
//
// NotificationService.h
// ImageNotification
//
// Created by Jagandeep Brar on 2021-02-25.
// Copyright © 2021 The Chromium Authors. All rights reserved.
//
#import <UserNotifications/UserNotifications.h>
@interface NotificationService : UNNotificationServiceExtension
@end

View File

@@ -1,34 +0,0 @@
//
// NotificationService.m
// ImageNotification
//
// Created by Jagandeep Brar on 2021-02-25.
// Copyright © 2021 The Chromium Authors. All rights reserved.
//
#import "NotificationService.h"
#import "FirebaseMessaging.h"
@interface NotificationService ()
@property (nonatomic, strong) void (^contentHandler)(UNNotificationContent *contentToDeliver);
@property (nonatomic, strong) UNMutableNotificationContent *bestAttemptContent;
@end
@implementation NotificationService
- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
self.contentHandler = contentHandler;
self.bestAttemptContent = [request.content mutableCopy];
[[FIRMessaging extensionHelper] populateNotificationContent:self.bestAttemptContent withContentHandler:contentHandler];
}
- (void)serviceExtensionTimeWillExpire {
// Called just before the extension will be terminated by the system.
// Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used.
self.contentHandler(self.bestAttemptContent);
}
@end

View File

@@ -1,5 +1,4 @@
platform :ios, '11.0'
$FirebaseSDKVersion = '10.5.0'
platform :ios, '12.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
@@ -28,7 +27,6 @@ require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelpe
flutter_ios_podfile_setup
target 'Runner' do
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => $FirebaseSDKVersion
use_frameworks!
use_modular_headers!
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
@@ -59,8 +57,3 @@ post_install do |installer|
end
end
end
target 'ImageNotification' do
use_frameworks!
pod 'Firebase/Messaging'
end

View File

@@ -1,313 +1,120 @@
PODS:
- cloud_firestore (4.4.5):
- Firebase/Firestore (= 10.5.0)
- firebase_core
- Flutter
- nanopb (< 2.30910.0, >= 2.30908.0)
- DKImagePickerController/Core (4.3.4):
- DKImagePickerController/Core (4.3.9):
- DKImagePickerController/ImageDataManager
- DKImagePickerController/Resource
- DKImagePickerController/ImageDataManager (4.3.4)
- DKImagePickerController/PhotoGallery (4.3.4):
- DKImagePickerController/ImageDataManager (4.3.9)
- DKImagePickerController/PhotoGallery (4.3.9):
- DKImagePickerController/Core
- DKPhotoGallery
- DKImagePickerController/Resource (4.3.4)
- DKPhotoGallery (0.0.17):
- DKPhotoGallery/Core (= 0.0.17)
- DKPhotoGallery/Model (= 0.0.17)
- DKPhotoGallery/Preview (= 0.0.17)
- DKPhotoGallery/Resource (= 0.0.17)
- DKImagePickerController/Resource (4.3.9)
- DKPhotoGallery (0.0.19):
- DKPhotoGallery/Core (= 0.0.19)
- DKPhotoGallery/Model (= 0.0.19)
- DKPhotoGallery/Preview (= 0.0.19)
- DKPhotoGallery/Resource (= 0.0.19)
- SDWebImage
- SwiftyGif
- DKPhotoGallery/Core (0.0.17):
- DKPhotoGallery/Core (0.0.19):
- DKPhotoGallery/Model
- DKPhotoGallery/Preview
- SDWebImage
- SwiftyGif
- DKPhotoGallery/Model (0.0.17):
- DKPhotoGallery/Model (0.0.19):
- SDWebImage
- SwiftyGif
- DKPhotoGallery/Preview (0.0.17):
- DKPhotoGallery/Preview (0.0.19):
- DKPhotoGallery/Model
- DKPhotoGallery/Resource
- SDWebImage
- SwiftyGif
- DKPhotoGallery/Resource (0.0.17):
- DKPhotoGallery/Resource (0.0.19):
- SDWebImage
- SwiftyGif
- file_picker (0.0.1):
- DKImagePickerController/PhotoGallery
- Flutter
- Firebase/Auth (10.5.0):
- Firebase/CoreOnly
- FirebaseAuth (~> 10.5.0)
- Firebase/CoreOnly (10.5.0):
- FirebaseCore (= 10.5.0)
- Firebase/Firestore (10.5.0):
- Firebase/CoreOnly
- FirebaseFirestore (~> 10.5.0)
- Firebase/Messaging (10.5.0):
- Firebase/CoreOnly
- FirebaseMessaging (~> 10.5.0)
- Firebase/Storage (10.5.0):
- Firebase/CoreOnly
- FirebaseStorage (~> 10.5.0)
- firebase_auth (4.3.0):
- Firebase/Auth (= 10.5.0)
- firebase_core
- Flutter
- firebase_core (2.8.0):
- Firebase/CoreOnly (= 10.5.0)
- Flutter
- firebase_messaging (14.3.0):
- Firebase/Messaging (= 10.5.0)
- firebase_core
- Flutter
- firebase_storage (11.0.16):
- Firebase/Storage (= 10.5.0)
- firebase_core
- Flutter
- FirebaseAppCheckInterop (10.7.0)
- FirebaseAuth (10.5.0):
- FirebaseCore (~> 10.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.8)
- GoogleUtilities/Environment (~> 7.8)
- GTMSessionFetcher/Core (< 4.0, >= 2.1)
- FirebaseAuthInterop (10.7.0)
- FirebaseCore (10.5.0):
- FirebaseCoreInternal (~> 10.0)
- GoogleUtilities/Environment (~> 7.8)
- GoogleUtilities/Logger (~> 7.8)
- FirebaseCoreExtension (10.7.0):
- FirebaseCore (~> 10.0)
- FirebaseCoreInternal (10.7.0):
- "GoogleUtilities/NSData+zlib (~> 7.8)"
- FirebaseFirestore (10.5.0):
- FirebaseFirestore/AutodetectLeveldb (= 10.5.0)
- FirebaseFirestore/AutodetectLeveldb (10.5.0):
- FirebaseFirestore/Base
- FirebaseFirestore/WithLeveldb
- FirebaseFirestore/Base (10.5.0)
- FirebaseFirestore/WithLeveldb (10.5.0):
- FirebaseFirestore/Base
- FirebaseInstallations (10.7.0):
- FirebaseCore (~> 10.0)
- GoogleUtilities/Environment (~> 7.8)
- GoogleUtilities/UserDefaults (~> 7.8)
- PromisesObjC (~> 2.1)
- FirebaseMessaging (10.5.0):
- FirebaseCore (~> 10.0)
- FirebaseInstallations (~> 10.0)
- GoogleDataTransport (~> 9.2)
- GoogleUtilities/AppDelegateSwizzler (~> 7.8)
- GoogleUtilities/Environment (~> 7.8)
- GoogleUtilities/Reachability (~> 7.8)
- GoogleUtilities/UserDefaults (~> 7.8)
- nanopb (< 2.30910.0, >= 2.30908.0)
- FirebaseStorage (10.5.0):
- FirebaseAppCheckInterop (~> 10.0)
- FirebaseAuthInterop (~> 10.0)
- FirebaseCore (~> 10.0)
- FirebaseCoreExtension (~> 10.0)
- GTMSessionFetcher/Core (< 4.0, >= 2.1)
- Flutter (1.0.0)
- flutter_native_splash (0.0.1):
- flutter_native_splash (2.4.3):
- Flutter
- FMDB (2.7.5):
- FMDB/standard (= 2.7.5)
- FMDB/standard (2.7.5)
- GoogleDataTransport (9.2.1):
- GoogleUtilities/Environment (~> 7.7)
- nanopb (< 2.30910.0, >= 2.30908.0)
- PromisesObjC (< 3.0, >= 1.2)
- GoogleUtilities/AppDelegateSwizzler (7.11.0):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- GoogleUtilities/Environment (7.11.0):
- PromisesObjC (< 3.0, >= 1.2)
- GoogleUtilities/Logger (7.11.0):
- GoogleUtilities/Environment
- GoogleUtilities/Network (7.11.0):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (7.11.0)"
- GoogleUtilities/Reachability (7.11.0):
- GoogleUtilities/Logger
- GoogleUtilities/UserDefaults (7.11.0):
- GoogleUtilities/Logger
- GTMSessionFetcher/Core (3.1.0)
- in_app_purchase_storekit (0.0.1):
- Flutter
- FlutterMacOS
- nanopb (2.30909.0):
- nanopb/decode (= 2.30909.0)
- nanopb/encode (= 2.30909.0)
- nanopb/decode (2.30909.0)
- nanopb/encode (2.30909.0)
- package_info_plus (0.4.5):
- Flutter
- path_provider_foundation (0.0.1):
- Flutter
- FlutterMacOS
- PromisesObjC (2.2.0)
- quick_actions_ios (0.0.1):
- Flutter
- SDWebImage (5.15.5):
- SDWebImage/Core (= 5.15.5)
- SDWebImage/Core (5.15.5)
- Sentry/HybridSDK (8.3.1):
- SentryPrivate (= 8.3.1)
- sentry_flutter (0.0.1):
- Flutter
- FlutterMacOS
- Sentry/HybridSDK (= 8.3.1)
- SentryPrivate (8.3.1)
- SDWebImage (5.21.0):
- SDWebImage/Core (= 5.21.0)
- SDWebImage/Core (5.21.0)
- share_plus (0.0.1):
- Flutter
- shared_preferences_foundation (0.0.1):
- Flutter
- FlutterMacOS
- sqflite (0.0.2):
- sqflite_darwin (0.0.4):
- Flutter
- FMDB (>= 2.7.5)
- SwiftyGif (5.4.4)
- FlutterMacOS
- SwiftyGif (5.4.5)
- url_launcher_ios (0.0.1):
- Flutter
DEPENDENCIES:
- cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`)
- file_picker (from `.symlinks/plugins/file_picker/ios`)
- Firebase/Messaging
- firebase_auth (from `.symlinks/plugins/firebase_auth/ios`)
- firebase_core (from `.symlinks/plugins/firebase_core/ios`)
- firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
- firebase_storage (from `.symlinks/plugins/firebase_storage/ios`)
- FirebaseFirestore (from `https://github.com/invertase/firestore-ios-sdk-frameworks.git`, tag `10.5.0`)
- Flutter (from `Flutter`)
- flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`)
- in_app_purchase_storekit (from `.symlinks/plugins/in_app_purchase_storekit/ios`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- quick_actions_ios (from `.symlinks/plugins/quick_actions_ios/ios`)
- sentry_flutter (from `.symlinks/plugins/sentry_flutter/ios`)
- share_plus (from `.symlinks/plugins/share_plus/ios`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/ios`)
- sqflite (from `.symlinks/plugins/sqflite/ios`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
- sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`)
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
SPEC REPOS:
trunk:
- DKImagePickerController
- DKPhotoGallery
- Firebase
- FirebaseAppCheckInterop
- FirebaseAuth
- FirebaseAuthInterop
- FirebaseCore
- FirebaseCoreExtension
- FirebaseCoreInternal
- FirebaseInstallations
- FirebaseMessaging
- FirebaseStorage
- FMDB
- GoogleDataTransport
- GoogleUtilities
- GTMSessionFetcher
- nanopb
- PromisesObjC
- SDWebImage
- Sentry
- SentryPrivate
- SwiftyGif
EXTERNAL SOURCES:
cloud_firestore:
:path: ".symlinks/plugins/cloud_firestore/ios"
file_picker:
:path: ".symlinks/plugins/file_picker/ios"
firebase_auth:
:path: ".symlinks/plugins/firebase_auth/ios"
firebase_core:
:path: ".symlinks/plugins/firebase_core/ios"
firebase_messaging:
:path: ".symlinks/plugins/firebase_messaging/ios"
firebase_storage:
:path: ".symlinks/plugins/firebase_storage/ios"
FirebaseFirestore:
:git: https://github.com/invertase/firestore-ios-sdk-frameworks.git
:tag: 10.5.0
Flutter:
:path: Flutter
flutter_native_splash:
:path: ".symlinks/plugins/flutter_native_splash/ios"
in_app_purchase_storekit:
:path: ".symlinks/plugins/in_app_purchase_storekit/ios"
package_info_plus:
:path: ".symlinks/plugins/package_info_plus/ios"
path_provider_foundation:
:path: ".symlinks/plugins/path_provider_foundation/ios"
:path: ".symlinks/plugins/path_provider_foundation/darwin"
quick_actions_ios:
:path: ".symlinks/plugins/quick_actions_ios/ios"
sentry_flutter:
:path: ".symlinks/plugins/sentry_flutter/ios"
share_plus:
:path: ".symlinks/plugins/share_plus/ios"
shared_preferences_foundation:
:path: ".symlinks/plugins/shared_preferences_foundation/ios"
sqflite:
:path: ".symlinks/plugins/sqflite/ios"
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
sqflite_darwin:
:path: ".symlinks/plugins/sqflite_darwin/darwin"
url_launcher_ios:
:path: ".symlinks/plugins/url_launcher_ios/ios"
CHECKOUT OPTIONS:
FirebaseFirestore:
:git: https://github.com/invertase/firestore-ios-sdk-frameworks.git
:tag: 10.5.0
SPEC CHECKSUMS:
cloud_firestore: 29dafcfe235974cd3907d6212400629838180a16
DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
file_picker: ce3938a0df3cc1ef404671531facef740d03f920
Firebase: 3d6637234ab163e31852834617b4fe1df3b7af6d
firebase_auth: 94ca572cd6a84385096c5a8f6328d5ee6cf84a16
firebase_core: d9c8f891a986a99a60ab81eabb5ef2ea2edcfee1
firebase_messaging: b9ce7e6dbd0c80fca3c8b9ba112eb59e50e178ae
firebase_storage: b6a95fdcb9cc14e4ae44121764e893e08fd65020
FirebaseAppCheckInterop: 8e907eea79958960a8bd2058e067f31e03a7914b
FirebaseAuth: 1028326bcaa7a61391386e74b9078cc558ae14f1
FirebaseAuthInterop: 46201190fe90ef1f581513eb0f9fa3d7820e7d6d
FirebaseCore: 324b8d182d9ff7e3f6d1fa2f04b082d1c7a3e366
FirebaseCoreExtension: f17247ba8c61e4d3c8d136b5e2de3cb4ac6a85b6
FirebaseCoreInternal: 8845798510aae74703467480f71ac613788d0696
FirebaseFirestore: 41e14a56b72dfdf579790c42b7ac361b30d171f2
FirebaseInstallations: 59c0e4c7a816a0f76710d83f77e5369b3e45eb96
FirebaseMessaging: 35ecbbc68ff547fca80f9326c9622e79288c7149
FirebaseStorage: 858ba102341232ad8f4e3a457090858200716966
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
GoogleDataTransport: ea169759df570f4e37bdee1623ec32a7e64e67c4
GoogleUtilities: c2bdc4cf2ce786c4d2e6b3bcfd599a25ca78f06f
GTMSessionFetcher: c9e714f7eec91a55641e2bab9f45fd83a219b882
in_app_purchase_storekit: 4fb7ee9e824b1f09107fbfbbce8c4b276366dc43
nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
path_provider_foundation: c68054786f1b4f3343858c1e1d0caaded73f0be9
PromisesObjC: 09985d6d70fbe7878040aa746d78236e6946d2ef
quick_actions_ios: bb09d1c35b4a89f9dbb15487039fa1b983ca375e
SDWebImage: fd7e1a22f00303e058058278639bf6196ee431fe
Sentry: 316f997b2f89557014ae9919f0d0c71e6e43c01e
sentry_flutter: f0e51fac01e46af2e16f0a7458e3014bbc131ff5
SentryPrivate: 63dd9ee25187d20427ab7b5d03054df149912c23
share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68
shared_preferences_foundation: 986fc17f3d3251412d18b0265f9c64113a8c2472
sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904
SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f
url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4
DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c
DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
file_picker: a0560bc09d61de87f12d246fc47d2119e6ef37be
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
flutter_native_splash: c32d145d68aeda5502d5f543ee38c192065986cf
package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
quick_actions_ios: 4b07fb49d8d8f3518d7565fbb7a91014067a7d82
SDWebImage: f84b0feeb08d2d11e6a9b843cb06d75ebf5b8868
share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a
shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
url_launcher_ios: 694010445543906933d732453a59da0a173ae33d
PODFILE CHECKSUM: e27cc29c7cdd07e9428874a7c32df1ab5677bbc7
PODFILE CHECKSUM: aa5a39f013eef601567224be482f0c62b9bc7bb3
COCOAPODS: 1.12.0
COCOAPODS: 1.12.1

View File

@@ -7,29 +7,15 @@
objects = {
/* Begin PBXBuildFile section */
0076D3D6D60E83034A1E0D0E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09FE6EE3FA652F683E30D461 /* Pods_Runner.framework */; };
007DE1E782B48FF895CE4B6C /* Pods_ImageNotification.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BD8A9D1D71899A3A89676B04 /* Pods_ImageNotification.framework */; };
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
2197515D49D182EC2FFDDBC2 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5CC7CBA55F0EC9F2930AED47 /* Pods_Runner.framework */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
9C2991242453FE3100B93AB2 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C2991232453FE3100B93AB2 /* StoreKit.framework */; };
9C7092B325E77E470056AE0B /* NotificationService.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C7092B225E77E470056AE0B /* NotificationService.m */; };
9C7092B725E77E470056AE0B /* ImageNotification.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 9C7092AF25E77E470056AE0B /* ImageNotification.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
9C7092B525E77E470056AE0B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 97C146E61CF9000F007C117D /* Project object */;
proxyType = 1;
remoteGlobalIDString = 9C7092AE25E77E470056AE0B;
remoteInfo = ImageNotification;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
9705A1C41CF9048500538489 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
@@ -47,7 +33,6 @@
dstPath = "";
dstSubfolderSpec = 13;
files = (
9C7092B725E77E470056AE0B /* ImageNotification.appex in Embed App Extensions */,
);
name = "Embed App Extensions";
runOnlyForDeploymentPostprocessing = 0;
@@ -55,14 +40,15 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
09FE6EE3FA652F683E30D461 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
1ABECE135322A3268D505E31 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
38E2584AB15AE99F89C5AF77 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
5CC7CBA55F0EC9F2930AED47 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
8D3B7B67E1BB6745AD368CC8 /* Pods-ImageNotification.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.debug.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.debug.xcconfig"; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -71,19 +57,7 @@
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
9C0A396F23E0F00900EC8127 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = "<group>"; };
9C2991232453FE3100B93AB2 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; };
9C63379625F08BCB00C44AF3 /* Release-ImageNotification.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Release-ImageNotification.xcconfig"; path = "Flutter/Release-ImageNotification.xcconfig"; sourceTree = "<group>"; };
9C63379725F08BCB00C44AF3 /* Debug-ImageNotification.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Debug-ImageNotification.xcconfig"; path = "Flutter/Debug-ImageNotification.xcconfig"; sourceTree = "<group>"; };
9C7092AF25E77E470056AE0B /* ImageNotification.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = ImageNotification.appex; sourceTree = BUILT_PRODUCTS_DIR; };
9C7092B125E77E470056AE0B /* NotificationService.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NotificationService.h; sourceTree = "<group>"; };
9C7092B225E77E470056AE0B /* NotificationService.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NotificationService.m; sourceTree = "<group>"; };
9C7092B425E77E470056AE0B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
A0A8F8D04139A672EDF6A85F /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
B4DF18831CC2053BF748706B /* Pods-ImageNotification.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.profile.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.profile.xcconfig"; sourceTree = "<group>"; };
BB3E22A8716743EFBC805A48 /* Pods-ImageNotification.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ImageNotification.release.xcconfig"; path = "Target Support Files/Pods-ImageNotification/Pods-ImageNotification.release.xcconfig"; sourceTree = "<group>"; };
BD8A9D1D71899A3A89676B04 /* Pods_ImageNotification.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ImageNotification.framework; sourceTree = BUILT_PRODUCTS_DIR; };
C4DA1502BC108DB9BB52F223 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
D9B67C19C099711F4CDD87D9 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
B93DBDA4906D428F6B87143D /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -91,16 +65,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
9C2991242453FE3100B93AB2 /* StoreKit.framework in Frameworks */,
0076D3D6D60E83034A1E0D0E /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
9C7092AC25E77E470056AE0B /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
007DE1E782B48FF895CE4B6C /* Pods_ImageNotification.framework in Frameworks */,
2197515D49D182EC2FFDDBC2 /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -110,8 +75,6 @@
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
9C63379725F08BCB00C44AF3 /* Debug-ImageNotification.xcconfig */,
9C63379625F08BCB00C44AF3 /* Release-ImageNotification.xcconfig */,
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
@@ -125,7 +88,6 @@
children = (
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
9C7092B025E77E470056AE0B /* ImageNotification */,
97C146EF1CF9000F007C117D /* Products */,
F5D05D221249C73674C5DB0D /* Pods */,
B52D05C72433A9F059B6393D /* Frameworks */,
@@ -136,7 +98,6 @@
isa = PBXGroup;
children = (
97C146EE1CF9000F007C117D /* Runner.app */,
9C7092AF25E77E470056AE0B /* ImageNotification.appex */,
);
name = Products;
sourceTree = "<group>";
@@ -165,22 +126,10 @@
name = "Supporting Files";
sourceTree = "<group>";
};
9C7092B025E77E470056AE0B /* ImageNotification */ = {
isa = PBXGroup;
children = (
9C7092B125E77E470056AE0B /* NotificationService.h */,
9C7092B225E77E470056AE0B /* NotificationService.m */,
9C7092B425E77E470056AE0B /* Info.plist */,
);
path = ImageNotification;
sourceTree = "<group>";
};
B52D05C72433A9F059B6393D /* Frameworks */ = {
isa = PBXGroup;
children = (
9C2991232453FE3100B93AB2 /* StoreKit.framework */,
BD8A9D1D71899A3A89676B04 /* Pods_ImageNotification.framework */,
09FE6EE3FA652F683E30D461 /* Pods_Runner.framework */,
5CC7CBA55F0EC9F2930AED47 /* Pods_Runner.framework */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -188,12 +137,9 @@
F5D05D221249C73674C5DB0D /* Pods */ = {
isa = PBXGroup;
children = (
8D3B7B67E1BB6745AD368CC8 /* Pods-ImageNotification.debug.xcconfig */,
BB3E22A8716743EFBC805A48 /* Pods-ImageNotification.release.xcconfig */,
B4DF18831CC2053BF748706B /* Pods-ImageNotification.profile.xcconfig */,
D9B67C19C099711F4CDD87D9 /* Pods-Runner.debug.xcconfig */,
A0A8F8D04139A672EDF6A85F /* Pods-Runner.release.xcconfig */,
C4DA1502BC108DB9BB52F223 /* Pods-Runner.profile.xcconfig */,
B93DBDA4906D428F6B87143D /* Pods-Runner.debug.xcconfig */,
38E2584AB15AE99F89C5AF77 /* Pods-Runner.release.xcconfig */,
1ABECE135322A3268D505E31 /* Pods-Runner.profile.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
@@ -205,45 +151,25 @@
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
5AC1B074EBDF4B45CD073933 /* [CP] Check Pods Manifest.lock */,
25F83B88C0078E00B62BF1B7 /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9C7092B825E77E470056AE0B /* Embed App Extensions */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
9C7092B825E77E470056AE0B /* Embed App Extensions */,
E6A6BAA8A7CCB50967DD02A1 /* [CP] Embed Pods Frameworks */,
8FC36251779B316E672E05BD /* [CP] Copy Pods Resources */,
8E8D9E68B8096E08AC0365EF /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
dependencies = (
9C7092B625E77E470056AE0B /* PBXTargetDependency */,
);
name = Runner;
productName = Runner;
productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
productType = "com.apple.product-type.application";
};
9C7092AE25E77E470056AE0B /* ImageNotification */ = {
isa = PBXNativeTarget;
buildConfigurationList = 9C7092BC25E77E470056AE0B /* Build configuration list for PBXNativeTarget "ImageNotification" */;
buildPhases = (
1D89D7AEADC332B0D3E033A0 /* [CP] Check Pods Manifest.lock */,
9C7092AB25E77E470056AE0B /* Sources */,
9C7092AC25E77E470056AE0B /* Frameworks */,
9C7092AD25E77E470056AE0B /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = ImageNotification;
productName = ImageNotification;
productReference = 9C7092AF25E77E470056AE0B /* ImageNotification.appex */;
productType = "com.apple.product-type.app-extension";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -251,7 +177,7 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1230;
LastUpgradeCheck = 1300;
LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "The Chromium Authors";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
@@ -260,11 +186,6 @@
LastSwiftMigration = 1100;
ProvisioningStyle = Manual;
};
9C7092AE25E77E470056AE0B = {
CreatedOnToolsVersion = 12.4;
DevelopmentTeam = VPH33JQH4R;
ProvisioningStyle = Manual;
};
};
};
buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
@@ -281,7 +202,6 @@
projectRoot = "";
targets = (
97C146ED1CF9000F007C117D /* Runner */,
9C7092AE25E77E470056AE0B /* ImageNotification */,
);
};
/* End PBXProject section */
@@ -298,54 +218,10 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
9C7092AD25E77E470056AE0B /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
1D89D7AEADC332B0D3E033A0 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-ImageNotification-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Thin Binary";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
5AC1B074EBDF4B45CD073933 /* [CP] Check Pods Manifest.lock */ = {
25F83B88C0078E00B62BF1B7 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -367,22 +243,62 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
8FC36251779B316E672E05BD /* [CP] Copy Pods Resources */ = {
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
);
name = "Thin Binary";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
8E8D9E68B8096E08AC0365EF /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh",
"${PODS_ROOT}/FirebaseFirestore/FirebaseFirestore/Resources/gRPCCertificates-Cpp.bundle",
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/DKImagePickerController/DKImagePickerController.framework",
"${BUILT_PRODUCTS_DIR}/DKPhotoGallery/DKPhotoGallery.framework",
"${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework",
"${BUILT_PRODUCTS_DIR}/SwiftyGif/SwiftyGif.framework",
"${BUILT_PRODUCTS_DIR}/file_picker/file_picker.framework",
"${BUILT_PRODUCTS_DIR}/flutter_native_splash/flutter_native_splash.framework",
"${BUILT_PRODUCTS_DIR}/package_info_plus/package_info_plus.framework",
"${BUILT_PRODUCTS_DIR}/path_provider_foundation/path_provider_foundation.framework",
"${BUILT_PRODUCTS_DIR}/quick_actions_ios/quick_actions_ios.framework",
"${BUILT_PRODUCTS_DIR}/share_plus/share_plus.framework",
"${BUILT_PRODUCTS_DIR}/shared_preferences_foundation/shared_preferences_foundation.framework",
"${BUILT_PRODUCTS_DIR}/sqflite_darwin/sqflite_darwin.framework",
"${BUILT_PRODUCTS_DIR}/url_launcher_ios/url_launcher_ios.framework",
);
name = "[CP] Copy Pods Resources";
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/gRPCCertificates-Cpp.bundle",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DKImagePickerController.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DKPhotoGallery.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyGif.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/file_picker.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_native_splash.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/package_info_plus.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_foundation.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/quick_actions_ios.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/share_plus.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences_foundation.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite_darwin.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_ios.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
9740EEB61CF901F6004384FC /* Run Script */ = {
@@ -400,86 +316,6 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n";
};
E6A6BAA8A7CCB50967DD02A1 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/DKImagePickerController/DKImagePickerController.framework",
"${BUILT_PRODUCTS_DIR}/DKPhotoGallery/DKPhotoGallery.framework",
"${BUILT_PRODUCTS_DIR}/FMDB/FMDB.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseAppCheckInterop/FirebaseAppCheckInterop.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseAuth/FirebaseAuth.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseAuthInterop/FirebaseAuthInterop.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseCore/FirebaseCore.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseCoreExtension/FirebaseCoreExtension.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseCoreInternal/FirebaseCoreInternal.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseInstallations/FirebaseInstallations.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseMessaging/FirebaseMessaging.framework",
"${BUILT_PRODUCTS_DIR}/FirebaseStorage/FirebaseStorage.framework",
"${BUILT_PRODUCTS_DIR}/GTMSessionFetcher/GTMSessionFetcher.framework",
"${BUILT_PRODUCTS_DIR}/GoogleDataTransport/GoogleDataTransport.framework",
"${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework",
"${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework",
"${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework",
"${BUILT_PRODUCTS_DIR}/Sentry/Sentry.framework",
"${BUILT_PRODUCTS_DIR}/SentryPrivate/SentryPrivate.framework",
"${BUILT_PRODUCTS_DIR}/SwiftyGif/SwiftyGif.framework",
"${BUILT_PRODUCTS_DIR}/file_picker/file_picker.framework",
"${BUILT_PRODUCTS_DIR}/flutter_native_splash/flutter_native_splash.framework",
"${BUILT_PRODUCTS_DIR}/in_app_purchase_storekit/in_app_purchase_storekit.framework",
"${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework",
"${BUILT_PRODUCTS_DIR}/package_info_plus/package_info_plus.framework",
"${BUILT_PRODUCTS_DIR}/path_provider_foundation/path_provider_foundation.framework",
"${BUILT_PRODUCTS_DIR}/quick_actions_ios/quick_actions_ios.framework",
"${BUILT_PRODUCTS_DIR}/sentry_flutter/sentry_flutter.framework",
"${BUILT_PRODUCTS_DIR}/share_plus/share_plus.framework",
"${BUILT_PRODUCTS_DIR}/shared_preferences_foundation/shared_preferences_foundation.framework",
"${BUILT_PRODUCTS_DIR}/sqflite/sqflite.framework",
"${BUILT_PRODUCTS_DIR}/url_launcher_ios/url_launcher_ios.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DKImagePickerController.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DKPhotoGallery.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FMDB.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseAppCheckInterop.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseAuth.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseAuthInterop.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCore.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreExtension.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreInternal.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseInstallations.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseMessaging.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseStorage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GTMSessionFetcher.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleDataTransport.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Sentry.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SentryPrivate.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyGif.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/file_picker.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_native_splash.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/in_app_purchase_storekit.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/package_info_plus.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_foundation.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/quick_actions_ios.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sentry_flutter.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/share_plus.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences_foundation.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/sqflite.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_ios.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -492,24 +328,8 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
9C7092AB25E77E470056AE0B /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
9C7092B325E77E470056AE0B /* NotificationService.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
9C7092B625E77E470056AE0B /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 9C7092AE25E77E470056AE0B /* ImageNotification */;
targetProxy = 9C7092B525E77E470056AE0B /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
97C146FA1CF9000F007C117D /* Main.storyboard */ = {
isa = PBXVariantGroup;
@@ -571,7 +391,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -597,7 +417,7 @@
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -662,7 +482,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -711,7 +531,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -738,7 +558,7 @@
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -765,16 +585,18 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "iPhone Distribution";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = VPH33JQH4R;
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = VPH33JQH4R;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -786,106 +608,13 @@
PRODUCT_BUNDLE_IDENTIFIER = app.lunasea.lunasea;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "match AppStore app.lunasea.lunasea";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match AppStore app.lunasea.lunasea";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};
9C7092B925E77E470056AE0B /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9C63379725F08BCB00C44AF3 /* Debug-ImageNotification.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
DEVELOPMENT_TEAM = VPH33JQH4R;
ENABLE_BITCODE = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = ImageNotification/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = app.lunasea.lunasea.ImageNotification;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "match Development app.lunasea.lunasea.ImageNotification";
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
9C7092BA25E77E470056AE0B /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9C63379625F08BCB00C44AF3 /* Release-ImageNotification.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
DEVELOPMENT_TEAM = VPH33JQH4R;
ENABLE_BITCODE = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = ImageNotification/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = app.lunasea.lunasea.ImageNotification;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "match AppStore app.lunasea.lunasea.ImageNotification";
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
9C7092BB25E77E470056AE0B /* Profile */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9C63379625F08BCB00C44AF3 /* Release-ImageNotification.xcconfig */;
buildSettings = {
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
DEVELOPMENT_TEAM = VPH33JQH4R;
ENABLE_BITCODE = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = ImageNotification/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = app.lunasea.lunasea.ImageNotification;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "match Development app.lunasea.lunasea.ImageNotification";
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Profile;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -909,16 +638,6 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
9C7092BC25E77E470056AE0B /* Build configuration list for PBXNativeTarget "ImageNotification" */ = {
isa = XCConfigurationList;
buildConfigurations = (
9C7092B925E77E470056AE0B /* Debug */,
9C7092BA25E77E470056AE0B /* Release */,
9C7092BB25E77E470056AE0B /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 97C146E61CF9000F007C117D /* Project object */;

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1300"
LastUpgradeVersion = "1510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@@ -48,6 +48,7 @@
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
enableGPUValidationMode = "1"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">

View File

@@ -1,7 +1,7 @@
import UIKit
import Flutter
@UIApplicationMain
@main
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,

View File

@@ -1,91 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>LunaSea</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array/>
</dict>
</array>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>LunaSea</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array/>
</dict>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>LunaSea would like to access your location for determining local-remote host switching</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>LunaSea would like to access your location for determining local-remote host switching</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>LunaSea would like to save photos from the app to your gallery</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>LunaSea would like to access your photo gallery for uploading images to LunaSea</string>
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>
<string>remote-notification</string>
</array>
<key>UIFileSharingEnabled</key>
</array>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>FLTEnableImpeller</key>
<true/>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>plex</string>
<string>https</string>
</array>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIStatusBarHidden</key>
<false/>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>plex</string>
<string>https</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<key>FLTEnableImpeller</key>
<true/>
</dict>
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>LunaSea would like to access your location for determining local-remote host switching</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>LunaSea would like to access your location for determining local-remote host switching</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>LunaSea would like to save photos from the app to your gallery</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>LunaSea would like to access your photo gallery for uploading images to LunaSea</string>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<key>UIFileSharingEnabled</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIStatusBarHidden</key>
<false/>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
</dict>
</plist>

View File

@@ -2,15 +2,11 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>development</string>
<key>com.apple.developer.associated-domains</key>
<array>
<string>webcredentials:www.lunasea.app</string>
</array>
<key>com.apple.developer.networking.wifi-info</key>
<true/>
<key>com.apple.developer.usernotifications.time-sensitive</key>
<true/>
</dict>
</plist>

View File

@@ -64,8 +64,7 @@ platform :ios do
codesigning_identity: ENV["IOS_CODESIGNING_IDENTITY"],
export_options: {
provisioningProfiles: {
"app.lunasea.lunasea" => "match AppStore app.lunasea.lunasea",
"app.lunasea.lunasea.ImageNotification" => "match AppStore app.lunasea.lunasea.ImageNotification",
"app.lunasea.lunasea" => "match AppStore app.lunasea.lunasea"
}
}
)

View File

@@ -1,4 +1,4 @@
git_url("git@github.com:RoninComputer/fastlane-match-storage.git")
git_url("git@github.com:JagandeepBrar/fastlane-match-storage.git")
storage_mode("git")
app_identifier(["app.lunasea.lunasea", "app.lunasea.lunasea.ImageNotification"])
app_identifier(["app.lunasea.lunasea"])
platform("ios")

View File

@@ -1,29 +0,0 @@
import 'package:lunasea/vendor.dart';
part 'api.g.dart';
String _baseUrl(String host) {
String base = host.endsWith('/') ? host.substring(0, host.length - 1) : host;
return '$base/api/v3/';
}
@RestApi()
abstract class LidarrAPI {
factory LidarrAPI({
required String host,
required String apiKey,
Map<String, dynamic> headers = const {},
}) {
Dio dio = Dio(BaseOptions(
headers: headers,
followRedirects: true,
maxRedirects: 5,
queryParameters: {
if (apiKey.isNotEmpty) 'apikey': apiKey,
},
contentType: Headers.jsonContentType,
responseType: ResponseType.json,
));
return _LidarrAPI(dio, baseUrl: _baseUrl(host));
}
}

View File

@@ -1,103 +0,0 @@
import 'package:lunasea/api/overseerr/models/content/movie.dart';
import 'package:lunasea/api/overseerr/models/content/series.dart';
import 'package:lunasea/api/overseerr/models/issues/issue.dart';
import 'package:lunasea/api/overseerr/models/issues/issue_page.dart';
import 'package:lunasea/api/overseerr/models/requests/request.dart';
import 'package:lunasea/api/overseerr/models/requests/request_count.dart';
import 'package:lunasea/api/overseerr/models/requests/request_page.dart';
import 'package:lunasea/api/overseerr/models/status/status.dart';
import 'package:lunasea/api/overseerr/models/status/status_appdata.dart';
import 'package:lunasea/api/overseerr/models/users/user_page.dart';
import 'package:lunasea/api/overseerr/models/users/user_quota.dart';
import 'package:lunasea/vendor.dart';
part 'api.g.dart';
@RestApi()
abstract class OverseerrAPI {
factory OverseerrAPI({
required String host,
required String apiKey,
Map<String, dynamic> headers = const {},
}) {
String _baseUrl = host.endsWith('/') ? '${host}api/v1/' : '$host/api/v1/';
Dio _dio = Dio(
BaseOptions(
headers: {
'X-Api-Key': apiKey,
...headers,
},
contentType: Headers.jsonContentType,
responseType: ResponseType.json,
followRedirects: true,
maxRedirects: 5,
),
);
return _OverseerrAPI(_dio, baseUrl: _baseUrl);
}
@GET('issue')
Future<OverseerrIssuePage> getIssues({
@Query('take') int? take,
@Query('skip') int? skip,
@Query('filter') String? filter,
@Query('sort') String? sort,
});
@GET('issue/{id}')
Future<OverseerrIssue> getIssue(
@Path('id') int id,
);
@GET('movie/{id}')
Future<OverseerrMovie> getMovie(
@Path('id') int id, {
@Query('language') String? language,
});
@GET('request')
Future<OverseerrRequestPage> getRequests({
@Query('take') int? take,
@Query('skip') int? skip,
@Query('filter') String? filter,
@Query('sort') String? sort,
@Query('requestedBy') int? requestedBy,
});
@GET('request/{id}')
Future<OverseerrRequest> getRequest(
@Path('id') String id,
);
@GET('request/count')
Future<OverseerrRequestCount> getRequestCount();
@GET('status')
Future<OverseerrStatus> getStatus();
@GET('status/appdata')
Future<OverseerrStatusAppData> getStatusAppData();
@GET('tv/{id}')
Future<OverseerrSeries> getSeries(
@Path('id') int id, {
@Query('language') String? language,
});
@GET('user')
Future<OverseerrUserPage> getUsers({
@Query('take') int? take,
@Query('skip') int? skip,
@Query('sort') String? sort,
});
@GET('user/{id}')
Future<OverseerrUserPage> getUser(
@Path('id') String id,
);
@GET('user/{id}/quota')
Future<OverseerrUserQuota> getUserQuota(
@Path('id') String id,
);
}

View File

@@ -1,33 +0,0 @@
export 'models/content/collection.dart';
export 'models/content/content_ratings.dart';
export 'models/content/created_by.dart';
export 'models/content/credits.dart';
export 'models/content/episode.dart';
export 'models/content/external_ids.dart';
export 'models/content/genre.dart';
export 'models/content/keyword.dart';
export 'models/content/movie.dart';
export 'models/content/movie_releases.dart';
export 'models/content/network.dart';
export 'models/content/production_company.dart';
export 'models/content/production_country.dart';
export 'models/content/related_video.dart';
export 'models/content/season.dart';
export 'models/content/series.dart';
export 'models/content/spoken_language.dart';
export 'models/content/watch_provider.dart';
export 'models/issues/issue_comment.dart';
export 'models/issues/issue_page.dart';
export 'models/issues/issue.dart';
export 'models/media/media.dart';
export 'models/media/season.dart';
export 'models/requests/request_count.dart';
export 'models/requests/request_page.dart';
export 'models/requests/request.dart';
export 'models/status/status.dart';
export 'models/status/status_appdata.dart';
export 'models/users/user_page.dart';
export 'models/users/user_quota.dart';
export 'models/users/user.dart';
export 'models/page.dart';
export 'models/quota.dart';

View File

@@ -1,33 +0,0 @@
import 'package:lunasea/core.dart';
part 'collection.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrCollection {
@JsonKey()
int? id;
@JsonKey()
String? name;
@JsonKey()
String? posterPath;
@JsonKey()
String? backdropPath;
OverseerrCollection({
this.id,
this.name,
this.posterPath,
this.backdropPath,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrCollection.fromJson(Map<String, dynamic> json) =>
_$OverseerrCollectionFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrCollectionToJson(this);
}

View File

@@ -1,43 +0,0 @@
import 'package:lunasea/core.dart';
part 'content_ratings.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrContentRatings {
@JsonKey()
List<OverseerrContentRating>? results;
OverseerrContentRatings({
this.results,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrContentRatings.fromJson(Map<String, dynamic> json) =>
_$OverseerrContentRatingsFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrContentRatingsToJson(this);
}
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrContentRating {
@JsonKey(name: 'iso_3166_1')
String? iso31661;
@JsonKey()
String? rating;
OverseerrContentRating({
this.iso31661,
this.rating,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrContentRating.fromJson(Map<String, dynamic> json) =>
_$OverseerrContentRatingFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrContentRatingToJson(this);
}

View File

@@ -1,37 +0,0 @@
import 'package:lunasea/core.dart';
part 'created_by.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrCreatedBy {
@JsonKey()
int? id;
@JsonKey(name: 'credit_id')
String? creditId;
@JsonKey()
String? name;
@JsonKey()
int? gender;
@JsonKey(name: 'profile_path')
String? profilePath;
OverseerrCreatedBy({
this.id,
this.creditId,
this.name,
this.gender,
this.profilePath,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrCreatedBy.fromJson(Map<String, dynamic> json) =>
_$OverseerrCreatedByFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrCreatedByToJson(this);
}

View File

@@ -1,113 +0,0 @@
import 'package:lunasea/core.dart';
part 'credits.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrCredits {
@JsonKey()
List<OverseerrCast>? cast;
@JsonKey()
List<OverseerrCrew>? crew;
OverseerrCredits({
this.cast,
this.crew,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrCredits.fromJson(Map<String, dynamic> json) =>
_$OverseerrCreditsFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrCreditsToJson(this);
}
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrCast {
@JsonKey()
int? id;
@JsonKey()
int? castId;
@JsonKey()
String? character;
@JsonKey()
String? creditId;
@JsonKey()
int? gender;
@JsonKey()
String? name;
@JsonKey()
int? order;
@JsonKey()
String? profilePath;
OverseerrCast({
this.id,
this.castId,
this.character,
this.creditId,
this.gender,
this.name,
this.order,
this.profilePath,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrCast.fromJson(Map<String, dynamic> json) =>
_$OverseerrCastFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrCastToJson(this);
}
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrCrew {
@JsonKey()
int? id;
@JsonKey()
String? creditId;
@JsonKey()
String? department;
@JsonKey()
int? gender;
@JsonKey()
String? job;
@JsonKey()
String? name;
@JsonKey()
String? profilePath;
OverseerrCrew({
this.id,
this.creditId,
this.department,
this.gender,
this.job,
this.name,
this.profilePath,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrCrew.fromJson(Map<String, dynamic> json) =>
_$OverseerrCrewFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrCrewToJson(this);
}

View File

@@ -1,53 +0,0 @@
import 'package:lunasea/core.dart';
part 'episode.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrEpisode {
@JsonKey()
int? id;
@JsonKey()
String? airDate;
@JsonKey()
int? episodeNumber;
@JsonKey()
String? name;
@JsonKey()
String? overview;
@JsonKey()
String? productionCode;
@JsonKey()
int? seasonNumber;
@JsonKey()
double? voteAverage;
@JsonKey()
String? stillPath;
OverseerrEpisode({
this.id,
this.airDate,
this.episodeNumber,
this.name,
this.overview,
this.productionCode,
this.seasonNumber,
this.voteAverage,
this.stillPath,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrEpisode.fromJson(Map<String, dynamic> json) =>
_$OverseerrEpisodeFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrEpisodeToJson(this);
}

View File

@@ -1,49 +0,0 @@
import 'package:lunasea/core.dart';
part 'external_ids.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrExternalIds {
@JsonKey()
String? imdbId;
@JsonKey()
String? freebaseMid;
@JsonKey()
String? freebaseId;
@JsonKey()
int? tvdbId;
@JsonKey()
int? tvrageId;
@JsonKey()
String? facebookId;
@JsonKey()
String? instagramId;
@JsonKey()
String? twitterId;
OverseerrExternalIds({
this.imdbId,
this.freebaseMid,
this.freebaseId,
this.tvdbId,
this.tvrageId,
this.facebookId,
this.instagramId,
this.twitterId,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrExternalIds.fromJson(Map<String, dynamic> json) =>
_$OverseerrExternalIdsFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrExternalIdsToJson(this);
}

View File

@@ -1,25 +0,0 @@
import 'package:lunasea/core.dart';
part 'genre.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrGenre {
@JsonKey()
int? id;
@JsonKey()
String? name;
OverseerrGenre({
this.id,
this.name,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrGenre.fromJson(Map<String, dynamic> json) =>
_$OverseerrGenreFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrGenreToJson(this);
}

View File

@@ -1,25 +0,0 @@
import 'package:lunasea/core.dart';
part 'keyword.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrKeyword {
@JsonKey()
int? id;
@JsonKey()
String? name;
OverseerrKeyword({
this.id,
this.name,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrKeyword.fromJson(Map<String, dynamic> json) =>
_$OverseerrKeywordFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrKeywordToJson(this);
}

View File

@@ -1,145 +0,0 @@
import 'package:lunasea/api/overseerr/models.dart';
import 'package:lunasea/core.dart';
part 'movie.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrMovie {
@JsonKey()
int? id;
@JsonKey()
String? imdbId;
@JsonKey()
bool? adult;
@JsonKey()
String? backdropPath;
@JsonKey()
int? budget;
@JsonKey()
List<OverseerrGenre>? genres;
@JsonKey()
String? homepage;
@JsonKey()
String? originalLanguage;
@JsonKey()
String? originalTitle;
@JsonKey()
String? overview;
@JsonKey()
double? popularity;
@JsonKey()
List<OverseerrRelatedVideo>? relatedVideos;
@JsonKey()
String? posterPath;
@JsonKey()
List<OverseerrProductionCompany>? productionCompanies;
@JsonKey()
List<OverseerrProductionCountry>? productionCountries;
@JsonKey()
String? releaseDate;
@JsonKey()
int? revenue;
@JsonKey()
int? runtime;
@JsonKey()
String? status;
@JsonKey()
String? tagline;
@JsonKey()
String? title;
@JsonKey()
bool? video;
@JsonKey()
double? voteAverage;
@JsonKey()
int? voteCount;
@JsonKey()
String? plexUrl;
@JsonKey()
OverseerrCollection? collection;
@JsonKey()
OverseerrExternalIds? externalIds;
@JsonKey()
OverseerrMedia? mediaInfo;
@JsonKey()
List<OverseerrWatchProvider>? watchProviders;
@JsonKey()
OverseerrCredits? credits;
@JsonKey()
List<OverseerrSpokenLanguage>? spokenLanguages;
@JsonKey()
OverseerrMovieReleases? releases;
OverseerrMovie({
this.id,
this.imdbId,
this.adult,
this.backdropPath,
this.budget,
this.genres,
this.homepage,
this.originalLanguage,
this.originalTitle,
this.overview,
this.popularity,
this.relatedVideos,
this.posterPath,
this.productionCompanies,
this.productionCountries,
this.releaseDate,
this.revenue,
this.runtime,
this.status,
this.tagline,
this.title,
this.video,
this.voteAverage,
this.voteCount,
this.plexUrl,
this.collection,
this.externalIds,
this.mediaInfo,
this.watchProviders,
this.credits,
this.spokenLanguages,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrMovie.fromJson(Map<String, dynamic> json) =>
_$OverseerrMovieFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrMovieToJson(this);
}

View File

@@ -1,78 +0,0 @@
import 'package:lunasea/core.dart';
part 'movie_releases.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrMovieReleases {
@JsonKey()
List<OverseerrMovieReleaseResult>? results;
OverseerrMovieReleases({
this.results,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrMovieReleases.fromJson(Map<String, dynamic> json) =>
_$OverseerrMovieReleasesFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrMovieReleasesToJson(this);
}
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrMovieReleaseResult {
@JsonKey(name: 'iso_3166_1')
String? iso31661;
@JsonKey(name: 'release_dates')
List<OverseerrMovieReleaseResultDate>? releaseDates;
OverseerrMovieReleaseResult({
this.iso31661,
this.releaseDates,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrMovieReleaseResult.fromJson(Map<String, dynamic> json) =>
_$OverseerrMovieReleaseResultFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrMovieReleaseResultToJson(this);
}
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrMovieReleaseResultDate {
@JsonKey()
String? certification;
@JsonKey(name: 'iso_639_1')
String? iso6391;
@JsonKey()
String? note;
@JsonKey(name: 'release_date')
String? releaseDate;
@JsonKey()
int? type;
OverseerrMovieReleaseResultDate({
this.certification,
this.iso6391,
this.note,
this.releaseDate,
this.type,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrMovieReleaseResultDate.fromJson(Map<String, dynamic> json) =>
_$OverseerrMovieReleaseResultDateFromJson(json);
Map<String, dynamic> toJson() =>
_$OverseerrMovieReleaseResultDateToJson(this);
}

View File

@@ -1,33 +0,0 @@
import 'package:lunasea/core.dart';
part 'network.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrNetwork {
@JsonKey()
int? id;
@JsonKey()
String? name;
@JsonKey()
String? originCountry;
@JsonKey()
String? logoPath;
OverseerrNetwork({
this.id,
this.name,
this.originCountry,
this.logoPath,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrNetwork.fromJson(Map<String, dynamic> json) =>
_$OverseerrNetworkFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrNetworkToJson(this);
}

View File

@@ -1,45 +0,0 @@
import 'package:lunasea/core.dart';
part 'production_company.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrProductionCompany {
@JsonKey()
int? id;
@JsonKey()
String? logoPath;
@JsonKey()
String? originCountry;
@JsonKey()
String? name;
@JsonKey()
String? description;
@JsonKey()
String? headquarters;
@JsonKey()
String? homepage;
OverseerrProductionCompany({
this.id,
this.logoPath,
this.originCountry,
this.name,
this.description,
this.headquarters,
this.homepage,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrProductionCompany.fromJson(Map<String, dynamic> json) =>
_$OverseerrProductionCompanyFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrProductionCompanyToJson(this);
}

View File

@@ -1,25 +0,0 @@
import 'package:lunasea/core.dart';
part 'production_country.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrProductionCountry {
@JsonKey(name: 'iso_3166_1')
String? iso31661;
@JsonKey()
String? name;
OverseerrProductionCountry({
this.iso31661,
this.name,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrProductionCountry.fromJson(Map<String, dynamic> json) =>
_$OverseerrProductionCountryFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrProductionCountryToJson(this);
}

View File

@@ -1,41 +0,0 @@
import 'package:lunasea/core.dart';
part 'related_video.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrRelatedVideo {
@JsonKey()
String? site;
@JsonKey()
String? key;
@JsonKey()
String? name;
@JsonKey()
int? size;
@JsonKey()
String? type;
@JsonKey()
String? url;
OverseerrRelatedVideo({
this.site,
this.key,
this.name,
this.size,
this.type,
this.url,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrRelatedVideo.fromJson(Map<String, dynamic> json) =>
_$OverseerrRelatedVideoFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrRelatedVideoToJson(this);
}

View File

@@ -1,45 +0,0 @@
import 'package:lunasea/core.dart';
part 'season.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrSeason {
@JsonKey()
int? id;
@JsonKey()
String? airDate;
@JsonKey()
int? episodeCount;
@JsonKey()
String? name;
@JsonKey()
String? overview;
@JsonKey()
int? seasonNumber;
@JsonKey()
String? posterPath;
OverseerrSeason({
this.id,
this.airDate,
this.episodeCount,
this.name,
this.overview,
this.seasonNumber,
this.posterPath,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrSeason.fromJson(Map<String, dynamic> json) =>
_$OverseerrSeasonFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrSeasonToJson(this);
}

View File

@@ -1,167 +0,0 @@
import 'package:lunasea/core.dart';
import 'package:lunasea/api/overseerr/models.dart';
part 'series.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrSeries {
@JsonKey()
int? id;
@JsonKey()
List<OverseerrCreatedBy>? createdBy;
@JsonKey()
String? homepage;
@JsonKey()
String? name;
@JsonKey()
List<int>? episodeRunTime;
@JsonKey()
String? firstAirDate;
@JsonKey()
String? lastAirDate;
@JsonKey()
List<OverseerrGenre>? genres;
@JsonKey()
String? backdropPath;
@JsonKey()
String? posterPath;
@JsonKey()
bool? inProduction;
@JsonKey()
List<String>? languages;
@JsonKey()
int? numberOfEpisodes;
@JsonKey()
int? numberOfSeasons;
@JsonKey()
List<String>? originCountry;
@JsonKey()
String? originalLanguage;
@JsonKey()
String? originalName;
@JsonKey()
String? overview;
@JsonKey()
double? popularity;
@JsonKey()
List<OverseerrProductionCompany>? productionCompanies;
@JsonKey()
List<OverseerrProductionCountry>? productionCountries;
@JsonKey()
List<OverseerrSpokenLanguage>? spokenLanguages;
@JsonKey()
List<OverseerrRelatedVideo>? relatedVideos;
@JsonKey()
List<OverseerrNetwork>? networks;
@JsonKey()
String? status;
@JsonKey()
String? type;
@JsonKey()
double? voteAverage;
@JsonKey()
int? voteCount;
@JsonKey()
String? tagline;
@JsonKey()
OverseerrCredits? credits;
@JsonKey()
List<OverseerrWatchProvider>? watchProviders;
@JsonKey()
List<OverseerrKeyword>? keywords;
@JsonKey()
OverseerrExternalIds? externalIds;
@JsonKey()
OverseerrContentRatings? contentRatings;
@JsonKey()
List<OverseerrMediaSeason>? seasons;
@JsonKey()
OverseerrMedia? mediaInfo;
@JsonKey()
OverseerrEpisode? lastEpisodeToAir;
@JsonKey()
OverseerrEpisode? nextEpisodeToAir;
OverseerrSeries({
this.id,
this.createdBy,
this.homepage,
this.name,
this.episodeRunTime,
this.firstAirDate,
this.lastAirDate,
this.genres,
this.backdropPath,
this.posterPath,
this.inProduction,
this.languages,
this.numberOfEpisodes,
this.numberOfSeasons,
this.originCountry,
this.originalLanguage,
this.originalName,
this.overview,
this.popularity,
this.productionCompanies,
this.productionCountries,
this.relatedVideos,
this.spokenLanguages,
this.networks,
this.status,
this.type,
this.voteAverage,
this.voteCount,
this.tagline,
this.credits,
this.watchProviders,
this.keywords,
this.externalIds,
this.seasons,
this.mediaInfo,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrSeries.fromJson(Map<String, dynamic> json) =>
_$OverseerrSeriesFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrSeriesToJson(this);
}

View File

@@ -1,33 +0,0 @@
import 'package:lunasea/core.dart';
part 'spoken_language.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrSpokenLanguage {
@JsonKey()
String? englishName;
@JsonKey(name: 'english_name')
String? englishNameSecondary;
@JsonKey(name: 'iso_639_1')
String? iso6391;
@JsonKey()
String? name;
OverseerrSpokenLanguage({
this.englishName,
this.englishNameSecondary,
this.iso6391,
this.name,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrSpokenLanguage.fromJson(Map<String, dynamic> json) =>
_$OverseerrSpokenLanguageFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrSpokenLanguageToJson(this);
}

View File

@@ -1,63 +0,0 @@
import 'package:lunasea/core.dart';
part 'watch_provider.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrWatchProvider {
@JsonKey(name: 'iso_3166_1')
String? iso31661;
@JsonKey()
String? link;
@JsonKey()
List<OverseerrWatchProviderDetails>? buy;
@JsonKey()
List<OverseerrWatchProviderDetails>? flatrate;
OverseerrWatchProvider({
this.iso31661,
this.link,
this.buy,
this.flatrate,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrWatchProvider.fromJson(Map<String, dynamic> json) =>
_$OverseerrWatchProviderFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrWatchProviderToJson(this);
}
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrWatchProviderDetails {
@JsonKey()
int? id;
@JsonKey()
String? name;
@JsonKey()
int? displayPriority;
@JsonKey()
String? logoPath;
OverseerrWatchProviderDetails({
this.id,
this.name,
this.displayPriority,
this.logoPath,
});
@override
String toString() => json.encode(this.toJson());
factory OverseerrWatchProviderDetails.fromJson(Map<String, dynamic> json) =>
_$OverseerrWatchProviderDetailsFromJson(json);
Map<String, dynamic> toJson() => _$OverseerrWatchProviderDetailsToJson(this);
}

View File

@@ -1,73 +0,0 @@
import 'package:lunasea/api/overseerr/models.dart';
import 'package:lunasea/api/overseerr/types.dart';
import 'package:lunasea/core.dart';
import 'package:lunasea/utils/parser.dart';
part 'issue.g.dart';
@JsonSerializable()
class OverseerrIssue {
@JsonKey()
int id;
@JsonKey()
OverseerrIssueType? issueType;
@JsonKey()
OverseerrIssueStatus? status;
@JsonKey()
int? problemSeason;
@JsonKey()
int? problemEpisode;
@JsonKey(
fromJson: LunaParser.dateTimeFromString,
toJson: LunaParser.dateTimeToISO8601,
)
DateTime? createdAt;
@JsonKey(
fromJson: LunaParser.dateTimeFromString,
toJson: LunaParser.dateTimeToISO8601,
)
DateTime? updatedAt;
@JsonKey()
OverseerrMedia? media;
@JsonKey()
OverseerrUser? createdBy;
@JsonKey()
OverseerrUser? modifiedBy;
@JsonKey()
List<OverseerrIssueComment>? comments;
OverseerrIssue({
required this.id,
this.issueType,
this.status,
this.problemSeason,
this.problemEpisode,
this.createdAt,
this.updatedAt,
this.media,
this.createdBy,
this.modifiedBy,
this.comments,
});
/// Returns a JSON-encoded string version of this object.
@override
String toString() => json.encode(this.toJson());
/// Deserialize a JSON map to a [OverseerrIssue] object.
factory OverseerrIssue.fromJson(Map<String, dynamic> json) =>
_$OverseerrIssueFromJson(json);
/// Serialize a [OverseerrIssue] object to a JSON map.
Map<String, dynamic> toJson() => _$OverseerrIssueToJson(this);
}

View File

@@ -1,48 +0,0 @@
import 'package:lunasea/core.dart';
import 'package:lunasea/api/overseerr/models.dart';
import 'package:lunasea/utils/parser.dart';
part 'issue_comment.g.dart';
@JsonSerializable()
class OverseerrIssueComment {
@JsonKey()
int id;
@JsonKey()
String message;
@JsonKey(
fromJson: LunaParser.dateTimeFromString,
toJson: LunaParser.dateTimeToISO8601,
)
DateTime? createdAt;
@JsonKey(
fromJson: LunaParser.dateTimeFromString,
toJson: LunaParser.dateTimeToISO8601,
)
DateTime? updatedAt;
@JsonKey()
OverseerrUser? user;
OverseerrIssueComment({
required this.id,
required this.message,
this.createdAt,
this.updatedAt,
this.user,
});
/// Returns a JSON-encoded string version of this object.
@override
String toString() => json.encode(this.toJson());
/// Deserialize a JSON map to a [OverseerrIssueComment] object.
factory OverseerrIssueComment.fromJson(Map<String, dynamic> json) =>
_$OverseerrIssueCommentFromJson(json);
/// Serialize a [OverseerrIssueComment] object to a JSON map.
Map<String, dynamic> toJson() => _$OverseerrIssueCommentToJson(this);
}

View File

@@ -1,29 +0,0 @@
import 'package:lunasea/core.dart';
import 'package:lunasea/api/overseerr/models.dart';
part 'issue_page.g.dart';
@JsonSerializable()
class OverseerrIssuePage {
@JsonKey()
OverseerrPageInfo? pageInfo;
@JsonKey()
List<OverseerrIssue>? results;
OverseerrIssuePage({
this.pageInfo,
this.results,
});
/// Returns a JSON-encoded string version of this object.
@override
String toString() => json.encode(this.toJson());
/// Deserialize a JSON map to a [OverseerrIssuePage] object.
factory OverseerrIssuePage.fromJson(Map<String, dynamic> json) =>
_$OverseerrIssuePageFromJson(json);
/// Serialize a [OverseerrIssuePage] object to a JSON map.
Map<String, dynamic> toJson() => _$OverseerrIssuePageToJson(this);
}

View File

@@ -1,122 +0,0 @@
import 'package:lunasea/core.dart';
import 'package:lunasea/modules/overseerr.dart';
import 'package:lunasea/utils/parser.dart';
part 'media.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrMedia {
@JsonKey()
int? id;
@JsonKey()
OverseerrMediaType? mediaType;
@JsonKey()
int? tmdbId;
@JsonKey()
int? tvdbId;
@JsonKey()
String? imdbId;
@JsonKey()
OverseerrMediaStatus? status;
@JsonKey()
OverseerrMediaStatus? status4k;
@JsonKey(
fromJson: LunaParser.dateTimeFromString,
toJson: LunaParser.dateTimeToISO8601,
)
DateTime? createdAt;
@JsonKey(
fromJson: LunaParser.dateTimeFromString,
toJson: LunaParser.dateTimeToISO8601,
)
DateTime? updatedAt;
@JsonKey(
fromJson: LunaParser.dateTimeFromString,
toJson: LunaParser.dateTimeToISO8601,
)
DateTime? lastSeasonChange;
@JsonKey(
fromJson: LunaParser.dateTimeFromString,
toJson: LunaParser.dateTimeToISO8601,
)
DateTime? mediaAddedAt;
@JsonKey()
int? serviceId;
@JsonKey()
int? serviceId4k;
@JsonKey()
int? externalServiceId;
@JsonKey()
int? externalServiceId4k;
@JsonKey()
String? externalServiceSlug;
@JsonKey()
String? externalServiceSlug4k;
@JsonKey()
String? ratingKey;
@JsonKey()
String? ratingKey4k;
@JsonKey()
List<OverseerrSeason>? seasons;
@JsonKey()
String? plexUrl;
@JsonKey()
String? serviceUrl;
OverseerrMedia({
this.id,
this.mediaType,
this.tmdbId,
this.tvdbId,
this.imdbId,
this.status,
this.status4k,
this.createdAt,
this.updatedAt,
this.lastSeasonChange,
this.mediaAddedAt,
this.serviceId,
this.serviceId4k,
this.externalServiceId,
this.externalServiceId4k,
this.externalServiceSlug,
this.externalServiceSlug4k,
this.ratingKey,
this.ratingKey4k,
this.seasons,
this.plexUrl,
this.serviceUrl,
});
/// Returns a JSON-encoded string version of this object.
@override
String toString() => json.encode(this.toJson());
/// Deserialize a JSON map to a [OverseerrMedia] object.
factory OverseerrMedia.fromJson(Map<String, dynamic> json) =>
_$OverseerrMediaFromJson(json);
/// Serialize a [OverseerrMedia] object to a JSON map.
Map<String, dynamic> toJson() => _$OverseerrMediaToJson(this);
}

View File

@@ -1,54 +0,0 @@
import 'package:lunasea/core.dart';
import 'package:lunasea/modules/overseerr.dart';
import 'package:lunasea/utils/parser.dart';
part 'season.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrMediaSeason {
@JsonKey(name: 'id')
int? id;
@JsonKey(name: 'seasonNumber')
int? seasonNumber;
@JsonKey(name: 'status')
OverseerrRequestStatus? status;
@JsonKey(name: 'status4k')
OverseerrRequestStatus? status4k;
@JsonKey(
name: 'createdAt',
fromJson: LunaParser.dateTimeFromString,
toJson: LunaParser.dateTimeToISO8601,
)
DateTime? createdAt;
@JsonKey(
name: 'updatedAt',
fromJson: LunaParser.dateTimeFromString,
toJson: LunaParser.dateTimeToISO8601,
)
DateTime? updatedAt;
OverseerrMediaSeason({
this.id,
this.seasonNumber,
this.status,
this.status4k,
this.createdAt,
this.updatedAt,
});
/// Returns a JSON-encoded string version of this object.
@override
String toString() => json.encode(this.toJson());
/// Deserialize a JSON map to a [OverseerrMediaSeason] object.
factory OverseerrMediaSeason.fromJson(Map<String, dynamic> json) =>
_$OverseerrMediaSeasonFromJson(json);
/// Serialize a [OverseerrMediaSeason] object to a JSON map.
Map<String, dynamic> toJson() => _$OverseerrMediaSeasonToJson(this);
}

View File

@@ -1,37 +0,0 @@
import 'dart:convert';
import 'package:json_annotation/json_annotation.dart';
part 'page.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrPageInfo {
@JsonKey(name: 'pages')
int? pages;
@JsonKey(name: 'pageSize')
int? pageSize;
@JsonKey(name: 'results')
int? results;
@JsonKey(name: 'page')
int? page;
OverseerrPageInfo({
this.pages,
this.pageSize,
this.results,
this.page,
});
/// Returns a JSON-encoded string version of this object.
@override
String toString() => json.encode(this.toJson());
/// Deserialize a JSON map to a [OverseerrPageInfo] object.
factory OverseerrPageInfo.fromJson(Map<String, dynamic> json) =>
_$OverseerrPageInfoFromJson(json);
/// Serialize a [OverseerrPageInfo] object to a JSON map.
Map<String, dynamic> toJson() => _$OverseerrPageInfoToJson(this);
}

View File

@@ -1,41 +0,0 @@
import 'dart:convert';
import 'package:json_annotation/json_annotation.dart';
part 'quota.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrQuota {
@JsonKey(name: 'days')
int? days;
@JsonKey(name: 'limit')
int? limit;
@JsonKey(name: 'used')
int? used;
@JsonKey(name: 'remaining')
int? remaining;
@JsonKey(name: 'restricted')
bool? restricted;
OverseerrQuota({
this.days,
this.limit,
this.used,
this.remaining,
this.restricted,
});
/// Returns a JSON-encoded string version of this object.
@override
String toString() => json.encode(this.toJson());
/// Deserialize a JSON map to a [OverseerrQuota] object.
factory OverseerrQuota.fromJson(Map<String, dynamic> json) =>
_$OverseerrQuotaFromJson(json);
/// Serialize a [OverseerrQuota] object to a JSON map.
Map<String, dynamic> toJson() => _$OverseerrQuotaToJson(this);
}

View File

@@ -1,94 +0,0 @@
import 'package:lunasea/core.dart';
import 'package:lunasea/modules/overseerr.dart';
import 'package:lunasea/utils/parser.dart';
part 'request.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrRequest {
@JsonKey(name: 'id')
int? id;
@JsonKey(name: 'status')
OverseerrRequestStatus? status;
@JsonKey(
name: 'createdAt',
fromJson: LunaParser.dateTimeFromString,
toJson: LunaParser.dateTimeToISO8601,
)
DateTime? createdAt;
@JsonKey(
name: 'updatedAt',
fromJson: LunaParser.dateTimeFromString,
toJson: LunaParser.dateTimeToISO8601,
)
DateTime? updatedAt;
@JsonKey(name: 'type')
OverseerrMediaType? type;
@JsonKey(name: 'is4k')
bool? is4k;
@JsonKey(name: 'serverId')
int? serverId;
@JsonKey(name: 'profileId')
int? profileId;
@JsonKey(name: 'rootFolder')
String? rootFolder;
@JsonKey(name: 'languageProfileId')
int? languageProfileId;
@JsonKey(name: 'tags')
List<int>? tags;
@JsonKey(name: 'media')
OverseerrMedia? media;
@JsonKey(name: 'requestedBy')
OverseerrUser? requestedBy;
@JsonKey(name: 'modifiedBy')
OverseerrUser? modifiedBy;
@JsonKey(name: 'seasons')
List<OverseerrSeason>? seasons;
@JsonKey(name: 'seasonCount')
int? seasonCount;
OverseerrRequest({
this.id,
this.status,
this.createdAt,
this.updatedAt,
this.type,
this.is4k,
this.serverId,
this.profileId,
this.rootFolder,
this.languageProfileId,
this.tags,
this.media,
this.requestedBy,
this.modifiedBy,
this.seasons,
this.seasonCount,
});
/// Returns a JSON-encoded string version of this object.
@override
String toString() => json.encode(this.toJson());
/// Deserialize a JSON map to a [OverseerrRequest] object.
factory OverseerrRequest.fromJson(Map<String, dynamic> json) =>
_$OverseerrRequestFromJson(json);
/// Serialize a [OverseerrRequest] object to a JSON map.
Map<String, dynamic> toJson() => _$OverseerrRequestToJson(this);
}

View File

@@ -1,36 +0,0 @@
import 'package:lunasea/core.dart';
part 'request_count.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrRequestCount {
@JsonKey(name: 'pending')
int? pending;
@JsonKey(name: 'approved')
int? approved;
@JsonKey(name: 'processing')
int? processing;
@JsonKey(name: 'available')
int? available;
OverseerrRequestCount({
this.pending,
this.approved,
this.processing,
this.available,
});
/// Returns a JSON-encoded string version of this object.
@override
String toString() => json.encode(this.toJson());
/// Deserialize a JSON map to a [OverseerrRequestCount] object.
factory OverseerrRequestCount.fromJson(Map<String, dynamic> json) =>
_$OverseerrRequestCountFromJson(json);
/// Serialize a [OverseerrRequestCount] object to a JSON map.
Map<String, dynamic> toJson() => _$OverseerrRequestCountToJson(this);
}

View File

@@ -1,29 +0,0 @@
import 'package:lunasea/core.dart';
import 'package:lunasea/modules/overseerr.dart';
part 'request_page.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrRequestPage {
@JsonKey(name: 'pageInfo')
OverseerrPageInfo? pageInfo;
@JsonKey(name: 'results')
List<OverseerrRequest>? results;
OverseerrRequestPage({
this.pageInfo,
this.results,
});
/// Returns a JSON-encoded string version of this object.
@override
String toString() => json.encode(this.toJson());
/// Deserialize a JSON map to a [OverseerrRequestPage] object.
factory OverseerrRequestPage.fromJson(Map<String, dynamic> json) =>
_$OverseerrRequestPageFromJson(json);
/// Serialize a [OverseerrRequestPage] object to a JSON map.
Map<String, dynamic> toJson() => _$OverseerrRequestPageToJson(this);
}

View File

@@ -1,36 +0,0 @@
import 'package:lunasea/core.dart';
part 'status.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrStatus {
@JsonKey(name: 'version')
String? version;
@JsonKey(name: 'commitTag')
String? commitTag;
@JsonKey(name: 'updateAvailable')
bool? updateAvailable;
@JsonKey(name: 'commitsBehind')
int? commitsBehind;
OverseerrStatus({
this.version,
this.commitTag,
this.updateAvailable,
this.commitsBehind,
});
/// Returns a JSON-encoded string version of this object.
@override
String toString() => json.encode(this.toJson());
/// Deserialize a JSON map to a [OverseerrStatus] object.
factory OverseerrStatus.fromJson(Map<String, dynamic> json) =>
_$OverseerrStatusFromJson(json);
/// Serialize a [OverseerrStatus] object to a JSON map.
Map<String, dynamic> toJson() => _$OverseerrStatusToJson(this);
}

View File

@@ -1,28 +0,0 @@
import 'package:lunasea/core.dart';
part 'status_appdata.g.dart';
@JsonSerializable(explicitToJson: true, includeIfNull: false)
class OverseerrStatusAppData {
@JsonKey(name: 'appData')
bool? appData;
@JsonKey(name: 'appDataPath')
String? appDataPath;
OverseerrStatusAppData({
this.appData,
this.appDataPath,
});
/// Returns a JSON-encoded string version of this object.
@override
String toString() => json.encode(this.toJson());
/// Deserialize a JSON map to a [OverseerrStatusAppData] object.
factory OverseerrStatusAppData.fromJson(Map<String, dynamic> json) =>
_$OverseerrStatusAppDataFromJson(json);
/// Serialize a [OverseerrStatusAppData] object to a JSON map.
Map<String, dynamic> toJson() => _$OverseerrStatusAppDataToJson(this);
}

Some files were not shown because too many files have changed in this diff Show More