wtf
This commit is contained in:
parent
a4a9d3e565
commit
5b83ec4bbf
|
|
@ -4,6 +4,7 @@ import 'dart:async';
|
|||
import 'dart:convert';
|
||||
|
||||
import 'package:didvan/models/ai/files_model.dart';
|
||||
import 'package:didvan/services/app_initalizer.dart';
|
||||
import 'package:didvan/services/storage/storage.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
|
|
@ -70,7 +71,9 @@ class AiApiService {
|
|||
filename = file.basename;
|
||||
|
||||
mimeType = file.isAudio()
|
||||
? 'audio/m4a'
|
||||
? file.isRecorded
|
||||
? 'audio/${kIsWeb && AppInitializer.getOperatingSystem() == 'iOS' ? 'webm' : 'm4a'}'
|
||||
: 'audio/${file.extname.replaceAll('.', '')}'
|
||||
: file.isImage()
|
||||
? 'image/png'
|
||||
: 'application/pdf';
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
// ignore_for_file: avoid_web_libraries_in_flutter
|
||||
|
||||
import 'package:didvan/main.dart';
|
||||
import 'package:didvan/models/notification_message.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:provider/provider.dart';
|
||||
import 'package:url_launcher/url_launcher_string.dart';
|
||||
import 'dart:html' as html;
|
||||
|
||||
class AppInitializer {
|
||||
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 {
|
||||
try {
|
||||
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/files_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/voice.dart';
|
||||
import 'package:didvan/utils/action_sheet.dart';
|
||||
|
|
@ -347,7 +348,7 @@ class _AiMessageBarState extends State<AiMessageBar> {
|
|||
state.file = FilesModel(
|
||||
path.toString(),
|
||||
name:
|
||||
'${DateTime.now().millisecondsSinceEpoch ~/ 1000}.m4a',
|
||||
'${DateTime.now().millisecondsSinceEpoch ~/ 1000}.${kIsWeb && AppInitializer.getOperatingSystem() == 'iOS' ? 'webm' : 'm4a'}',
|
||||
isRecorded: true,
|
||||
audio: true,
|
||||
image: false,
|
||||
|
|
|
|||
Loading…
Reference in New Issue