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