import 'package:flutter/material.dart';

import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:matrix/matrix.dart';
import 'package:url_launcher/link.dart';

class WidgetsBottomSheet extends StatelessWidget {
  final Room room;

  const WidgetsBottomSheet({Key? key, required this.room}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return ListView.builder(
      shrinkWrap: true,
      itemBuilder: (context, index) {
        if (index == room.widgets.length) {
          return ListTile(
            title: Text(L10n.of(context)!.integrationsNotImplemented),
            leading: const Icon(Icons.info),
          );
        }
        final widget = room.widgets[index];
        return Link(
          builder: (context, callback) {
            return ListTile(
              title: Text(widget.name ?? widget.url),
              subtitle: Text(widget.type),
              onTap: callback,
            );
          },
          target: LinkTarget.blank,
          uri: Uri.parse(widget.url),
        );
      },
      itemCount: room.widgets.length + 1,
    );
  }
}
