mirror of
https://github.com/git-touch/git-touch
synced 2025-03-07 12:47:42 +01:00
fix: path url encode
This commit is contained in:
parent
2400513007
commit
7b688efcb2
@ -283,8 +283,13 @@ void main() async {
|
||||
));
|
||||
themeModel.router.define('/:owner/:name/blob/:ref', handler: Handler(
|
||||
handlerFunc: (context, params) {
|
||||
final pathParam = params['path'];
|
||||
return ObjectScreen(
|
||||
params['owner'][0], params['name'][0], params['ref'][0]);
|
||||
params['owner'].first,
|
||||
params['name'].first,
|
||||
params['ref'].first,
|
||||
paths: pathParam?.first?.urldecode?.split('/') ?? [],
|
||||
);
|
||||
},
|
||||
));
|
||||
themeModel.router.define('/:owner/:name/issues/new', handler: Handler(
|
||||
|
@ -116,17 +116,18 @@ class ObjectScreen extends StatelessWidget {
|
||||
switch (data.resolveType) {
|
||||
case 'Tree':
|
||||
final tree = data as GithubObjectTree;
|
||||
|
||||
return TableView(
|
||||
hasIcon: true,
|
||||
items: tree.entries.map((item) {
|
||||
// if (item.type == 'commit') return null;
|
||||
final p = [...paths, item.name].join('/').urlencode;
|
||||
final url = '/$owner/$name/blob/$branch?path=$p';
|
||||
|
||||
return TableViewItem(
|
||||
leftWidget: _buildIcon(item),
|
||||
text: Text(item.name),
|
||||
url: (() {
|
||||
if (item.type == 'commit') return null;
|
||||
final p = [...paths, item.name].join('/');
|
||||
return '/$owner/$name/blob/$branch?path=$p';
|
||||
})(),
|
||||
url: url,
|
||||
);
|
||||
}),
|
||||
);
|
||||
|
9
lib/utils/extensions.dart
Normal file
9
lib/utils/extensions.dart
Normal file
@ -0,0 +1,9 @@
|
||||
extension MyString<T extends String> on String {
|
||||
String get urlencode {
|
||||
return Uri.encodeComponent(this);
|
||||
}
|
||||
|
||||
String get urldecode {
|
||||
return Uri.decodeComponent(this);
|
||||
}
|
||||
}
|
@ -9,6 +9,8 @@ import 'package:primer/primer.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:tuple/tuple.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
export 'extensions.dart';
|
||||
|
||||
export 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
||||
|
||||
class StorageKeys {
|
||||
|
Loading…
x
Reference in New Issue
Block a user