Suggest native app

This commit is contained in:
Hillel Coren 2021-10-21 17:21:15 +03:00
parent 8504e02713
commit 12426aed84
3 changed files with 39 additions and 5 deletions

View File

@ -101,6 +101,7 @@ abstract class AppState implements Built<AppState, AppStateBuilder> {
isLoading: false, isLoading: false,
isSaving: false, isSaving: false,
isTesting: false, isTesting: false,
dismissedNativeWarning: false,
lastError: '', lastError: '',
authState: AuthState( authState: AuthState(
url: url, url: url,
@ -129,6 +130,8 @@ abstract class AppState implements Built<AppState, AppStateBuilder> {
bool get isTesting; bool get isTesting;
bool get dismissedNativeWarning;
String get lastError; String get lastError;
AuthState get authState; AuthState get authState;

View File

@ -27,6 +27,9 @@ class _$AppStateSerializer implements StructuredSerializer<AppState> {
'isTesting', 'isTesting',
serializers.serialize(object.isTesting, serializers.serialize(object.isTesting,
specifiedType: const FullType(bool)), specifiedType: const FullType(bool)),
'dismissedNativeWarning',
serializers.serialize(object.dismissedNativeWarning,
specifiedType: const FullType(bool)),
'lastError', 'lastError',
serializers.serialize(object.lastError, serializers.serialize(object.lastError,
specifiedType: const FullType(String)), specifiedType: const FullType(String)),
@ -74,6 +77,10 @@ class _$AppStateSerializer implements StructuredSerializer<AppState> {
result.isTesting = serializers.deserialize(value, result.isTesting = serializers.deserialize(value,
specifiedType: const FullType(bool)) as bool; specifiedType: const FullType(bool)) as bool;
break; break;
case 'dismissedNativeWarning':
result.dismissedNativeWarning = serializers.deserialize(value,
specifiedType: const FullType(bool)) as bool;
break;
case 'lastError': case 'lastError':
result.lastError = serializers.deserialize(value, result.lastError = serializers.deserialize(value,
specifiedType: const FullType(String)) as String; specifiedType: const FullType(String)) as String;
@ -115,6 +122,8 @@ class _$AppState extends AppState {
@override @override
final bool isTesting; final bool isTesting;
@override @override
final bool dismissedNativeWarning;
@override
final String lastError; final String lastError;
@override @override
final AuthState authState; final AuthState authState;
@ -134,6 +143,7 @@ class _$AppState extends AppState {
{this.isLoading, {this.isLoading,
this.isSaving, this.isSaving,
this.isTesting, this.isTesting,
this.dismissedNativeWarning,
this.lastError, this.lastError,
this.authState, this.authState,
this.staticState, this.staticState,
@ -144,6 +154,8 @@ class _$AppState extends AppState {
BuiltValueNullFieldError.checkNotNull(isLoading, 'AppState', 'isLoading'); BuiltValueNullFieldError.checkNotNull(isLoading, 'AppState', 'isLoading');
BuiltValueNullFieldError.checkNotNull(isSaving, 'AppState', 'isSaving'); BuiltValueNullFieldError.checkNotNull(isSaving, 'AppState', 'isSaving');
BuiltValueNullFieldError.checkNotNull(isTesting, 'AppState', 'isTesting'); BuiltValueNullFieldError.checkNotNull(isTesting, 'AppState', 'isTesting');
BuiltValueNullFieldError.checkNotNull(
dismissedNativeWarning, 'AppState', 'dismissedNativeWarning');
BuiltValueNullFieldError.checkNotNull(lastError, 'AppState', 'lastError'); BuiltValueNullFieldError.checkNotNull(lastError, 'AppState', 'lastError');
BuiltValueNullFieldError.checkNotNull(authState, 'AppState', 'authState'); BuiltValueNullFieldError.checkNotNull(authState, 'AppState', 'authState');
BuiltValueNullFieldError.checkNotNull( BuiltValueNullFieldError.checkNotNull(
@ -168,6 +180,7 @@ class _$AppState extends AppState {
isLoading == other.isLoading && isLoading == other.isLoading &&
isSaving == other.isSaving && isSaving == other.isSaving &&
isTesting == other.isTesting && isTesting == other.isTesting &&
dismissedNativeWarning == other.dismissedNativeWarning &&
lastError == other.lastError && lastError == other.lastError &&
authState == other.authState && authState == other.authState &&
staticState == other.staticState && staticState == other.staticState &&
@ -186,9 +199,11 @@ class _$AppState extends AppState {
$jc( $jc(
$jc( $jc(
$jc( $jc(
$jc($jc(0, isLoading.hashCode), $jc(
isSaving.hashCode), $jc($jc(0, isLoading.hashCode),
isTesting.hashCode), isSaving.hashCode),
isTesting.hashCode),
dismissedNativeWarning.hashCode),
lastError.hashCode), lastError.hashCode),
authState.hashCode), authState.hashCode),
staticState.hashCode), staticState.hashCode),
@ -213,6 +228,11 @@ class AppStateBuilder implements Builder<AppState, AppStateBuilder> {
bool get isTesting => _$this._isTesting; bool get isTesting => _$this._isTesting;
set isTesting(bool isTesting) => _$this._isTesting = isTesting; set isTesting(bool isTesting) => _$this._isTesting = isTesting;
bool _dismissedNativeWarning;
bool get dismissedNativeWarning => _$this._dismissedNativeWarning;
set dismissedNativeWarning(bool dismissedNativeWarning) =>
_$this._dismissedNativeWarning = dismissedNativeWarning;
String _lastError; String _lastError;
String get lastError => _$this._lastError; String get lastError => _$this._lastError;
set lastError(String lastError) => _$this._lastError = lastError; set lastError(String lastError) => _$this._lastError = lastError;
@ -251,6 +271,7 @@ class AppStateBuilder implements Builder<AppState, AppStateBuilder> {
_isLoading = $v.isLoading; _isLoading = $v.isLoading;
_isSaving = $v.isSaving; _isSaving = $v.isSaving;
_isTesting = $v.isTesting; _isTesting = $v.isTesting;
_dismissedNativeWarning = $v.dismissedNativeWarning;
_lastError = $v.lastError; _lastError = $v.lastError;
_authState = $v.authState.toBuilder(); _authState = $v.authState.toBuilder();
_staticState = $v.staticState.toBuilder(); _staticState = $v.staticState.toBuilder();
@ -285,6 +306,8 @@ class AppStateBuilder implements Builder<AppState, AppStateBuilder> {
isSaving, 'AppState', 'isSaving'), isSaving, 'AppState', 'isSaving'),
isTesting: BuiltValueNullFieldError.checkNotNull( isTesting: BuiltValueNullFieldError.checkNotNull(
isTesting, 'AppState', 'isTesting'), isTesting, 'AppState', 'isTesting'),
dismissedNativeWarning: BuiltValueNullFieldError.checkNotNull(
dismissedNativeWarning, 'AppState', 'dismissedNativeWarning'),
lastError: BuiltValueNullFieldError.checkNotNull( lastError: BuiltValueNullFieldError.checkNotNull(
lastError, 'AppState', 'lastError'), lastError, 'AppState', 'lastError'),
authState: authState.build(), authState: authState.build(),

View File

@ -1,5 +1,4 @@
import 'dart:convert'; import 'dart:convert';
import 'dart:io';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -20,7 +19,6 @@ import 'package:invoiceninja_flutter/ui/app/forms/app_dropdown_button.dart';
import 'package:invoiceninja_flutter/ui/app/icon_text.dart'; import 'package:invoiceninja_flutter/ui/app/icon_text.dart';
import 'package:invoiceninja_flutter/ui/app/resources/cached_image.dart'; import 'package:invoiceninja_flutter/ui/app/resources/cached_image.dart';
import 'package:invoiceninja_flutter/ui/app/scrollable_listview.dart'; import 'package:invoiceninja_flutter/ui/app/scrollable_listview.dart';
import 'package:invoiceninja_flutter/ui/app/upgrade_dialog.dart';
import 'package:invoiceninja_flutter/ui/system/update_dialog.dart'; import 'package:invoiceninja_flutter/ui/system/update_dialog.dart';
import 'package:invoiceninja_flutter/utils/dialogs.dart'; import 'package:invoiceninja_flutter/utils/dialogs.dart';
import 'package:invoiceninja_flutter/utils/formatting.dart'; import 'package:invoiceninja_flutter/utils/formatting.dart';
@ -757,6 +755,14 @@ class SidebarFooter extends StatelessWidget {
Icons.warning, Icons.warning,
color: Colors.orange, color: Colors.orange,
), ),
)
else if (!state.dismissedNativeWarning && false)
IconButton(
onPressed: () => null,
icon: Icon(
Icons.warning,
color: Colors.orange,
),
), ),
if (isHosted(context) && !isPaidAccount(context) && !isApple()) if (isHosted(context) && !isPaidAccount(context) && !isApple())
IconButton( IconButton(
@ -766,6 +772,7 @@ class SidebarFooter extends StatelessWidget {
icon: Icon(Icons.arrow_circle_up), icon: Icon(Icons.arrow_circle_up),
color: Colors.green, color: Colors.green,
onPressed: () async { onPressed: () async {
/*
if (isHosted(context) && if (isHosted(context) &&
!kIsWeb && !kIsWeb &&
(Platform.isIOS || Platform.isAndroid)) { (Platform.isIOS || Platform.isAndroid)) {
@ -775,6 +782,7 @@ class SidebarFooter extends StatelessWidget {
return UpgradeDialog(); return UpgradeDialog();
}); });
} }
*/
if (isHosted(context)) { if (isHosted(context)) {
launch(state.userCompany.ninjaPortalUrl); launch(state.userCompany.ninjaPortalUrl);