This commit is contained in:
xh 2024-07-23 19:58:15 +08:00
parent 0f7a9489a9
commit db01a24756
7 changed files with 90 additions and 84 deletions

View File

@ -9,10 +9,8 @@ import 'package:trans_lark/widget/base_appbar.dart';
import 'package:wave/config.dart';
import 'package:wave/wave.dart';
class FaceToFaceView extends StatelessWidget {
FaceToFaceView({super.key});
final controller = Get.find<FaceToFaceController>();
class FaceToFaceView extends GetView<FaceToFaceController> {
const FaceToFaceView({super.key});
@override
Widget build(BuildContext context) {
@ -66,7 +64,8 @@ class FaceToFaceView extends StatelessWidget {
Obx(() {
return Visibility(
visible: !controller.selectedUnder.value,
child: SpeechToTextManager().isListening.value ? RotatedBox(
child: SpeechToTextManager().isListening.value
? RotatedBox(
quarterTurns: 2,
child: WaveWidget(
config: CustomConfig(
@ -83,7 +82,8 @@ class FaceToFaceView extends StatelessWidget {
// wavePhase: 0,
// waveFrequency: 0,
),
) : Container(
)
: Container(
width: double.infinity,
height: double.infinity,
color: const Color(0xff45A7FE),
@ -94,15 +94,24 @@ class FaceToFaceView extends StatelessWidget {
return Container(
width: double.infinity,
height: double.infinity,
padding: EdgeInsets.fromLTRB(30, SpeechToTextManager().isListening.value
padding: EdgeInsets.fromLTRB(
30,
SpeechToTextManager().isListening.value
? MediaQuery.of(context).padding.top + kToolbarHeight
: 0, 30, 40),
: 0,
30,
40),
child: AnimatedRotation(
turns: controller.angle.value,
duration: const Duration(milliseconds: 500),
child: Column(
mainAxisAlignment: SpeechToTextManager().isListening.value ? MainAxisAlignment.start : MainAxisAlignment.center,
crossAxisAlignment: SpeechToTextManager().isListening.value ? CrossAxisAlignment.start : CrossAxisAlignment.center,
mainAxisAlignment: SpeechToTextManager().isListening.value
? MainAxisAlignment.start
: MainAxisAlignment.center,
crossAxisAlignment:
SpeechToTextManager().isListening.value
? CrossAxisAlignment.start
: CrossAxisAlignment.center,
children: [
if (!controller.selectedUnder.value) ...[
SvgPicture.asset(
@ -114,7 +123,9 @@ class FaceToFaceView extends StatelessWidget {
],
Flexible(
child: Visibility(
visible: SpeechToTextManager().isListening.value && ObjUtil.isNotEmptyStr(controller.aboveText.value),
visible: SpeechToTextManager().isListening.value &&
ObjUtil.isNotEmptyStr(
controller.aboveText.value),
replacement: const Text(
'Please start talking',
style: TextStyle(
@ -161,7 +172,8 @@ class FaceToFaceView extends StatelessWidget {
Obx(() {
return Visibility(
visible: controller.selectedUnder.value,
child: SpeechToTextManager().isListening.value ? WaveWidget(
child: SpeechToTextManager().isListening.value
? WaveWidget(
config: CustomConfig(
colors: [
const Color(0xff87ECB3).withOpacity(0.2),
@ -175,7 +187,8 @@ class FaceToFaceView extends StatelessWidget {
waveAmplitude: 4,
// wavePhase: 0,
// waveFrequency: 0,
) : Container(
)
: Container(
width: double.infinity,
height: double.infinity,
color: const Color(0xff87ECB3),
@ -186,12 +199,18 @@ class FaceToFaceView extends StatelessWidget {
return Container(
width: double.infinity,
height: double.infinity,
padding: EdgeInsets.fromLTRB(30, SpeechToTextManager().isListening.value
? 80
: 0, 30, MediaQuery.of(context).padding.bottom),
padding: EdgeInsets.fromLTRB(
30,
SpeechToTextManager().isListening.value ? 80 : 0,
30,
MediaQuery.of(context).padding.bottom),
child: Column(
mainAxisAlignment: SpeechToTextManager().isListening.value ? MainAxisAlignment.start : MainAxisAlignment.center,
crossAxisAlignment: SpeechToTextManager().isListening.value ? CrossAxisAlignment.start : CrossAxisAlignment.center,
mainAxisAlignment: SpeechToTextManager().isListening.value
? MainAxisAlignment.start
: MainAxisAlignment.center,
crossAxisAlignment: SpeechToTextManager().isListening.value
? CrossAxisAlignment.start
: CrossAxisAlignment.center,
children: [
if (controller.selectedUnder.value) ...[
SvgPicture.asset(
@ -203,7 +222,8 @@ class FaceToFaceView extends StatelessWidget {
],
Flexible(
child: Visibility(
visible: SpeechToTextManager().isListening.value && ObjUtil.isNotEmptyStr(controller.underText.value),
visible: SpeechToTextManager().isListening.value &&
ObjUtil.isNotEmptyStr(controller.underText.value),
replacement: const Text(
'Please start talking',
style: TextStyle(

View File

@ -95,7 +95,6 @@ class HomeLogic extends GetxController {
SceneEntity entity = sceneTypeList[x];
if (entity.sceneList != null && entity.sceneList!.isNotEmpty) {
var y = NumUtil.getRandomNumber(0, entity.sceneList!.length);
fromStr.value = _getSentence(true, entity.sceneList![y]);
toStr.value = _getSentence(false, entity.sceneList![y]);
}

View File

@ -15,14 +15,10 @@ class HomePage extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
body: Container(
width: double.infinity,
height: double.infinity,
padding: const EdgeInsets.symmetric(horizontal: 20),
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage(
Assets.imagesHomeBackground,
),
image: AssetImage(Assets.imagesHomeBackground),
fit: BoxFit.fill,
),
),
@ -429,8 +425,7 @@ class HomePage extends StatelessWidget {
padding: const EdgeInsets.all(5),
decoration: BoxDecoration(
color: const Color(0xff8BCFFE),
borderRadius:
BorderRadius.circular(18),
borderRadius: BorderRadius.circular(18),
),
child: SvgPicture.asset(
Assets.svgHomeVoice,

View File

@ -8,10 +8,8 @@ import 'package:trans_lark/widget/base_appbar.dart';
import 'package:trans_lark/widget/base_scrollbar.dart';
import 'package:trans_lark/widget/language_scene_bar.dart';
class SceneListView extends StatelessWidget {
SceneListView({super.key});
final controller = Get.find<SceneListController>();
class SceneListView extends GetView<SceneListController> {
const SceneListView({super.key});
@override
Widget build(BuildContext context) {

View File

@ -10,19 +10,17 @@ class SettingsController extends GetxController {
@override
void onReady() {
super.onReady();
_getVersion();
_getAppVersion();
}
///
void _getVersion() async {
void _getAppVersion() async {
final packageInfo = await PackageInfo.fromPlatform();
versionName.value = 'version number ${packageInfo.version}';
}
void itemOnTap(int index) {
if (index == -1) {
} else if (index == 0) {
if (index == 0) {
Get.toNamed(GetRouter.privacy, arguments: {
'title': options[index],
'url': 'https://translark.bitbucket.io/privacy.html',

View File

@ -2,10 +2,8 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:trans_lark/page/splash/splash_controller.dart';
class SplashView extends StatelessWidget {
SplashView({super.key});
final controller = Get.find<SplashController>();
class SplashView extends GetView<SplashController> {
const SplashView({super.key});
@override
Widget build(BuildContext context) {

View File

@ -5,10 +5,8 @@ import 'package:trans_lark/widget/base_appbar.dart';
import 'package:trans_lark/widget/view_state_widget.dart';
import 'package:webview_flutter/webview_flutter.dart';
class WebPageView extends StatelessWidget {
WebPageView({super.key});
final controller = Get.find<WebPageController>();
class WebPageView extends GetView<WebPageController> {
const WebPageView({super.key});
@override
Widget build(BuildContext context) {