mchess-client/lib/chessapp/chess_app.dart

63 lines
1.9 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:mchess/chess_bloc/chess_bloc.dart';
import 'package:mchess/connection/ws_connection.dart';
import 'package:mchess/chessapp/chess_board.dart';
class ChessApp extends StatelessWidget {
const ChessApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'mChess',
home: Scaffold(
body: Container(
decoration: const BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [
Color.fromARGB(255, 20, 20, 20),
Color.fromARGB(255, 30, 30, 30),
Color.fromARGB(255, 40, 40, 40),
],
),
),
child: Center(
child: FittedBox(
fit: BoxFit.contain,
child: Column(
children: [
Container(
margin: const EdgeInsets.all(20),
child: BlocProvider(
create: (_) => ChessBloc.getInstance(),
child: BlocBuilder<ChessBloc, ChessBoardState>(
builder: (context, state) {
return ChessBoard(
bState: state,
);
},
),
),
),
StreamBuilder(
stream: ServerConnection.getInstance().channel.stream,
builder: (context, snapshot) {
return Text(
style: const TextStyle(color: Colors.white),
snapshot.data.toString());
},
)
],
),
),
),
),
),
);
}
}