Redesign the UI after the fitness reference and replace the logo
Light sage-to-cream ambient backdrop, frosted glass controls and painted SceneArt landscapes in place of photography. Home becomes a dashboard with a two-tone greeting, a frosted summary ring, category portraits, an up-next rail of image-led cards and a floating glass tab bar. The routine library gets an image header and painted cards; the player gets a scene stage, steps on an arc, a dotted clock and a night pill with a lime spark. Goals become painted cards in their own colour. New logo: a lime sun resting on a ground line under two arcs. The splash raises the sun and lights the arcs; launcher icons and native splash are regenerated to match. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KhQh614DMeYoQEH9SoMRUw
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import '../../about/external/data/Commitment.dart';
|
||||
import '../../about/external/data/ExcuseCluster.dart';
|
||||
import '../../about/external/data/RoutineChain.dart';
|
||||
import '../../about/external/data/pages/request/CommitmentsRequest.dart';
|
||||
import '../../about/external/data/pages/request/HistoryRequest.dart';
|
||||
import '../../about/external/data/pages/request/PageAndSort.dart';
|
||||
@@ -13,6 +14,7 @@ import '../../about/internal/application/Standing.dart';
|
||||
import '../../about/internal/application/UserDetails.dart';
|
||||
import '../../utils/DebtEngine.dart';
|
||||
import '../../utils/GuardrailEngine.dart';
|
||||
import '../../utils/ObjectConvertors.dart';
|
||||
import '../../utils/StandingEngine.dart';
|
||||
import '../../utils/ToneEngine.dart';
|
||||
import '../parent/ParentViewModel.dart';
|
||||
@@ -52,11 +54,30 @@ class ViewHome extends ParentViewModel {
|
||||
connection.onPlanLoaded(page.content);
|
||||
|
||||
loadOverdue();
|
||||
|
||||
loadRoutines();
|
||||
} catch (e) {
|
||||
handleError(e, () => loadPlan(), () => dismissError(), "Retry");
|
||||
}
|
||||
}
|
||||
|
||||
/// The routines feed the home rail. Quiet on failure — the plan is the
|
||||
/// screen; the rail is a shortcut.
|
||||
void loadRoutines() async {
|
||||
try {
|
||||
final response = await getDataManager().getMyRoutines(HistoryRequest(
|
||||
query: PageAndSort(
|
||||
sort: Sort('asc', 'startMinute'),
|
||||
page: Pageable(0, 0, 50, 0),
|
||||
),
|
||||
));
|
||||
|
||||
connection.onRoutinesLoaded(getRoutineChainList(response.data));
|
||||
} catch (e) {
|
||||
connection.onRoutinesLoaded(<RoutineChain>[]);
|
||||
}
|
||||
}
|
||||
|
||||
void loadOverdue() async {
|
||||
try {
|
||||
final response = await getDataManager().getOverdueQueue(HistoryRequest(
|
||||
|
||||
Reference in New Issue
Block a user