Skip to content

Instantly share code, notes, and snippets.

void main() {
double x = 318191400000;
double result =x*x;
print(result);
}
@panthe
panthe / topbartabs.dart
Last active October 17, 2020 13:05
Button that dispatch an action in Redux
class TopBarTabs extends StatelessWidget {
final store = StoreProvider.of<AppState>(Keys.scaffoldKey.currentContext);
@override
Widget build(BuildContext context) {
return LayoutBuilder(
builder: (context, constraints) {
return Row(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
@panthe
panthe / main.dart
Last active October 17, 2020 13:06
Redux connection to application
void main() {
runApp(App());
}
class App extends StatelessWidget {
final Store<AppState> store = createStore();
@override
Widget build(BuildContext context) {
return StoreProvider<AppState>(
@panthe
panthe / store.dart
Last active October 17, 2020 13:07
Redux Store
Store<AppState> createStore() {
return Store(
appReducer,
initialState: AppState.initial(),
middleware: []
..add(createErrorMiddleware())
..add(createMessageMiddleware())
..add(createUserMiddleware())
);
}
@panthe
panthe / app_reducer.dart
Last active October 17, 2020 13:08
Redux Application Reducer
import 'package:flutter_web_with_redux/redux/app/app_state.dart';
import 'package:flutter_web_with_redux/redux/error/error_reducer.dart';
import 'package:flutter_web_with_redux/redux/message/message_reducer.dart';
import 'package:flutter_web_with_redux/redux/user/user_reducer.dart';
AppState appReducer(state, action) {
return new AppState(
errorState: errorReducer(state.errorState,action),
messageState: messageReducer(state.messageState,action),
userState: userReducer(state.userState,action)
@panthe
panthe / app_state.dart
Last active October 17, 2020 13:07
Redux Application State
import 'package:meta/meta.dart';
import 'package:flutter_web_with_redux/redux/error/error_state.dart';
import 'package:flutter_web_with_redux/redux/message/message_state.dart';
import 'package:flutter_web_with_redux/redux/user/user_state.dart';
@immutable
class AppState {
final ErrorState errorState;
final MessageState messageState;
final UserState userState;
@panthe
panthe / user_reducer.dart
Last active November 13, 2020 15:35
A typical Redux reducer
import 'package:redux/redux.dart';
import 'package:flutter_web_with_redux/redux/user/user_actions.dart';
import 'package:flutter_web_with_redux/redux/user/user_state.dart';
final userReducer = combineReducers<UserState>([
TypedReducer<UserState, FetchingUser>(_fetching),
TypedReducer<UserState, SetUser>(_setting),
TypedReducer<UserState, SavingUser>(_saving),
]);
@panthe
panthe / user_middleware.dart
Last active November 13, 2020 15:39
A typical Redux middleware
import 'package:redux/redux.dart';
import 'package:http/http.dart' as http;
import 'dart:convert' as convert;
import 'package:flutter_web_with_redux/config/config.dart' as config;
import 'package:flutter_web_with_redux/redux/app/app_state.dart';
import 'package:flutter_web_with_redux/redux/error/error_actions.dart';
import 'package:flutter_web_with_redux/models/user.dart';
import 'package:flutter_web_with_redux/models/apiResponse.dart';
import 'package:flutter_web_with_redux/redux/user/user_actions.dart';
@panthe
panthe / user_state.dart
Last active November 13, 2020 15:29
A typical Redux state
import 'package:meta/meta.dart';
import 'package:flutter_web_with_redux/models/user.dart';
@immutable
class UserState {
final bool isFetching;
final bool isSaving;
final User user;
UserState({
@panthe
panthe / user_actions.dart
Last active November 13, 2020 15:32
A typical Redux action
import 'package:flutter/material.dart';
import 'package:flutter_web_with_redux/models/user.dart';
class FetchingUser {
bool isFetching;
FetchingUser({
@required this.isFetching,
});