diff --git a/lib/main.dart b/lib/main.dart index 8d4fee17..d28fd5f6 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,7 +1,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; -import 'package:maid/pages/home_page.dart'; +import 'package:maid/ui/mobile/pages/home_page.dart'; import 'package:maid/providers/ai_platform.dart'; import 'package:maid/providers/session.dart'; import 'package:maid/providers/character.dart'; diff --git a/lib/static/generation_manager.dart b/lib/static/generation_manager.dart index 05550fba..9f6b7df7 100644 --- a/lib/static/generation_manager.dart +++ b/lib/static/generation_manager.dart @@ -1,7 +1,9 @@ import 'dart:async'; import 'dart:convert'; +import 'dart:io'; import 'dart:math'; +import 'package:device_info_plus/device_info_plus.dart'; import 'package:flutter/material.dart'; import 'package:http/http.dart'; import 'package:langchain/langchain.dart'; @@ -13,9 +15,9 @@ import 'package:maid/providers/character.dart'; import 'package:maid/providers/session.dart'; import 'package:maid/static/logger.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/static/networking.dart'; import 'package:lan_scanner/lan_scanner.dart'; import 'package:network_info_plus/network_info_plus.dart'; +import 'package:permission_handler/permission_handler.dart'; import 'package:provider/provider.dart'; class GenerationManager { @@ -108,7 +110,7 @@ class GenerationManager { final character = context.read(); final session = context.read(); - bool permissionGranted = await Networking.getNearbyDevicesPermission(); + bool permissionGranted = await getNearbyDevicesPermission(); if (!permissionGranted) { return; } @@ -271,7 +273,7 @@ class GenerationManager { static Future> getOptions(AiPlatform ai) async { switch (ai.apiType) { case AiPlatformType.ollama: - bool permissionGranted = await Networking.getNearbyDevicesPermission(); + bool permissionGranted = await getNearbyDevicesPermission(); if (!permissionGranted) { return []; } @@ -308,7 +310,7 @@ class GenerationManager { } static Future getOllamaUrl() async { - bool permissionGranted = await Networking.getNearbyDevicesPermission(); + bool permissionGranted = await getNearbyDevicesPermission(); if (!permissionGranted) { return ''; } @@ -354,4 +356,34 @@ class GenerationManager { return ''; } + + static Future getNearbyDevicesPermission() async { + if (!Platform.isAndroid && !Platform.isIOS) { + return true; + } + + // Get sdk version + final sdk = await DeviceInfoPlugin().androidInfo.then((value) => value.version.sdkInt); + var permissions = []; // List of permissions to request + + if (sdk <= 32) { + // ACCESS_FINE_LOCATION is required + permissions.add(Permission.location); + } else { + // NEARBY_WIFI_DEVICES is required + permissions.add(Permission.nearbyWifiDevices); + } + + // Request permissions and check if all are granted + Map statuses = await permissions.request(); + bool allPermissionsGranted = statuses.values.every((status) => status.isGranted); + + if (allPermissionsGranted) { + Logger.log("Nearby Devices - permission granted"); + return true; + } else { + Logger.log("Nearby Devices - permission denied"); + return false; + } + } } diff --git a/lib/static/networking.dart b/lib/static/networking.dart deleted file mode 100644 index a6ced9ec..00000000 --- a/lib/static/networking.dart +++ /dev/null @@ -1,38 +0,0 @@ -import 'dart:io'; - -import 'package:device_info_plus/device_info_plus.dart'; -import 'package:network_info_plus/network_info_plus.dart'; -import 'package:maid/static/logger.dart'; -import 'package:permission_handler/permission_handler.dart'; - -class Networking { - static Future getNearbyDevicesPermission() async { - if (!Platform.isAndroid && !Platform.isIOS) { - return true; - } - - // Get sdk version - final sdk = await DeviceInfoPlugin().androidInfo.then((value) => value.version.sdkInt); - var permissions = []; // List of permissions to request - - if (sdk <= 32) { - // ACCESS_FINE_LOCATION is required - permissions.add(Permission.location); - } else { - // NEARBY_WIFI_DEVICES is required - permissions.add(Permission.nearbyWifiDevices); - } - - // Request permissions and check if all are granted - Map statuses = await permissions.request(); - bool allPermissionsGranted = statuses.values.every((status) => status.isGranted); - - if (allPermissionsGranted) { - Logger.log("Nearby Devices - permission granted"); - return true; - } else { - Logger.log("Nearby Devices - permission denied"); - return false; - } - } -} \ No newline at end of file diff --git a/lib/pages/about_page.dart b/lib/ui/mobile/pages/about_page.dart similarity index 100% rename from lib/pages/about_page.dart rename to lib/ui/mobile/pages/about_page.dart diff --git a/lib/pages/character_page.dart b/lib/ui/mobile/pages/character_page.dart similarity index 99% rename from lib/pages/character_page.dart rename to lib/ui/mobile/pages/character_page.dart index a0bde205..eca0b681 100644 --- a/lib/pages/character_page.dart +++ b/lib/ui/mobile/pages/character_page.dart @@ -4,9 +4,9 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/character.dart'; import 'package:maid/providers/session.dart'; import 'package:maid/static/logger.dart'; -import 'package:maid/widgets/dialogs.dart'; -import 'package:maid/widgets/double_button_row.dart'; -import 'package:maid/widgets/text_field_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/dialogs.dart'; +import 'package:maid/ui/mobile/widgets/double_button_row.dart'; +import 'package:maid/ui/mobile/widgets/text_field_list_tile.dart'; import 'package:provider/provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; diff --git a/lib/pages/home_page.dart b/lib/ui/mobile/pages/home_page.dart similarity index 95% rename from lib/pages/home_page.dart rename to lib/ui/mobile/pages/home_page.dart index ecc9530f..eb202012 100644 --- a/lib/pages/home_page.dart +++ b/lib/ui/mobile/pages/home_page.dart @@ -1,16 +1,16 @@ import 'dart:math'; import 'package:flutter/material.dart'; -import 'package:maid/pages/about_page.dart'; -import 'package:maid/pages/character_page.dart'; -import 'package:maid/pages/platform_page.dart'; -import 'package:maid/pages/sessions_page.dart'; -import 'package:maid/pages/settings_page.dart'; +import 'package:maid/ui/mobile/pages/about_page.dart'; +import 'package:maid/ui/mobile/pages/character_page.dart'; +import 'package:maid/ui/mobile/pages/platform_page.dart'; +import 'package:maid/ui/mobile/pages/sessions_page.dart'; +import 'package:maid/ui/mobile/pages/settings_page.dart'; import 'package:maid/providers/character.dart'; import 'package:system_info2/system_info2.dart'; import 'package:maid/providers/session.dart'; -import 'package:maid/widgets/chat_widgets/chat_message.dart'; -import 'package:maid/widgets/chat_widgets/chat_field.dart'; +import 'package:maid/ui/mobile/widgets/chat_widgets/chat_message.dart'; +import 'package:maid/ui/mobile/widgets/chat_widgets/chat_field.dart'; import 'package:provider/provider.dart'; class HomePage extends StatefulWidget { diff --git a/lib/pages/platform_page.dart b/lib/ui/mobile/pages/platform_page.dart similarity index 95% rename from lib/pages/platform_page.dart rename to lib/ui/mobile/pages/platform_page.dart index 3f7cc14e..82319413 100644 --- a/lib/pages/platform_page.dart +++ b/lib/ui/mobile/pages/platform_page.dart @@ -4,14 +4,14 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/session.dart'; import 'package:maid/static/logger.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/platform_widgets/local_platform.dart'; -import 'package:maid/widgets/platform_widgets/mistralai_platform.dart'; -import 'package:maid/widgets/platform_widgets/ollama_platform.dart'; -import 'package:maid/widgets/platform_widgets/openai_platform.dart'; -import 'package:maid/widgets/dialogs.dart'; -import 'package:maid/widgets/dropdowns/api_dropdown.dart'; -import 'package:maid/widgets/double_button_row.dart'; -import 'package:maid/widgets/text_field_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/platform_widgets/local_platform.dart'; +import 'package:maid/ui/mobile/widgets/platform_widgets/mistralai_platform.dart'; +import 'package:maid/ui/mobile/widgets/platform_widgets/ollama_platform.dart'; +import 'package:maid/ui/mobile/widgets/platform_widgets/openai_platform.dart'; +import 'package:maid/ui/mobile/widgets/dialogs.dart'; +import 'package:maid/ui/mobile/widgets/dropdowns/api_dropdown.dart'; +import 'package:maid/ui/mobile/widgets/double_button_row.dart'; +import 'package:maid/ui/mobile/widgets/text_field_list_tile.dart'; import 'package:provider/provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; diff --git a/lib/pages/sessions_page.dart b/lib/ui/mobile/pages/sessions_page.dart similarity index 100% rename from lib/pages/sessions_page.dart rename to lib/ui/mobile/pages/sessions_page.dart diff --git a/lib/pages/settings_page.dart b/lib/ui/mobile/pages/settings_page.dart similarity index 97% rename from lib/pages/settings_page.dart rename to lib/ui/mobile/pages/settings_page.dart index 270e7d00..f58fb066 100644 --- a/lib/pages/settings_page.dart +++ b/lib/ui/mobile/pages/settings_page.dart @@ -3,7 +3,7 @@ import 'package:maid/static/logger.dart'; import 'package:maid/main.dart'; import 'package:maid/static/user.dart'; import 'package:maid_ui/maid_ui.dart'; -import 'package:maid/widgets/text_field_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/text_field_list_tile.dart'; import 'package:provider/provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; diff --git a/lib/widgets/chat_widgets/chat_field.dart b/lib/ui/mobile/widgets/chat_widgets/chat_field.dart similarity index 100% rename from lib/widgets/chat_widgets/chat_field.dart rename to lib/ui/mobile/widgets/chat_widgets/chat_field.dart diff --git a/lib/widgets/chat_widgets/chat_message.dart b/lib/ui/mobile/widgets/chat_widgets/chat_message.dart similarity index 100% rename from lib/widgets/chat_widgets/chat_message.dart rename to lib/ui/mobile/widgets/chat_widgets/chat_message.dart diff --git a/lib/widgets/dialogs.dart b/lib/ui/mobile/widgets/dialogs.dart similarity index 100% rename from lib/widgets/dialogs.dart rename to lib/ui/mobile/widgets/dialogs.dart diff --git a/lib/widgets/double_button_row.dart b/lib/ui/mobile/widgets/double_button_row.dart similarity index 100% rename from lib/widgets/double_button_row.dart rename to lib/ui/mobile/widgets/double_button_row.dart diff --git a/lib/widgets/dropdowns/api_dropdown.dart b/lib/ui/mobile/widgets/dropdowns/api_dropdown.dart similarity index 100% rename from lib/widgets/dropdowns/api_dropdown.dart rename to lib/ui/mobile/widgets/dropdowns/api_dropdown.dart diff --git a/lib/widgets/dropdowns/format_dropdown.dart b/lib/ui/mobile/widgets/dropdowns/format_dropdown.dart similarity index 100% rename from lib/widgets/dropdowns/format_dropdown.dart rename to lib/ui/mobile/widgets/dropdowns/format_dropdown.dart diff --git a/lib/widgets/dropdowns/model_dropdown.dart b/lib/ui/mobile/widgets/dropdowns/model_dropdown.dart similarity index 100% rename from lib/widgets/dropdowns/model_dropdown.dart rename to lib/ui/mobile/widgets/dropdowns/model_dropdown.dart diff --git a/lib/widgets/parameter_widgets/api_key_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/api_key_parameter.dart similarity index 90% rename from lib/widgets/parameter_widgets/api_key_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/api_key_parameter.dart index 3d30667a..54901c27 100644 --- a/lib/widgets/parameter_widgets/api_key_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/api_key_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/text_field_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/text_field_list_tile.dart'; import 'package:provider/provider.dart'; class ApiKeyParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/mirostat_eta_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/mirostat_eta_parameter.dart similarity index 90% rename from lib/widgets/parameter_widgets/mirostat_eta_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/mirostat_eta_parameter.dart index 70a861af..957f8d4a 100644 --- a/lib/widgets/parameter_widgets/mirostat_eta_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/mirostat_eta_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class MirostatEtaParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/mirostat_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/mirostat_parameter.dart similarity index 90% rename from lib/widgets/parameter_widgets/mirostat_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/mirostat_parameter.dart index d0e2efbc..461d4612 100644 --- a/lib/widgets/parameter_widgets/mirostat_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/mirostat_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class MirostatParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/mirostat_tau_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/mirostat_tau_parameter.dart similarity index 90% rename from lib/widgets/parameter_widgets/mirostat_tau_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/mirostat_tau_parameter.dart index b0bc582f..0c7ed2c9 100644 --- a/lib/widgets/parameter_widgets/mirostat_tau_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/mirostat_tau_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class MirostatTauParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/n_batch_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/n_batch_parameter.dart similarity index 90% rename from lib/widgets/parameter_widgets/n_batch_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/n_batch_parameter.dart index 59dd8ef7..030d710a 100644 --- a/lib/widgets/parameter_widgets/n_batch_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/n_batch_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class NBatchParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/n_ctx_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/n_ctx_parameter.dart similarity index 90% rename from lib/widgets/parameter_widgets/n_ctx_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/n_ctx_parameter.dart index 9be293c0..a7c72636 100644 --- a/lib/widgets/parameter_widgets/n_ctx_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/n_ctx_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class NCtxParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/n_keep_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/n_keep_parameter.dart similarity index 90% rename from lib/widgets/parameter_widgets/n_keep_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/n_keep_parameter.dart index 9353c485..439782d7 100644 --- a/lib/widgets/parameter_widgets/n_keep_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/n_keep_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class NKeepParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/n_predict_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/n_predict_parameter.dart similarity index 90% rename from lib/widgets/parameter_widgets/n_predict_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/n_predict_parameter.dart index a35b9d9c..e56ea06d 100644 --- a/lib/widgets/parameter_widgets/n_predict_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/n_predict_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class NPredictParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/n_threads_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/n_threads_parameter.dart similarity index 93% rename from lib/widgets/parameter_widgets/n_threads_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/n_threads_parameter.dart index 25b28410..a1730e35 100644 --- a/lib/widgets/parameter_widgets/n_threads_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/n_threads_parameter.dart @@ -2,7 +2,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class NThreadsParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/penalize_nl_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/penalize_nl_parameter.dart similarity index 100% rename from lib/widgets/parameter_widgets/penalize_nl_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/penalize_nl_parameter.dart diff --git a/lib/widgets/parameter_widgets/penalty_frequency_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/penalty_frequency_parameter.dart similarity index 91% rename from lib/widgets/parameter_widgets/penalty_frequency_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/penalty_frequency_parameter.dart index 38a29688..399f4a2e 100644 --- a/lib/widgets/parameter_widgets/penalty_frequency_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/penalty_frequency_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class PenaltyFrequencyParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/penalty_last_n_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/penalty_last_n_parameter.dart similarity index 91% rename from lib/widgets/parameter_widgets/penalty_last_n_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/penalty_last_n_parameter.dart index 0b920836..262fca1a 100644 --- a/lib/widgets/parameter_widgets/penalty_last_n_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/penalty_last_n_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class PenaltyLastNParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/penalty_present_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/penalty_present_parameter.dart similarity index 91% rename from lib/widgets/parameter_widgets/penalty_present_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/penalty_present_parameter.dart index 0153b430..235ce622 100644 --- a/lib/widgets/parameter_widgets/penalty_present_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/penalty_present_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class PenaltyPresentParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/penalty_repeat_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/penalty_repeat_parameter.dart similarity index 91% rename from lib/widgets/parameter_widgets/penalty_repeat_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/penalty_repeat_parameter.dart index 295f638a..e3c05104 100644 --- a/lib/widgets/parameter_widgets/penalty_repeat_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/penalty_repeat_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class PenaltyRepeatParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/seed_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/seed_parameter.dart similarity index 100% rename from lib/widgets/parameter_widgets/seed_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/seed_parameter.dart diff --git a/lib/widgets/parameter_widgets/temperature_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/temperature_parameter.dart similarity index 90% rename from lib/widgets/parameter_widgets/temperature_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/temperature_parameter.dart index 33f6ab5a..194c9660 100644 --- a/lib/widgets/parameter_widgets/temperature_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/temperature_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class TemperatureParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/tfs_z_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/tfs_z_parameter.dart similarity index 90% rename from lib/widgets/parameter_widgets/tfs_z_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/tfs_z_parameter.dart index 957f456f..69f08dda 100644 --- a/lib/widgets/parameter_widgets/tfs_z_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/tfs_z_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class TfsZParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/top_k_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/top_k_parameter.dart similarity index 90% rename from lib/widgets/parameter_widgets/top_k_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/top_k_parameter.dart index a08551c0..9ab4090d 100644 --- a/lib/widgets/parameter_widgets/top_k_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/top_k_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class TopKParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/top_p_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/top_p_parameter.dart similarity index 90% rename from lib/widgets/parameter_widgets/top_p_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/top_p_parameter.dart index a7ec47ea..3c34e312 100644 --- a/lib/widgets/parameter_widgets/top_p_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/top_p_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class TopPParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/typical_p_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/typical_p_parameter.dart similarity index 90% rename from lib/widgets/parameter_widgets/typical_p_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/typical_p_parameter.dart index ea508203..63930468 100644 --- a/lib/widgets/parameter_widgets/typical_p_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/typical_p_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/slider_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/slider_list_tile.dart'; import 'package:provider/provider.dart'; class TypicalPParameter extends StatelessWidget { diff --git a/lib/widgets/parameter_widgets/url_parameter.dart b/lib/ui/mobile/widgets/parameter_widgets/url_parameter.dart similarity index 89% rename from lib/widgets/parameter_widgets/url_parameter.dart rename to lib/ui/mobile/widgets/parameter_widgets/url_parameter.dart index a22f5f26..fc1d95b7 100644 --- a/lib/widgets/parameter_widgets/url_parameter.dart +++ b/lib/ui/mobile/widgets/parameter_widgets/url_parameter.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/text_field_list_tile.dart'; +import 'package:maid/ui/mobile/widgets/text_field_list_tile.dart'; import 'package:provider/provider.dart'; class UrlParameter extends StatelessWidget { diff --git a/lib/widgets/platform_widgets/local_platform.dart b/lib/ui/mobile/widgets/platform_widgets/local_platform.dart similarity index 55% rename from lib/widgets/platform_widgets/local_platform.dart rename to lib/ui/mobile/widgets/platform_widgets/local_platform.dart index e4ccd1d5..aa3944be 100644 --- a/lib/widgets/platform_widgets/local_platform.dart +++ b/lib/ui/mobile/widgets/platform_widgets/local_platform.dart @@ -1,25 +1,25 @@ import 'package:flutter/material.dart'; import 'package:maid/providers/ai_platform.dart'; -import 'package:maid/widgets/dialogs.dart'; -import 'package:maid/widgets/parameter_widgets/penalize_nl_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/mirostat_eta_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/mirostat_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/mirostat_tau_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/n_batch_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/n_ctx_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/n_threads_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/penalty_frequency_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/penalty_last_n_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/penalty_present_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/penalty_repeat_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/seed_parameter.dart'; -import 'package:maid/widgets/double_button_row.dart'; -import 'package:maid/widgets/dropdowns/format_dropdown.dart'; -import 'package:maid/widgets/parameter_widgets/temperature_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/tfs_z_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/top_k_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/top_p_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/typical_p_parameter.dart'; +import 'package:maid/ui/mobile/widgets/dialogs.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/penalize_nl_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/mirostat_eta_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/mirostat_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/mirostat_tau_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/n_batch_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/n_ctx_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/n_threads_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/penalty_frequency_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/penalty_last_n_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/penalty_present_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/penalty_repeat_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/seed_parameter.dart'; +import 'package:maid/ui/mobile/widgets/double_button_row.dart'; +import 'package:maid/ui/mobile/widgets/dropdowns/format_dropdown.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/temperature_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/tfs_z_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/top_k_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/top_p_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/typical_p_parameter.dart'; import 'package:provider/provider.dart'; class LocalPlatform extends StatelessWidget { diff --git a/lib/widgets/platform_widgets/mistralai_platform.dart b/lib/ui/mobile/widgets/platform_widgets/mistralai_platform.dart similarity index 56% rename from lib/widgets/platform_widgets/mistralai_platform.dart rename to lib/ui/mobile/widgets/platform_widgets/mistralai_platform.dart index 42e2edf0..a12d848e 100644 --- a/lib/widgets/platform_widgets/mistralai_platform.dart +++ b/lib/ui/mobile/widgets/platform_widgets/mistralai_platform.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; -import 'package:maid/widgets/parameter_widgets/api_key_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/seed_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/temperature_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/top_p_parameter.dart'; -import 'package:maid/widgets/dropdowns/model_dropdown.dart'; -import 'package:maid/widgets/parameter_widgets/url_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/api_key_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/seed_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/temperature_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/top_p_parameter.dart'; +import 'package:maid/ui/mobile/widgets/dropdowns/model_dropdown.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/url_parameter.dart'; class MistralAiPlatform extends StatelessWidget { const MistralAiPlatform({super.key}); diff --git a/lib/ui/mobile/widgets/platform_widgets/ollama_platform.dart b/lib/ui/mobile/widgets/platform_widgets/ollama_platform.dart new file mode 100644 index 00000000..1406d046 --- /dev/null +++ b/lib/ui/mobile/widgets/platform_widgets/ollama_platform.dart @@ -0,0 +1,69 @@ +import 'package:flutter/material.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/api_key_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/penalize_nl_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/mirostat_eta_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/mirostat_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/mirostat_tau_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/n_batch_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/n_ctx_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/n_keep_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/n_predict_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/n_threads_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/penalty_frequency_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/penalty_last_n_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/penalty_present_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/penalty_repeat_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/seed_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/temperature_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/tfs_z_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/top_k_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/top_p_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/typical_p_parameter.dart'; +import 'package:maid/ui/mobile/widgets/dropdowns/model_dropdown.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/url_parameter.dart'; + +class OllamaPlatform extends StatelessWidget { + const OllamaPlatform({super.key}); + + @override + Widget build(BuildContext context) { + return Column(children: [ + const ApiKeyParameter(), + Divider( + height: 20, + indent: 10, + endIndent: 10, + color: Theme.of(context).colorScheme.primary, + ), + const UrlParameter(), + const SizedBox(height: 8.0), + const ModelDropdown(), + const SizedBox(height: 20.0), + Divider( + height: 20, + indent: 10, + endIndent: 10, + color: Theme.of(context).colorScheme.primary, + ), + const PenalizeNlParameter(), + const SeedParameter(), + const NThreadsParameter(), + const NCtxParameter(), + const NBatchParameter(), + const NPredictParameter(), + const NKeepParameter(), + const TopKParameter(), + const TopPParameter(), + const TfsZParameter(), + const TypicalPParameter(), + const TemperatureParameter(), + const PenaltyLastNParameter(), + const PenaltyRepeatParameter(), + const PenaltyFrequencyParameter(), + const PenaltyPresentParameter(), + const MirostatParameter(), + const MirostatTauParameter(), + const MirostatEtaParameter() + ]); + } +} diff --git a/lib/widgets/platform_widgets/openai_platform.dart b/lib/ui/mobile/widgets/platform_widgets/openai_platform.dart similarity index 51% rename from lib/widgets/platform_widgets/openai_platform.dart rename to lib/ui/mobile/widgets/platform_widgets/openai_platform.dart index 97385140..496233a4 100644 --- a/lib/widgets/platform_widgets/openai_platform.dart +++ b/lib/ui/mobile/widgets/platform_widgets/openai_platform.dart @@ -1,13 +1,13 @@ import 'package:flutter/material.dart'; -import 'package:maid/widgets/parameter_widgets/api_key_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/n_predict_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/penalty_frequency_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/penalty_present_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/seed_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/temperature_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/top_p_parameter.dart'; -import 'package:maid/widgets/dropdowns/model_dropdown.dart'; -import 'package:maid/widgets/parameter_widgets/url_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/api_key_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/n_predict_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/penalty_frequency_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/penalty_present_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/seed_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/temperature_parameter.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/top_p_parameter.dart'; +import 'package:maid/ui/mobile/widgets/dropdowns/model_dropdown.dart'; +import 'package:maid/ui/mobile/widgets/parameter_widgets/url_parameter.dart'; class OpenAiPlatform extends StatelessWidget { const OpenAiPlatform({super.key}); diff --git a/lib/widgets/slider_list_tile.dart b/lib/ui/mobile/widgets/slider_list_tile.dart similarity index 100% rename from lib/widgets/slider_list_tile.dart rename to lib/ui/mobile/widgets/slider_list_tile.dart diff --git a/lib/widgets/text_field_list_tile.dart b/lib/ui/mobile/widgets/text_field_list_tile.dart similarity index 100% rename from lib/widgets/text_field_list_tile.dart rename to lib/ui/mobile/widgets/text_field_list_tile.dart diff --git a/lib/widgets/platform_widgets/ollama_platform.dart b/lib/widgets/platform_widgets/ollama_platform.dart deleted file mode 100644 index 0e4eb784..00000000 --- a/lib/widgets/platform_widgets/ollama_platform.dart +++ /dev/null @@ -1,69 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:maid/widgets/parameter_widgets/api_key_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/penalize_nl_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/mirostat_eta_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/mirostat_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/mirostat_tau_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/n_batch_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/n_ctx_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/n_keep_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/n_predict_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/n_threads_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/penalty_frequency_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/penalty_last_n_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/penalty_present_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/penalty_repeat_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/seed_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/temperature_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/tfs_z_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/top_k_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/top_p_parameter.dart'; -import 'package:maid/widgets/parameter_widgets/typical_p_parameter.dart'; -import 'package:maid/widgets/dropdowns/model_dropdown.dart'; -import 'package:maid/widgets/parameter_widgets/url_parameter.dart'; - -class OllamaPlatform extends StatelessWidget { - const OllamaPlatform({super.key}); - - @override - Widget build(BuildContext context) { - return Column(children: [ - const ApiKeyParameter(), - Divider( - height: 20, - indent: 10, - endIndent: 10, - color: Theme.of(context).colorScheme.primary, - ), - const UrlParameter(), - const SizedBox(height: 8.0), - const ModelDropdown(), - const SizedBox(height: 20.0), - Divider( - height: 20, - indent: 10, - endIndent: 10, - color: Theme.of(context).colorScheme.primary, - ), - const PenalizeNlParameter(), - const SeedParameter(), - const NThreadsParameter(), - const NCtxParameter(), - const NBatchParameter(), - const NPredictParameter(), - const NKeepParameter(), - const TopKParameter(), - const TopPParameter(), - const TfsZParameter(), - const TypicalPParameter(), - const TemperatureParameter(), - const PenaltyLastNParameter(), - const PenaltyRepeatParameter(), - const PenaltyFrequencyParameter(), - const PenaltyPresentParameter(), - const MirostatParameter(), - const MirostatTauParameter(), - const MirostatEtaParameter() - ]); - } -}