|
1 | 1 | import 'package:flutter/material.dart'; |
2 | 2 | import 'package:flutter/services.dart'; |
| 3 | +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; |
3 | 4 | import 'package:flutter_riverpod/flutter_riverpod.dart'; |
4 | 5 | import 'package:miria/model/account.dart'; |
5 | 6 | import 'package:miria/providers.dart'; |
@@ -40,19 +41,29 @@ class TranslateNoteModalSheet extends ConsumerWidget { |
40 | 41 | ), |
41 | 42 | ); |
42 | 43 |
|
43 | | - return translatedNote.when( |
44 | | - data: (translatedNote) => Padding( |
45 | | - padding: const EdgeInsets.all(10), |
46 | | - child: SingleChildScrollView( |
47 | | - child: Column( |
| 44 | + return Scaffold( |
| 45 | + body: translatedNote.when( |
| 46 | + data: (translatedNote) => Padding( |
| 47 | + padding: const EdgeInsets.all(10), |
| 48 | + child: ListView( |
48 | 49 | children: [ |
49 | 50 | ListTile( |
50 | | - title: Text("${translatedNote.sourceLang}から翻訳"), |
| 51 | + title: Text( |
| 52 | + S.of(context).translatedFrom(translatedNote.sourceLang), |
| 53 | + ), |
51 | 54 | trailing: IconButton( |
52 | | - onPressed: () => Clipboard.setData( |
53 | | - ClipboardData(text: translatedNote.text), |
54 | | - ), |
55 | | - tooltip: "コピー", |
| 55 | + onPressed: () { |
| 56 | + Clipboard.setData( |
| 57 | + ClipboardData(text: translatedNote.text), |
| 58 | + ); |
| 59 | + ScaffoldMessenger.of(context).showSnackBar( |
| 60 | + SnackBar( |
| 61 | + content: Text(S.of(context).doneCopy), |
| 62 | + duration: const Duration(seconds: 1), |
| 63 | + ), |
| 64 | + ); |
| 65 | + }, |
| 66 | + tooltip: S.of(context).copyContents, |
56 | 67 | icon: const Icon(Icons.copy), |
57 | 68 | ), |
58 | 69 | ), |
@@ -81,9 +92,9 @@ class TranslateNoteModalSheet extends ConsumerWidget { |
81 | 92 | ], |
82 | 93 | ), |
83 | 94 | ), |
| 95 | + error: (e, st) => Center(child: ErrorDetail(error: e, stackTrace: st)), |
| 96 | + loading: () => const Center(child: CircularProgressIndicator()), |
84 | 97 | ), |
85 | | - error: (e, st) => Center(child: ErrorDetail(error: e, stackTrace: st)), |
86 | | - loading: () => const Center(child: CircularProgressIndicator()), |
87 | 98 | ); |
88 | 99 | } |
89 | 100 | } |
0 commit comments