Switch to Inter, round the corners softly and make the nav switch tabs
Inter replaces General Sans (Inter Display for titles and big numbers). Corners come back from before the squaring commit, scaled to a soft set (16 cards, 14 buttons, 12 rows, 8 chips) and applied to the screens built since. The nav is now a cluster of round frosted buttons that switches Today, Routines, Goals, Groups and Progress in place inside Home: no pushed pages, no back arrows, and Android back returns to Today. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KhQh614DMeYoQEH9SoMRUw
This commit is contained in:
@@ -462,7 +462,7 @@ class RoutineRunnerState extends State<RoutineRunner>
|
||||
Widget _totalPill() {
|
||||
return GlassSurface(
|
||||
onDark: true,
|
||||
radius: BorderRadius.zero,
|
||||
radius: BorderRadius.circular(14),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 11),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
@@ -501,7 +501,7 @@ class RoutineRunnerState extends State<RoutineRunner>
|
||||
track: colorWhite.withValues(alpha: 0.22),
|
||||
child: GlassSurface(
|
||||
onDark: true,
|
||||
radius: BorderRadius.zero,
|
||||
radius: BorderRadius.circular(14),
|
||||
child: SizedBox(
|
||||
width: 150,
|
||||
height: 150,
|
||||
@@ -557,7 +557,7 @@ class RoutineRunnerState extends State<RoutineRunner>
|
||||
),
|
||||
GlassSurface(
|
||||
onDark: true,
|
||||
radius: BorderRadius.zero,
|
||||
radius: BorderRadius.circular(200),
|
||||
child: SizedBox(
|
||||
width: 120 + 50 * t,
|
||||
height: 120 + 50 * t,
|
||||
@@ -593,7 +593,7 @@ class RoutineRunnerState extends State<RoutineRunner>
|
||||
children: [
|
||||
GlassSurface(
|
||||
onDark: true,
|
||||
radius: BorderRadius.zero,
|
||||
radius: BorderRadius.circular(14),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 7),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
@@ -615,7 +615,7 @@ class RoutineRunnerState extends State<RoutineRunner>
|
||||
const SizedBox(width: 8),
|
||||
GlassSurface(
|
||||
onDark: true,
|
||||
radius: BorderRadius.zero,
|
||||
radius: BorderRadius.circular(14),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 7),
|
||||
child: text("Left app ${_run.backgroundedCount}×", 11,
|
||||
TextType.Medium,
|
||||
@@ -732,6 +732,7 @@ class RoutineRunnerState extends State<RoutineRunner>
|
||||
height: size,
|
||||
padding: const EdgeInsets.all(2.5),
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
color: isCurrent ? colorNight : colorWhite,
|
||||
boxShadow: const [
|
||||
BoxShadow(
|
||||
@@ -741,7 +742,7 @@ class RoutineRunnerState extends State<RoutineRunner>
|
||||
),
|
||||
],
|
||||
),
|
||||
child: ClipRect(
|
||||
child: ClipOval(
|
||||
child: Stack(
|
||||
fit: StackFit.expand,
|
||||
children: [
|
||||
@@ -798,7 +799,7 @@ class RoutineRunnerState extends State<RoutineRunner>
|
||||
margin: const EdgeInsets.only(right: 4),
|
||||
decoration: BoxDecoration(
|
||||
color: filled || active ? tone : tone.withValues(alpha: 0.15),
|
||||
borderRadius: BorderRadius.zero,
|
||||
borderRadius: BorderRadius.circular(14),
|
||||
),
|
||||
);
|
||||
}),
|
||||
@@ -898,7 +899,7 @@ class RoutineRunnerState extends State<RoutineRunner>
|
||||
alignment: Alignment.center,
|
||||
decoration: BoxDecoration(
|
||||
color: colorNight,
|
||||
borderRadius: BorderRadius.zero,
|
||||
borderRadius: BorderRadius.circular(14),
|
||||
boxShadow: const [
|
||||
BoxShadow(
|
||||
color: Color(0x331A1F1C),
|
||||
@@ -960,8 +961,8 @@ class RoutineRunnerState extends State<RoutineRunner>
|
||||
decoration: const BoxDecoration(
|
||||
color: colorSheetBackground,
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.zero,
|
||||
topRight: Radius.zero,
|
||||
topLeft: Radius.circular(16),
|
||||
topRight: Radius.circular(16),
|
||||
),
|
||||
),
|
||||
child: ListView(
|
||||
@@ -989,7 +990,7 @@ class RoutineRunnerState extends State<RoutineRunner>
|
||||
padding: const EdgeInsets.fromLTRB(12, 12, 14, 12),
|
||||
decoration: BoxDecoration(
|
||||
color: current ? kindBackground(_run.chain.kind) : colorWhite,
|
||||
borderRadius: BorderRadius.zero,
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
border: Border.all(
|
||||
color: current ? tone.withValues(alpha: 0.35) : colorBorder,
|
||||
),
|
||||
@@ -1002,6 +1003,7 @@ class RoutineRunnerState extends State<RoutineRunner>
|
||||
alignment: Alignment.center,
|
||||
decoration: BoxDecoration(
|
||||
color: step.completed ? tone : colorSecondary,
|
||||
shape: BoxShape.circle,
|
||||
),
|
||||
child: step.completed
|
||||
? Icon(Icons.check_rounded,
|
||||
@@ -1075,7 +1077,7 @@ class RoutineRunnerState extends State<RoutineRunner>
|
||||
children: [
|
||||
GlassSurface(
|
||||
onDark: true,
|
||||
radius: BorderRadius.zero,
|
||||
radius: BorderRadius.circular(14),
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 12, vertical: 7),
|
||||
child: text(
|
||||
@@ -1099,7 +1101,7 @@ class RoutineRunnerState extends State<RoutineRunner>
|
||||
track: colorWhite.withValues(alpha: 0.3),
|
||||
child: GlassSurface(
|
||||
onDark: true,
|
||||
radius: BorderRadius.zero,
|
||||
radius: BorderRadius.circular(14),
|
||||
child: SizedBox(
|
||||
width: 158,
|
||||
height: 158,
|
||||
@@ -1131,7 +1133,7 @@ class RoutineRunnerState extends State<RoutineRunner>
|
||||
),
|
||||
const SizedBox(height: 22),
|
||||
GlassSurface(
|
||||
radius: BorderRadius.zero,
|
||||
radius: BorderRadius.circular(16),
|
||||
tint: colorGlassStrong,
|
||||
padding: const EdgeInsets.fromLTRB(18, 16, 18, 16),
|
||||
child: Row(
|
||||
@@ -1200,7 +1202,7 @@ class RoutineRunnerState extends State<RoutineRunner>
|
||||
final int streak = ProgressEngine.streak(withThis, now);
|
||||
|
||||
return GlassSurface(
|
||||
radius: BorderRadius.zero,
|
||||
radius: BorderRadius.circular(16),
|
||||
tint: colorGlassStrong,
|
||||
padding: const EdgeInsets.fromLTRB(18, 14, 18, 14),
|
||||
child: Row(
|
||||
|
||||
Reference in New Issue
Block a user