Skip to content

Commit abe1ea6

Browse files
committed
PAINTROID-454: Flutter: Add Layers
1 parent ad1a169 commit abe1ea6

File tree

5 files changed

+422
-3
lines changed

5 files changed

+422
-3
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import 'package:riverpod_annotation/riverpod_annotation.dart';
2+
3+
part 'layers_panel_visibility_state_provider.g.dart';
4+
5+
@riverpod
6+
class LayersPanelVisibilityStateProvider
7+
extends _$LayersPanelVisibilityStateProvider {
8+
void toggleVisibility() {
9+
state = !state;
10+
}
11+
12+
void show() {
13+
state = true;
14+
}
15+
16+
void hide() {
17+
state = false;
18+
}
19+
20+
@override
21+
bool build() {
22+
return false;
23+
}
24+
}

lib/core/providers/state/layers_panel_visibility_state_provider.g.dart

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/ui/pages/workspace_page/components/bottom_bar/bottom_nav_bar.dart

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1+
import 'package:colorpicker/colorpicker.dart';
12
import 'package:flutter/material.dart';
2-
33
import 'package:flutter_riverpod/flutter_riverpod.dart';
4-
import 'package:colorpicker/colorpicker.dart';
5-
64
import 'package:paintroid/core/enums/tool_types.dart';
75
import 'package:paintroid/core/localization/app_localizations.dart';
6+
import 'package:paintroid/core/providers/state/layers_panel_visibility_state_provider.dart';
87
import 'package:paintroid/core/providers/state/paint_provider.dart';
98
import 'package:paintroid/core/providers/state/tool_options_visibility_state_provider.dart';
109
import 'package:paintroid/core/providers/state/toolbox_state_provider.dart';
@@ -92,6 +91,9 @@ void _onNavigationItemSelected(int index, BuildContext context, WidgetRef ref) {
9291
case BottomNavBarItem.COLOR:
9392
_showColorPicker(context, ref);
9493
break;
94+
case BottomNavBarItem.LAYERS:
95+
_handleLayersPanelVisibility(ref);
96+
break;
9597
default:
9698
return;
9799
}
@@ -112,6 +114,10 @@ void _handleToolOptionsVisibility(WidgetRef ref) {
112114
ref.read(toolOptionsVisibilityStateProvider.notifier).toggleVisibility();
113115
}
114116

117+
void _handleLayersPanelVisibility(WidgetRef ref) {
118+
ref.read(layersPanelVisibilityStateProvider.notifier).toggleVisibility();
119+
}
120+
115121
void _showColorPicker(BuildContext context, WidgetRef ref) {
116122
final Color initialColor = ref.read(paintProvider).color;
117123

0 commit comments

Comments
 (0)