import 'package:expansion_tile_card/expansion_tile_card.dart';
import 'package:flutter/material.dart';

import '../../../../../packages/ambito_theme/ambito_theme.dart';
import '../../measure_detail_page.dart';

class UnorderedListCard extends StatelessWidget {
  const UnorderedListCard({
    super.key,
    required this.title,
    required this.text,
  });

  final String title;
  final List<String>? text;

  @override
  Widget build(BuildContext context) {
    if (text == null) {
      return const SizedBox();
    }

    final AmbitoTheme theme = getTheme(context);

    globalKeys.putIfAbsent(title, () => GlobalKey<ExpansionTileCardState>());

    return ExpansionTileCard(
      key: globalKeys[title],
      initiallyExpanded: true,
      contentPadding: const EdgeInsets.only(left: 16),
      elevation: 0,
      expandedTextColor: theme.currentColorScheme.outline,
      baseColor: theme.currentColorScheme.outline..withValues(alpha: .1),
      expandedColor: theme.currentColorScheme.outline..withValues(alpha: .1),
      title: Text(
        title,
        style: theme.currentThemeData.textTheme.labelMedium
            ?.copyWith(fontWeight: FontWeight.bold),
      ),
      children: [
        Align(
          alignment: Alignment.topLeft,
          child: Padding(
            padding: const EdgeInsets.only(left: 20, right: 20, bottom: 20),
            child: Column(
              children: text!
                  .map(
                    (item) => Row(
                      children: [
                        const Icon(Icons.circle, size: 4),
                        theme.horizontalSpacerSmall,
                        Expanded(
                          child: Text(
                            item,
                            softWrap: true,
                            maxLines: 2,
                            style: theme.bodyMedium,
                          ),
                        ),
                      ],
                    ),
                  )
                  .toList(),
            ),
          ),
        ),
      ],
    );
  }
}
