Untitled

mail@pastecode.io avatar
unknown
dart
a year ago
1.7 kB
2
Indexable
Never
import 'package:app_wide_state_bloc/blocs/third_screen/cubit/third_screen_cubit.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';

class ThirdScreen extends StatefulWidget {
  static const routeName = "/third-screen";

  const ThirdScreen({super.key});

  @override
  State<ThirdScreen> createState() => _ThirdScreenState();
}

class _ThirdScreenState extends State<ThirdScreen> {
  @override
  Widget build(BuildContext context) {
    return BlocProvider(
      create: (context) => ThirdScreenCubit(),
      child: BlocConsumer<ThirdScreenCubit, ThirdScreenState>(
        listener: (context, state) {},
        builder: (context, state) {
          return Scaffold(
            appBar: AppBar(),
            body: Center(
              child: Column(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: [
                    state is ThirdScreenShowNumberState
                        ? Text("${state.value}")
                        : const Text(""),
                    state is ThirdScreenInitial
                        ? const Text("Hello there")
                        : const Text(""),
                    const SizedBox(height: 50),
                    IconButton(
                        onPressed: increment, icon: const Icon(Icons.add)),
                    IconButton(
                        onPressed: decrement, icon: const Icon(Icons.remove)),
                  ]),
            ),
          );
        },
      ),
    );
  }
  // ! Functions

  void decrement() {
    ThirdScreenCubit().decrementValue();
  }

  void increment() {
    ThirdScreenCubit().inrementValue();
  }
}