Compare commits
2 Commits
3.2.0+131
...
80cc8cbb40
| Author | SHA1 | Date | |
|---|---|---|---|
|
80cc8cbb40
|
|||
|
646e95a9fc
|
@@ -24,6 +24,8 @@ android {
|
|||||||
ndkVersion = "29.0.13113456"
|
ndkVersion = "29.0.13113456"
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
|
isCoreLibraryDesugaringEnabled = true
|
||||||
|
|
||||||
sourceCompatibility = JavaVersion.VERSION_17
|
sourceCompatibility = JavaVersion.VERSION_17
|
||||||
targetCompatibility = JavaVersion.VERSION_17
|
targetCompatibility = JavaVersion.VERSION_17
|
||||||
}
|
}
|
||||||
@@ -63,6 +65,8 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.4")
|
||||||
|
|
||||||
implementation("com.google.android.material:material:1.12.0")
|
implementation("com.google.android.material:material:1.12.0")
|
||||||
implementation("com.github.bumptech.glide:glide:4.16.0")
|
implementation("com.github.bumptech.glide:glide:4.16.0")
|
||||||
implementation("com.squareup.okhttp3:okhttp:5.1.0")
|
implementation("com.squareup.okhttp3:okhttp:5.1.0")
|
||||||
|
|||||||
@@ -100,15 +100,14 @@ class CheckInWidget extends HookConsumerWidget {
|
|||||||
return Card(
|
return Card(
|
||||||
margin:
|
margin:
|
||||||
margin ?? EdgeInsets.only(left: 16, right: 16, top: 16, bottom: 8),
|
margin ?? EdgeInsets.only(left: 16, right: 16, top: 16, bottom: 8),
|
||||||
child: Column(
|
child: Row(
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
|
||||||
spacing: 8,
|
|
||||||
children: [
|
children: [
|
||||||
Column(
|
Expanded(
|
||||||
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Row(
|
Row(
|
||||||
spacing: 8,
|
spacing: 6,
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
@@ -127,11 +126,31 @@ class CheckInWidget extends HookConsumerWidget {
|
|||||||
Theme.of(context).colorScheme.onSecondaryContainer,
|
Theme.of(context).colorScheme.onSecondaryContainer,
|
||||||
),
|
),
|
||||||
Text(DateFormat('MM/dd').format(DateTime.now()))
|
Text(DateFormat('MM/dd').format(DateTime.now()))
|
||||||
.fontSize(12)
|
.fontSize(16)
|
||||||
.textColor(
|
.textColor(
|
||||||
Theme.of(context).colorScheme.onSecondaryContainer,
|
Theme.of(context).colorScheme.onSecondaryContainer,
|
||||||
)
|
),
|
||||||
.padding(top: 2),
|
Expanded(
|
||||||
|
child: AnimatedSwitcher(
|
||||||
|
duration: const Duration(milliseconds: 300),
|
||||||
|
child: todayResult.when(
|
||||||
|
data: (result) {
|
||||||
|
return Text(
|
||||||
|
result == null
|
||||||
|
? 'checkInNone'
|
||||||
|
: 'checkInResultLevel${result.level}',
|
||||||
|
textAlign: TextAlign.start,
|
||||||
|
).tr().fontSize(15).bold();
|
||||||
|
},
|
||||||
|
loading:
|
||||||
|
() =>
|
||||||
|
Text('checkInNone').tr().fontSize(15).bold(),
|
||||||
|
error:
|
||||||
|
(err, stack) =>
|
||||||
|
Text('error').tr().fontSize(15).bold(),
|
||||||
|
),
|
||||||
|
).alignment(Alignment.centerLeft),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
Row(
|
Row(
|
||||||
@@ -140,6 +159,7 @@ class CheckInWidget extends HookConsumerWidget {
|
|||||||
Text('notableDayNext')
|
Text('notableDayNext')
|
||||||
.tr(args: [nextNotableDay.value?.localName ?? 'idk'])
|
.tr(args: [nextNotableDay.value?.localName ?? 'idk'])
|
||||||
.fontSize(12),
|
.fontSize(12),
|
||||||
|
if (nextNotableDay.value != null)
|
||||||
SlideCountdown(
|
SlideCountdown(
|
||||||
decoration: const BoxDecoration(),
|
decoration: const BoxDecoration(),
|
||||||
style: const TextStyle(fontSize: 12),
|
style: const TextStyle(fontSize: 12),
|
||||||
@@ -151,24 +171,17 @@ class CheckInWidget extends HookConsumerWidget {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
],
|
const Gap(6),
|
||||||
).padding(horizontal: 16, top: 8),
|
AnimatedSwitcher(
|
||||||
const Divider(height: 1),
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
Expanded(
|
|
||||||
child: AnimatedSwitcher(
|
|
||||||
duration: const Duration(milliseconds: 300),
|
duration: const Duration(milliseconds: 300),
|
||||||
child: todayResult.when(
|
child: todayResult.when(
|
||||||
data: (result) {
|
data: (result) {
|
||||||
if (result == null) return _CheckInNoneWidget();
|
if (result == null) {
|
||||||
return Column(
|
return Text('checkInNoneHint').tr().fontSize(11);
|
||||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
}
|
||||||
children: [
|
return Wrap(
|
||||||
Text(
|
alignment: WrapAlignment.start,
|
||||||
'checkInResultLevel${result.level}',
|
runAlignment: WrapAlignment.start,
|
||||||
).tr().fontSize(15).bold(),
|
|
||||||
Wrap(
|
|
||||||
children:
|
children:
|
||||||
result.tips
|
result.tips
|
||||||
.map((e) {
|
.map((e) {
|
||||||
@@ -195,11 +208,9 @@ class CheckInWidget extends HookConsumerWidget {
|
|||||||
)
|
)
|
||||||
.toList()
|
.toList()
|
||||||
..removeLast(),
|
..removeLast(),
|
||||||
),
|
|
||||||
],
|
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
loading: () => _CheckInNoneWidget(),
|
loading: () => Text('checkInNoneHint').tr().fontSize(11),
|
||||||
error:
|
error:
|
||||||
(err, stack) => Column(
|
(err, stack) => Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
@@ -209,6 +220,8 @@ class CheckInWidget extends HookConsumerWidget {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
).alignment(Alignment.centerLeft),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
IconButton.outlined(
|
IconButton.outlined(
|
||||||
@@ -238,24 +251,7 @@ class CheckInWidget extends HookConsumerWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
).padding(horizontal: 16, bottom: 12, top: 4),
|
).padding(horizontal: 16, vertical: 12),
|
||||||
],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class _CheckInNoneWidget extends StatelessWidget {
|
|
||||||
const _CheckInNoneWidget();
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
|
||||||
children: [
|
|
||||||
Text('checkInNone').tr().fontSize(15).bold(),
|
|
||||||
Text('checkInNoneHint').tr().fontSize(11),
|
|
||||||
],
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user