Skip to content
Snippets Groups Projects
timeline.dart 1.42 KiB
Newer Older
import 'package:flutter/material.dart';
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:scrobbles/cubit/activity/data_timeline_cubit.dart';
import 'package:scrobbles/cubit/settings/settings_global_cubit.dart';
import 'package:scrobbles/models/data/timeline.dart';
import 'package:scrobbles/ui/widgets/card_content.dart';
import 'package:scrobbles/ui/widgets/charts/timeline_counts.dart';
import 'package:scrobbles/ui/widgets/charts/timeline_eclecticism.dart';

class CardTimeline extends StatelessWidget {
  const CardTimeline({super.key});

  @override
  Widget build(BuildContext context) {
    GlobalSettingsCubit settings = BlocProvider.of<GlobalSettingsCubit>(context);
    final int daysCount = settings.getTimelineDaysCount();
    return BlocBuilder<DataTimelineCubit, DataTimelineState>(
      builder: (BuildContext context, DataTimelineState data) {
        final TimelineData timeline = data.timeline ?? TimelineData.fromJson({});

        return CardContent(
          color: Theme.of(context).colorScheme.surface,
          title: 'timeline_title'.tr(
            namedArgs: {
              'daysCount': daysCount.toString(),
            },
          ),
          status: data.status,
          content: Stack(
            children: [
              ChartTimelineCounts(chartData: timeline),
              ChartTimelineEclecticism(chartData: timeline),