Skip to content

Commit f562757

Browse files
display translation on frontend
1 parent 4c487f9 commit f562757

File tree

3 files changed

+25
-14
lines changed

3 files changed

+25
-14
lines changed

sign_language_translator/lib/camera_page.dart

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@ import 'package:sign_language_translator/components/camera.dart';
33
import 'package:sign_language_translator/components/instructions_pop_up.dart';
44

55
class CameraPage extends StatefulWidget {
6-
const CameraPage({
7-
super.key,
8-
});
6+
const CameraPage({super.key});
97

108
@override
119
State<CameraPage> createState() => _CameraPageState();
@@ -14,6 +12,13 @@ class CameraPage extends StatefulWidget {
1412
class _CameraPageState extends State<CameraPage> {
1513
final GlobalKey<CameraState> _cameraKey = GlobalKey<CameraState>();
1614
bool _isTranslating = false;
15+
String _translation = '';
16+
17+
void _updateTranslation(String translation) {
18+
setState(() {
19+
_translation = translation;
20+
});
21+
}
1722

1823
@override
1924
Widget build(BuildContext context) {
@@ -34,7 +39,10 @@ class _CameraPageState extends State<CameraPage> {
3439
const SizedBox(height: 2),
3540
Container(
3641
constraints: const BoxConstraints(maxHeight: 400),
37-
child: Camera(key: _cameraKey),
42+
child: Camera(
43+
key: _cameraKey,
44+
onTranslationReceived: _updateTranslation,
45+
),
3846
),
3947
const SizedBox(height: 110),
4048
Column(
@@ -46,8 +54,7 @@ class _CameraPageState extends State<CameraPage> {
4654
onPressed: () {
4755
setState(() {
4856
if (_isTranslating) {
49-
_cameraKey.currentState
50-
?.stopAndGetTranslation();
57+
_cameraKey.currentState?.stopAndGetTranslation();
5158
} else {
5259
_cameraKey.currentState?.startTakingPictures();
5360
}
@@ -76,9 +83,9 @@ class _CameraPageState extends State<CameraPage> {
7683
padding: const EdgeInsets.symmetric(horizontal: 20),
7784
height: 92,
7885
alignment: Alignment.center,
79-
child: const Text(
80-
'Sign Language Translator',
81-
style: TextStyle(
86+
child: Text(
87+
_translation.isEmpty ? 'No translation' : _translation,
88+
style: const TextStyle(
8289
color: Colors.deepPurple,
8390
fontSize: 20,
8491
),

sign_language_translator/lib/components/camera.dart

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ import 'package:flutter/material.dart';
44
import 'package:sign_language_translator/services/network.dart';
55

66
class Camera extends StatefulWidget {
7-
const Camera({super.key});
7+
final Function(String) onTranslationReceived;
8+
9+
const Camera({super.key, required this.onTranslationReceived});
810

911
@override
1012
State<Camera> createState() => CameraState();
@@ -152,8 +154,10 @@ class CameraState extends State<Camera> {
152154
// asigura ca se opreste upload-ul
153155
await Future.delayed(const Duration(milliseconds: 50));
154156

155-
return network.getTranslation();
156-
}
157+
String translation = await network.getTranslation();
157158

158-
List<String> translationOutputs = [];
159+
widget.onTranslationReceived(translation);
160+
161+
return translation;
162+
}
159163
}

sign_language_translator/lib/services/network.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class Network {
4646
}
4747
} catch (e) {
4848
print('Eroare: $e');
49-
return "Error transalting your message";
49+
return "Error translating your message";
5050
}
5151
return "";
5252
}

0 commit comments

Comments
 (0)