23 lines
682 B
Dart
23 lines
682 B
Dart
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
|
|
/// 現在表示中のタブインデックスを管理するProvider
|
|
///
|
|
/// コーチマークが裏のタブで表示されるのを防ぐため、
|
|
/// MainScreenのタブ切り替え時に更新される。
|
|
///
|
|
/// 各画面はこのProviderを監視して、自分が表示されているタブかを判定できる。
|
|
final currentTabIndexProvider = NotifierProvider<CurrentTabIndexNotifier, int>(
|
|
CurrentTabIndexNotifier.new,
|
|
);
|
|
|
|
class CurrentTabIndexNotifier extends Notifier<int> {
|
|
@override
|
|
int build() {
|
|
return 0; // 初期値: ホーム画面
|
|
}
|
|
|
|
void setIndex(int index) {
|
|
state = index;
|
|
}
|
|
}
|