display error banners below ente logo and search icon
This commit is contained in:
parent
df76813c2d
commit
59c93e1b23
|
@ -49,11 +49,6 @@ class HeaderErrorWidget extends StatelessWidget {
|
|||
),
|
||||
),
|
||||
const Padding(padding: EdgeInsets.all(12)),
|
||||
const Divider(
|
||||
thickness: 2,
|
||||
height: 0,
|
||||
),
|
||||
const Padding(padding: EdgeInsets.all(12)),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
@ -93,11 +88,6 @@ class HeaderErrorWidget extends StatelessWidget {
|
|||
),
|
||||
),
|
||||
const Padding(padding: EdgeInsets.all(12)),
|
||||
const Divider(
|
||||
thickness: 2,
|
||||
height: 0,
|
||||
),
|
||||
const Padding(padding: EdgeInsets.all(12)),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
@ -105,6 +95,7 @@ class HeaderErrorWidget extends StatelessWidget {
|
|||
return Center(
|
||||
child: Column(
|
||||
children: [
|
||||
const SizedBox(height: 8),
|
||||
Icon(
|
||||
Icons.error_outline,
|
||||
color: Colors.red[400],
|
||||
|
@ -150,11 +141,6 @@ class HeaderErrorWidget extends StatelessWidget {
|
|||
),
|
||||
),
|
||||
const Padding(padding: EdgeInsets.all(16)),
|
||||
const Divider(
|
||||
thickness: 2,
|
||||
height: 0,
|
||||
),
|
||||
const Padding(padding: EdgeInsets.all(12)),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
|
|
@ -21,10 +21,20 @@ class StatusBarWidget extends StatefulWidget {
|
|||
class _StatusBarWidgetState extends State<StatusBarWidget> {
|
||||
StreamSubscription<SyncStatusUpdate> _subscription;
|
||||
bool _showStatus = false;
|
||||
bool _showErrorBanner = false;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
_subscription = Bus.instance.on<SyncStatusUpdate>().listen((event) {
|
||||
if (event.status == SyncStatus.error) {
|
||||
setState(() {
|
||||
_showErrorBanner = true;
|
||||
});
|
||||
} else {
|
||||
setState(() {
|
||||
_showErrorBanner = false;
|
||||
});
|
||||
}
|
||||
if (event.status == SyncStatus.completedFirstGalleryImport ||
|
||||
event.status == SyncStatus.completedBackup) {
|
||||
Future.delayed(const Duration(milliseconds: 2000), () {
|
||||
|
@ -58,7 +68,11 @@ class _StatusBarWidgetState extends State<StatusBarWidget> {
|
|||
Stack(
|
||||
children: [
|
||||
AnimatedOpacity(
|
||||
opacity: _showStatus ? 0 : 1,
|
||||
opacity: _showStatus
|
||||
? _showErrorBanner
|
||||
? 1
|
||||
: 0
|
||||
: 1,
|
||||
duration: const Duration(milliseconds: 1000),
|
||||
child: const BrandingWidget(),
|
||||
),
|
||||
|
@ -70,7 +84,6 @@ class _StatusBarWidgetState extends State<StatusBarWidget> {
|
|||
Positioned(
|
||||
right: 0,
|
||||
top: 0,
|
||||
bottom: 0,
|
||||
child: FeatureFlagService.instance.enableSearchFeature()
|
||||
? Container(
|
||||
color: Theme.of(context)
|
||||
|
@ -79,7 +92,7 @@ class _StatusBarWidgetState extends State<StatusBarWidget> {
|
|||
height: kContainerHeight,
|
||||
child: const SearchIconWidget(),
|
||||
)
|
||||
: const SizedBox.shrink(),
|
||||
: const SizedBox(height: 36, width: 48),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
@ -135,7 +148,10 @@ class _SyncStatusWidgetState extends State<SyncStatusWidget> {
|
|||
return const SizedBox.shrink();
|
||||
}
|
||||
if (_event.status == SyncStatus.error) {
|
||||
return HeaderErrorWidget(error: _event.error);
|
||||
return Padding(
|
||||
padding: const EdgeInsets.only(top: kContainerHeight + 8),
|
||||
child: HeaderErrorWidget(error: _event.error),
|
||||
);
|
||||
}
|
||||
if (_event.status == SyncStatus.completedBackup) {
|
||||
return const SyncStatusCompletedWidget();
|
||||
|
|
Loading…
Reference in a new issue