From bf6f697563e090042b2c23a9546b182ebc0fe393 Mon Sep 17 00:00:00 2001 From: Syer10 Date: Tue, 25 Jan 2022 20:25:43 -0500 Subject: [PATCH] Start preparing for multiplatform support --- .github/workflows/Build.yml | 8 +- .github/workflows/Preview.yml | 8 +- build.gradle.kts | 277 +----------------- buildSrc/src/main/kotlin/TachideskTasks.kt | 20 +- desktop/build.gradle.kts | 257 ++++++++++++++++ .../kotlin/ca/gosyer/common/di/AppScope.kt | 0 .../ca/gosyer/common/di/GenericsProvider.kt | 0 .../ca/gosyer/common/di/ModuleExtensions.kt | 0 .../gosyer/common/io/DataUriStringSource.kt | 0 .../ca/gosyer/common/io/OkioExtensions.kt | 0 .../common/prefs/LazyPreferenceStore.kt | 0 .../ca/gosyer/common/prefs/Preference.kt | 0 .../ca/gosyer/common/prefs/PreferenceStore.kt | 0 .../kotlin/ca/gosyer/common/util/Codec.kt | 0 .../common/util/CollectionExtensions.kt | 0 .../kotlin/ca/gosyer/common/util/ImageUtil.kt | 0 .../ca/gosyer/core/logging/LoggingSetup.kt | 0 .../ca/gosyer/core/prefs/JvmPreference.kt | 0 .../core/prefs/JvmPreferenceAdapters.kt | 0 .../gosyer/core/prefs/JvmPreferenceStore.kt | 0 .../core/prefs/PreferenceStoreFactory.kt | 0 .../gosyer/core/service/WebsocketService.kt | 0 .../main/kotlin/ca/gosyer/data/DataModule.kt | 0 .../gosyer/data/catalog/CatalogPreferences.kt | 0 .../gosyer/data/download/DownloadService.kt | 0 .../data/download/model/DownloadChapter.kt | 0 .../data/download/model/DownloadState.kt | 0 .../data/download/model/DownloadStatus.kt | 0 .../data/download/model/DownloaderStatus.kt | 0 .../data/extension/ExtensionPreferences.kt | 0 .../gosyer/data/library/LibraryPreferences.kt | 0 .../data/library/LibraryUpdateService.kt | 0 .../gosyer/data/library/model/DisplayMode.kt | 0 .../ca/gosyer/data/library/model/JobStatus.kt | 0 .../gosyer/data/library/model/UpdateStatus.kt | 0 .../data/migration/MigrationPreferences.kt | 0 .../ca/gosyer/data/migration/Migrations.kt | 0 .../kotlin/ca/gosyer/data/models/About.kt | 0 .../data/models/BackupValidationResult.kt | 0 .../kotlin/ca/gosyer/data/models/Category.kt | 0 .../kotlin/ca/gosyer/data/models/Chapter.kt | 0 .../kotlin/ca/gosyer/data/models/Extension.kt | 0 .../kotlin/ca/gosyer/data/models/Manga.kt | 0 .../ca/gosyer/data/models/MangaAndChapter.kt | 0 .../kotlin/ca/gosyer/data/models/MangaPage.kt | 0 .../main/kotlin/ca/gosyer/data/models/Page.kt | 0 .../kotlin/ca/gosyer/data/models/Source.kt | 0 .../kotlin/ca/gosyer/data/models/Updates.kt | 0 .../models/sourcefilters/CheckBoxFilter.kt | 0 .../data/models/sourcefilters/GroupFilter.kt | 0 .../data/models/sourcefilters/HeaderFilter.kt | 0 .../data/models/sourcefilters/SelectFilter.kt | 0 .../models/sourcefilters/SeparatorFilter.kt | 0 .../data/models/sourcefilters/SortFilter.kt | 0 .../data/models/sourcefilters/SourceFilter.kt | 0 .../sourcefilters/SourceFilterChange.kt | 0 .../data/models/sourcefilters/TextFilter.kt | 0 .../models/sourcefilters/TriStateFilter.kt | 0 .../sourcepreference/CheckBoxPreference.kt | 0 .../sourcepreference/EditTextPreference.kt | 0 .../models/sourcepreference/ListPreference.kt | 0 .../MultiSelectListPreference.kt | 0 .../sourcepreference/SourcePreference.kt | 0 .../SourcePreferenceChange.kt | 0 .../sourcepreference/SwitchPreference.kt | 0 .../models/sourcepreference/TwoStateProps.kt | 0 .../data/reader/ReaderModePreferences.kt | 0 .../ca/gosyer/data/reader/ReaderModeWatch.kt | 0 .../gosyer/data/reader/ReaderPreferences.kt | 0 .../data/reader/model/DefaultReaderMode.kt | 0 .../ca/gosyer/data/reader/model/Direction.kt | 0 .../ca/gosyer/data/reader/model/ImageScale.kt | 0 .../data/reader/model/NavigationMode.kt | 0 .../data/reader/model/TappingInvertMode.kt | 0 .../ca/gosyer/data/server/HttpClient.kt | 0 .../gosyer/data/server/KamelConfigProvider.kt | 0 .../data/server/ServerHostPreferences.kt | 0 .../gosyer/data/server/ServerPreferences.kt | 0 .../ca/gosyer/data/server/ServerService.kt | 0 .../gosyer/data/server/ServerUrlPreference.kt | 0 .../data/server/host/ServerHostPreference.kt | 0 .../interactions/BackupInteractionHandler.kt | 0 .../interactions/BaseInteractionHandler.kt | 0 .../CategoryInteractionHandler.kt | 0 .../interactions/ChapterInteractionHandler.kt | 0 .../DownloadInteractionHandler.kt | 0 .../ExtensionInteractionHandler.kt | 0 .../interactions/LibraryInteractionHandler.kt | 0 .../interactions/MangaInteractionHandler.kt | 0 .../interactions/SourceInteractionHandler.kt | 0 .../interactions/UpdatesInteractionHandler.kt | 0 .../ca/gosyer/data/server/model/Auth.kt | 0 .../ca/gosyer/data/server/model/Proxy.kt | 0 .../ca/gosyer/data/server/requests/Backup.kt | 0 .../gosyer/data/server/requests/Category.kt | 0 .../gosyer/data/server/requests/Chapters.kt | 0 .../gosyer/data/server/requests/Downloads.kt | 0 .../gosyer/data/server/requests/Extensions.kt | 0 .../ca/gosyer/data/server/requests/Library.kt | 0 .../ca/gosyer/data/server/requests/Manga.kt | 0 .../ca/gosyer/data/server/requests/Meta.kt | 0 .../data/server/requests/RestRequests.kt | 0 .../ca/gosyer/data/server/requests/Sources.kt | 0 .../ca/gosyer/data/server/requests/Updates.kt | 0 .../data/translation/ResourceProvider.kt | 0 .../data/translation/XmlResourceBundle.kt | 0 .../gosyer/data/translation/xml/Resources.kt | 0 .../gosyer/data/translation/xml/XmlString.kt | 0 .../kotlin/ca/gosyer/data/ui/UiPreferences.kt | 0 .../ca/gosyer/data/ui/model/StartScreen.kt | 0 .../ca/gosyer/data/ui/model/ThemeMode.kt | 0 .../ca/gosyer/data/ui/model/WindowSettings.kt | 0 .../ca/gosyer/data/update/UpdateChecker.kt | 0 .../gosyer/data/update/UpdatePreferences.kt | 0 .../gosyer/data/update/model/GithubRelease.kt | 0 .../kotlin/ca/gosyer/ui/base/WindowDialog.kt | 0 .../base/components/BoxWithTooltipSurface.kt | 0 .../base/components/ChapterDownloadButtons.kt | 0 .../ui/base/components/ColorPickerDialog.kt | 0 .../ui/base/components/DropdownIconButton.kt | 0 .../gosyer/ui/base/components/ErrorScreen.kt | 0 .../gosyer/ui/base/components/KamelImage.kt | 0 .../ui/base/components/LoadingScreen.kt | 0 .../ca/gosyer/ui/base/components/Manga.kt | 0 .../ui/base/components/MangaListItem.kt | 0 .../ui/base/components/MenuController.kt | 0 .../ui/base/components/MouseClickable.kt | 0 .../ca/gosyer/ui/base/components/Spinner.kt | 0 .../ca/gosyer/ui/base/components/Toolbar.kt | 0 .../gosyer/ui/base/prefs/ColorPreference.kt | 0 .../ui/base/prefs/IntStringPreference.kt | 0 .../ui/base/prefs/PreferenceMutableState.kt | 0 .../ui/base/prefs/PreferencesUiBuilder.kt | 0 .../ui/base/resources/LocalResources.kt | 0 .../ui/base/theme/AppColorsPreference.kt | 0 .../ca/gosyer/ui/base/theme/AppTheme.kt | 0 .../ca/gosyer/ui/base/theme/RandomColors.kt | 0 .../kotlin/ca/gosyer/ui/base/theme/Themes.kt | 0 .../ca/gosyer/ui/base/vm/ComposeViewModel.kt | 0 .../kotlin/ca/gosyer/ui/base/vm/ViewModel.kt | 0 .../gosyer/ui/categories/CategoriesDialogs.kt | 0 .../ca/gosyer/ui/categories/CategoriesMenu.kt | 0 .../ui/categories/CategoriesMenuViewModel.kt | 0 .../ca/gosyer/ui/downloads/DownloadsMenu.kt | 0 .../ui/downloads/DownloadsMenuViewModel.kt | 0 .../ca/gosyer/ui/extensions/ExtensionsMenu.kt | 0 .../ui/extensions/ExtensionsMenuViewModel.kt | 0 .../gosyer/ui/library/LibraryMangaBadges.kt | 0 .../ca/gosyer/ui/library/LibraryScreen.kt | 0 .../ui/library/LibraryScreenViewModel.kt | 0 .../ca/gosyer/ui/library/MangaCompactGrid.kt | 0 .../main/kotlin/ca/gosyer/ui/main/MainMenu.kt | 0 .../kotlin/ca/gosyer/ui/main/MainViewModel.kt | 0 .../main/kotlin/ca/gosyer/ui/main/Routes.kt | 0 .../kotlin/ca/gosyer/ui/main/TopLevelMenus.kt | 0 .../gosyer/ui/main/components/DebugOverlay.kt | 0 .../main/components/DebugOverlayViewModel.kt | 0 .../ui/main/components/DownloadsExtraInfo.kt | 0 .../ca/gosyer/ui/main/components/SideMenu.kt | 0 .../gosyer/ui/main/components/SideMenuItem.kt | 0 .../ca/gosyer/ui/main/components/Tray.kt | 0 .../ui/main/components/TrayViewModel.kt | 0 .../main/kotlin/ca/gosyer/ui/main/main.kt | 0 .../kotlin/ca/gosyer/ui/manga/ChapterItem.kt | 0 .../kotlin/ca/gosyer/ui/manga/MangaMenu.kt | 0 .../ca/gosyer/ui/manga/MangaMenuViewModel.kt | 0 .../ca/gosyer/ui/reader/ChapterLoader.kt | 0 .../kotlin/ca/gosyer/ui/reader/ReaderMenu.kt | 0 .../gosyer/ui/reader/ReaderMenuViewModel.kt | 0 .../ca/gosyer/ui/reader/ReaderSideMenu.kt | 0 .../ca/gosyer/ui/reader/loader/PageLoader.kt | 0 .../ui/reader/loader/TachideskPageLoader.kt | 0 .../ca/gosyer/ui/reader/model/MoveTo.kt | 0 .../ca/gosyer/ui/reader/model/Navigation.kt | 0 .../ca/gosyer/ui/reader/model/PageMove.kt | 0 .../gosyer/ui/reader/model/ReaderChapter.kt | 0 .../ca/gosyer/ui/reader/model/ReaderPage.kt | 0 .../gosyer/ui/reader/model/ViewerChapters.kt | 0 .../ui/reader/navigation/EdgeNavigation.kt | 0 .../reader/navigation/KindlishNavigation.kt | 0 .../ui/reader/navigation/LNavigation.kt | 0 .../reader/navigation/NavigationClickable.kt | 0 .../navigation/RightAndLeftNavigation.kt | 0 .../ui/reader/navigation/ViewerNavigation.kt | 0 .../ca/gosyer/ui/reader/viewer/Continuous.kt | 0 .../ca/gosyer/ui/reader/viewer/Pager.kt | 0 .../ui/settings/SettingsAdvancedScreen.kt | 0 .../ui/settings/SettingsAppearanceScreen.kt | 0 .../ui/settings/SettingsBackupScreen.kt | 0 .../ui/settings/SettingsBrowseScreen.kt | 0 .../ui/settings/SettingsDownloadsScreen.kt | 0 .../ui/settings/SettingsGeneralScreen.kt | 0 .../ui/settings/SettingsLibraryScreen.kt | 0 .../SettingsParentalControlsScreen.kt | 0 .../ui/settings/SettingsReaderScreen.kt | 0 .../ca/gosyer/ui/settings/SettingsScreen.kt | 0 .../ui/settings/SettingsSecurityScreen.kt | 0 .../ui/settings/SettingsServerScreen.kt | 0 .../ui/settings/SettingsTrackingScreen.kt | 0 .../ca/gosyer/ui/sources/SourcesMenu.kt | 0 .../gosyer/ui/sources/SourcesMenuViewModel.kt | 0 .../ui/sources/components/SourceHomeScreen.kt | 0 .../components/SourceHomeScreenViewModel.kt | 0 .../ui/sources/components/SourceScreen.kt | 0 .../components/SourceScreenViewModel.kt | 0 .../components/filter/SourceFiltersMenu.kt | 0 .../filter/SourceFiltersViewModel.kt | 0 .../filter/model/SourceFiltersView.kt | 0 .../ui/sources/settings/SourceSettingsMenu.kt | 0 .../settings/SourceSettingsViewModel.kt | 0 .../settings/model/SourceSettingsView.kt | 0 .../ca/gosyer/ui/updates/UpdatesMenu.kt | 0 .../gosyer/ui/updates/UpdatesMenuViewModel.kt | 0 .../kotlin/ca/gosyer/util/compose/Bundle.kt | 0 .../kotlin/ca/gosyer/util/compose/Color.kt | 0 .../kotlin/ca/gosyer/util/compose/Flow.kt | 0 .../kotlin/ca/gosyer/util/compose/Image.kt | 0 .../kotlin/ca/gosyer/util/compose/Offset.kt | 0 .../kotlin/ca/gosyer/util/compose/State.kt | 0 .../kotlin/ca/gosyer/util/compose/Theme.kt | 0 .../gosyer/util/lang/CoroutineExtensions.kt | 0 .../main/kotlin/ca/gosyer/util/lang/String.kt | 0 .../main/kotlin/ca/gosyer/util/system/File.kt | 0 .../main/kotlin/ca/gosyer/util/system/Flow.kt | 0 .../kotlin/ca/gosyer/util/system/Logging.kt | 0 .../ca/gosyer/util/system/Preference.kt | 0 {src => desktop/src}/main/resources/icon.png | Bin .../resources/values/values-ar/strings.xml | 0 .../resources/values/values-cs/strings.xml | 0 .../resources/values/values-de/strings.xml | 0 .../resources/values/values-en-CA/strings.xml | 0 .../resources/values/values-es/strings.xml | 0 .../resources/values/values-fa/strings.xml | 0 .../resources/values/values-fr/strings.xml | 0 .../resources/values/values-hi/strings.xml | 0 .../resources/values/values-it/strings.xml | 0 .../resources/values/values-nb-NO/strings.xml | 0 .../resources/values/values-nl/strings.xml | 0 .../resources/values/values-pt-BR/strings.xml | 0 .../resources/values/values-sv/strings.xml | 0 .../resources/values/values-tam/strings.xml | 0 .../resources/values/values-th/strings.xml | 0 .../resources/values/values-ti/strings.xml | 0 .../resources/values/values-tr/strings.xml | 0 .../resources/values/values-zh-CN/strings.xml | 0 .../main/resources/values/values/strings.xml | 0 .../data/translation/XmlResourceBundleTest.kt | 0 settings.gradle.kts | 2 +- 248 files changed, 289 insertions(+), 283 deletions(-) create mode 100644 desktop/build.gradle.kts rename {src => desktop/src}/main/kotlin/ca/gosyer/common/di/AppScope.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/common/di/GenericsProvider.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/common/di/ModuleExtensions.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/common/io/DataUriStringSource.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/common/io/OkioExtensions.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/common/prefs/LazyPreferenceStore.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/common/prefs/Preference.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/common/prefs/PreferenceStore.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/common/util/Codec.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/common/util/CollectionExtensions.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/common/util/ImageUtil.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/core/logging/LoggingSetup.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/core/prefs/JvmPreference.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/core/prefs/JvmPreferenceAdapters.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/core/prefs/JvmPreferenceStore.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/core/prefs/PreferenceStoreFactory.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/core/service/WebsocketService.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/DataModule.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/catalog/CatalogPreferences.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/download/DownloadService.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/download/model/DownloadChapter.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/download/model/DownloadState.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/download/model/DownloadStatus.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/download/model/DownloaderStatus.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/extension/ExtensionPreferences.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/library/LibraryPreferences.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/library/LibraryUpdateService.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/library/model/DisplayMode.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/library/model/JobStatus.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/library/model/UpdateStatus.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/migration/MigrationPreferences.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/migration/Migrations.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/About.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/BackupValidationResult.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/Category.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/Chapter.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/Extension.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/Manga.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/MangaAndChapter.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/MangaPage.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/Page.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/Source.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/Updates.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcefilters/CheckBoxFilter.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcefilters/GroupFilter.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcefilters/HeaderFilter.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcefilters/SelectFilter.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcefilters/SeparatorFilter.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcefilters/SortFilter.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcefilters/SourceFilter.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcefilters/SourceFilterChange.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcefilters/TextFilter.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcefilters/TriStateFilter.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcepreference/CheckBoxPreference.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcepreference/EditTextPreference.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcepreference/ListPreference.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcepreference/MultiSelectListPreference.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcepreference/SourcePreference.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcepreference/SourcePreferenceChange.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcepreference/SwitchPreference.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/models/sourcepreference/TwoStateProps.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/reader/ReaderModePreferences.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/reader/ReaderModeWatch.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/reader/ReaderPreferences.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/reader/model/DefaultReaderMode.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/reader/model/Direction.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/reader/model/ImageScale.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/reader/model/NavigationMode.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/reader/model/TappingInvertMode.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/HttpClient.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/KamelConfigProvider.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/ServerHostPreferences.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/ServerPreferences.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/ServerService.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/ServerUrlPreference.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/host/ServerHostPreference.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/interactions/BackupInteractionHandler.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/interactions/BaseInteractionHandler.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/interactions/CategoryInteractionHandler.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/interactions/ChapterInteractionHandler.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/interactions/DownloadInteractionHandler.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/interactions/ExtensionInteractionHandler.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/interactions/LibraryInteractionHandler.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/interactions/MangaInteractionHandler.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/interactions/SourceInteractionHandler.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/interactions/UpdatesInteractionHandler.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/model/Auth.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/model/Proxy.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/requests/Backup.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/requests/Category.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/requests/Chapters.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/requests/Downloads.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/requests/Extensions.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/requests/Library.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/requests/Manga.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/requests/Meta.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/requests/RestRequests.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/requests/Sources.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/server/requests/Updates.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/translation/ResourceProvider.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/translation/XmlResourceBundle.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/translation/xml/Resources.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/translation/xml/XmlString.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/ui/UiPreferences.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/ui/model/StartScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/ui/model/ThemeMode.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/ui/model/WindowSettings.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/update/UpdateChecker.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/update/UpdatePreferences.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/data/update/model/GithubRelease.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/WindowDialog.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/components/BoxWithTooltipSurface.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/components/ChapterDownloadButtons.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/components/ColorPickerDialog.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/components/DropdownIconButton.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/components/ErrorScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/components/KamelImage.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/components/LoadingScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/components/Manga.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/components/MangaListItem.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/components/MenuController.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/components/MouseClickable.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/components/Spinner.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/components/Toolbar.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/prefs/ColorPreference.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/prefs/IntStringPreference.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/prefs/PreferenceMutableState.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/prefs/PreferencesUiBuilder.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/resources/LocalResources.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/theme/AppColorsPreference.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/theme/AppTheme.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/theme/RandomColors.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/theme/Themes.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/vm/ComposeViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/base/vm/ViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/categories/CategoriesDialogs.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/categories/CategoriesMenu.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/categories/CategoriesMenuViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/downloads/DownloadsMenu.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/downloads/DownloadsMenuViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/extensions/ExtensionsMenu.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/extensions/ExtensionsMenuViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/library/LibraryMangaBadges.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/library/LibraryScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/library/LibraryScreenViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/library/MangaCompactGrid.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/main/MainMenu.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/main/MainViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/main/Routes.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/main/TopLevelMenus.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/main/components/DebugOverlay.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/main/components/DebugOverlayViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/main/components/DownloadsExtraInfo.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/main/components/SideMenu.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/main/components/SideMenuItem.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/main/components/Tray.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/main/components/TrayViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/main/main.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/manga/ChapterItem.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/manga/MangaMenu.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/manga/MangaMenuViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/ChapterLoader.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/ReaderMenu.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/ReaderMenuViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/ReaderSideMenu.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/loader/PageLoader.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/loader/TachideskPageLoader.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/model/MoveTo.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/model/Navigation.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/model/PageMove.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/model/ReaderChapter.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/model/ReaderPage.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/model/ViewerChapters.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/navigation/EdgeNavigation.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/navigation/KindlishNavigation.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/navigation/LNavigation.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/navigation/NavigationClickable.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/navigation/RightAndLeftNavigation.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/navigation/ViewerNavigation.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/viewer/Continuous.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/reader/viewer/Pager.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/settings/SettingsAdvancedScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/settings/SettingsAppearanceScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/settings/SettingsBackupScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/settings/SettingsBrowseScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/settings/SettingsDownloadsScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/settings/SettingsGeneralScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/settings/SettingsLibraryScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/settings/SettingsParentalControlsScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/settings/SettingsReaderScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/settings/SettingsScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/settings/SettingsSecurityScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/settings/SettingsServerScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/settings/SettingsTrackingScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/sources/SourcesMenu.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/sources/SourcesMenuViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/sources/components/SourceHomeScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/sources/components/SourceHomeScreenViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/sources/components/SourceScreen.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/sources/components/SourceScreenViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/sources/components/filter/SourceFiltersMenu.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/sources/components/filter/SourceFiltersViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/sources/components/filter/model/SourceFiltersView.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/sources/settings/SourceSettingsMenu.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/sources/settings/SourceSettingsViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/sources/settings/model/SourceSettingsView.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/updates/UpdatesMenu.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/ui/updates/UpdatesMenuViewModel.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/util/compose/Bundle.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/util/compose/Color.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/util/compose/Flow.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/util/compose/Image.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/util/compose/Offset.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/util/compose/State.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/util/compose/Theme.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/util/lang/CoroutineExtensions.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/util/lang/String.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/util/system/File.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/util/system/Flow.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/util/system/Logging.kt (100%) rename {src => desktop/src}/main/kotlin/ca/gosyer/util/system/Preference.kt (100%) rename {src => desktop/src}/main/resources/icon.png (100%) rename {src => desktop/src}/main/resources/values/values-ar/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-cs/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-de/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-en-CA/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-es/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-fa/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-fr/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-hi/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-it/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-nb-NO/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-nl/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-pt-BR/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-sv/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-tam/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-th/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-ti/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-tr/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values-zh-CN/strings.xml (100%) rename {src => desktop/src}/main/resources/values/values/strings.xml (100%) rename {src => desktop/src}/test/kotlin/ca/gosyer/data/translation/XmlResourceBundleTest.kt (100%) diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index e5bfe824..461bd3d4 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -94,9 +94,9 @@ jobs: with: name: runner-package-${{ matrix.runtime }} path: | - build/compose/binaries/main/*/ - build/compose/jars/ - !build/compose/binaries/main/app/ + desktop/build/compose/binaries/main/*/ + desktop/build/compose/jars/ + !desktop/build/compose/binaries/main/app/ # Upload runner errors - name: Upload error logs @@ -105,7 +105,7 @@ jobs: with: name: runner-errors-${{ matrix.runtime }} path: | - build/compose/logs/ + desktop/build/compose/logs/ ReleaseBinaries: name: Make a release needs: [ BuildBinaries ] diff --git a/.github/workflows/Preview.yml b/.github/workflows/Preview.yml index 3c35aeb1..b88eb2b9 100644 --- a/.github/workflows/Preview.yml +++ b/.github/workflows/Preview.yml @@ -102,9 +102,9 @@ jobs: with: name: runner-package-${{ matrix.runtime }} path: | - build/compose/binaries/main/*/ - build/compose/jars/ - !build/compose/binaries/main/app/ + desktop/build/compose/binaries/main/*/ + desktop/build/compose/jars/ + !desktop/build/compose/binaries/main/app/ # Upload runner errors - name: Upload error logs @@ -113,7 +113,7 @@ jobs: with: name: runner-errors-${{ matrix.runtime }} path: | - build/compose/logs/ + desktop/build/compose/logs/ ReleaseBinaries: name: Make a release needs: [ BuildBinaries ] diff --git a/build.gradle.kts b/build.gradle.kts index 20dd59a9..878b8e80 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,21 +1,10 @@ -import Config.migrationCode -import Config.serverCode -import Config.tachideskVersion -import org.gradle.jvm.tasks.Jar -import org.jetbrains.compose.compose -import org.jetbrains.compose.desktop.application.dsl.TargetFormat -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -import org.jmailen.gradle.kotlinter.tasks.FormatTask -import org.jmailen.gradle.kotlinter.tasks.LintTask -import proguard.gradle.ProGuardTask - plugins { - kotlin("jvm") version "1.6.10" - kotlin("kapt") version "1.6.10" - kotlin("plugin.serialization") version "1.6.10" - id("org.jetbrains.compose") version "1.0.1" - id("com.github.gmazzo.buildconfig") version "3.0.3" - id("org.jmailen.kotlinter") version "3.8.0" + kotlin("multiplatform") version "1.6.10" apply false + kotlin("kapt") version "1.6.10" apply false + kotlin("plugin.serialization") version "1.6.10" apply false + id("org.jetbrains.compose") version "1.0.1" apply false + id("com.github.gmazzo.buildconfig") version "3.0.3" apply false + id("org.jmailen.kotlinter") version "3.8.0" apply false id("com.github.ben-manes.versions") version "0.41.0" } @@ -30,253 +19,13 @@ buildscript { } } -group = "ca.gosyer" -version = "1.2.1" +allprojects { + group = "ca.gosyer" + version = "1.2.1" -repositories { - mavenCentral() - google() - maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") -} - -dependencies { - // UI (Compose) - implementation(compose.desktop.currentOs) - implementation(compose.uiTooling) - implementation(compose.materialIconsExtended) - implementation(compose("org.jetbrains.compose.ui:ui-util")) - implementation("ca.gosyer:compose-router:0.24.2-jetbrains-2") - implementation("ca.gosyer:accompanist-pager:0.18.1") - implementation("ca.gosyer:accompanist-flowlayout:0.18.1") - implementation("com.alialbaali.kamel:kamel-image:0.3.0") - - // UI (Swing) - implementation("com.github.weisj:darklaf-core:2.7.3") - - // Threading - val coroutinesVersion = "1.6.0" - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutinesVersion") - - // Json - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2") - - // Xml - val xmlutilVersion = "0.83.0" - implementation("io.github.pdvrieze.xmlutil:core-jvm:$xmlutilVersion") - implementation("io.github.pdvrieze.xmlutil:serialization-jvm:$xmlutilVersion") - - // Dependency Injection - val toothpickVersion = "3.1.0" - implementation("com.github.stephanenicolas.toothpick:ktp:$toothpickVersion") - kapt("com.github.stephanenicolas.toothpick:toothpick-compiler:$toothpickVersion") - - // Http client - val ktorVersion = "1.6.7" - implementation("io.ktor:ktor-client-core:$ktorVersion") - implementation("io.ktor:ktor-client-okhttp:$ktorVersion") - implementation("io.ktor:ktor-client-serialization:$ktorVersion") - implementation("io.ktor:ktor-client-logging:$ktorVersion") - implementation("io.ktor:ktor-client-websockets:$ktorVersion") - implementation("io.ktor:ktor-client-auth:$ktorVersion") - - // Logging - val slf4jVersion = "1.7.32" - implementation("org.slf4j:slf4j-api:$slf4jVersion") - implementation("org.slf4j:jul-to-slf4j:$slf4jVersion") - val log4jVersion = "2.17.1" - implementation("org.apache.logging.log4j:log4j-api:$log4jVersion") - implementation("org.apache.logging.log4j:log4j-core:$log4jVersion") - implementation("org.apache.logging.log4j:log4j-slf4j-impl:$log4jVersion") - implementation("io.github.microutils:kotlin-logging-jvm:2.1.21") - - // User storage - implementation("net.harawata:appdirs:1.2.1") - - // Preferences - val multiplatformSettingsVersion = "0.8.1" - implementation("com.russhwolf:multiplatform-settings-jvm:$multiplatformSettingsVersion") - implementation("com.russhwolf:multiplatform-settings-serialization-jvm:$multiplatformSettingsVersion") - implementation("com.russhwolf:multiplatform-settings-coroutines-jvm:$multiplatformSettingsVersion") - - // Utility - implementation("io.github.kerubistan.kroki:kroki-coroutines:1.22") - - // Testing - testImplementation(kotlin("test-junit")) - testImplementation(compose("org.jetbrains.compose.ui:ui-test-junit4")) - testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutinesVersion") -} - -java { - sourceCompatibility = Config.jvmTarget - targetCompatibility = Config.jvmTarget -} - -tasks { - withType { - dependsOn(formatKotlinMain) - kotlinOptions { - jvmTarget = Config.jvmTarget.toString() - freeCompilerArgs = listOf( - "-Xopt-in=kotlin.RequiresOptIn", - "-Xopt-in=kotlin.time.ExperimentalTime", - "-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi", - "-Xopt-in=androidx.compose.foundation.ExperimentalFoundationApi", - "-Xopt-in=kotlinx.serialization.ExperimentalSerializationApi", - "-Xopt-in=com.russhwolf.settings.ExperimentalSettingsApi", - "-Xopt-in=com.russhwolf.settings.ExperimentalSettingsImplementation", - "-Xopt-in=com.google.accompanist.pager.ExperimentalPagerApi", - "-Xopt-in=androidx.compose.animation.ExperimentalAnimationApi", - "-Xopt-in=androidx.compose.material.ExperimentalMaterialApi", - "-Xopt-in=androidx.compose.ui.ExperimentalComposeUiApi" - ) - } + repositories { + mavenCentral() + google() + maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") } - test { - useJUnit() - } - - withType { - exclude("META-INF/*.RSA", "META-INF/*.SF", "META-INF/*.DSA") - } - - withType { - source(files("src")) - exclude("ca/gosyer/build") - } - - withType { - source(files("src")) - exclude("ca/gosyer/build") - } - - registerTachideskTasks(project) - - task("generateResourceConstants") { - val buildResources = buildConfig.forClass(project.group.toString()+ ".build", "BuildResources") - - doFirst { - val langs = listOf("en") + sourceSets["main"].resources - .filter { it.name == "strings.xml" } - .drop(1) - .map { it.absolutePath.substringAfter("values-").substringBefore(File.separatorChar) } - buildResources.buildConfigField("Array", "LANGUAGES", langs.joinToString(prefix = "arrayOf(", postfix = ")") { it.wrap() }) - } - - generateBuildConfig { - dependsOn(this@task) - } - } - withType { - rejectVersionIf { - isNonStable(candidate.version) && !isNonStable(currentVersion) - } - } - register("optimizeUberJar") { - group = "compose desktop" - val packageUberJarForCurrentOS = getByName("packageUberJarForCurrentOS") - dependsOn(packageUberJarForCurrentOS) - val uberJars = packageUberJarForCurrentOS.outputs.files - injars(uberJars) - outjars( - uberJars.map { file -> - File(file.parentFile, "min/" + file.name) - } - ) - val javaHome = System.getProperty("java.home") - if (JavaVersion.current().isJava9Compatible) { - libraryjars("$javaHome/jmods") - } else { - libraryjars("$javaHome/lib/rt.jar") - libraryjars("$javaHome/lib/jce.jar") - } - configuration("proguard-rules.pro") - } -} - -fun isNonStable(version: String): Boolean { - val stableKeyword = listOf("RELEASE", "FINAL", "GA").any { version.toUpperCase().contains(it) } - val regex = "^[0-9,.v-]+(-r)?$".toRegex() - val isStable = stableKeyword || regex.matches(version) - return isStable.not() -} - - -compose.desktop { - application { - mainClass = "ca.gosyer.ui.main.MainKt" - nativeDistributions { - targetFormats( - // Windows - TargetFormat.Msi, - TargetFormat.Exe, - // Linux - TargetFormat.Deb, - TargetFormat.Rpm, - // MacOS - TargetFormat.Dmg - ) - modules( - "java.compiler", - "java.instrument", - "java.management", - "java.naming", - "java.prefs", - "java.rmi", - "java.scripting", - "java.sql", - "jdk.crypto.ec", - "jdk.unsupported" - ) - - packageName = "Tachidesk-JUI" - description = "Tachidesk-JUI is a Jvm client for a Tachidesk Server" - copyright = "Mozilla Public License v2.0" - vendor = "Suwayomi" - windows { - dirChooser = true - upgradeUuid = "B2ED947E-81E4-4258-8388-2B1EDF5E0A30" - shortcut = true - menu = true - iconFile.set(project.file("resources/icon.ico")) - menuGroup = "Suwayomi" - } - macOS { - bundleID = "ca.gosyer.tachideskjui" - packageName = rootProject.name - iconFile.set(project.file("resources/icon.icns")) - } - linux { - iconFile.set(project.file("resources/icon.png")) - } - } - } -} - -fun String.wrap() = """"$this"""" -buildConfig { - className("BuildConfig") - packageName(project.group.toString() + ".build") - useKotlinOutput { internalVisibility = true } - - buildConfigField("String", "NAME", project.name.wrap()) - buildConfigField("String", "VERSION", project.version.toString().wrap()) - buildConfigField("int", "MIGRATION_CODE", migrationCode.toString()) - buildConfigField("boolean", "DEBUG", project.hasProperty("debugApp").toString()) - buildConfigField("boolean", "IS_PREVIEW", project.hasProperty("preview").toString()) - buildConfigField("int", "PREVIEW_BUILD", project.properties["preview"]?.toString()?.trim('"') ?: 0.toString()) - - // Tachidesk - buildConfigField("String", "TACHIDESK_SP_VERSION", tachideskVersion.wrap()) - buildConfigField("int", "SERVER_CODE", serverCode.toString()) -} - -kotlinter { - experimentalRules = true - disabledRules = arrayOf("experimental:argument-list-wrapping", "experimental:trailing-comma") -} - -kapt { - includeCompileClasspath = false } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/TachideskTasks.kt b/buildSrc/src/main/kotlin/TachideskTasks.kt index 80d6dd91..ec53f279 100644 --- a/buildSrc/src/main/kotlin/TachideskTasks.kt +++ b/buildSrc/src/main/kotlin/TachideskTasks.kt @@ -40,10 +40,10 @@ fun String?.anyEquals(vararg others: String?, ignoreCase: Boolean = false): Bool return others.any { this.equals(it, ignoreCase) } } -private fun tachideskExists(rootDir: File) = File(rootDir, "src/main/resources/Tachidesk.jar").exists() +private fun tachideskExists(projectDir: File) = File(projectDir, "src/main/resources/Tachidesk.jar").exists() -private fun Task.onlyIfTachideskDoesntExist(rootDir: File) { - onlyIf { !tachideskExists(rootDir) } +private fun Task.onlyIfTachideskDoesntExist(projectDir: File) { + onlyIf { !tachideskExists(projectDir) } } private fun Task.onlyIfSigning(project: Project) { with(project){ @@ -93,9 +93,9 @@ fun TaskContainerScope.registerTachideskTasks(project: Project) { register(downloadTask) { group = tachideskGroup mustRunAfter(deleteOldTachideskTask) - onlyIf { !tachideskExists(rootDir) && !file(tmpTar).exists() } + onlyIf { !tachideskExists(projectDir) && !file(tmpTar).exists() } - onlyIfTachideskDoesntExist(rootDir) + onlyIfTachideskDoesntExist(projectDir) src(tarUrl) dest(tmpTar) @@ -103,9 +103,9 @@ fun TaskContainerScope.registerTachideskTasks(project: Project) { register(extractTask) { group = tachideskGroup mustRunAfter(downloadTask) - onlyIf { !tachideskExists(rootDir) && !file(tmpServerFolder).exists() } + onlyIf { !tachideskExists(projectDir) && !file(tmpServerFolder).exists() } - onlyIfTachideskDoesntExist(rootDir) + onlyIfTachideskDoesntExist(projectDir) from(tarTree(tmpTar)) into(tmpPath) @@ -113,7 +113,7 @@ fun TaskContainerScope.registerTachideskTasks(project: Project) { register(setupCITask) { group = tachideskGroup mustRunAfter(extractTask) - onlyIfTachideskDoesntExist(rootDir) + onlyIfTachideskDoesntExist(projectDir) from(file("$tmpServerFolder.github/runner-files/ci-gradle.properties")) into(file("$tmpServerFolder.gradle/")) @@ -124,7 +124,7 @@ fun TaskContainerScope.registerTachideskTasks(project: Project) { register(buildTachideskTask) { group = tachideskGroup mustRunAfter(setupCITask) - onlyIfTachideskDoesntExist(rootDir) + onlyIfTachideskDoesntExist(projectDir) workingDir(tmpServerFolder) val os = DefaultNativePlatform.getCurrentOperatingSystem() @@ -136,7 +136,7 @@ fun TaskContainerScope.registerTachideskTasks(project: Project) { register(copyTachideskJarTask) { group = tachideskGroup mustRunAfter(buildTachideskTask) - onlyIfTachideskDoesntExist(rootDir) + onlyIfTachideskDoesntExist(projectDir) from("${tmpServerFolder}server/build/") include("Tachidesk-Server-$tachideskVersion-r*.jar") diff --git a/desktop/build.gradle.kts b/desktop/build.gradle.kts new file mode 100644 index 00000000..961c0628 --- /dev/null +++ b/desktop/build.gradle.kts @@ -0,0 +1,257 @@ +import Config.migrationCode +import Config.serverCode +import Config.tachideskVersion +import org.gradle.jvm.tasks.Jar +import org.jetbrains.compose.compose +import org.jetbrains.compose.desktop.application.dsl.TargetFormat +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jmailen.gradle.kotlinter.tasks.FormatTask +import org.jmailen.gradle.kotlinter.tasks.LintTask +import proguard.gradle.ProGuardTask + +plugins { + kotlin("jvm") + kotlin("kapt") + kotlin("plugin.serialization") + id("org.jetbrains.compose") + id("com.github.gmazzo.buildconfig") + id("org.jmailen.kotlinter") +} + +dependencies { + // UI (Compose) + implementation(compose.desktop.currentOs) + implementation(compose.uiTooling) + implementation(compose.materialIconsExtended) + implementation(compose("org.jetbrains.compose.ui:ui-util")) + implementation("ca.gosyer:compose-router:0.24.2-jetbrains-2") + implementation("ca.gosyer:accompanist-pager:0.18.1") + implementation("ca.gosyer:accompanist-flowlayout:0.18.1") + implementation("com.alialbaali.kamel:kamel-image:0.3.0") + + // UI (Swing) + implementation("com.github.weisj:darklaf-core:2.7.3") + + // Threading + val coroutinesVersion = "1.6.0" + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutinesVersion") + + // Json + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2") + + // Xml + val xmlutilVersion = "0.84.0" + implementation("io.github.pdvrieze.xmlutil:core-jvm:$xmlutilVersion") + implementation("io.github.pdvrieze.xmlutil:serialization-jvm:$xmlutilVersion") + + // Dependency Injection + val toothpickVersion = "3.1.0" + implementation("com.github.stephanenicolas.toothpick:ktp:$toothpickVersion") + kapt("com.github.stephanenicolas.toothpick:toothpick-compiler:$toothpickVersion") + + // Http client + val ktorVersion = "1.6.7" + implementation("io.ktor:ktor-client-core:$ktorVersion") + implementation("io.ktor:ktor-client-okhttp:$ktorVersion") + implementation("io.ktor:ktor-client-serialization:$ktorVersion") + implementation("io.ktor:ktor-client-logging:$ktorVersion") + implementation("io.ktor:ktor-client-websockets:$ktorVersion") + implementation("io.ktor:ktor-client-auth:$ktorVersion") + + // Logging + val slf4jVersion = "1.7.32" + implementation("org.slf4j:slf4j-api:$slf4jVersion") + implementation("org.slf4j:jul-to-slf4j:$slf4jVersion") + val log4jVersion = "2.17.1" + implementation("org.apache.logging.log4j:log4j-api:$log4jVersion") + implementation("org.apache.logging.log4j:log4j-core:$log4jVersion") + implementation("org.apache.logging.log4j:log4j-slf4j-impl:$log4jVersion") + implementation("io.github.microutils:kotlin-logging-jvm:2.1.21") + + // User storage + implementation("net.harawata:appdirs:1.2.1") + + // Preferences + val multiplatformSettingsVersion = "0.8.1" + implementation("com.russhwolf:multiplatform-settings-jvm:$multiplatformSettingsVersion") + implementation("com.russhwolf:multiplatform-settings-serialization-jvm:$multiplatformSettingsVersion") + implementation("com.russhwolf:multiplatform-settings-coroutines-jvm:$multiplatformSettingsVersion") + + // Utility + implementation("io.github.kerubistan.kroki:kroki-coroutines:1.22") + + // Testing + testImplementation(kotlin("test-junit")) + testImplementation(compose("org.jetbrains.compose.ui:ui-test-junit4")) + testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutinesVersion") +} + +java { + sourceCompatibility = Config.jvmTarget + targetCompatibility = Config.jvmTarget +} + +tasks { + withType { + //dependsOn(formatKotlinMain) + kotlinOptions { + jvmTarget = Config.jvmTarget.toString() + freeCompilerArgs = listOf( + "-Xopt-in=kotlin.RequiresOptIn", + "-Xopt-in=kotlin.time.ExperimentalTime", + "-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi", + "-Xopt-in=androidx.compose.foundation.ExperimentalFoundationApi", + "-Xopt-in=kotlinx.serialization.ExperimentalSerializationApi", + "-Xopt-in=com.russhwolf.settings.ExperimentalSettingsApi", + "-Xopt-in=com.russhwolf.settings.ExperimentalSettingsImplementation", + "-Xopt-in=com.google.accompanist.pager.ExperimentalPagerApi", + "-Xopt-in=androidx.compose.animation.ExperimentalAnimationApi", + "-Xopt-in=androidx.compose.material.ExperimentalMaterialApi", + "-Xopt-in=androidx.compose.ui.ExperimentalComposeUiApi" + ) + } + } + test { + useJUnit() + } + + withType { + exclude("META-INF/*.RSA", "META-INF/*.SF", "META-INF/*.DSA") + } + + withType { + source(files("src")) + exclude("ca/gosyer/build") + } + + withType { + source(files("src")) + exclude("ca/gosyer/build") + } + + registerTachideskTasks(project) + + task("generateResourceConstants") { + val buildResources = buildConfig.forClass(project.group.toString()+ ".build", "BuildResources") + + doFirst { + val langs = listOf("en") + sourceSets["main"].resources + .filter { it.name == "strings.xml" } + .drop(1) + .map { it.absolutePath.substringAfter("values-").substringBefore(File.separatorChar) } + buildResources.buildConfigField("Array", "LANGUAGES", langs.joinToString(prefix = "arrayOf(", postfix = ")") { it.wrap() }) + } + + generateBuildConfig { + dependsOn(this@task) + } + } + withType { + rejectVersionIf { + isNonStable(candidate.version) && !isNonStable(currentVersion) + } + } + register("optimizeUberJar") { + group = "compose desktop" + val packageUberJarForCurrentOS = getByName("packageUberJarForCurrentOS") + dependsOn(packageUberJarForCurrentOS) + val uberJar = packageUberJarForCurrentOS.outputs.files.first() + injars(uberJar) + outjars(File(uberJar.parentFile, "min/" + uberJar.name)) + val javaHome = System.getProperty("java.home") + if (JavaVersion.current().isJava9Compatible) { + libraryjars("$javaHome/jmods") + } else { + libraryjars("$javaHome/lib/rt.jar") + libraryjars("$javaHome/lib/jce.jar") + } + configuration("proguard-rules.pro") + } +} + +fun isNonStable(version: String): Boolean { + val stableKeyword = listOf("RELEASE", "FINAL", "GA").any { version.contains(it, true) } + val regex = "^[0-9,.v-]+(-r)?$".toRegex() + val isStable = stableKeyword || regex.matches(version) + return isStable.not() +} + + +compose.desktop { + application { + mainClass = "ca.gosyer.ui.main.MainKt" + nativeDistributions { + targetFormats( + // Windows + TargetFormat.Msi, + TargetFormat.Exe, + // Linux + TargetFormat.Deb, + TargetFormat.Rpm, + // MacOS + TargetFormat.Dmg + ) + modules( + "java.compiler", + "java.instrument", + "java.management", + "java.naming", + "java.prefs", + "java.rmi", + "java.scripting", + "java.sql", + "jdk.crypto.ec", + "jdk.unsupported" + ) + + packageName = "Tachidesk-JUI" + description = "Tachidesk-JUI is a Jvm client for a Tachidesk Server" + copyright = "Mozilla Public License v2.0" + vendor = "Suwayomi" + windows { + dirChooser = true + upgradeUuid = "B2ED947E-81E4-4258-8388-2B1EDF5E0A30" + shortcut = true + menu = true + iconFile.set(rootProject.file("resources/icon.ico")) + menuGroup = "Suwayomi" + } + macOS { + bundleID = "ca.gosyer.tachideskjui" + packageName = rootProject.name + iconFile.set(rootProject.file("resources/icon.icns")) + } + linux { + iconFile.set(rootProject.file("resources/icon.png")) + } + } + } +} + +fun String.wrap() = """"$this"""" +buildConfig { + className("BuildConfig") + packageName(project.group.toString() + ".build") + useKotlinOutput { internalVisibility = true } + + buildConfigField("String", "NAME", project.name.wrap()) + buildConfigField("String", "VERSION", project.version.toString().wrap()) + buildConfigField("int", "MIGRATION_CODE", migrationCode.toString()) + buildConfigField("boolean", "DEBUG", project.hasProperty("debugApp").toString()) + buildConfigField("boolean", "IS_PREVIEW", project.hasProperty("preview").toString()) + buildConfigField("int", "PREVIEW_BUILD", project.properties["preview"]?.toString()?.trim('"') ?: 0.toString()) + + // Tachidesk + buildConfigField("String", "TACHIDESK_SP_VERSION", tachideskVersion.wrap()) + buildConfigField("int", "SERVER_CODE", serverCode.toString()) +} + +kotlinter { + experimentalRules = true + disabledRules = arrayOf("experimental:argument-list-wrapping", "experimental:trailing-comma") +} + +kapt { + includeCompileClasspath = false +} diff --git a/src/main/kotlin/ca/gosyer/common/di/AppScope.kt b/desktop/src/main/kotlin/ca/gosyer/common/di/AppScope.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/common/di/AppScope.kt rename to desktop/src/main/kotlin/ca/gosyer/common/di/AppScope.kt diff --git a/src/main/kotlin/ca/gosyer/common/di/GenericsProvider.kt b/desktop/src/main/kotlin/ca/gosyer/common/di/GenericsProvider.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/common/di/GenericsProvider.kt rename to desktop/src/main/kotlin/ca/gosyer/common/di/GenericsProvider.kt diff --git a/src/main/kotlin/ca/gosyer/common/di/ModuleExtensions.kt b/desktop/src/main/kotlin/ca/gosyer/common/di/ModuleExtensions.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/common/di/ModuleExtensions.kt rename to desktop/src/main/kotlin/ca/gosyer/common/di/ModuleExtensions.kt diff --git a/src/main/kotlin/ca/gosyer/common/io/DataUriStringSource.kt b/desktop/src/main/kotlin/ca/gosyer/common/io/DataUriStringSource.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/common/io/DataUriStringSource.kt rename to desktop/src/main/kotlin/ca/gosyer/common/io/DataUriStringSource.kt diff --git a/src/main/kotlin/ca/gosyer/common/io/OkioExtensions.kt b/desktop/src/main/kotlin/ca/gosyer/common/io/OkioExtensions.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/common/io/OkioExtensions.kt rename to desktop/src/main/kotlin/ca/gosyer/common/io/OkioExtensions.kt diff --git a/src/main/kotlin/ca/gosyer/common/prefs/LazyPreferenceStore.kt b/desktop/src/main/kotlin/ca/gosyer/common/prefs/LazyPreferenceStore.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/common/prefs/LazyPreferenceStore.kt rename to desktop/src/main/kotlin/ca/gosyer/common/prefs/LazyPreferenceStore.kt diff --git a/src/main/kotlin/ca/gosyer/common/prefs/Preference.kt b/desktop/src/main/kotlin/ca/gosyer/common/prefs/Preference.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/common/prefs/Preference.kt rename to desktop/src/main/kotlin/ca/gosyer/common/prefs/Preference.kt diff --git a/src/main/kotlin/ca/gosyer/common/prefs/PreferenceStore.kt b/desktop/src/main/kotlin/ca/gosyer/common/prefs/PreferenceStore.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/common/prefs/PreferenceStore.kt rename to desktop/src/main/kotlin/ca/gosyer/common/prefs/PreferenceStore.kt diff --git a/src/main/kotlin/ca/gosyer/common/util/Codec.kt b/desktop/src/main/kotlin/ca/gosyer/common/util/Codec.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/common/util/Codec.kt rename to desktop/src/main/kotlin/ca/gosyer/common/util/Codec.kt diff --git a/src/main/kotlin/ca/gosyer/common/util/CollectionExtensions.kt b/desktop/src/main/kotlin/ca/gosyer/common/util/CollectionExtensions.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/common/util/CollectionExtensions.kt rename to desktop/src/main/kotlin/ca/gosyer/common/util/CollectionExtensions.kt diff --git a/src/main/kotlin/ca/gosyer/common/util/ImageUtil.kt b/desktop/src/main/kotlin/ca/gosyer/common/util/ImageUtil.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/common/util/ImageUtil.kt rename to desktop/src/main/kotlin/ca/gosyer/common/util/ImageUtil.kt diff --git a/src/main/kotlin/ca/gosyer/core/logging/LoggingSetup.kt b/desktop/src/main/kotlin/ca/gosyer/core/logging/LoggingSetup.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/core/logging/LoggingSetup.kt rename to desktop/src/main/kotlin/ca/gosyer/core/logging/LoggingSetup.kt diff --git a/src/main/kotlin/ca/gosyer/core/prefs/JvmPreference.kt b/desktop/src/main/kotlin/ca/gosyer/core/prefs/JvmPreference.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/core/prefs/JvmPreference.kt rename to desktop/src/main/kotlin/ca/gosyer/core/prefs/JvmPreference.kt diff --git a/src/main/kotlin/ca/gosyer/core/prefs/JvmPreferenceAdapters.kt b/desktop/src/main/kotlin/ca/gosyer/core/prefs/JvmPreferenceAdapters.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/core/prefs/JvmPreferenceAdapters.kt rename to desktop/src/main/kotlin/ca/gosyer/core/prefs/JvmPreferenceAdapters.kt diff --git a/src/main/kotlin/ca/gosyer/core/prefs/JvmPreferenceStore.kt b/desktop/src/main/kotlin/ca/gosyer/core/prefs/JvmPreferenceStore.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/core/prefs/JvmPreferenceStore.kt rename to desktop/src/main/kotlin/ca/gosyer/core/prefs/JvmPreferenceStore.kt diff --git a/src/main/kotlin/ca/gosyer/core/prefs/PreferenceStoreFactory.kt b/desktop/src/main/kotlin/ca/gosyer/core/prefs/PreferenceStoreFactory.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/core/prefs/PreferenceStoreFactory.kt rename to desktop/src/main/kotlin/ca/gosyer/core/prefs/PreferenceStoreFactory.kt diff --git a/src/main/kotlin/ca/gosyer/core/service/WebsocketService.kt b/desktop/src/main/kotlin/ca/gosyer/core/service/WebsocketService.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/core/service/WebsocketService.kt rename to desktop/src/main/kotlin/ca/gosyer/core/service/WebsocketService.kt diff --git a/src/main/kotlin/ca/gosyer/data/DataModule.kt b/desktop/src/main/kotlin/ca/gosyer/data/DataModule.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/DataModule.kt rename to desktop/src/main/kotlin/ca/gosyer/data/DataModule.kt diff --git a/src/main/kotlin/ca/gosyer/data/catalog/CatalogPreferences.kt b/desktop/src/main/kotlin/ca/gosyer/data/catalog/CatalogPreferences.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/catalog/CatalogPreferences.kt rename to desktop/src/main/kotlin/ca/gosyer/data/catalog/CatalogPreferences.kt diff --git a/src/main/kotlin/ca/gosyer/data/download/DownloadService.kt b/desktop/src/main/kotlin/ca/gosyer/data/download/DownloadService.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/download/DownloadService.kt rename to desktop/src/main/kotlin/ca/gosyer/data/download/DownloadService.kt diff --git a/src/main/kotlin/ca/gosyer/data/download/model/DownloadChapter.kt b/desktop/src/main/kotlin/ca/gosyer/data/download/model/DownloadChapter.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/download/model/DownloadChapter.kt rename to desktop/src/main/kotlin/ca/gosyer/data/download/model/DownloadChapter.kt diff --git a/src/main/kotlin/ca/gosyer/data/download/model/DownloadState.kt b/desktop/src/main/kotlin/ca/gosyer/data/download/model/DownloadState.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/download/model/DownloadState.kt rename to desktop/src/main/kotlin/ca/gosyer/data/download/model/DownloadState.kt diff --git a/src/main/kotlin/ca/gosyer/data/download/model/DownloadStatus.kt b/desktop/src/main/kotlin/ca/gosyer/data/download/model/DownloadStatus.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/download/model/DownloadStatus.kt rename to desktop/src/main/kotlin/ca/gosyer/data/download/model/DownloadStatus.kt diff --git a/src/main/kotlin/ca/gosyer/data/download/model/DownloaderStatus.kt b/desktop/src/main/kotlin/ca/gosyer/data/download/model/DownloaderStatus.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/download/model/DownloaderStatus.kt rename to desktop/src/main/kotlin/ca/gosyer/data/download/model/DownloaderStatus.kt diff --git a/src/main/kotlin/ca/gosyer/data/extension/ExtensionPreferences.kt b/desktop/src/main/kotlin/ca/gosyer/data/extension/ExtensionPreferences.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/extension/ExtensionPreferences.kt rename to desktop/src/main/kotlin/ca/gosyer/data/extension/ExtensionPreferences.kt diff --git a/src/main/kotlin/ca/gosyer/data/library/LibraryPreferences.kt b/desktop/src/main/kotlin/ca/gosyer/data/library/LibraryPreferences.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/library/LibraryPreferences.kt rename to desktop/src/main/kotlin/ca/gosyer/data/library/LibraryPreferences.kt diff --git a/src/main/kotlin/ca/gosyer/data/library/LibraryUpdateService.kt b/desktop/src/main/kotlin/ca/gosyer/data/library/LibraryUpdateService.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/library/LibraryUpdateService.kt rename to desktop/src/main/kotlin/ca/gosyer/data/library/LibraryUpdateService.kt diff --git a/src/main/kotlin/ca/gosyer/data/library/model/DisplayMode.kt b/desktop/src/main/kotlin/ca/gosyer/data/library/model/DisplayMode.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/library/model/DisplayMode.kt rename to desktop/src/main/kotlin/ca/gosyer/data/library/model/DisplayMode.kt diff --git a/src/main/kotlin/ca/gosyer/data/library/model/JobStatus.kt b/desktop/src/main/kotlin/ca/gosyer/data/library/model/JobStatus.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/library/model/JobStatus.kt rename to desktop/src/main/kotlin/ca/gosyer/data/library/model/JobStatus.kt diff --git a/src/main/kotlin/ca/gosyer/data/library/model/UpdateStatus.kt b/desktop/src/main/kotlin/ca/gosyer/data/library/model/UpdateStatus.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/library/model/UpdateStatus.kt rename to desktop/src/main/kotlin/ca/gosyer/data/library/model/UpdateStatus.kt diff --git a/src/main/kotlin/ca/gosyer/data/migration/MigrationPreferences.kt b/desktop/src/main/kotlin/ca/gosyer/data/migration/MigrationPreferences.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/migration/MigrationPreferences.kt rename to desktop/src/main/kotlin/ca/gosyer/data/migration/MigrationPreferences.kt diff --git a/src/main/kotlin/ca/gosyer/data/migration/Migrations.kt b/desktop/src/main/kotlin/ca/gosyer/data/migration/Migrations.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/migration/Migrations.kt rename to desktop/src/main/kotlin/ca/gosyer/data/migration/Migrations.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/About.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/About.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/About.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/About.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/BackupValidationResult.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/BackupValidationResult.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/BackupValidationResult.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/BackupValidationResult.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/Category.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/Category.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/Category.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/Category.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/Chapter.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/Chapter.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/Chapter.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/Chapter.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/Extension.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/Extension.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/Extension.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/Extension.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/Manga.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/Manga.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/Manga.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/Manga.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/MangaAndChapter.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/MangaAndChapter.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/MangaAndChapter.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/MangaAndChapter.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/MangaPage.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/MangaPage.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/MangaPage.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/MangaPage.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/Page.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/Page.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/Page.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/Page.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/Source.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/Source.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/Source.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/Source.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/Updates.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/Updates.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/Updates.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/Updates.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcefilters/CheckBoxFilter.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/CheckBoxFilter.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcefilters/CheckBoxFilter.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/CheckBoxFilter.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcefilters/GroupFilter.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/GroupFilter.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcefilters/GroupFilter.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/GroupFilter.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcefilters/HeaderFilter.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/HeaderFilter.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcefilters/HeaderFilter.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/HeaderFilter.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcefilters/SelectFilter.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/SelectFilter.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcefilters/SelectFilter.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/SelectFilter.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcefilters/SeparatorFilter.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/SeparatorFilter.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcefilters/SeparatorFilter.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/SeparatorFilter.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcefilters/SortFilter.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/SortFilter.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcefilters/SortFilter.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/SortFilter.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcefilters/SourceFilter.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/SourceFilter.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcefilters/SourceFilter.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/SourceFilter.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcefilters/SourceFilterChange.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/SourceFilterChange.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcefilters/SourceFilterChange.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/SourceFilterChange.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcefilters/TextFilter.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/TextFilter.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcefilters/TextFilter.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/TextFilter.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcefilters/TriStateFilter.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/TriStateFilter.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcefilters/TriStateFilter.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcefilters/TriStateFilter.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcepreference/CheckBoxPreference.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcepreference/CheckBoxPreference.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcepreference/CheckBoxPreference.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcepreference/CheckBoxPreference.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcepreference/EditTextPreference.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcepreference/EditTextPreference.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcepreference/EditTextPreference.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcepreference/EditTextPreference.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcepreference/ListPreference.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcepreference/ListPreference.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcepreference/ListPreference.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcepreference/ListPreference.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcepreference/MultiSelectListPreference.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcepreference/MultiSelectListPreference.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcepreference/MultiSelectListPreference.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcepreference/MultiSelectListPreference.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcepreference/SourcePreference.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcepreference/SourcePreference.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcepreference/SourcePreference.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcepreference/SourcePreference.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcepreference/SourcePreferenceChange.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcepreference/SourcePreferenceChange.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcepreference/SourcePreferenceChange.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcepreference/SourcePreferenceChange.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcepreference/SwitchPreference.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcepreference/SwitchPreference.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcepreference/SwitchPreference.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcepreference/SwitchPreference.kt diff --git a/src/main/kotlin/ca/gosyer/data/models/sourcepreference/TwoStateProps.kt b/desktop/src/main/kotlin/ca/gosyer/data/models/sourcepreference/TwoStateProps.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/models/sourcepreference/TwoStateProps.kt rename to desktop/src/main/kotlin/ca/gosyer/data/models/sourcepreference/TwoStateProps.kt diff --git a/src/main/kotlin/ca/gosyer/data/reader/ReaderModePreferences.kt b/desktop/src/main/kotlin/ca/gosyer/data/reader/ReaderModePreferences.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/reader/ReaderModePreferences.kt rename to desktop/src/main/kotlin/ca/gosyer/data/reader/ReaderModePreferences.kt diff --git a/src/main/kotlin/ca/gosyer/data/reader/ReaderModeWatch.kt b/desktop/src/main/kotlin/ca/gosyer/data/reader/ReaderModeWatch.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/reader/ReaderModeWatch.kt rename to desktop/src/main/kotlin/ca/gosyer/data/reader/ReaderModeWatch.kt diff --git a/src/main/kotlin/ca/gosyer/data/reader/ReaderPreferences.kt b/desktop/src/main/kotlin/ca/gosyer/data/reader/ReaderPreferences.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/reader/ReaderPreferences.kt rename to desktop/src/main/kotlin/ca/gosyer/data/reader/ReaderPreferences.kt diff --git a/src/main/kotlin/ca/gosyer/data/reader/model/DefaultReaderMode.kt b/desktop/src/main/kotlin/ca/gosyer/data/reader/model/DefaultReaderMode.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/reader/model/DefaultReaderMode.kt rename to desktop/src/main/kotlin/ca/gosyer/data/reader/model/DefaultReaderMode.kt diff --git a/src/main/kotlin/ca/gosyer/data/reader/model/Direction.kt b/desktop/src/main/kotlin/ca/gosyer/data/reader/model/Direction.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/reader/model/Direction.kt rename to desktop/src/main/kotlin/ca/gosyer/data/reader/model/Direction.kt diff --git a/src/main/kotlin/ca/gosyer/data/reader/model/ImageScale.kt b/desktop/src/main/kotlin/ca/gosyer/data/reader/model/ImageScale.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/reader/model/ImageScale.kt rename to desktop/src/main/kotlin/ca/gosyer/data/reader/model/ImageScale.kt diff --git a/src/main/kotlin/ca/gosyer/data/reader/model/NavigationMode.kt b/desktop/src/main/kotlin/ca/gosyer/data/reader/model/NavigationMode.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/reader/model/NavigationMode.kt rename to desktop/src/main/kotlin/ca/gosyer/data/reader/model/NavigationMode.kt diff --git a/src/main/kotlin/ca/gosyer/data/reader/model/TappingInvertMode.kt b/desktop/src/main/kotlin/ca/gosyer/data/reader/model/TappingInvertMode.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/reader/model/TappingInvertMode.kt rename to desktop/src/main/kotlin/ca/gosyer/data/reader/model/TappingInvertMode.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/HttpClient.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/HttpClient.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/HttpClient.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/HttpClient.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/KamelConfigProvider.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/KamelConfigProvider.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/KamelConfigProvider.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/KamelConfigProvider.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/ServerHostPreferences.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/ServerHostPreferences.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/ServerHostPreferences.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/ServerHostPreferences.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/ServerPreferences.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/ServerPreferences.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/ServerPreferences.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/ServerPreferences.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/ServerService.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/ServerService.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/ServerService.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/ServerService.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/ServerUrlPreference.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/ServerUrlPreference.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/ServerUrlPreference.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/ServerUrlPreference.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/host/ServerHostPreference.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/host/ServerHostPreference.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/host/ServerHostPreference.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/host/ServerHostPreference.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/interactions/BackupInteractionHandler.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/interactions/BackupInteractionHandler.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/interactions/BackupInteractionHandler.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/interactions/BackupInteractionHandler.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/interactions/BaseInteractionHandler.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/interactions/BaseInteractionHandler.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/interactions/BaseInteractionHandler.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/interactions/BaseInteractionHandler.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/interactions/CategoryInteractionHandler.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/interactions/CategoryInteractionHandler.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/interactions/CategoryInteractionHandler.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/interactions/CategoryInteractionHandler.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/interactions/ChapterInteractionHandler.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/interactions/ChapterInteractionHandler.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/interactions/ChapterInteractionHandler.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/interactions/ChapterInteractionHandler.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/interactions/DownloadInteractionHandler.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/interactions/DownloadInteractionHandler.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/interactions/DownloadInteractionHandler.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/interactions/DownloadInteractionHandler.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/interactions/ExtensionInteractionHandler.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/interactions/ExtensionInteractionHandler.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/interactions/ExtensionInteractionHandler.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/interactions/ExtensionInteractionHandler.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/interactions/LibraryInteractionHandler.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/interactions/LibraryInteractionHandler.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/interactions/LibraryInteractionHandler.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/interactions/LibraryInteractionHandler.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/interactions/MangaInteractionHandler.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/interactions/MangaInteractionHandler.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/interactions/MangaInteractionHandler.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/interactions/MangaInteractionHandler.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/interactions/SourceInteractionHandler.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/interactions/SourceInteractionHandler.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/interactions/SourceInteractionHandler.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/interactions/SourceInteractionHandler.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/interactions/UpdatesInteractionHandler.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/interactions/UpdatesInteractionHandler.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/interactions/UpdatesInteractionHandler.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/interactions/UpdatesInteractionHandler.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/model/Auth.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/model/Auth.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/model/Auth.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/model/Auth.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/model/Proxy.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/model/Proxy.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/model/Proxy.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/model/Proxy.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/requests/Backup.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/requests/Backup.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/requests/Backup.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/requests/Backup.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/requests/Category.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/requests/Category.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/requests/Category.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/requests/Category.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/requests/Chapters.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/requests/Chapters.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/requests/Chapters.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/requests/Chapters.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/requests/Downloads.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/requests/Downloads.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/requests/Downloads.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/requests/Downloads.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/requests/Extensions.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/requests/Extensions.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/requests/Extensions.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/requests/Extensions.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/requests/Library.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/requests/Library.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/requests/Library.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/requests/Library.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/requests/Manga.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/requests/Manga.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/requests/Manga.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/requests/Manga.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/requests/Meta.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/requests/Meta.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/requests/Meta.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/requests/Meta.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/requests/RestRequests.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/requests/RestRequests.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/requests/RestRequests.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/requests/RestRequests.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/requests/Sources.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/requests/Sources.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/requests/Sources.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/requests/Sources.kt diff --git a/src/main/kotlin/ca/gosyer/data/server/requests/Updates.kt b/desktop/src/main/kotlin/ca/gosyer/data/server/requests/Updates.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/server/requests/Updates.kt rename to desktop/src/main/kotlin/ca/gosyer/data/server/requests/Updates.kt diff --git a/src/main/kotlin/ca/gosyer/data/translation/ResourceProvider.kt b/desktop/src/main/kotlin/ca/gosyer/data/translation/ResourceProvider.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/translation/ResourceProvider.kt rename to desktop/src/main/kotlin/ca/gosyer/data/translation/ResourceProvider.kt diff --git a/src/main/kotlin/ca/gosyer/data/translation/XmlResourceBundle.kt b/desktop/src/main/kotlin/ca/gosyer/data/translation/XmlResourceBundle.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/translation/XmlResourceBundle.kt rename to desktop/src/main/kotlin/ca/gosyer/data/translation/XmlResourceBundle.kt diff --git a/src/main/kotlin/ca/gosyer/data/translation/xml/Resources.kt b/desktop/src/main/kotlin/ca/gosyer/data/translation/xml/Resources.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/translation/xml/Resources.kt rename to desktop/src/main/kotlin/ca/gosyer/data/translation/xml/Resources.kt diff --git a/src/main/kotlin/ca/gosyer/data/translation/xml/XmlString.kt b/desktop/src/main/kotlin/ca/gosyer/data/translation/xml/XmlString.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/translation/xml/XmlString.kt rename to desktop/src/main/kotlin/ca/gosyer/data/translation/xml/XmlString.kt diff --git a/src/main/kotlin/ca/gosyer/data/ui/UiPreferences.kt b/desktop/src/main/kotlin/ca/gosyer/data/ui/UiPreferences.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/ui/UiPreferences.kt rename to desktop/src/main/kotlin/ca/gosyer/data/ui/UiPreferences.kt diff --git a/src/main/kotlin/ca/gosyer/data/ui/model/StartScreen.kt b/desktop/src/main/kotlin/ca/gosyer/data/ui/model/StartScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/ui/model/StartScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/data/ui/model/StartScreen.kt diff --git a/src/main/kotlin/ca/gosyer/data/ui/model/ThemeMode.kt b/desktop/src/main/kotlin/ca/gosyer/data/ui/model/ThemeMode.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/ui/model/ThemeMode.kt rename to desktop/src/main/kotlin/ca/gosyer/data/ui/model/ThemeMode.kt diff --git a/src/main/kotlin/ca/gosyer/data/ui/model/WindowSettings.kt b/desktop/src/main/kotlin/ca/gosyer/data/ui/model/WindowSettings.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/ui/model/WindowSettings.kt rename to desktop/src/main/kotlin/ca/gosyer/data/ui/model/WindowSettings.kt diff --git a/src/main/kotlin/ca/gosyer/data/update/UpdateChecker.kt b/desktop/src/main/kotlin/ca/gosyer/data/update/UpdateChecker.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/update/UpdateChecker.kt rename to desktop/src/main/kotlin/ca/gosyer/data/update/UpdateChecker.kt diff --git a/src/main/kotlin/ca/gosyer/data/update/UpdatePreferences.kt b/desktop/src/main/kotlin/ca/gosyer/data/update/UpdatePreferences.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/update/UpdatePreferences.kt rename to desktop/src/main/kotlin/ca/gosyer/data/update/UpdatePreferences.kt diff --git a/src/main/kotlin/ca/gosyer/data/update/model/GithubRelease.kt b/desktop/src/main/kotlin/ca/gosyer/data/update/model/GithubRelease.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/data/update/model/GithubRelease.kt rename to desktop/src/main/kotlin/ca/gosyer/data/update/model/GithubRelease.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/WindowDialog.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/WindowDialog.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/WindowDialog.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/WindowDialog.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/components/BoxWithTooltipSurface.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/components/BoxWithTooltipSurface.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/components/BoxWithTooltipSurface.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/components/BoxWithTooltipSurface.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/components/ChapterDownloadButtons.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/components/ChapterDownloadButtons.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/components/ChapterDownloadButtons.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/components/ChapterDownloadButtons.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/components/ColorPickerDialog.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/components/ColorPickerDialog.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/components/ColorPickerDialog.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/components/ColorPickerDialog.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/components/DropdownIconButton.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/components/DropdownIconButton.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/components/DropdownIconButton.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/components/DropdownIconButton.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/components/ErrorScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/components/ErrorScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/components/ErrorScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/components/ErrorScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/components/KamelImage.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/components/KamelImage.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/components/KamelImage.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/components/KamelImage.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/components/LoadingScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/components/LoadingScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/components/LoadingScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/components/LoadingScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/components/Manga.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/components/Manga.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/components/Manga.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/components/Manga.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/components/MangaListItem.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/components/MangaListItem.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/components/MangaListItem.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/components/MangaListItem.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/components/MenuController.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/components/MenuController.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/components/MenuController.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/components/MenuController.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/components/MouseClickable.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/components/MouseClickable.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/components/MouseClickable.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/components/MouseClickable.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/components/Spinner.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/components/Spinner.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/components/Spinner.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/components/Spinner.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/components/Toolbar.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/components/Toolbar.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/components/Toolbar.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/components/Toolbar.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/prefs/ColorPreference.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/prefs/ColorPreference.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/prefs/ColorPreference.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/prefs/ColorPreference.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/prefs/IntStringPreference.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/prefs/IntStringPreference.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/prefs/IntStringPreference.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/prefs/IntStringPreference.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/prefs/PreferenceMutableState.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/prefs/PreferenceMutableState.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/prefs/PreferenceMutableState.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/prefs/PreferenceMutableState.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/prefs/PreferencesUiBuilder.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/prefs/PreferencesUiBuilder.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/prefs/PreferencesUiBuilder.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/prefs/PreferencesUiBuilder.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/resources/LocalResources.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/resources/LocalResources.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/resources/LocalResources.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/resources/LocalResources.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/theme/AppColorsPreference.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/theme/AppColorsPreference.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/theme/AppColorsPreference.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/theme/AppColorsPreference.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/theme/AppTheme.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/theme/AppTheme.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/theme/AppTheme.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/theme/AppTheme.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/theme/RandomColors.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/theme/RandomColors.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/theme/RandomColors.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/theme/RandomColors.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/theme/Themes.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/theme/Themes.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/theme/Themes.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/theme/Themes.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/vm/ComposeViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/vm/ComposeViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/vm/ComposeViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/vm/ComposeViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/ui/base/vm/ViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/base/vm/ViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/base/vm/ViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/base/vm/ViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/ui/categories/CategoriesDialogs.kt b/desktop/src/main/kotlin/ca/gosyer/ui/categories/CategoriesDialogs.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/categories/CategoriesDialogs.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/categories/CategoriesDialogs.kt diff --git a/src/main/kotlin/ca/gosyer/ui/categories/CategoriesMenu.kt b/desktop/src/main/kotlin/ca/gosyer/ui/categories/CategoriesMenu.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/categories/CategoriesMenu.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/categories/CategoriesMenu.kt diff --git a/src/main/kotlin/ca/gosyer/ui/categories/CategoriesMenuViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/categories/CategoriesMenuViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/categories/CategoriesMenuViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/categories/CategoriesMenuViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/ui/downloads/DownloadsMenu.kt b/desktop/src/main/kotlin/ca/gosyer/ui/downloads/DownloadsMenu.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/downloads/DownloadsMenu.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/downloads/DownloadsMenu.kt diff --git a/src/main/kotlin/ca/gosyer/ui/downloads/DownloadsMenuViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/downloads/DownloadsMenuViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/downloads/DownloadsMenuViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/downloads/DownloadsMenuViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/ui/extensions/ExtensionsMenu.kt b/desktop/src/main/kotlin/ca/gosyer/ui/extensions/ExtensionsMenu.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/extensions/ExtensionsMenu.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/extensions/ExtensionsMenu.kt diff --git a/src/main/kotlin/ca/gosyer/ui/extensions/ExtensionsMenuViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/extensions/ExtensionsMenuViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/extensions/ExtensionsMenuViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/extensions/ExtensionsMenuViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/ui/library/LibraryMangaBadges.kt b/desktop/src/main/kotlin/ca/gosyer/ui/library/LibraryMangaBadges.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/library/LibraryMangaBadges.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/library/LibraryMangaBadges.kt diff --git a/src/main/kotlin/ca/gosyer/ui/library/LibraryScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/library/LibraryScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/library/LibraryScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/library/LibraryScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/library/LibraryScreenViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/library/LibraryScreenViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/library/LibraryScreenViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/library/LibraryScreenViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/ui/library/MangaCompactGrid.kt b/desktop/src/main/kotlin/ca/gosyer/ui/library/MangaCompactGrid.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/library/MangaCompactGrid.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/library/MangaCompactGrid.kt diff --git a/src/main/kotlin/ca/gosyer/ui/main/MainMenu.kt b/desktop/src/main/kotlin/ca/gosyer/ui/main/MainMenu.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/main/MainMenu.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/main/MainMenu.kt diff --git a/src/main/kotlin/ca/gosyer/ui/main/MainViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/main/MainViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/main/MainViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/main/MainViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/ui/main/Routes.kt b/desktop/src/main/kotlin/ca/gosyer/ui/main/Routes.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/main/Routes.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/main/Routes.kt diff --git a/src/main/kotlin/ca/gosyer/ui/main/TopLevelMenus.kt b/desktop/src/main/kotlin/ca/gosyer/ui/main/TopLevelMenus.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/main/TopLevelMenus.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/main/TopLevelMenus.kt diff --git a/src/main/kotlin/ca/gosyer/ui/main/components/DebugOverlay.kt b/desktop/src/main/kotlin/ca/gosyer/ui/main/components/DebugOverlay.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/main/components/DebugOverlay.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/main/components/DebugOverlay.kt diff --git a/src/main/kotlin/ca/gosyer/ui/main/components/DebugOverlayViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/main/components/DebugOverlayViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/main/components/DebugOverlayViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/main/components/DebugOverlayViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/ui/main/components/DownloadsExtraInfo.kt b/desktop/src/main/kotlin/ca/gosyer/ui/main/components/DownloadsExtraInfo.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/main/components/DownloadsExtraInfo.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/main/components/DownloadsExtraInfo.kt diff --git a/src/main/kotlin/ca/gosyer/ui/main/components/SideMenu.kt b/desktop/src/main/kotlin/ca/gosyer/ui/main/components/SideMenu.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/main/components/SideMenu.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/main/components/SideMenu.kt diff --git a/src/main/kotlin/ca/gosyer/ui/main/components/SideMenuItem.kt b/desktop/src/main/kotlin/ca/gosyer/ui/main/components/SideMenuItem.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/main/components/SideMenuItem.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/main/components/SideMenuItem.kt diff --git a/src/main/kotlin/ca/gosyer/ui/main/components/Tray.kt b/desktop/src/main/kotlin/ca/gosyer/ui/main/components/Tray.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/main/components/Tray.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/main/components/Tray.kt diff --git a/src/main/kotlin/ca/gosyer/ui/main/components/TrayViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/main/components/TrayViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/main/components/TrayViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/main/components/TrayViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/ui/main/main.kt b/desktop/src/main/kotlin/ca/gosyer/ui/main/main.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/main/main.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/main/main.kt diff --git a/src/main/kotlin/ca/gosyer/ui/manga/ChapterItem.kt b/desktop/src/main/kotlin/ca/gosyer/ui/manga/ChapterItem.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/manga/ChapterItem.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/manga/ChapterItem.kt diff --git a/src/main/kotlin/ca/gosyer/ui/manga/MangaMenu.kt b/desktop/src/main/kotlin/ca/gosyer/ui/manga/MangaMenu.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/manga/MangaMenu.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/manga/MangaMenu.kt diff --git a/src/main/kotlin/ca/gosyer/ui/manga/MangaMenuViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/manga/MangaMenuViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/manga/MangaMenuViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/manga/MangaMenuViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/ChapterLoader.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/ChapterLoader.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/ChapterLoader.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/ChapterLoader.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/ReaderMenu.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/ReaderMenu.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/ReaderMenu.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/ReaderMenu.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/ReaderMenuViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/ReaderMenuViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/ReaderMenuViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/ReaderMenuViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/ReaderSideMenu.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/ReaderSideMenu.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/ReaderSideMenu.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/ReaderSideMenu.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/loader/PageLoader.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/loader/PageLoader.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/loader/PageLoader.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/loader/PageLoader.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/loader/TachideskPageLoader.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/loader/TachideskPageLoader.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/loader/TachideskPageLoader.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/loader/TachideskPageLoader.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/model/MoveTo.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/model/MoveTo.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/model/MoveTo.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/model/MoveTo.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/model/Navigation.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/model/Navigation.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/model/Navigation.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/model/Navigation.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/model/PageMove.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/model/PageMove.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/model/PageMove.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/model/PageMove.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/model/ReaderChapter.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/model/ReaderChapter.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/model/ReaderChapter.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/model/ReaderChapter.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/model/ReaderPage.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/model/ReaderPage.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/model/ReaderPage.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/model/ReaderPage.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/model/ViewerChapters.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/model/ViewerChapters.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/model/ViewerChapters.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/model/ViewerChapters.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/navigation/EdgeNavigation.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/navigation/EdgeNavigation.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/navigation/EdgeNavigation.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/navigation/EdgeNavigation.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/navigation/KindlishNavigation.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/navigation/KindlishNavigation.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/navigation/KindlishNavigation.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/navigation/KindlishNavigation.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/navigation/LNavigation.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/navigation/LNavigation.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/navigation/LNavigation.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/navigation/LNavigation.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/navigation/NavigationClickable.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/navigation/NavigationClickable.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/navigation/NavigationClickable.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/navigation/NavigationClickable.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/navigation/RightAndLeftNavigation.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/navigation/RightAndLeftNavigation.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/navigation/RightAndLeftNavigation.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/navigation/RightAndLeftNavigation.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/navigation/ViewerNavigation.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/navigation/ViewerNavigation.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/navigation/ViewerNavigation.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/navigation/ViewerNavigation.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/viewer/Continuous.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/viewer/Continuous.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/viewer/Continuous.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/viewer/Continuous.kt diff --git a/src/main/kotlin/ca/gosyer/ui/reader/viewer/Pager.kt b/desktop/src/main/kotlin/ca/gosyer/ui/reader/viewer/Pager.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/reader/viewer/Pager.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/reader/viewer/Pager.kt diff --git a/src/main/kotlin/ca/gosyer/ui/settings/SettingsAdvancedScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsAdvancedScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/settings/SettingsAdvancedScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsAdvancedScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/settings/SettingsAppearanceScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsAppearanceScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/settings/SettingsAppearanceScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsAppearanceScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/settings/SettingsBackupScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsBackupScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/settings/SettingsBackupScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsBackupScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/settings/SettingsBrowseScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsBrowseScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/settings/SettingsBrowseScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsBrowseScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/settings/SettingsDownloadsScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsDownloadsScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/settings/SettingsDownloadsScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsDownloadsScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/settings/SettingsGeneralScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsGeneralScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/settings/SettingsGeneralScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsGeneralScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/settings/SettingsLibraryScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsLibraryScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/settings/SettingsLibraryScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsLibraryScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/settings/SettingsParentalControlsScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsParentalControlsScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/settings/SettingsParentalControlsScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsParentalControlsScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/settings/SettingsReaderScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsReaderScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/settings/SettingsReaderScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsReaderScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/settings/SettingsScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/settings/SettingsScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/settings/SettingsSecurityScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsSecurityScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/settings/SettingsSecurityScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsSecurityScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/settings/SettingsServerScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsServerScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/settings/SettingsServerScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsServerScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/settings/SettingsTrackingScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsTrackingScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/settings/SettingsTrackingScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/settings/SettingsTrackingScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/sources/SourcesMenu.kt b/desktop/src/main/kotlin/ca/gosyer/ui/sources/SourcesMenu.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/sources/SourcesMenu.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/sources/SourcesMenu.kt diff --git a/src/main/kotlin/ca/gosyer/ui/sources/SourcesMenuViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/sources/SourcesMenuViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/sources/SourcesMenuViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/sources/SourcesMenuViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/ui/sources/components/SourceHomeScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/sources/components/SourceHomeScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/sources/components/SourceHomeScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/sources/components/SourceHomeScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/sources/components/SourceHomeScreenViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/sources/components/SourceHomeScreenViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/sources/components/SourceHomeScreenViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/sources/components/SourceHomeScreenViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/ui/sources/components/SourceScreen.kt b/desktop/src/main/kotlin/ca/gosyer/ui/sources/components/SourceScreen.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/sources/components/SourceScreen.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/sources/components/SourceScreen.kt diff --git a/src/main/kotlin/ca/gosyer/ui/sources/components/SourceScreenViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/sources/components/SourceScreenViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/sources/components/SourceScreenViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/sources/components/SourceScreenViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/ui/sources/components/filter/SourceFiltersMenu.kt b/desktop/src/main/kotlin/ca/gosyer/ui/sources/components/filter/SourceFiltersMenu.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/sources/components/filter/SourceFiltersMenu.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/sources/components/filter/SourceFiltersMenu.kt diff --git a/src/main/kotlin/ca/gosyer/ui/sources/components/filter/SourceFiltersViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/sources/components/filter/SourceFiltersViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/sources/components/filter/SourceFiltersViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/sources/components/filter/SourceFiltersViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/ui/sources/components/filter/model/SourceFiltersView.kt b/desktop/src/main/kotlin/ca/gosyer/ui/sources/components/filter/model/SourceFiltersView.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/sources/components/filter/model/SourceFiltersView.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/sources/components/filter/model/SourceFiltersView.kt diff --git a/src/main/kotlin/ca/gosyer/ui/sources/settings/SourceSettingsMenu.kt b/desktop/src/main/kotlin/ca/gosyer/ui/sources/settings/SourceSettingsMenu.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/sources/settings/SourceSettingsMenu.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/sources/settings/SourceSettingsMenu.kt diff --git a/src/main/kotlin/ca/gosyer/ui/sources/settings/SourceSettingsViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/sources/settings/SourceSettingsViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/sources/settings/SourceSettingsViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/sources/settings/SourceSettingsViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/ui/sources/settings/model/SourceSettingsView.kt b/desktop/src/main/kotlin/ca/gosyer/ui/sources/settings/model/SourceSettingsView.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/sources/settings/model/SourceSettingsView.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/sources/settings/model/SourceSettingsView.kt diff --git a/src/main/kotlin/ca/gosyer/ui/updates/UpdatesMenu.kt b/desktop/src/main/kotlin/ca/gosyer/ui/updates/UpdatesMenu.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/updates/UpdatesMenu.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/updates/UpdatesMenu.kt diff --git a/src/main/kotlin/ca/gosyer/ui/updates/UpdatesMenuViewModel.kt b/desktop/src/main/kotlin/ca/gosyer/ui/updates/UpdatesMenuViewModel.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/ui/updates/UpdatesMenuViewModel.kt rename to desktop/src/main/kotlin/ca/gosyer/ui/updates/UpdatesMenuViewModel.kt diff --git a/src/main/kotlin/ca/gosyer/util/compose/Bundle.kt b/desktop/src/main/kotlin/ca/gosyer/util/compose/Bundle.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/util/compose/Bundle.kt rename to desktop/src/main/kotlin/ca/gosyer/util/compose/Bundle.kt diff --git a/src/main/kotlin/ca/gosyer/util/compose/Color.kt b/desktop/src/main/kotlin/ca/gosyer/util/compose/Color.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/util/compose/Color.kt rename to desktop/src/main/kotlin/ca/gosyer/util/compose/Color.kt diff --git a/src/main/kotlin/ca/gosyer/util/compose/Flow.kt b/desktop/src/main/kotlin/ca/gosyer/util/compose/Flow.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/util/compose/Flow.kt rename to desktop/src/main/kotlin/ca/gosyer/util/compose/Flow.kt diff --git a/src/main/kotlin/ca/gosyer/util/compose/Image.kt b/desktop/src/main/kotlin/ca/gosyer/util/compose/Image.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/util/compose/Image.kt rename to desktop/src/main/kotlin/ca/gosyer/util/compose/Image.kt diff --git a/src/main/kotlin/ca/gosyer/util/compose/Offset.kt b/desktop/src/main/kotlin/ca/gosyer/util/compose/Offset.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/util/compose/Offset.kt rename to desktop/src/main/kotlin/ca/gosyer/util/compose/Offset.kt diff --git a/src/main/kotlin/ca/gosyer/util/compose/State.kt b/desktop/src/main/kotlin/ca/gosyer/util/compose/State.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/util/compose/State.kt rename to desktop/src/main/kotlin/ca/gosyer/util/compose/State.kt diff --git a/src/main/kotlin/ca/gosyer/util/compose/Theme.kt b/desktop/src/main/kotlin/ca/gosyer/util/compose/Theme.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/util/compose/Theme.kt rename to desktop/src/main/kotlin/ca/gosyer/util/compose/Theme.kt diff --git a/src/main/kotlin/ca/gosyer/util/lang/CoroutineExtensions.kt b/desktop/src/main/kotlin/ca/gosyer/util/lang/CoroutineExtensions.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/util/lang/CoroutineExtensions.kt rename to desktop/src/main/kotlin/ca/gosyer/util/lang/CoroutineExtensions.kt diff --git a/src/main/kotlin/ca/gosyer/util/lang/String.kt b/desktop/src/main/kotlin/ca/gosyer/util/lang/String.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/util/lang/String.kt rename to desktop/src/main/kotlin/ca/gosyer/util/lang/String.kt diff --git a/src/main/kotlin/ca/gosyer/util/system/File.kt b/desktop/src/main/kotlin/ca/gosyer/util/system/File.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/util/system/File.kt rename to desktop/src/main/kotlin/ca/gosyer/util/system/File.kt diff --git a/src/main/kotlin/ca/gosyer/util/system/Flow.kt b/desktop/src/main/kotlin/ca/gosyer/util/system/Flow.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/util/system/Flow.kt rename to desktop/src/main/kotlin/ca/gosyer/util/system/Flow.kt diff --git a/src/main/kotlin/ca/gosyer/util/system/Logging.kt b/desktop/src/main/kotlin/ca/gosyer/util/system/Logging.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/util/system/Logging.kt rename to desktop/src/main/kotlin/ca/gosyer/util/system/Logging.kt diff --git a/src/main/kotlin/ca/gosyer/util/system/Preference.kt b/desktop/src/main/kotlin/ca/gosyer/util/system/Preference.kt similarity index 100% rename from src/main/kotlin/ca/gosyer/util/system/Preference.kt rename to desktop/src/main/kotlin/ca/gosyer/util/system/Preference.kt diff --git a/src/main/resources/icon.png b/desktop/src/main/resources/icon.png similarity index 100% rename from src/main/resources/icon.png rename to desktop/src/main/resources/icon.png diff --git a/src/main/resources/values/values-ar/strings.xml b/desktop/src/main/resources/values/values-ar/strings.xml similarity index 100% rename from src/main/resources/values/values-ar/strings.xml rename to desktop/src/main/resources/values/values-ar/strings.xml diff --git a/src/main/resources/values/values-cs/strings.xml b/desktop/src/main/resources/values/values-cs/strings.xml similarity index 100% rename from src/main/resources/values/values-cs/strings.xml rename to desktop/src/main/resources/values/values-cs/strings.xml diff --git a/src/main/resources/values/values-de/strings.xml b/desktop/src/main/resources/values/values-de/strings.xml similarity index 100% rename from src/main/resources/values/values-de/strings.xml rename to desktop/src/main/resources/values/values-de/strings.xml diff --git a/src/main/resources/values/values-en-CA/strings.xml b/desktop/src/main/resources/values/values-en-CA/strings.xml similarity index 100% rename from src/main/resources/values/values-en-CA/strings.xml rename to desktop/src/main/resources/values/values-en-CA/strings.xml diff --git a/src/main/resources/values/values-es/strings.xml b/desktop/src/main/resources/values/values-es/strings.xml similarity index 100% rename from src/main/resources/values/values-es/strings.xml rename to desktop/src/main/resources/values/values-es/strings.xml diff --git a/src/main/resources/values/values-fa/strings.xml b/desktop/src/main/resources/values/values-fa/strings.xml similarity index 100% rename from src/main/resources/values/values-fa/strings.xml rename to desktop/src/main/resources/values/values-fa/strings.xml diff --git a/src/main/resources/values/values-fr/strings.xml b/desktop/src/main/resources/values/values-fr/strings.xml similarity index 100% rename from src/main/resources/values/values-fr/strings.xml rename to desktop/src/main/resources/values/values-fr/strings.xml diff --git a/src/main/resources/values/values-hi/strings.xml b/desktop/src/main/resources/values/values-hi/strings.xml similarity index 100% rename from src/main/resources/values/values-hi/strings.xml rename to desktop/src/main/resources/values/values-hi/strings.xml diff --git a/src/main/resources/values/values-it/strings.xml b/desktop/src/main/resources/values/values-it/strings.xml similarity index 100% rename from src/main/resources/values/values-it/strings.xml rename to desktop/src/main/resources/values/values-it/strings.xml diff --git a/src/main/resources/values/values-nb-NO/strings.xml b/desktop/src/main/resources/values/values-nb-NO/strings.xml similarity index 100% rename from src/main/resources/values/values-nb-NO/strings.xml rename to desktop/src/main/resources/values/values-nb-NO/strings.xml diff --git a/src/main/resources/values/values-nl/strings.xml b/desktop/src/main/resources/values/values-nl/strings.xml similarity index 100% rename from src/main/resources/values/values-nl/strings.xml rename to desktop/src/main/resources/values/values-nl/strings.xml diff --git a/src/main/resources/values/values-pt-BR/strings.xml b/desktop/src/main/resources/values/values-pt-BR/strings.xml similarity index 100% rename from src/main/resources/values/values-pt-BR/strings.xml rename to desktop/src/main/resources/values/values-pt-BR/strings.xml diff --git a/src/main/resources/values/values-sv/strings.xml b/desktop/src/main/resources/values/values-sv/strings.xml similarity index 100% rename from src/main/resources/values/values-sv/strings.xml rename to desktop/src/main/resources/values/values-sv/strings.xml diff --git a/src/main/resources/values/values-tam/strings.xml b/desktop/src/main/resources/values/values-tam/strings.xml similarity index 100% rename from src/main/resources/values/values-tam/strings.xml rename to desktop/src/main/resources/values/values-tam/strings.xml diff --git a/src/main/resources/values/values-th/strings.xml b/desktop/src/main/resources/values/values-th/strings.xml similarity index 100% rename from src/main/resources/values/values-th/strings.xml rename to desktop/src/main/resources/values/values-th/strings.xml diff --git a/src/main/resources/values/values-ti/strings.xml b/desktop/src/main/resources/values/values-ti/strings.xml similarity index 100% rename from src/main/resources/values/values-ti/strings.xml rename to desktop/src/main/resources/values/values-ti/strings.xml diff --git a/src/main/resources/values/values-tr/strings.xml b/desktop/src/main/resources/values/values-tr/strings.xml similarity index 100% rename from src/main/resources/values/values-tr/strings.xml rename to desktop/src/main/resources/values/values-tr/strings.xml diff --git a/src/main/resources/values/values-zh-CN/strings.xml b/desktop/src/main/resources/values/values-zh-CN/strings.xml similarity index 100% rename from src/main/resources/values/values-zh-CN/strings.xml rename to desktop/src/main/resources/values/values-zh-CN/strings.xml diff --git a/src/main/resources/values/values/strings.xml b/desktop/src/main/resources/values/values/strings.xml similarity index 100% rename from src/main/resources/values/values/strings.xml rename to desktop/src/main/resources/values/values/strings.xml diff --git a/src/test/kotlin/ca/gosyer/data/translation/XmlResourceBundleTest.kt b/desktop/src/test/kotlin/ca/gosyer/data/translation/XmlResourceBundleTest.kt similarity index 100% rename from src/test/kotlin/ca/gosyer/data/translation/XmlResourceBundleTest.kt rename to desktop/src/test/kotlin/ca/gosyer/data/translation/XmlResourceBundleTest.kt diff --git a/settings.gradle.kts b/settings.gradle.kts index 220ba8e7..faa2ef24 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -8,4 +8,4 @@ pluginManagement { } rootProject.name = "Tachidesk-JUI" - +include("desktop")