Skip to content

Instantly share code, notes, and snippets.

View trongdth's full-sized avatar

Trong Dinh Thai Hoang trongdth

View GitHub Profile
import 'package:equatable/equatable.dart';
abstract class AuthenticationState extends Equatable {}
class AuthenticationUninitialized extends AuthenticationState {
@override
String toString() => 'AuthenticationUninitialized';
}
class AuthenticationAuthenticated extends AuthenticationState {
import 'package:equatable/equatable.dart';
import 'package:parse_server_sdk/parse_server_sdk.dart';
abstract class AuthenticationEvent extends Equatable {
AuthenticationEvent([List props = const []]) : super(props);
}
class AppStarted extends AuthenticationEvent {
@override
String toString() => 'AppStarted';
import 'package:flutter_bloc_back4app/data/models/message.dart';
import 'package:parse_server_sdk/parse_server_sdk.dart';
class MessageRepository {
MessageRepository();
Future<List> loadAllMessages() async {
var apiResponse = await Message().getAll();
import 'package:meta/meta.dart';
import 'package:parse_server_sdk/parse_server_sdk.dart';
class UserRepository {
UserRepository();
/// Auth [email], [password]
///
Widget _buildListOfMessages(HomeState state) {
if (state is HomeLoaded) {
lst = state.lstMessages;
}
return Stack(
children: <Widget>[
ListView.separated(
itemCount: lst.length,
itemBuilder: (BuildContext context, int index) {
return Center(
@override
Widget build(BuildContext context) {
return MultiBlocListener(
listeners: [
BlocListener<SignupCubit, SignupState>(
listener: (context, state) {
if (state is SignupSuccess) {
context.read<AuthCubit>().appStarted();
}
},
@override
Widget build(BuildContext context) {
return BlocListener<LoginCubit, LoginState>(
listener: (context, state) {
if (state is LoginFailure) {
_scaffoldstate.currentState.showSnackBar(SnackBar(content: Text(state.error)));
} else if (state is LoginSuccess) {
context.read<AuthCubit>().appStarted();
}
},
const String PARSE_APP_ID = '{YOUR APP ID}';
const String PARSE_APP_URL = 'https://parseapi.back4app.com';
const String MASTER_KEY = '{YOUR MASTER KEY}';
const String LIVE_QUERY_URL = 'wss://trongdth.back4app.io';
@override
void initState() {
...
_focusNode.addListener(() {
if (!_focusNode.hasFocus) {
setState(() {
if (txtController.text.isEmpty) {
isShowHintText = true;
} else {
isShowHintText = false;
@override
Widget build(BuildContext context) {
return Stack(
children: <Widget>[
Align(
alignment: Alignment.bottomLeft,
child: Text(
(isShowHintText) ? '' : overlapText,
textAlign: TextAlign.start,
style: (txtController.text.isEmpty) ? widget.lblNormalStyle : widget.lblHighlightStyle,