Clean up util code and github action
This commit is contained in:
parent
a5da75df6a
commit
f339a9035c
|
@ -70,13 +70,13 @@ jobs:
|
|||
- name: Setup Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
|
||||
- name: Install cider
|
||||
run: dart pub global activate cider
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set version
|
||||
run: cider version ${{ github.event.inputs.version }}
|
||||
run: |
|
||||
dart pub global activate cider
|
||||
cider version ${{ github.event.inputs.version }}
|
||||
|
||||
- name: Build Flutter app
|
||||
run: flutter build -v ${{ matrix.build_target }}
|
||||
|
|
|
@ -212,8 +212,16 @@ class EntryItem extends StatelessWidget {
|
|||
));
|
||||
}),
|
||||
onReply: onReply,
|
||||
onEdit: isLoggedInUser(context, item.user.username, onEdit),
|
||||
onDelete: isLoggedInUser(context, item.user.username, onDelete),
|
||||
onEdit: whenLoggedIn(
|
||||
context,
|
||||
onEdit,
|
||||
matchesUsername: item.user.username,
|
||||
),
|
||||
onDelete: whenLoggedIn(
|
||||
context,
|
||||
onDelete,
|
||||
matchesUsername: item.user.username,
|
||||
),
|
||||
initEdit: () {
|
||||
return item.body;
|
||||
},
|
||||
|
|
|
@ -55,21 +55,20 @@ class PostItem extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||
children: <Widget>[
|
||||
if (item.image?.storageUrl != null)
|
||||
isPreview
|
||||
? (InkWell(
|
||||
onTap: () => _onImageClick(context),
|
||||
child: Image.network(
|
||||
item.image!.storageUrl,
|
||||
height: 160,
|
||||
width: double.infinity,
|
||||
fit: BoxFit.cover,
|
||||
),
|
||||
))
|
||||
onTap: () => _onImageClick(context),
|
||||
child: Image.network(
|
||||
item.image!.storageUrl,
|
||||
height: 160,
|
||||
width: double.infinity,
|
||||
fit: BoxFit.cover,
|
||||
),
|
||||
))
|
||||
: Container(
|
||||
constraints: BoxConstraints(
|
||||
maxHeight: MediaQuery.of(context).size.height / 2,
|
||||
|
@ -163,8 +162,16 @@ class PostItem extends StatelessWidget {
|
|||
));
|
||||
}),
|
||||
onReply: onReply,
|
||||
onEdit: isLoggedInUser(context, item.user.username, onEdit),
|
||||
onDelete: isLoggedInUser(context, item.user.username, onDelete),
|
||||
onEdit: whenLoggedIn(
|
||||
context,
|
||||
onEdit,
|
||||
matchesUsername: item.user.username,
|
||||
),
|
||||
onDelete: whenLoggedIn(
|
||||
context,
|
||||
onDelete,
|
||||
matchesUsername: item.user.username,
|
||||
),
|
||||
initEdit: () {
|
||||
return item.body;
|
||||
},
|
||||
|
|
|
@ -5,7 +5,6 @@ import 'package:interstellar/src/api/posts.dart' as api_posts;
|
|||
import 'package:interstellar/src/screens/posts/post_item.dart';
|
||||
import 'package:interstellar/src/screens/posts/post_page.dart';
|
||||
import 'package:interstellar/src/screens/settings/settings_controller.dart';
|
||||
import 'package:interstellar/src/utils/utils.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class PostsListView extends StatefulWidget {
|
||||
|
|
|
@ -2,7 +2,6 @@ import 'dart:convert';
|
|||
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:interstellar/src/api/users.dart';
|
||||
import 'package:interstellar/src/screens/settings/settings_controller.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
@ -64,9 +63,6 @@ void httpErrorHandler(http.Response response, {String? message}) {
|
|||
}
|
||||
}
|
||||
|
||||
T? whenLoggedIn<T>(BuildContext context, T value, {T? otherwise}) =>
|
||||
context.read<SettingsController>().isLoggedIn ? value : otherwise;
|
||||
|
||||
Map<String, dynamic> removeNulls(Map<String, dynamic> map) {
|
||||
map.forEach((key, value) {
|
||||
if (value == null) {
|
||||
|
@ -76,5 +72,19 @@ Map<String, dynamic> removeNulls(Map<String, dynamic> map) {
|
|||
return map;
|
||||
}
|
||||
|
||||
T? isLoggedInUser<T>(BuildContext context, String username, T? value, {T? otherwise}) =>
|
||||
context.read<SettingsController>().selectedAccount.split("@").first == username ? value : otherwise;
|
||||
T? whenLoggedIn<T>(
|
||||
BuildContext context,
|
||||
T? value, {
|
||||
String? matchesUsername,
|
||||
T? otherwise,
|
||||
}) =>
|
||||
context.read<SettingsController>().isLoggedIn &&
|
||||
(matchesUsername == null ||
|
||||
context
|
||||
.read<SettingsController>()
|
||||
.selectedAccount
|
||||
.split("@")
|
||||
.first ==
|
||||
matchesUsername)
|
||||
? value
|
||||
: otherwise;
|
||||
|
|
Loading…
Reference in New Issue