mirror of
https://gitlab.com/mysocialportal/relatica
synced 2024-10-18 11:13:31 +00:00
Add tooltips to visibilty and network icons on entry headers
This commit is contained in:
parent
ad1b557dad
commit
02ebaef47a
2 changed files with 12 additions and 61 deletions
|
@ -125,6 +125,8 @@ class StatusHeaderControl extends StatelessWidget {
|
|||
style: Theme.of(context).textTheme.bodySmall,
|
||||
),
|
||||
IconButton(
|
||||
tooltip:
|
||||
'Visibility: ${entry.visibility.type.toLabel()} (click for details)',
|
||||
onPressed: () async {
|
||||
await showVisibilityDialog(context, manager, entry.visibility);
|
||||
},
|
||||
|
|
|
@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
|||
|
||||
import '../../globals.dart';
|
||||
import '../../models/timeline_network_info.dart';
|
||||
import '../../utils/known_network_extensions.dart';
|
||||
|
||||
class TimelineNetworkInfoControl extends StatelessWidget {
|
||||
final TimelineNetworkInfo info;
|
||||
|
@ -10,69 +11,17 @@ class TimelineNetworkInfoControl extends StatelessWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final networkText =
|
||||
info.network == KnownNetworks.unknown ? info.name : info.labelName;
|
||||
return GestureDetector(
|
||||
onTap: () async => showConfirmDialog(context,
|
||||
info.network == KnownNetworks.unknown ? info.name : info.labelName),
|
||||
child: Text(
|
||||
info.forkAwesomeUnicode,
|
||||
style: const TextStyle(fontFamily: 'ForkAwesome'),
|
||||
onTap: () async => showConfirmDialog(context, networkText),
|
||||
child: Tooltip(
|
||||
message: networkText,
|
||||
child: Text(
|
||||
info.forkAwesomeUnicode,
|
||||
style: const TextStyle(fontFamily: 'ForkAwesome'),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
extension KnownNetworkExtensions on TimelineNetworkInfo {
|
||||
String get labelName => switch (network) {
|
||||
KnownNetworks.activityPub => 'ActivityPub',
|
||||
KnownNetworks.bluesky => 'Bluesky',
|
||||
KnownNetworks.calckey => 'Calckey',
|
||||
KnownNetworks.diaspora => 'Diaspora',
|
||||
KnownNetworks.drupal => 'Drupal',
|
||||
KnownNetworks.firefish => 'Firefish',
|
||||
KnownNetworks.friendica => 'Friendica',
|
||||
KnownNetworks.funkwhale => 'Funkwhale',
|
||||
KnownNetworks.gnu_social => 'GNU Social',
|
||||
KnownNetworks.hubzilla => 'Hubzilla',
|
||||
KnownNetworks.kbin => 'Kbin',
|
||||
KnownNetworks.lemmy => 'Lemmy',
|
||||
KnownNetworks.mastodon => 'Mastodon',
|
||||
KnownNetworks.nextcloud => 'Nextcloud',
|
||||
KnownNetworks.peertube => 'PeerTube',
|
||||
KnownNetworks.pixelfed => 'Pixelfed',
|
||||
KnownNetworks.pleroma => 'Pleroma',
|
||||
KnownNetworks.plume => 'Plume',
|
||||
KnownNetworks.red => 'Red',
|
||||
KnownNetworks.redmatrix => 'RedMatrix',
|
||||
KnownNetworks.socialhome => 'Socialhome',
|
||||
KnownNetworks.threads => 'Threads',
|
||||
KnownNetworks.wordpress => 'WordPress',
|
||||
KnownNetworks.unknown => 'Unknown',
|
||||
};
|
||||
|
||||
String get forkAwesomeUnicode => switch (network) {
|
||||
KnownNetworks.activityPub => '\uf2f2',
|
||||
KnownNetworks.bluesky => '\uf111',
|
||||
KnownNetworks.calckey => '\uf1ec',
|
||||
KnownNetworks.diaspora => '\uf2e5',
|
||||
KnownNetworks.drupal => '\uf1a9',
|
||||
KnownNetworks.firefish => '\uf06d',
|
||||
KnownNetworks.friendica => '\uf2e6',
|
||||
KnownNetworks.funkwhale => '\uf339',
|
||||
KnownNetworks.gnu_social => '\uf2e7',
|
||||
KnownNetworks.hubzilla => '\uf2eb',
|
||||
KnownNetworks.kbin => '\uf058',
|
||||
KnownNetworks.lemmy => '\uf0c0',
|
||||
KnownNetworks.mastodon => '\uf2e1',
|
||||
KnownNetworks.nextcloud => '\uf307',
|
||||
KnownNetworks.peertube => '\uf2e4',
|
||||
KnownNetworks.pixelfed => '\uf314',
|
||||
KnownNetworks.pleroma => '\uf324',
|
||||
KnownNetworks.plume => '\uf356',
|
||||
KnownNetworks.red => '\uf2eb',
|
||||
KnownNetworks.redmatrix => '\uf2eb',
|
||||
KnownNetworks.socialhome => '\uf2ec',
|
||||
KnownNetworks.threads => '\uf16d',
|
||||
KnownNetworks.wordpress => '\uf19a',
|
||||
KnownNetworks.unknown => '\uf059',
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue