mirror of
https://gitlab.com/mysocialportal/relatica
synced 2024-10-19 00:03:32 +00:00
79 lines
2.9 KiB
Dart
79 lines
2.9 KiB
Dart
|
import 'package:flutter/material.dart';
|
||
|
|
||
|
import '../../globals.dart';
|
||
|
import '../../models/timeline_network_info.dart';
|
||
|
|
||
|
class TimelineNetworkInfoControl extends StatelessWidget {
|
||
|
final TimelineNetworkInfo info;
|
||
|
|
||
|
const TimelineNetworkInfoControl({super.key, required this.info});
|
||
|
|
||
|
@override
|
||
|
Widget build(BuildContext context) {
|
||
|
return GestureDetector(
|
||
|
onTap: () async => showConfirmDialog(context,
|
||
|
info.network == KnownNetworks.unknown ? info.name : info.labelName),
|
||
|
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',
|
||
|
};
|
||
|
}
|