Initial commit
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
@immutable
|
||||
class ShellBackdropState {
|
||||
final String primaryImageUrl;
|
||||
final List<String> fallbackImageUrls;
|
||||
final Color accentColor;
|
||||
|
||||
const ShellBackdropState({
|
||||
required this.primaryImageUrl,
|
||||
this.fallbackImageUrls = const <String>[],
|
||||
required this.accentColor,
|
||||
});
|
||||
}
|
||||
|
||||
class ShellBackdropNotifier extends Notifier<ShellBackdropState?> {
|
||||
@override
|
||||
ShellBackdropState? build() => null;
|
||||
|
||||
void show(ShellBackdropState backdrop) {
|
||||
state = backdrop;
|
||||
}
|
||||
|
||||
void clear() {
|
||||
state = null;
|
||||
}
|
||||
}
|
||||
|
||||
final shellBackdropProvider =
|
||||
NotifierProvider<ShellBackdropNotifier, ShellBackdropState?>(
|
||||
ShellBackdropNotifier.new,
|
||||
);
|
||||
|
||||
|
||||
class ShellLocationNotifier extends Notifier<String> {
|
||||
@override
|
||||
String build() => '/';
|
||||
|
||||
void set(String loc) {
|
||||
if (state != loc) state = loc;
|
||||
}
|
||||
}
|
||||
|
||||
final shellLocationProvider = NotifierProvider<ShellLocationNotifier, String>(
|
||||
ShellLocationNotifier.new,
|
||||
);
|
||||
Reference in New Issue
Block a user