fix: event item tap screen
This commit is contained in:
parent
ce11da379a
commit
d476018092
|
@ -126,16 +126,16 @@ TextSpan createLinkSpan(BuildContext context, String text, Function handle) {
|
||||||
fontWeight: FontWeight.w600,
|
fontWeight: FontWeight.w600,
|
||||||
// decoration: TextDecoration.underline,
|
// decoration: TextDecoration.underline,
|
||||||
),
|
),
|
||||||
recognizer: TapGestureRecognizer()
|
// recognizer: TapGestureRecognizer()
|
||||||
..onTap = () {
|
// ..onTap = () {
|
||||||
Navigator.of(context).push(
|
// Navigator.of(context).push(
|
||||||
CupertinoPageRoute(
|
// CupertinoPageRoute(
|
||||||
builder: (context) {
|
// builder: (context) {
|
||||||
return handle();
|
// return handle();
|
||||||
},
|
// },
|
||||||
),
|
// ),
|
||||||
);
|
// );
|
||||||
},
|
// },
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@ class Avatar extends StatelessWidget {
|
||||||
backgroundImage: NetworkImage(url),
|
backgroundImage: NetworkImage(url),
|
||||||
radius: size,
|
radius: size,
|
||||||
),
|
),
|
||||||
|
material: false,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,9 @@ import 'package:flutter/cupertino.dart';
|
||||||
import '../screens/issue.dart';
|
import '../screens/issue.dart';
|
||||||
import '../screens/pull_request.dart';
|
import '../screens/pull_request.dart';
|
||||||
import '../screens/user.dart';
|
import '../screens/user.dart';
|
||||||
|
import '../screens/repo.dart';
|
||||||
import 'avatar.dart';
|
import 'avatar.dart';
|
||||||
|
import 'link.dart';
|
||||||
import '../utils/utils.dart';
|
import '../utils/utils.dart';
|
||||||
|
|
||||||
class EventPayload {
|
class EventPayload {
|
||||||
|
@ -56,6 +58,7 @@ class EventItem extends StatelessWidget {
|
||||||
@required List<TextSpan> spans,
|
@required List<TextSpan> spans,
|
||||||
String detail,
|
String detail,
|
||||||
IconData iconData = Octicons.octoface,
|
IconData iconData = Octicons.octoface,
|
||||||
|
WidgetBuilder screenBuilder,
|
||||||
}) {
|
}) {
|
||||||
var _spans = [
|
var _spans = [
|
||||||
createLinkSpan(
|
createLinkSpan(
|
||||||
|
@ -63,7 +66,9 @@ class EventItem extends StatelessWidget {
|
||||||
];
|
];
|
||||||
_spans.addAll(spans);
|
_spans.addAll(spans);
|
||||||
|
|
||||||
return Container(
|
return Link(
|
||||||
|
screenBuilder: screenBuilder,
|
||||||
|
child: Container(
|
||||||
padding: EdgeInsets.all(8),
|
padding: EdgeInsets.all(8),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
@ -103,6 +108,7 @@ class EventItem extends StatelessWidget {
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -175,6 +181,10 @@ class EventItem extends StatelessWidget {
|
||||||
],
|
],
|
||||||
detail: event.payload['comment']['body'],
|
detail: event.payload['comment']['body'],
|
||||||
iconData: Octicons.comment_discussion,
|
iconData: Octicons.comment_discussion,
|
||||||
|
screenBuilder: (_) => IssueScreen.fromFullName(
|
||||||
|
number: event.payload['issue']['number'],
|
||||||
|
fullName: event.repoFullName,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
case 'IssuesEvent':
|
case 'IssuesEvent':
|
||||||
return _buildItem(
|
return _buildItem(
|
||||||
|
@ -187,6 +197,10 @@ class EventItem extends StatelessWidget {
|
||||||
],
|
],
|
||||||
iconData: Octicons.issue_opened,
|
iconData: Octicons.issue_opened,
|
||||||
detail: event.payload['issue']['title'],
|
detail: event.payload['issue']['title'],
|
||||||
|
screenBuilder: (_) => IssueScreen.fromFullName(
|
||||||
|
number: event.payload['issue']['number'],
|
||||||
|
fullName: event.repoFullName,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
case 'LabelEvent':
|
case 'LabelEvent':
|
||||||
case 'MarketplacePurchaseEvent':
|
case 'MarketplacePurchaseEvent':
|
||||||
|
@ -213,6 +227,10 @@ class EventItem extends StatelessWidget {
|
||||||
],
|
],
|
||||||
iconData: Octicons.git_pull_request,
|
iconData: Octicons.git_pull_request,
|
||||||
detail: event.payload['pull_request']['title'],
|
detail: event.payload['pull_request']['title'],
|
||||||
|
screenBuilder: (_) => PullRequestScreen.fromFullName(
|
||||||
|
number: event.payload['pull_request']['number'],
|
||||||
|
fullName: event.repoFullName,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
case 'PullRequestReviewEvent':
|
case 'PullRequestReviewEvent':
|
||||||
// TODO:
|
// TODO:
|
||||||
|
@ -227,6 +245,10 @@ class EventItem extends StatelessWidget {
|
||||||
_buildRepo(context),
|
_buildRepo(context),
|
||||||
],
|
],
|
||||||
detail: event.payload['comment']['body'],
|
detail: event.payload['comment']['body'],
|
||||||
|
screenBuilder: (_) => PullRequestScreen.fromFullName(
|
||||||
|
number: event.payload['pull_request']['number'],
|
||||||
|
fullName: event.repoFullName,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
case 'PushEvent':
|
case 'PushEvent':
|
||||||
return _buildItem(
|
return _buildItem(
|
||||||
|
|
Loading…
Reference in New Issue