Skip to content

Commit 30a233a

Browse files
committed
Merge remote-tracking branch 'origin/main' into fix/health-probe-logic
2 parents 30d6172 + 04c04c4 commit 30a233a

File tree

20 files changed

+776
-179
lines changed

20 files changed

+776
-179
lines changed

catalyst_voices/apps/voices/lib/pages/discovery/sections/current_campaign.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class CurrentCampaign extends StatelessWidget {
4444
),
4545
),
4646
Padding(
47-
padding: const EdgeInsets.only(top: 32, bottom: 160),
47+
padding: const EdgeInsets.only(top: 32, bottom: 100),
4848
child: CampaignTimeline(
4949
timelineItems: CampaignTimelineViewModelX.mockData,
5050
placement: CampaignTimelinePlacement.discovery,

catalyst_voices/apps/voices/lib/pages/discovery/state_selectors/most_recent_proposals_selector.dart

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,15 @@ class _MostRecentProposalsError extends StatelessWidget {
4949
return BlocSelector<DiscoveryCubit, DiscoveryState, VisibilityState>(
5050
selector: (state) {
5151
return (
52-
show: state.currentCampaign.showError,
53-
error: state.currentCampaign.error,
52+
show: state.mostRecentProposals.showError,
53+
error: state.mostRecentProposals.error,
5454
);
5555
},
5656
builder: (context, state) {
5757
final errorMessage = state.error?.message(context);
5858
return Offstage(
5959
key: const Key('MostRecentError'),
60-
offstage: state.show,
60+
offstage: !state.show,
6161
child: Padding(
6262
padding: const EdgeInsets.all(16),
6363
child: Center(

catalyst_voices/apps/voices/lib/pages/overall_spaces/brands_navigation.dart

+62-52
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import 'package:catalyst_voices/common/ext/brand_ext.dart';
2+
import 'package:catalyst_voices/common/ext/build_context_ext.dart';
3+
import 'package:catalyst_voices/widgets/common/affix_decorator.dart';
24
import 'package:catalyst_voices/widgets/widgets.dart';
35
import 'package:catalyst_voices_assets/catalyst_voices_assets.dart';
46
import 'package:catalyst_voices_brands/catalyst_voices_brands.dart';
@@ -20,6 +22,7 @@ class BrandsNavigation extends StatelessWidget {
2022
padding: const EdgeInsets.symmetric(vertical: 8),
2123
child: Column(
2224
mainAxisSize: MainAxisSize.max,
25+
crossAxisAlignment: CrossAxisAlignment.start,
2326
children: [
2427
...Brand.values.map(
2528
(brand) {
@@ -35,59 +38,26 @@ class BrandsNavigation extends StatelessWidget {
3538
indent: 0,
3639
endIndent: 0,
3740
),
38-
const _SearchTile(),
39-
const _TasksTile(),
41+
const _SpacesTile(),
42+
const _OpportunitiesTile(),
4043
],
4144
),
4245
);
4346
}
4447
}
4548

46-
class _BrandTile extends StatelessWidget {
47-
final Brand brand;
48-
final VoidCallback? onTap;
49-
50-
const _BrandTile(
51-
this.brand, {
52-
super.key,
53-
this.onTap,
54-
});
55-
56-
@override
57-
Widget build(BuildContext context) {
58-
final theme = Theme.of(context);
59-
final isCurrent = theme.brandAssets.brand == brand;
60-
61-
return _BrandsNavigationTile(
62-
onTap: onTap,
63-
isSelected: isCurrent,
64-
leading: brand.logoIcon(context).buildIcon(allowColorFilter: false),
65-
content: Text(brand.localizedName(context.l10n)),
66-
);
67-
}
68-
}
49+
final class _BackgroundColor implements WidgetStateProperty<Color?> {
50+
final VoicesColorScheme colors;
6951

70-
class _SearchTile extends StatelessWidget {
71-
const _SearchTile();
52+
_BackgroundColor(this.colors);
7253

7354
@override
74-
Widget build(BuildContext context) {
75-
return _BrandsNavigationTile(
76-
leading: VoicesAssets.icons.search.buildIcon(),
77-
content: Text(context.l10n.overallSpacesSearchBrands),
78-
);
79-
}
80-
}
81-
82-
class _TasksTile extends StatelessWidget {
83-
const _TasksTile();
55+
Color? resolve(Set<WidgetState> states) {
56+
if (states.contains(WidgetState.selected)) {
57+
return colors.onSurfacePrimaryContainer.withValues(alpha: 0.12);
58+
}
8459

85-
@override
86-
Widget build(BuildContext context) {
87-
return _BrandsNavigationTile(
88-
leading: VoicesAssets.icons.collection.buildIcon(),
89-
content: Text(context.l10n.overallSpacesTasks),
90-
);
60+
return Colors.transparent;
9161
}
9262
}
9363

@@ -158,18 +128,32 @@ class _BrandsNavigationTile extends StatelessWidget {
158128
}
159129
}
160130

161-
final class _BackgroundColor implements WidgetStateProperty<Color?> {
162-
final VoicesColorScheme colors;
131+
class _BrandTile extends StatelessWidget {
132+
final Brand brand;
133+
final VoidCallback? onTap;
163134

164-
_BackgroundColor(this.colors);
135+
const _BrandTile(
136+
this.brand, {
137+
super.key,
138+
this.onTap,
139+
});
165140

166141
@override
167-
Color? resolve(Set<WidgetState> states) {
168-
if (states.contains(WidgetState.selected)) {
169-
return colors.onSurfacePrimaryContainer.withValues(alpha: 0.12);
170-
}
171-
172-
return Colors.transparent;
142+
Widget build(BuildContext context) {
143+
return Padding(
144+
padding: const EdgeInsets.symmetric(
145+
horizontal: 12,
146+
vertical: 8,
147+
),
148+
child: AffixDecorator(
149+
prefix: brand.logoIcon(context).buildIcon(allowColorFilter: false),
150+
child: Text(
151+
brand.localizedName(context.l10n),
152+
style: context.textTheme.titleMedium
153+
?.copyWith(color: context.colorScheme.primary),
154+
),
155+
),
156+
);
173157
}
174158
}
175159

@@ -187,3 +171,29 @@ final class _ForegroundColor implements WidgetStateProperty<Color?> {
187171
return colors.textOnPrimaryLevel0;
188172
}
189173
}
174+
175+
class _OpportunitiesTile extends StatelessWidget {
176+
const _OpportunitiesTile();
177+
178+
@override
179+
Widget build(BuildContext context) {
180+
return _BrandsNavigationTile(
181+
leading: VoicesAssets.icons.collection.buildIcon(),
182+
content: Text(context.l10n.opportunities),
183+
);
184+
}
185+
}
186+
187+
class _SpacesTile extends StatelessWidget {
188+
const _SpacesTile();
189+
190+
@override
191+
Widget build(BuildContext context) {
192+
return _BrandsNavigationTile(
193+
isSelected: true,
194+
leading: VoicesAssets.icons.viewGrid.buildIcon(),
195+
content: Text(context.l10n.spaces),
196+
onTap: () {},
197+
);
198+
}
199+
}

catalyst_voices/apps/voices/lib/pages/overall_spaces/overall_spaces_page.dart

-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import 'package:catalyst_voices/pages/overall_spaces/back_fab.dart';
22
import 'package:catalyst_voices/pages/overall_spaces/brands_navigation.dart';
33
import 'package:catalyst_voices/pages/overall_spaces/spaces_overview_list_view.dart';
4-
import 'package:catalyst_voices/pages/overall_spaces/update_ready.dart';
54
import 'package:flutter/material.dart';
65

76
class OverallSpacesPage extends StatelessWidget {
@@ -38,8 +37,6 @@ class _Navigation extends StatelessWidget {
3837
children: [
3938
BrandsNavigation(),
4039
Spacer(),
41-
UpdateReady(),
42-
SizedBox(height: 20),
4340
Align(
4441
alignment: Alignment.centerLeft,
4542
child: BackFab(),

0 commit comments

Comments
 (0)