wtf
This commit is contained in:
parent
a4a9d3e565
commit
5b83ec4bbf
|
|
@ -4,6 +4,7 @@ import 'dart:async';
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:didvan/models/ai/files_model.dart';
|
import 'package:didvan/models/ai/files_model.dart';
|
||||||
|
import 'package:didvan/services/app_initalizer.dart';
|
||||||
import 'package:didvan/services/storage/storage.dart';
|
import 'package:didvan/services/storage/storage.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
|
|
@ -70,7 +71,9 @@ class AiApiService {
|
||||||
filename = file.basename;
|
filename = file.basename;
|
||||||
|
|
||||||
mimeType = file.isAudio()
|
mimeType = file.isAudio()
|
||||||
? 'audio/m4a'
|
? file.isRecorded
|
||||||
|
? 'audio/${kIsWeb && AppInitializer.getOperatingSystem() == 'iOS' ? 'webm' : 'm4a'}'
|
||||||
|
: 'audio/${file.extname.replaceAll('.', '')}'
|
||||||
: file.isImage()
|
: file.isImage()
|
||||||
? 'image/png'
|
? 'image/png'
|
||||||
: 'application/pdf';
|
: 'application/pdf';
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
// ignore_for_file: avoid_web_libraries_in_flutter
|
||||||
|
|
||||||
import 'package:didvan/main.dart';
|
import 'package:didvan/main.dart';
|
||||||
import 'package:didvan/models/notification_message.dart';
|
import 'package:didvan/models/notification_message.dart';
|
||||||
import 'package:didvan/models/requests/news.dart';
|
import 'package:didvan/models/requests/news.dart';
|
||||||
|
|
@ -14,6 +16,7 @@ import 'package:flutter/material.dart';
|
||||||
import 'package:path_provider/path_provider.dart';
|
import 'package:path_provider/path_provider.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:url_launcher/url_launcher_string.dart';
|
import 'package:url_launcher/url_launcher_string.dart';
|
||||||
|
import 'dart:html' as html;
|
||||||
|
|
||||||
class AppInitializer {
|
class AppInitializer {
|
||||||
static String? fcmToken;
|
static String? fcmToken;
|
||||||
|
|
@ -39,6 +42,24 @@ class AppInitializer {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static String getOperatingSystem() {
|
||||||
|
final userAgent = html.window.navigator.userAgent.toLowerCase();
|
||||||
|
|
||||||
|
if (userAgent.contains('windows')) {
|
||||||
|
return 'Windows';
|
||||||
|
} else if (userAgent.contains('mac os')) {
|
||||||
|
return 'MacOS';
|
||||||
|
} else if (userAgent.contains('iphone') || userAgent.contains('ipad')) {
|
||||||
|
return 'iOS';
|
||||||
|
} else if (userAgent.contains('android')) {
|
||||||
|
return 'Android';
|
||||||
|
} else if (userAgent.contains('linux')) {
|
||||||
|
return 'Linux';
|
||||||
|
} else {
|
||||||
|
return 'Unknown';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static Future<SettingsData> initilizeSettings() async {
|
static Future<SettingsData> initilizeSettings() async {
|
||||||
try {
|
try {
|
||||||
final brightness = await StorageService.getValue(key: 'brightness');
|
final brightness = await StorageService.getValue(key: 'brightness');
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import 'package:didvan/models/ai/bots_model.dart';
|
||||||
import 'package:didvan/models/ai/chats_model.dart';
|
import 'package:didvan/models/ai/chats_model.dart';
|
||||||
import 'package:didvan/models/ai/files_model.dart';
|
import 'package:didvan/models/ai/files_model.dart';
|
||||||
import 'package:didvan/models/ai/messages_model.dart';
|
import 'package:didvan/models/ai/messages_model.dart';
|
||||||
|
import 'package:didvan/services/app_initalizer.dart';
|
||||||
import 'package:didvan/services/media/media.dart';
|
import 'package:didvan/services/media/media.dart';
|
||||||
import 'package:didvan/services/media/voice.dart';
|
import 'package:didvan/services/media/voice.dart';
|
||||||
import 'package:didvan/utils/action_sheet.dart';
|
import 'package:didvan/utils/action_sheet.dart';
|
||||||
|
|
@ -347,7 +348,7 @@ class _AiMessageBarState extends State<AiMessageBar> {
|
||||||
state.file = FilesModel(
|
state.file = FilesModel(
|
||||||
path.toString(),
|
path.toString(),
|
||||||
name:
|
name:
|
||||||
'${DateTime.now().millisecondsSinceEpoch ~/ 1000}.m4a',
|
'${DateTime.now().millisecondsSinceEpoch ~/ 1000}.${kIsWeb && AppInitializer.getOperatingSystem() == 'iOS' ? 'webm' : 'm4a'}',
|
||||||
isRecorded: true,
|
isRecorded: true,
|
||||||
audio: true,
|
audio: true,
|
||||||
image: false,
|
image: false,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue