content: import 'package:flutter/material.dart';
  
  import 'package:matrix/matrix.dart';
  
  IconData _getIconFromName(String displayname) {
    final name = displayname.toLowerCase();
    if ({'android'}.any((s) => name.contains(s))) {
      return Icons.phone_android_outlined;
    }
    if ({'ios', 'ipad', 'iphone', 'ipod'}.any((s) => name.contains(s))) {
      return Icons.phone_iphone_outlined;
    }
    if ({
      'web',
      'http://',
      'https://',
      'firefox',
      'chrome',
      '/_matrix',
      'safari',
      'opera',
    }.any((s) => name.contains(s))) {
      return Icons.web_outlined;
    }
    if ({'desktop', 'windows', 'macos', 'linux', 'ubuntu'}
        .any((s) => name.contains(s))) {
      return Icons.desktop_mac_outlined;
    }
    return Icons.device_unknown_outlined;
  }
  
  extension DeviceExtension on Device {
    String get displayname =>
        (displayName?.isNotEmpty ?? false) ? displayName! : 'Unknown device';
  
    IconData get icon => _getIconFromName(displayname);
  }
  
  extension DeviceKeysExtension on DeviceKeys {
    String get displayname => (deviceDisplayName?.isNotEmpty ?? false)
        ? deviceDisplayName!
        : 'Unknown device';
  
    IconData get icon => _getIconFromName(displayname);
  }
  