diff --git a/lib/ui/features/overlay/overlay_view.dart b/lib/ui/features/overlay/overlay_view.dart new file mode 100644 index 0000000..cf0cd41 --- /dev/null +++ b/lib/ui/features/overlay/overlay_view.dart @@ -0,0 +1,17 @@ +import 'package:flutter/material.dart'; + +/// Stub view for the overlay feature. +/// +/// [Overlay] has been deferred due to ongoing issues. This placeholder +/// reserves the UI layer for when the overlay is properly reimplemented +/// with the new architecture. +class OverlayView extends StatelessWidget { + const OverlayView({super.key}); + + @override + Widget build(BuildContext context) { + return const Center( + child: Text('Overlay deferred'), + ); + } +} \ No newline at end of file diff --git a/lib/ui/features/overlay/overlay_view_model.dart b/lib/ui/features/overlay/overlay_view_model.dart new file mode 100644 index 0000000..4283197 --- /dev/null +++ b/lib/ui/features/overlay/overlay_view_model.dart @@ -0,0 +1,26 @@ +import 'package:flutter/widgets.dart'; + +/// Stub ViewModel for the overlay feature. +/// +/// [Overlay] has been a major problem and is deferred. This stub +/// reserves the abstraction point for future implementation. +/// +/// The original [OverlayProvider] mixed overlay IPC, GPS forwarding, +/// timers, and app foreground management — all of which violated +/// separation of concerns. +@Deprecated('Overlay is deferred. This stub reserves the abstraction point.') +class OverlayViewModel extends ChangeNotifier { + bool get isOverlayActive => false; + + void init() { + // No-op — overlay is deferred + } + + void toggleOverlay() { + // No-op — overlay is deferred + } + + void closeOverlay() { + // No-op — overlay is deferred + } +}