refactor: Remove deprecated code and unused comments
This commit is contained in:
@@ -2242,11 +2242,7 @@ class _ChatPageState extends ConsumerState<ChatPage> {
|
||||
isDestructive: true,
|
||||
).then((confirmed) async {
|
||||
if (confirmed == true) {
|
||||
// for (final selectedMessage in selectedMessages) {
|
||||
// ref.read(chatMessagesProvider.notifier).removeMessage(selectedMessage.id);
|
||||
// }
|
||||
_clearSelection();
|
||||
if (mounted) {}
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -2762,7 +2758,6 @@ class _VoiceInputSheetState extends ConsumerState<_VoiceInputSheet> {
|
||||
setState(() {
|
||||
_isListening = false;
|
||||
});
|
||||
if (mounted) {}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1181,8 +1181,6 @@ class _AssistantMessageWidgetState extends ConsumerState<AssistantMessageWidget>
|
||||
);
|
||||
}
|
||||
|
||||
// Deprecated: old in-content version switcher replaced by inline controls with action buttons.
|
||||
|
||||
Widget _buildActionButtons() {
|
||||
final l10n = AppLocalizations.of(context)!;
|
||||
final ttsState = ref.watch(textToSpeechControllerProvider);
|
||||
@@ -2292,62 +2290,6 @@ class CodeExecutionListView extends StatelessWidget {
|
||||
}
|
||||
}
|
||||
|
||||
// Legacy CitationListView - replaced with OpenWebUISourcesWidget
|
||||
// Keeping for reference, can be removed after testing
|
||||
/*
|
||||
class CitationListView extends StatelessWidget {
|
||||
const CitationListView({super.key, required this.sources});
|
||||
|
||||
final List<ChatSourceReference> sources;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final theme = context.conduitTheme;
|
||||
if (sources.isEmpty) {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
sources.length == 1 ? 'Source' : 'Sources',
|
||||
style: TextStyle(
|
||||
color: theme.textPrimary,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: AppTypography.bodyLarge,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: Spacing.xs),
|
||||
...sources.map((source) {
|
||||
final title = source.title?.isNotEmpty == true
|
||||
? source.title!
|
||||
: source.url ?? 'Citation';
|
||||
final subtitle = source.snippet?.isNotEmpty == true
|
||||
? source.snippet!
|
||||
: source.url;
|
||||
|
||||
return Card(
|
||||
margin: const EdgeInsets.only(bottom: Spacing.xs),
|
||||
color: theme.surfaceContainer,
|
||||
child: ListTile(
|
||||
onTap: source.url != null ? () => _launchUri(source.url!) : null,
|
||||
title: Text(title, style: TextStyle(color: theme.textPrimary)),
|
||||
subtitle: subtitle != null
|
||||
? Text(subtitle, style: TextStyle(color: theme.textSecondary))
|
||||
: null,
|
||||
trailing: source.url != null
|
||||
? const Icon(Icons.open_in_new, size: 18)
|
||||
: null,
|
||||
),
|
||||
);
|
||||
}),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
class FollowUpSuggestionBar extends StatelessWidget {
|
||||
const FollowUpSuggestionBar({
|
||||
super.key,
|
||||
|
||||
@@ -102,12 +102,9 @@ class _ModernChatInputState extends ConsumerState<ModernChatInput>
|
||||
final FocusNode _focusNode = FocusNode();
|
||||
bool _pendingFocus = false;
|
||||
bool _isRecording = false;
|
||||
// final String _voiceInputText = '';
|
||||
bool _hasText = false; // track locally without rebuilding on each keystroke
|
||||
StreamSubscription<String>? _voiceStreamSubscription;
|
||||
late VoiceInputService _voiceService;
|
||||
StreamSubscription<int>?
|
||||
_intensitySub; // removed usage; will be cleaned fully
|
||||
StreamSubscription<String>? _textSub;
|
||||
String _baseTextAtStart = '';
|
||||
bool _isDeactivated = false;
|
||||
@@ -167,7 +164,6 @@ class _ModernChatInputState extends ConsumerState<ModernChatInput>
|
||||
_focusNode.dispose();
|
||||
_pendingFocus = false;
|
||||
_voiceStreamSubscription?.cancel();
|
||||
_intensitySub?.cancel();
|
||||
_textSub?.cancel();
|
||||
_voiceService.stopListening();
|
||||
super.dispose();
|
||||
@@ -2949,8 +2945,6 @@ class _ModernChatInputState extends ConsumerState<ModernChatInput>
|
||||
_isRecording = true;
|
||||
_baseTextAtStart = _controller.text;
|
||||
});
|
||||
_intensitySub?.cancel();
|
||||
// intensity stream no longer used for UI; stop listening
|
||||
_textSub?.cancel();
|
||||
_textSub = stream.listen(
|
||||
(text) async {
|
||||
@@ -2965,14 +2959,10 @@ class _ModernChatInputState extends ConsumerState<ModernChatInput>
|
||||
onDone: () {
|
||||
if (!mounted) return;
|
||||
setState(() => _isRecording = false);
|
||||
_intensitySub?.cancel();
|
||||
_intensitySub = null;
|
||||
},
|
||||
onError: (_) {
|
||||
if (!mounted) return;
|
||||
setState(() => _isRecording = false);
|
||||
_intensitySub?.cancel();
|
||||
_intensitySub = null;
|
||||
},
|
||||
);
|
||||
_ensureFocusedIfEnabled();
|
||||
@@ -2987,8 +2977,6 @@ class _ModernChatInputState extends ConsumerState<ModernChatInput>
|
||||
}
|
||||
|
||||
Future<void> _stopVoice() async {
|
||||
_intensitySub?.cancel();
|
||||
_intensitySub = null;
|
||||
await _voiceService.stopListening();
|
||||
if (!mounted) return;
|
||||
setState(() => _isRecording = false);
|
||||
|
||||
Reference in New Issue
Block a user