mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2025-04-25 07:07:32 -04:00
[flutter]: fix warnings and compile issues
This commit is contained in:
parent
52ca87662b
commit
c4d7bf61fd
51 changed files with 121 additions and 161 deletions
|
@ -1,5 +1,6 @@
|
||||||
import 'package:app_flowy/user/domain/i_auth.dart';
|
import 'package:app_flowy/user/domain/i_auth.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-user-infra/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-user/protobuf.dart';
|
import 'package:flowy_sdk/protobuf/flowy-user/protobuf.dart';
|
||||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
|
@ -21,56 +22,39 @@ class SignInBloc extends Bloc<SignInEvent, SignInState> {
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
emailChanged: (EmailChanged value) async* {
|
emailChanged: (EmailChanged value) async* {
|
||||||
yield state.copyWith(
|
yield state.copyWith(email: value.email, emailError: none(), successOrFail: none());
|
||||||
email: value.email, emailError: none(), successOrFail: none());
|
|
||||||
},
|
},
|
||||||
passwordChanged: (PasswordChanged value) async* {
|
passwordChanged: (PasswordChanged value) async* {
|
||||||
yield state.copyWith(
|
yield state.copyWith(password: value.password, passwordError: none(), successOrFail: none());
|
||||||
password: value.password,
|
|
||||||
passwordError: none(),
|
|
||||||
successOrFail: none());
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Stream<SignInState> _performActionOnSignIn(SignInState state) async* {
|
Stream<SignInState> _performActionOnSignIn(SignInState state) async* {
|
||||||
yield state.copyWith(
|
yield state.copyWith(isSubmitting: true, emailError: none(), passwordError: none(), successOrFail: none());
|
||||||
isSubmitting: true,
|
|
||||||
emailError: none(),
|
|
||||||
passwordError: none(),
|
|
||||||
successOrFail: none());
|
|
||||||
|
|
||||||
final result = await authImpl.signIn(state.email, state.password);
|
final result = await authImpl.signIn(state.email, state.password);
|
||||||
yield result.fold(
|
yield result.fold(
|
||||||
(userProfile) => state.copyWith(
|
(userProfile) => state.copyWith(isSubmitting: false, successOrFail: some(left(userProfile))),
|
||||||
isSubmitting: false, successOrFail: some(left(userProfile))),
|
|
||||||
(error) => stateFromCode(error),
|
(error) => stateFromCode(error),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
SignInState stateFromCode(UserError error) {
|
SignInState stateFromCode(UserError error) {
|
||||||
switch (error.code) {
|
switch (ErrorCode.valueOf(error.code)!) {
|
||||||
case ErrorCode.EmailFormatInvalid:
|
case ErrorCode.EmailFormatInvalid:
|
||||||
return state.copyWith(
|
return state.copyWith(isSubmitting: false, emailError: some(error.msg), passwordError: none());
|
||||||
isSubmitting: false,
|
|
||||||
emailError: some(error.msg),
|
|
||||||
passwordError: none());
|
|
||||||
case ErrorCode.PasswordFormatInvalid:
|
case ErrorCode.PasswordFormatInvalid:
|
||||||
return state.copyWith(
|
return state.copyWith(isSubmitting: false, passwordError: some(error.msg), emailError: none());
|
||||||
isSubmitting: false,
|
|
||||||
passwordError: some(error.msg),
|
|
||||||
emailError: none());
|
|
||||||
default:
|
default:
|
||||||
return state.copyWith(
|
return state.copyWith(isSubmitting: false, successOrFail: some(right(error)));
|
||||||
isSubmitting: false, successOrFail: some(right(error)));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@freezed
|
@freezed
|
||||||
abstract class SignInEvent with _$SignInEvent {
|
abstract class SignInEvent with _$SignInEvent {
|
||||||
const factory SignInEvent.signedInWithUserEmailAndPassword() =
|
const factory SignInEvent.signedInWithUserEmailAndPassword() = SignedInWithUserEmailAndPassword;
|
||||||
SignedInWithUserEmailAndPassword;
|
|
||||||
const factory SignInEvent.emailChanged(String email) = EmailChanged;
|
const factory SignInEvent.emailChanged(String email) = EmailChanged;
|
||||||
const factory SignInEvent.passwordChanged(String password) = PasswordChanged;
|
const factory SignInEvent.passwordChanged(String password) = PasswordChanged;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
import 'package:app_flowy/user/domain/i_auth.dart';
|
import 'package:app_flowy/user/domain/i_auth.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-user-infra/errors.pb.dart';
|
||||||
|
|
||||||
import 'package:flowy_sdk/protobuf/flowy-user/protobuf.dart';
|
import 'package:flowy_sdk/protobuf/flowy-user/protobuf.dart';
|
||||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
|
@ -17,18 +19,11 @@ class SignUpBloc extends Bloc<SignUpEvent, SignUpState> {
|
||||||
yield* event.map(signUpWithUserEmailAndPassword: (e) async* {
|
yield* event.map(signUpWithUserEmailAndPassword: (e) async* {
|
||||||
yield* _performActionOnSignUp();
|
yield* _performActionOnSignUp();
|
||||||
}, emailChanged: (EmailChanged value) async* {
|
}, emailChanged: (EmailChanged value) async* {
|
||||||
yield state.copyWith(
|
yield state.copyWith(email: value.email, emailError: none(), successOrFail: none());
|
||||||
email: value.email, emailError: none(), successOrFail: none());
|
|
||||||
}, passwordChanged: (PasswordChanged value) async* {
|
}, passwordChanged: (PasswordChanged value) async* {
|
||||||
yield state.copyWith(
|
yield state.copyWith(password: value.password, passwordError: none(), successOrFail: none());
|
||||||
password: value.password,
|
|
||||||
passwordError: none(),
|
|
||||||
successOrFail: none());
|
|
||||||
}, repeatPasswordChanged: (RepeatPasswordChanged value) async* {
|
}, repeatPasswordChanged: (RepeatPasswordChanged value) async* {
|
||||||
yield state.copyWith(
|
yield state.copyWith(repeatedPassword: value.password, repeatPasswordError: none(), successOrFail: none());
|
||||||
repeatedPassword: value.password,
|
|
||||||
repeatPasswordError: none(),
|
|
||||||
successOrFail: none());
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,8 +54,7 @@ class SignUpBloc extends Bloc<SignUpEvent, SignUpState> {
|
||||||
if (password != repeatedPassword) {
|
if (password != repeatedPassword) {
|
||||||
yield state.copyWith(
|
yield state.copyWith(
|
||||||
isSubmitting: false,
|
isSubmitting: false,
|
||||||
repeatPasswordError:
|
repeatPasswordError: some("Repeat password is not the same as password"),
|
||||||
some("Repeat password is not the same as password"),
|
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -70,8 +64,7 @@ class SignUpBloc extends Bloc<SignUpEvent, SignUpState> {
|
||||||
repeatPasswordError: none(),
|
repeatPasswordError: none(),
|
||||||
);
|
);
|
||||||
|
|
||||||
final result =
|
final result = await authImpl.signUp(state.email, state.password, state.email);
|
||||||
await authImpl.signUp(state.email, state.password, state.email);
|
|
||||||
yield result.fold(
|
yield result.fold(
|
||||||
(userProfile) => state.copyWith(
|
(userProfile) => state.copyWith(
|
||||||
isSubmitting: false,
|
isSubmitting: false,
|
||||||
|
@ -85,7 +78,7 @@ class SignUpBloc extends Bloc<SignUpEvent, SignUpState> {
|
||||||
}
|
}
|
||||||
|
|
||||||
SignUpState stateFromCode(UserError error) {
|
SignUpState stateFromCode(UserError error) {
|
||||||
switch (error.code) {
|
switch (ErrorCode.valueOf(error.code)!) {
|
||||||
case ErrorCode.EmailFormatInvalid:
|
case ErrorCode.EmailFormatInvalid:
|
||||||
return state.copyWith(
|
return state.copyWith(
|
||||||
isSubmitting: false,
|
isSubmitting: false,
|
||||||
|
@ -101,20 +94,17 @@ class SignUpBloc extends Bloc<SignUpEvent, SignUpState> {
|
||||||
successOrFail: none(),
|
successOrFail: none(),
|
||||||
);
|
);
|
||||||
default:
|
default:
|
||||||
return state.copyWith(
|
return state.copyWith(isSubmitting: false, successOrFail: some(right(error)));
|
||||||
isSubmitting: false, successOrFail: some(right(error)));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@freezed
|
@freezed
|
||||||
class SignUpEvent with _$SignUpEvent {
|
class SignUpEvent with _$SignUpEvent {
|
||||||
const factory SignUpEvent.signUpWithUserEmailAndPassword() =
|
const factory SignUpEvent.signUpWithUserEmailAndPassword() = SignUpWithUserEmailAndPassword;
|
||||||
SignUpWithUserEmailAndPassword;
|
|
||||||
const factory SignUpEvent.emailChanged(String email) = EmailChanged;
|
const factory SignUpEvent.emailChanged(String email) = EmailChanged;
|
||||||
const factory SignUpEvent.passwordChanged(String password) = PasswordChanged;
|
const factory SignUpEvent.passwordChanged(String password) = PasswordChanged;
|
||||||
const factory SignUpEvent.repeatPasswordChanged(String password) =
|
const factory SignUpEvent.repeatPasswordChanged(String password) = RepeatPasswordChanged;
|
||||||
RepeatPasswordChanged;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@freezed
|
@freezed
|
||||||
|
|
|
@ -2,7 +2,6 @@ import 'package:app_flowy/startup/startup.dart';
|
||||||
import 'package:app_flowy/user/application/sign_up_bloc.dart';
|
import 'package:app_flowy/user/application/sign_up_bloc.dart';
|
||||||
import 'package:app_flowy/user/domain/i_auth.dart';
|
import 'package:app_flowy/user/domain/i_auth.dart';
|
||||||
import 'package:app_flowy/user/presentation/widgets/background.dart';
|
import 'package:app_flowy/user/presentation/widgets/background.dart';
|
||||||
import 'package:flowy_infra/size.dart';
|
|
||||||
import 'package:flowy_infra/theme.dart';
|
import 'package:flowy_infra/theme.dart';
|
||||||
import 'package:flowy_infra_ui/widget/rounded_button.dart';
|
import 'package:flowy_infra_ui/widget/rounded_button.dart';
|
||||||
import 'package:flowy_infra_ui/widget/rounded_input_field.dart';
|
import 'package:flowy_infra_ui/widget/rounded_input_field.dart';
|
||||||
|
|
|
@ -4,9 +4,9 @@ import 'package:app_flowy/user/domain/auth_state.dart';
|
||||||
import 'package:app_flowy/user/domain/i_splash.dart';
|
import 'package:app_flowy/user/domain/i_splash.dart';
|
||||||
import 'package:flowy_log/flowy_log.dart';
|
import 'package:flowy_log/flowy_log.dart';
|
||||||
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/errors.pb.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart' as workspace;
|
|
||||||
|
|
||||||
// [[diagram: splash screen]]
|
// [[diagram: splash screen]]
|
||||||
// ┌────────────────┐1.get user ┌──────────┐ ┌────────────┐ 2.send UserEventCheckUser
|
// ┌────────────────┐1.get user ┌──────────┐ ┌────────────┐ 2.send UserEventCheckUser
|
||||||
|
@ -49,7 +49,7 @@ class SplashScreen extends StatelessWidget {
|
||||||
return result.fold(
|
return result.fold(
|
||||||
(workspace) => getIt<ISplashRoute>().pushHomeScreen(context, userProfile, workspace.id),
|
(workspace) => getIt<ISplashRoute>().pushHomeScreen(context, userProfile, workspace.id),
|
||||||
(error) async {
|
(error) async {
|
||||||
assert(error.code == workspace.ErrorCode.RecordNotFound);
|
assert(error.code == ErrorCode.RecordNotFound.value);
|
||||||
getIt<ISplashRoute>().pushWelcomeScreen(context, userProfile);
|
getIt<ISplashRoute>().pushWelcomeScreen(context, userProfile);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
import 'package:app_flowy/startup/startup.dart';
|
import 'package:app_flowy/startup/startup.dart';
|
||||||
import 'package:app_flowy/workspace/application/workspace/welcome_bloc.dart';
|
import 'package:app_flowy/workspace/application/workspace/welcome_bloc.dart';
|
||||||
import 'package:app_flowy/workspace/domain/i_user.dart';
|
|
||||||
import 'package:flowy_infra/theme.dart';
|
import 'package:flowy_infra/theme.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/scrolling/styled_list.dart';
|
import 'package:flowy_infra_ui/style_widget/scrolling/styled_list.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/button.dart';
|
import 'package:flowy_infra_ui/style_widget/button.dart';
|
||||||
import 'package:flowy_infra_ui/widget/error_page.dart';
|
import 'package:flowy_infra_ui/widget/error_page.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/workspace_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/workspace_create.pb.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:app_flowy/workspace/infrastructure/repos/user_repo.dart';
|
import 'package:app_flowy/workspace/infrastructure/repos/user_repo.dart';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import 'package:app_flowy/workspace/domain/i_app.dart';
|
import 'package:app_flowy/workspace/domain/i_app.dart';
|
||||||
import 'package:flowy_log/flowy_log.dart';
|
import 'package:flowy_log/flowy_log.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/app_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/app_create.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
|
||||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
|
|
|
@ -2,11 +2,11 @@ import 'dart:convert';
|
||||||
|
|
||||||
import 'package:app_flowy/workspace/domain/i_trash.dart';
|
import 'package:app_flowy/workspace/domain/i_trash.dart';
|
||||||
import 'package:app_flowy/workspace/domain/i_view.dart';
|
import 'package:app_flowy/workspace/domain/i_view.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/trash_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/trash_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
import 'package:flutter_quill/flutter_quill.dart';
|
import 'package:flutter_quill/flutter_quill.dart';
|
||||||
import 'package:flowy_log/flowy_log.dart';
|
import 'package:flowy_log/flowy_log.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:app_flowy/workspace/domain/i_doc.dart';
|
import 'package:app_flowy/workspace/domain/i_doc.dart';
|
||||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import 'package:app_flowy/workspace/domain/i_user.dart';
|
import 'package:app_flowy/workspace/domain/i_user.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/errors.pb.dart';
|
||||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
|
@ -32,7 +33,7 @@ class HomeListenBloc extends Bloc<HomeListenEvent, HomeListenState> {
|
||||||
|
|
||||||
void _authStateChanged(Either<Unit, UserError> errorOrNothing) {
|
void _authStateChanged(Either<Unit, UserError> errorOrNothing) {
|
||||||
errorOrNothing.fold((_) {}, (error) {
|
errorOrNothing.fold((_) {}, (error) {
|
||||||
if (error.code == ErrorCode.UserUnauthorized) {
|
if (error.code == ErrorCode.UserUnauthorized.value) {
|
||||||
add(HomeListenEvent.unauthorized(error.msg));
|
add(HomeListenEvent.unauthorized(error.msg));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -4,7 +4,7 @@ import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart';
|
||||||
import 'package:app_flowy/workspace/presentation/stack_page/blank/blank_page.dart';
|
import 'package:app_flowy/workspace/presentation/stack_page/blank/blank_page.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:flowy_log/flowy_log.dart';
|
import 'package:flowy_log/flowy_log.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/app_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/app_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import 'package:app_flowy/workspace/domain/i_user.dart';
|
import 'package:app_flowy/workspace/domain/i_user.dart';
|
||||||
import 'package:flowy_log/flowy_log.dart';
|
import 'package:flowy_log/flowy_log.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/workspace_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/workspace_create.pb.dart';
|
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import 'package:app_flowy/workspace/domain/i_trash.dart';
|
import 'package:app_flowy/workspace/domain/i_trash.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:flowy_log/flowy_log.dart';
|
import 'package:flowy_log/flowy_log.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/trash_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/trash_create.pb.dart';
|
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
part 'trash_bloc.freezed.dart';
|
part 'trash_bloc.freezed.dart';
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
import 'package:app_flowy/workspace/domain/i_view.dart';
|
import 'package:app_flowy/workspace/domain/i_view.dart';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import 'package:app_flowy/workspace/domain/i_user.dart';
|
import 'package:app_flowy/workspace/domain/i_user.dart';
|
||||||
import 'package:app_flowy/workspace/infrastructure/repos/user_repo.dart';
|
import 'package:app_flowy/workspace/infrastructure/repos/user_repo.dart';
|
||||||
import 'package:flowy_log/flowy_log.dart';
|
import 'package:flowy_log/flowy_log.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/workspace_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/workspace_create.pb.dart';
|
|
||||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/protobuf.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/app_create.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/protobuf.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
|
|
||||||
typedef AppUpdatedCallback = void Function(App app);
|
typedef AppUpdatedCallback = void Function(App app);
|
||||||
typedef AppViewsChangeCallback = void Function(Either<List<View>, WorkspaceError> viewsOrFailed);
|
typedef AppViewsChangeCallback = void Function(Either<List<View>, WorkspaceError> viewsOrFailed);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/trash_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/trash_create.pb.dart';
|
|
||||||
|
|
||||||
abstract class ITrash {
|
abstract class ITrash {
|
||||||
Future<Either<List<Trash>, WorkspaceError>> readTrash();
|
Future<Either<List<Trash>, WorkspaceError>> readTrash();
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-user/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-user/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/workspace_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/workspace_create.pb.dart';
|
|
||||||
|
|
||||||
export 'package:flowy_sdk/protobuf/flowy-workspace/workspace_create.pb.dart';
|
|
||||||
export 'package:flowy_sdk/protobuf/flowy-user/errors.pb.dart';
|
export 'package:flowy_sdk/protobuf/flowy-user/errors.pb.dart';
|
||||||
export 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
|
export 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:flowy_infra/notifier.dart';
|
import 'package:flowy_infra/notifier.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
|
|
||||||
typedef ViewUpdatedCallback = void Function(Either<View, WorkspaceError>);
|
typedef ViewUpdatedCallback = void Function(Either<View, WorkspaceError>);
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/protobuf.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/protobuf.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
|
|
||||||
typedef WorkspaceAppsChangedCallback = void Function(Either<List<App>, WorkspaceError> appsOrFail);
|
typedef WorkspaceAppsChangedCallback = void Function(Either<List<App>, WorkspaceError> appsOrFail);
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flowy_infra/image.dart';
|
import 'package:flowy_infra/image.dart';
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart';
|
import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart';
|
||||||
import 'package:app_flowy/workspace/presentation/stack_page/blank/blank_page.dart';
|
import 'package:app_flowy/workspace/presentation/stack_page/blank/blank_page.dart';
|
||||||
import 'package:app_flowy/workspace/presentation/stack_page/doc/doc_stack_page.dart';
|
import 'package:app_flowy/workspace/presentation/stack_page/doc/doc_stack_page.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
|
|
||||||
extension ToHomeStackContext on View {
|
extension ToHomeStackContext on View {
|
||||||
HomeStackContext stackContext() {
|
HomeStackContext stackContext() {
|
||||||
|
|
|
@ -19,8 +19,8 @@ import 'package:app_flowy/workspace/infrastructure/repos/trash_repo.dart';
|
||||||
import 'package:app_flowy/workspace/infrastructure/repos/view_repo.dart';
|
import 'package:app_flowy/workspace/infrastructure/repos/view_repo.dart';
|
||||||
import 'package:app_flowy/workspace/infrastructure/repos/workspace_repo.dart';
|
import 'package:app_flowy/workspace/infrastructure/repos/workspace_repo.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/app_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/app_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
import 'package:get_it/get_it.dart';
|
import 'package:get_it/get_it.dart';
|
||||||
|
|
||||||
import 'i_user_impl.dart';
|
import 'i_user_impl.dart';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import 'package:app_flowy/workspace/infrastructure/repos/app_repo.dart';
|
import 'package:app_flowy/workspace/infrastructure/repos/app_repo.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart' as workspace;
|
|
||||||
import 'package:app_flowy/workspace/domain/i_app.dart';
|
import 'package:app_flowy/workspace/domain/i_app.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
export 'package:app_flowy/workspace/domain/i_app.dart';
|
export 'package:app_flowy/workspace/domain/i_app.dart';
|
||||||
|
|
||||||
class IAppImpl extends IApp {
|
class IAppImpl extends IApp {
|
||||||
|
@ -12,13 +12,12 @@ class IAppImpl extends IApp {
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<Either<List<View>, workspace.WorkspaceError>> getViews() {
|
Future<Either<List<View>, WorkspaceError>> getViews() {
|
||||||
return repo.getViews();
|
return repo.getViews();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<Either<View, workspace.WorkspaceError>> createView(
|
Future<Either<View, WorkspaceError>> createView({required String name, String? desc, required ViewType viewType}) {
|
||||||
{required String name, String? desc, required ViewType viewType}) {
|
|
||||||
return repo.createView(name, desc ?? "", viewType).then((result) {
|
return repo.createView(name, desc ?? "", viewType).then((result) {
|
||||||
return result.fold(
|
return result.fold(
|
||||||
(view) => left(view),
|
(view) => left(view),
|
||||||
|
@ -28,12 +27,12 @@ class IAppImpl extends IApp {
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<Either<Unit, workspace.WorkspaceError>> delete() {
|
Future<Either<Unit, WorkspaceError>> delete() {
|
||||||
return repo.delete();
|
return repo.delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<Either<Unit, workspace.WorkspaceError>> rename(String newName) {
|
Future<Either<Unit, WorkspaceError>> rename(String newName) {
|
||||||
return repo.updateApp(name: newName);
|
return repo.updateApp(name: newName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,8 +24,7 @@ class IDocImpl extends IDoc {
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<Either<DocDelta, WorkspaceError>> composeDelta(
|
Future<Either<DocDelta, WorkspaceError>> composeDelta({required String json}) {
|
||||||
{required String json}) {
|
|
||||||
return repo.composeDelta(data: json);
|
return repo.composeDelta(data: json);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import 'package:app_flowy/workspace/domain/i_trash.dart';
|
import 'package:app_flowy/workspace/domain/i_trash.dart';
|
||||||
import 'package:app_flowy/workspace/infrastructure/repos/trash_repo.dart';
|
import 'package:app_flowy/workspace/infrastructure/repos/trash_repo.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/trash_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/trash_create.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
|
|
||||||
class ITrashImpl implements ITrash {
|
class ITrashImpl implements ITrash {
|
||||||
TrashRepo repo;
|
TrashRepo repo;
|
||||||
|
|
|
@ -5,8 +5,10 @@ import 'package:dartz/dartz.dart';
|
||||||
import 'package:app_flowy/workspace/domain/i_user.dart';
|
import 'package:app_flowy/workspace/domain/i_user.dart';
|
||||||
import 'package:app_flowy/workspace/infrastructure/repos/user_repo.dart';
|
import 'package:app_flowy/workspace/infrastructure/repos/user_repo.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-dart-notify/protobuf.dart';
|
import 'package:flowy_sdk/protobuf/flowy-dart-notify/protobuf.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-user/errors.pb.dart' as user_error;
|
import 'package:flowy_sdk/protobuf/flowy-user-infra/errors.pb.dart';
|
||||||
|
// import 'package:flowy_sdk/protobuf/flowy-user/errors.pb.dart' as user_error;
|
||||||
import 'package:flowy_sdk/protobuf/flowy-user/observable.pb.dart' as user;
|
import 'package:flowy_sdk/protobuf/flowy-user/observable.pb.dart' as user;
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/workspace_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/observable.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/observable.pb.dart';
|
||||||
export 'package:app_flowy/workspace/domain/i_user.dart';
|
export 'package:app_flowy/workspace/domain/i_user.dart';
|
||||||
|
@ -66,9 +68,9 @@ class IUserListenerImpl extends IUserListener {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void start() {
|
void start() {
|
||||||
_workspaceParser = WorkspaceNotificationParser(id: _user.token, callback: _NotificationCallback);
|
_workspaceParser = WorkspaceNotificationParser(id: _user.token, callback: _notificationCallback);
|
||||||
|
|
||||||
_userParser = UserNotificationParser(id: _user.token, callback: _UserNotificationCallback);
|
_userParser = UserNotificationParser(id: _user.token, callback: _userNotificationCallback);
|
||||||
|
|
||||||
_subscription = RustStreamReceiver.listen((observable) {
|
_subscription = RustStreamReceiver.listen((observable) {
|
||||||
_workspaceParser.parse(observable);
|
_workspaceParser.parse(observable);
|
||||||
|
@ -96,7 +98,7 @@ class IUserListenerImpl extends IUserListener {
|
||||||
_workspacesUpdated = workspacesCallback;
|
_workspacesUpdated = workspacesCallback;
|
||||||
}
|
}
|
||||||
|
|
||||||
void _NotificationCallback(WorkspaceNotification ty, Either<Uint8List, WorkspaceError> result) {
|
void _notificationCallback(WorkspaceNotification ty, Either<Uint8List, WorkspaceError> result) {
|
||||||
switch (ty) {
|
switch (ty) {
|
||||||
case WorkspaceNotification.UserCreateWorkspace:
|
case WorkspaceNotification.UserCreateWorkspace:
|
||||||
case WorkspaceNotification.UserDeleteWorkspace:
|
case WorkspaceNotification.UserDeleteWorkspace:
|
||||||
|
@ -115,7 +117,7 @@ class IUserListenerImpl extends IUserListener {
|
||||||
if (_authChanged != null) {
|
if (_authChanged != null) {
|
||||||
result.fold(
|
result.fold(
|
||||||
(_) {},
|
(_) {},
|
||||||
(error) => {_authChanged!(right(UserError.create()..code = user_error.ErrorCode.UserUnauthorized))},
|
(error) => {_authChanged!(right(UserError.create()..code = ErrorCode.UserUnauthorized.value))},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -124,7 +126,7 @@ class IUserListenerImpl extends IUserListener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _UserNotificationCallback(user.UserNotification ty, Either<Uint8List, UserError> result) {
|
void _userNotificationCallback(user.UserNotification ty, Either<Uint8List, UserError> result) {
|
||||||
switch (ty) {
|
switch (ty) {
|
||||||
case user.UserNotification.UserUnauthorized:
|
case user.UserNotification.UserUnauthorized:
|
||||||
if (_profileUpdated != null) {
|
if (_profileUpdated != null) {
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
import 'package:app_flowy/workspace/domain/i_view.dart';
|
import 'package:app_flowy/workspace/domain/i_view.dart';
|
||||||
import 'package:app_flowy/workspace/infrastructure/repos/view_repo.dart';
|
import 'package:app_flowy/workspace/infrastructure/repos/view_repo.dart';
|
||||||
import 'package:flowy_infra/notifier.dart';
|
import 'package:flowy_infra/notifier.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
|
|
||||||
class IViewImpl extends IView {
|
class IViewImpl extends IView {
|
||||||
ViewRepository repo;
|
ViewRepository repo;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import 'package:app_flowy/workspace/domain/i_workspace.dart';
|
import 'package:app_flowy/workspace/domain/i_workspace.dart';
|
||||||
import 'package:app_flowy/workspace/infrastructure/repos/workspace_repo.dart';
|
import 'package:app_flowy/workspace/infrastructure/repos/workspace_repo.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/app_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/app_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
|
|
||||||
export 'package:app_flowy/workspace/domain/i_workspace.dart';
|
export 'package:app_flowy/workspace/domain/i_workspace.dart';
|
||||||
|
|
|
@ -5,14 +5,13 @@ import 'package:dartz/dartz.dart';
|
||||||
import 'package:flowy_log/flowy_log.dart';
|
import 'package:flowy_log/flowy_log.dart';
|
||||||
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-dart-notify/subject.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-dart-notify/subject.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/app_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/app_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/app_delete.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/app_query.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/app_query.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/app_update.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/app_update.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pbenum.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/observable.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/observable.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pbenum.dart';
|
|
||||||
import 'package:flowy_sdk/rust_stream.dart';
|
import 'package:flowy_sdk/rust_stream.dart';
|
||||||
import 'helper.dart';
|
import 'helper.dart';
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-document/doc.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-document/doc.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_query.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_query.pb.dart';
|
|
||||||
|
|
||||||
class DocRepository {
|
class DocRepository {
|
||||||
final String docId;
|
final String docId;
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
import 'dart:typed_data';
|
import 'dart:typed_data';
|
||||||
import 'package:flowy_log/flowy_log.dart';
|
|
||||||
import 'package:flowy_sdk/protobuf/flowy-dart-notify/protobuf.dart';
|
import 'package:flowy_sdk/protobuf/flowy-dart-notify/protobuf.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-user/protobuf.dart';
|
import 'package:flowy_sdk/protobuf/flowy-user/protobuf.dart';
|
||||||
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/observable.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/observable.pb.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
|
||||||
|
|
||||||
typedef UserNotificationCallback = void Function(UserNotification, Either<Uint8List, UserError>);
|
typedef UserNotificationCallback = void Function(UserNotification, Either<Uint8List, UserError>);
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,9 @@ import 'package:app_flowy/workspace/infrastructure/repos/helper.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-dart-notify/subject.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-dart-notify/subject.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/trash_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/observable.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/observable.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/trash_create.pb.dart';
|
|
||||||
import 'package:flowy_sdk/rust_stream.dart';
|
import 'package:flowy_sdk/rust_stream.dart';
|
||||||
|
|
||||||
class TrashRepo {
|
class TrashRepo {
|
||||||
|
|
|
@ -3,10 +3,10 @@ import 'package:dartz/dartz.dart';
|
||||||
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-user/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-user/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/workspace_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/workspace_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/workspace_query.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/workspace_query.pb.dart';
|
|
||||||
import 'package:app_flowy/workspace/domain/i_user.dart';
|
import 'package:app_flowy/workspace/domain/i_user.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
|
|
||||||
class UserRepo {
|
class UserRepo {
|
||||||
final UserProfile user;
|
final UserProfile user;
|
||||||
|
@ -14,13 +14,11 @@ class UserRepo {
|
||||||
required this.user,
|
required this.user,
|
||||||
});
|
});
|
||||||
|
|
||||||
Future<Either<UserProfile, UserError>> fetchUserProfile(
|
Future<Either<UserProfile, UserError>> fetchUserProfile({required String userId}) {
|
||||||
{required String userId}) {
|
|
||||||
return UserEventGetUserProfile().send();
|
return UserEventGetUserProfile().send();
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<Either<Unit, WorkspaceError>> deleteWorkspace(
|
Future<Either<Unit, WorkspaceError>> deleteWorkspace({required String workspaceId}) {
|
||||||
{required String workspaceId}) {
|
|
||||||
throw UnimplementedError();
|
throw UnimplementedError();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,8 +55,7 @@ class UserRepo {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<Either<Workspace, WorkspaceError>> createWorkspace(
|
Future<Either<Workspace, WorkspaceError>> createWorkspace(String name, String desc) {
|
||||||
String name, String desc) {
|
|
||||||
final request = CreateWorkspaceRequest.create()
|
final request = CreateWorkspaceRequest.create()
|
||||||
..name = name
|
..name = name
|
||||||
..desc = desc;
|
..desc = desc;
|
||||||
|
|
|
@ -3,11 +3,11 @@ import 'dart:typed_data';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-dart-notify/subject.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-dart-notify/subject.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_query.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_update.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/observable.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/observable.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_query.pb.dart';
|
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_update.pb.dart';
|
|
||||||
import 'package:flowy_sdk/rust_stream.dart';
|
import 'package:flowy_sdk/rust_stream.dart';
|
||||||
|
|
||||||
import 'package:app_flowy/workspace/domain/i_view.dart';
|
import 'package:app_flowy/workspace/domain/i_view.dart';
|
||||||
|
|
|
@ -6,11 +6,11 @@ import 'package:flowy_log/flowy_log.dart';
|
||||||
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-dart-notify/subject.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-dart-notify/subject.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/app_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/app_create.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/workspace_create.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/workspace_query.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/observable.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace/observable.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/workspace_create.pb.dart';
|
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/workspace_query.pb.dart';
|
|
||||||
import 'package:flowy_sdk/rust_stream.dart';
|
import 'package:flowy_sdk/rust_stream.dart';
|
||||||
|
|
||||||
import 'package:app_flowy/workspace/domain/i_workspace.dart';
|
import 'package:app_flowy/workspace/domain/i_workspace.dart';
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
import 'package:app_flowy/workspace/application/menu/menu_bloc.dart';
|
|
||||||
import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart';
|
import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart';
|
||||||
import 'package:flowy_infra/image.dart';
|
import 'package:flowy_infra/image.dart';
|
||||||
import 'package:flowy_infra/notifier.dart';
|
import 'package:flowy_infra/notifier.dart';
|
||||||
|
|
|
@ -3,9 +3,8 @@ import 'package:app_flowy/workspace/application/doc/doc_bloc.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/scrolling/styled_scroll_bar.dart';
|
import 'package:flowy_infra_ui/style_widget/scrolling/styled_scroll_bar.dart';
|
||||||
import 'package:flowy_infra_ui/widget/spacing.dart';
|
import 'package:flowy_infra_ui/widget/spacing.dart';
|
||||||
import 'package:flutter_quill/flutter_quill.dart' as quill;
|
import 'package:flutter_quill/flutter_quill.dart' as quill;
|
||||||
import 'package:flowy_infra_ui/style_widget/progress_indicator.dart';
|
|
||||||
import 'package:flowy_infra_ui/widget/error_page.dart';
|
import 'package:flowy_infra_ui/widget/error_page.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:styled_widget/styled_widget.dart';
|
import 'package:styled_widget/styled_widget.dart';
|
||||||
|
|
|
@ -3,7 +3,7 @@ import 'package:app_flowy/workspace/domain/i_view.dart';
|
||||||
import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart';
|
import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart';
|
||||||
import 'package:app_flowy/workspace/domain/view_ext.dart';
|
import 'package:app_flowy/workspace/domain/view_ext.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/text.dart';
|
import 'package:flowy_infra_ui/style_widget/text.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import 'doc_page.dart';
|
import 'doc_page.dart';
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import 'package:app_flowy/workspace/presentation/widgets/dialogs.dart';
|
|
||||||
import 'package:flutter_quill/flutter_quill.dart';
|
import 'package:flutter_quill/flutter_quill.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import 'toolbar_icon_button.dart';
|
import 'toolbar_icon_button.dart';
|
||||||
|
|
||||||
class FlowyImageButton extends StatelessWidget {
|
class FlowyImageButton extends StatelessWidget {
|
||||||
|
@ -65,19 +63,19 @@ class FlowyImageButton extends StatelessWidget {
|
||||||
// webImagePickImpl: webImagePickImpl,
|
// webImagePickImpl: webImagePickImpl,
|
||||||
// );
|
// );
|
||||||
|
|
||||||
void _typeLink(BuildContext context) {
|
// void _typeLink(BuildContext context) {
|
||||||
TextFieldDialog(
|
// TextFieldDialog(
|
||||||
title: 'URL',
|
// title: 'URL',
|
||||||
value: "",
|
// value: "",
|
||||||
confirm: (newValue) {
|
// confirm: (newValue) {
|
||||||
if (newValue.isEmpty) {
|
// if (newValue.isEmpty) {
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
final index = controller.selection.baseOffset;
|
// final index = controller.selection.baseOffset;
|
||||||
final length = controller.selection.extentOffset - index;
|
// final length = controller.selection.extentOffset - index;
|
||||||
|
|
||||||
controller.replaceText(index, length, BlockEmbed.image(newValue), null);
|
// controller.replaceText(index, length, BlockEmbed.image(newValue), null);
|
||||||
},
|
// },
|
||||||
).show(context);
|
// ).show(context);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,6 @@ import 'package:styled_widget/styled_widget.dart';
|
||||||
import 'check_button.dart';
|
import 'check_button.dart';
|
||||||
import 'color_picker.dart';
|
import 'color_picker.dart';
|
||||||
import 'header_button.dart';
|
import 'header_button.dart';
|
||||||
import 'image_button.dart';
|
|
||||||
import 'link_button.dart';
|
import 'link_button.dart';
|
||||||
import 'toggle_button.dart';
|
import 'toggle_button.dart';
|
||||||
import 'toolbar_icon_button.dart';
|
import 'toolbar_icon_button.dart';
|
||||||
|
|
|
@ -2,7 +2,7 @@ import 'package:flowy_infra/image.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/icon_button.dart';
|
import 'package:flowy_infra_ui/style_widget/icon_button.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/text.dart';
|
import 'package:flowy_infra_ui/style_widget/text.dart';
|
||||||
import 'package:flowy_infra_ui/widget/spacing.dart';
|
import 'package:flowy_infra_ui/widget/spacing.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/trash_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/trash_create.pb.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import 'sizes.dart';
|
import 'sizes.dart';
|
||||||
|
|
|
@ -4,8 +4,8 @@ import 'package:app_flowy/workspace/presentation/home/navigation.dart';
|
||||||
import 'package:flowy_infra/size.dart';
|
import 'package:flowy_infra/size.dart';
|
||||||
import 'package:flowy_infra_ui/widget/rounded_button.dart';
|
import 'package:flowy_infra_ui/widget/rounded_button.dart';
|
||||||
import 'package:flowy_infra_ui/widget/spacing.dart';
|
import 'package:flowy_infra_ui/widget/spacing.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pbenum.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pbenum.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/extension.dart';
|
import 'package:flowy_infra_ui/style_widget/extension.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/text.dart';
|
import 'package:flowy_infra_ui/style_widget/text.dart';
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
import 'package:app_flowy/workspace/presentation/widgets/menu/widget/top_bar.dart';
|
import 'package:app_flowy/workspace/presentation/widgets/menu/widget/top_bar.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
|
||||||
import 'package:flowy_infra/notifier.dart';
|
import 'package:flowy_infra/notifier.dart';
|
||||||
import 'package:flowy_infra/size.dart';
|
import 'package:flowy_infra/size.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/scrolling/styled_list.dart';
|
import 'package:flowy_infra_ui/style_widget/scrolling/styled_list.dart';
|
||||||
import 'package:flowy_infra_ui/widget/spacing.dart';
|
import 'package:flowy_infra_ui/widget/spacing.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
|
@ -4,7 +4,7 @@ import 'package:flowy_infra_ui/flowy_infra_ui.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/hover.dart';
|
import 'package:flowy_infra_ui/style_widget/hover.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/icon_button.dart';
|
import 'package:flowy_infra_ui/style_widget/icon_button.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/text.dart';
|
import 'package:flowy_infra_ui/style_widget/text.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:styled_widget/styled_widget.dart';
|
import 'package:styled_widget/styled_widget.dart';
|
||||||
|
|
|
@ -6,7 +6,7 @@ import 'package:flowy_infra/theme.dart';
|
||||||
import 'package:flowy_infra_ui/flowy_infra_ui.dart';
|
import 'package:flowy_infra_ui/flowy_infra_ui.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/text.dart';
|
import 'package:flowy_infra_ui/style_widget/text.dart';
|
||||||
import 'package:flowy_infra_ui/widget/spacing.dart';
|
import 'package:flowy_infra_ui/widget/spacing.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/app_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/app_create.pb.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,6 @@ import 'package:app_flowy/workspace/presentation/widgets/pop_up_action.dart';
|
||||||
import 'package:dartz/dartz.dart' as dartz;
|
import 'package:dartz/dartz.dart' as dartz;
|
||||||
import 'package:flowy_infra_ui/flowy_infra_ui.dart';
|
import 'package:flowy_infra_ui/flowy_infra_ui.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:tuple/tuple.dart';
|
|
||||||
|
|
||||||
class AppDisclosureActions with ActionList<AppDisclosureActionWrapper> implements FlowyOverlayDelegate {
|
class AppDisclosureActions with ActionList<AppDisclosureActionWrapper> implements FlowyOverlayDelegate {
|
||||||
final Function(dartz.Option<AppDisclosureAction>) onSelected;
|
final Function(dartz.Option<AppDisclosureAction>) onSelected;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import 'package:app_flowy/workspace/presentation/widgets/menu/menu.dart';
|
import 'package:app_flowy/workspace/presentation/widgets/menu/menu.dart';
|
||||||
import 'package:app_flowy/workspace/presentation/widgets/menu/widget/app/header/header.dart';
|
import 'package:app_flowy/workspace/presentation/widgets/menu/widget/app/header/header.dart';
|
||||||
import 'package:expandable/expandable.dart';
|
import 'package:expandable/expandable.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/app_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/app_create.pb.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:app_flowy/startup/startup.dart';
|
import 'package:app_flowy/startup/startup.dart';
|
||||||
|
|
|
@ -5,7 +5,6 @@ import 'package:flowy_infra/image.dart';
|
||||||
import 'package:flowy_infra_ui/flowy_infra_ui.dart';
|
import 'package:flowy_infra_ui/flowy_infra_ui.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/icon_button.dart';
|
import 'package:flowy_infra_ui/style_widget/icon_button.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:tuple/tuple.dart';
|
|
||||||
|
|
||||||
// [[Widget: LifeCycle]]
|
// [[Widget: LifeCycle]]
|
||||||
// https://flutterbyexample.com/lesson/stateful-widget-lifecycle
|
// https://flutterbyexample.com/lesson/stateful-widget-lifecycle
|
||||||
|
|
|
@ -7,7 +7,7 @@ import 'package:flowy_infra/theme.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/hover.dart';
|
import 'package:flowy_infra_ui/style_widget/hover.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/text.dart';
|
import 'package:flowy_infra_ui/style_widget/text.dart';
|
||||||
import 'package:flowy_infra_ui/widget/spacing.dart';
|
import 'package:flowy_infra_ui/widget/spacing.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
|
@ -3,7 +3,7 @@ import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart';
|
||||||
import 'package:app_flowy/workspace/domain/view_ext.dart';
|
import 'package:app_flowy/workspace/domain/view_ext.dart';
|
||||||
import 'package:app_flowy/workspace/presentation/widgets/menu/menu.dart';
|
import 'package:app_flowy/workspace/presentation/widgets/menu/menu.dart';
|
||||||
import 'package:app_flowy/workspace/presentation/widgets/menu/widget/app/menu_app.dart';
|
import 'package:app_flowy/workspace/presentation/widgets/menu/widget/app/menu_app.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
import 'package:flowy_infra/size.dart';
|
import 'package:flowy_infra/size.dart';
|
||||||
import 'package:flowy_infra/theme.dart';
|
|
||||||
import 'package:flowy_infra_ui/style_widget/hover.dart';
|
import 'package:flowy_infra_ui/style_widget/hover.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/text.dart';
|
import 'package:flowy_infra_ui/style_widget/text.dart';
|
||||||
import 'package:flowy_infra_ui/widget/spacing.dart';
|
import 'package:flowy_infra_ui/widget/spacing.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:provider/provider.dart';
|
|
||||||
|
|
||||||
class FlowyButton extends StatelessWidget {
|
class FlowyButton extends StatelessWidget {
|
||||||
final Widget text;
|
final Widget text;
|
||||||
|
|
|
@ -2,6 +2,8 @@ import 'dart:ffi';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:flowy_log/flowy_log.dart';
|
import 'package:flowy_log/flowy_log.dart';
|
||||||
import 'package:flowy_sdk/protobuf/dart-ffi/ffi_response.pb.dart';
|
import 'package:flowy_sdk/protobuf/dart-ffi/ffi_response.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
||||||
|
import 'package:flowy_sdk/protobuf/flowy-workspace/event.pb.dart';
|
||||||
import 'package:isolates/isolates.dart';
|
import 'package:isolates/isolates.dart';
|
||||||
import 'package:isolates/ports.dart';
|
import 'package:isolates/ports.dart';
|
||||||
import 'package:ffi/ffi.dart';
|
import 'package:ffi/ffi.dart';
|
||||||
|
@ -12,7 +14,7 @@ import 'dart:typed_data';
|
||||||
import 'package:flowy_sdk/ffi.dart' as ffi;
|
import 'package:flowy_sdk/ffi.dart' as ffi;
|
||||||
import 'package:flowy_sdk/protobuf/flowy-user/protobuf.dart';
|
import 'package:flowy_sdk/protobuf/flowy-user/protobuf.dart';
|
||||||
import 'package:flowy_sdk/protobuf/dart-ffi/protobuf.dart';
|
import 'package:flowy_sdk/protobuf/dart-ffi/protobuf.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-workspace/protobuf.dart';
|
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/protobuf.dart';
|
||||||
import 'package:flowy_sdk/protobuf/flowy-document/protobuf.dart';
|
import 'package:flowy_sdk/protobuf/flowy-document/protobuf.dart';
|
||||||
// ignore: unused_import
|
// ignore: unused_import
|
||||||
import 'package:flowy_sdk/protobuf/flowy-infra/protobuf.dart';
|
import 'package:flowy_sdk/protobuf/flowy-infra/protobuf.dart';
|
||||||
|
@ -46,8 +48,7 @@ class Dispatch {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<Either<Uint8List, Uint8List>> _extractPayload(
|
Future<Either<Uint8List, Uint8List>> _extractPayload(Future<Either<FFIResponse, FlowyError>> responseFuture) {
|
||||||
Future<Either<FFIResponse, FlowyError>> responseFuture) {
|
|
||||||
return responseFuture.then((result) {
|
return responseFuture.then((result) {
|
||||||
return result.fold(
|
return result.fold(
|
||||||
(response) {
|
(response) {
|
||||||
|
@ -73,8 +74,7 @@ Future<Either<Uint8List, Uint8List>> _extractPayload(
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<Either<FFIResponse, FlowyError>> _extractResponse(
|
Future<Either<FFIResponse, FlowyError>> _extractResponse(Completer<Uint8List> bytesFuture) {
|
||||||
Completer<Uint8List> bytesFuture) {
|
|
||||||
return bytesFuture.future.then((bytes) {
|
return bytesFuture.future.then((bytes) {
|
||||||
try {
|
try {
|
||||||
final response = FFIResponse.fromBuffer(bytes);
|
final response = FFIResponse.fromBuffer(bytes);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue