mirror of
https://github.com/hiddify/hiddify-next.git
synced 2026-07-13 21:19:28 +08:00
33 lines
939 B
Dart
33 lines
939 B
Dart
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
import 'package:hiddify/core/model/environment.dart';
|
|
|
|
part 'app_info_entity.freezed.dart';
|
|
|
|
@freezed
|
|
class AppInfoEntity with _$AppInfoEntity {
|
|
const AppInfoEntity._();
|
|
|
|
const factory AppInfoEntity({
|
|
required String name,
|
|
required String version,
|
|
required String buildNumber,
|
|
required Release release,
|
|
required String operatingSystem,
|
|
required String operatingSystemVersion,
|
|
required Environment environment,
|
|
}) = _AppInfoEntity;
|
|
|
|
String get userAgent =>
|
|
"HiddifyNext/$version ($operatingSystem) like ClashMeta v2ray sing-box";
|
|
|
|
String get presentVersion => environment == Environment.prod
|
|
? version
|
|
: "$version ${environment.name}";
|
|
|
|
/// formats app info for sharing
|
|
String format() => '''
|
|
$name v$version ($buildNumber) [${environment.name}]
|
|
${release.name} release
|
|
$operatingSystem [$operatingSystemVersion]''';
|
|
}
|