IAP
This commit is contained in:
parent
89f3f314a5
commit
bb4de2b31d
|
|
@ -270,7 +270,7 @@ abstract class AppState implements Built<AppState, AppStateBuilder> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() {
|
String toString() {
|
||||||
return 'URL: ${authState.url}';
|
return 'URL: ${authState.url}, ${selectedCompany.plan}';
|
||||||
//return 'Is Testing: ${uiState.isTesting}';
|
//return 'Is Testing: ${uiState.isTesting}';
|
||||||
//return 'Route: ${uiState.currentRoute}, Previous: ${uiState.previousRoute}, Layout: ${uiState.layout}, Menu: ${uiState.isMenuVisible}, History: ${uiState.isHistoryVisible}';
|
//return 'Route: ${uiState.currentRoute}, Previous: ${uiState.previousRoute}, Layout: ${uiState.layout}, Menu: ${uiState.isMenuVisible}, History: ${uiState.isHistoryVisible}';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import 'package:built_value/built_value.dart';
|
import 'package:built_value/built_value.dart';
|
||||||
import 'package:built_value/serializer.dart';
|
import 'package:built_value/serializer.dart';
|
||||||
import 'package:invoiceninja_flutter/constants.dart';
|
import 'package:invoiceninja_flutter/constants.dart';
|
||||||
|
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||||
|
|
||||||
part 'auth_state.g.dart';
|
part 'auth_state.g.dart';
|
||||||
|
|
||||||
|
|
@ -34,7 +35,8 @@ abstract class AuthState implements Built<AuthState, AuthStateBuilder> {
|
||||||
String get error;
|
String get error;
|
||||||
|
|
||||||
bool get isHosted =>
|
bool get isHosted =>
|
||||||
isAuthenticated && (url == null || url.isEmpty || url == kAppUrl);
|
isAuthenticated &&
|
||||||
|
(cleanApiUrl(url).isEmpty || cleanApiUrl(url) == kAppUrl);
|
||||||
|
|
||||||
bool get isSelfHost => isAuthenticated && !isHosted;
|
bool get isSelfHost => isAuthenticated && !isHosted;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ class LoadingIndicator extends StatelessWidget {
|
||||||
|
|
||||||
return Container(
|
return Container(
|
||||||
height: height,
|
height: height,
|
||||||
|
width: height,
|
||||||
child: Center(
|
child: Center(
|
||||||
child: CircularProgressIndicator(),
|
child: CircularProgressIndicator(),
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import 'package:invoiceninja_flutter/redux/ui/ui_state.dart';
|
||||||
import 'package:invoiceninja_flutter/ui/app/buttons/elevated_button.dart';
|
import 'package:invoiceninja_flutter/ui/app/buttons/elevated_button.dart';
|
||||||
import 'package:invoiceninja_flutter/ui/app/forms/decorated_form_field.dart';
|
import 'package:invoiceninja_flutter/ui/app/forms/decorated_form_field.dart';
|
||||||
import 'package:invoiceninja_flutter/ui/app/link_text.dart';
|
import 'package:invoiceninja_flutter/ui/app/link_text.dart';
|
||||||
|
import 'package:invoiceninja_flutter/ui/app/loading_indicator.dart';
|
||||||
import 'package:invoiceninja_flutter/ui/app/progress_button.dart';
|
import 'package:invoiceninja_flutter/ui/app/progress_button.dart';
|
||||||
import 'package:invoiceninja_flutter/ui/auth/login_vm.dart';
|
import 'package:invoiceninja_flutter/ui/auth/login_vm.dart';
|
||||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||||
|
|
@ -343,25 +344,27 @@ class _LoginState extends State<LoginView> {
|
||||||
),
|
),
|
||||||
Padding(
|
Padding(
|
||||||
padding: EdgeInsets.only(top: 30, bottom: 10),
|
padding: EdgeInsets.only(top: 30, bottom: 10),
|
||||||
child: _createAccount
|
child: viewModel.isLoading
|
||||||
? ProgressButton(
|
? LoadingIndicator(height: 50)
|
||||||
isLoading: viewModel.isLoading,
|
: _createAccount
|
||||||
|
? ElevatedButton(
|
||||||
label: localization.signUp.toUpperCase(),
|
label: localization.signUp.toUpperCase(),
|
||||||
onPressed: () => _submitSignUpForm(),
|
onPressed: () => _submitSignUpForm(),
|
||||||
)
|
)
|
||||||
: Row(
|
: Row(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Expanded(
|
Expanded(
|
||||||
child: ProgressButton(
|
child: ElevatedButton(
|
||||||
isLoading: viewModel.isLoading,
|
label:
|
||||||
label: localization.emailLogin.toUpperCase(),
|
localization.emailLogin.toUpperCase(),
|
||||||
onPressed: () => _submitLoginForm(),
|
onPressed: () => _submitLoginForm(),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(width: 20),
|
SizedBox(width: 20),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: ElevatedButton(
|
child: ElevatedButton(
|
||||||
label: localization.googleLogin.toUpperCase(),
|
label: localization.googleLogin
|
||||||
|
.toUpperCase(),
|
||||||
onPressed: () =>
|
onPressed: () =>
|
||||||
viewModel.onGoogleLoginPressed(
|
viewModel.onGoogleLoginPressed(
|
||||||
context,
|
context,
|
||||||
|
|
|
||||||
|
|
@ -279,7 +279,7 @@ String formatDate(String value, BuildContext context,
|
||||||
|
|
||||||
String formatApiUrl(String url) => cleanApiUrl(url) + '/api/v1';
|
String formatApiUrl(String url) => cleanApiUrl(url) + '/api/v1';
|
||||||
|
|
||||||
String cleanApiUrl(String url) => url
|
String cleanApiUrl(String url) => (url ?? '')
|
||||||
.trim()
|
.trim()
|
||||||
.replaceFirst(RegExp(r'/api/v1'), '')
|
.replaceFirst(RegExp(r'/api/v1'), '')
|
||||||
.replaceFirst(RegExp(r'/$'), '');
|
.replaceFirst(RegExp(r'/$'), '');
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue