Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Apus Drones
apus-drones-frontend
Commits
1fee488a
Commit
1fee488a
authored
3 years ago
by
Calebe Rocha
Browse files
Options
Download
Plain Diff
Merge branch 'develop' into feat/apk_settings
parents
ab43bf98
73391b2c
Changes
46
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
TODO
+4
-0
TODO
android/app/build.gradle
+1
-1
android/app/build.gradle
ios/Runner.xcodeproj/project.pbxproj
+18
-1
ios/Runner.xcodeproj/project.pbxproj
lib/assets/config.dart
+1
-0
lib/assets/config.dart
lib/constants/OrderStatus.dart
+9
-0
lib/constants/OrderStatus.dart
lib/constants/PartnerStatusEnum.dart
+20
-0
lib/constants/PartnerStatusEnum.dart
lib/controllers/SnackbarController.dart
+12
-0
lib/controllers/SnackbarController.dart
lib/main.dart
+3
-0
lib/main.dart
lib/models/AddressModel.dart
+4
-2
lib/models/AddressModel.dart
lib/models/AddressModel.g.dart
+3
-1
lib/models/AddressModel.g.dart
lib/models/CreateCustomer.dart
+2
-1
lib/models/CreateCustomer.dart
lib/models/CreateCustomer.g.dart
+1
-1
lib/models/CreateCustomer.g.dart
lib/models/OrderModel.g.dart
+1
-0
lib/models/OrderModel.g.dart
lib/models/PartnerModel.dart
+5
-2
lib/models/PartnerModel.dart
lib/models/PartnerModel.g.dart
+47
-0
lib/models/PartnerModel.g.dart
lib/models/PartnerOrderModel.g.dart
+1
-0
lib/models/PartnerOrderModel.g.dart
lib/models/PartnerStatus.dart
+14
-0
lib/models/PartnerStatus.dart
lib/models/PartnerStatus.g.dart
+18
-0
lib/models/PartnerStatus.g.dart
lib/providers/AuthProvider.dart
+8
-1
lib/providers/AuthProvider.dart
lib/screens/AdminScreen.dart
+8
-6
lib/screens/AdminScreen.dart
with
180 additions
and
16 deletions
+180
-16
TODO
0 → 100644
View file @
1fee488a
[] unificar telas de cadastro
[] extrair autocomplete para componente
[] melhorar o visual da lista de opções do autocomplete
[] colocar chave da API no .env e trocar a chave no console.
\ No newline at end of file
This diff is collapsed.
Click to expand it.
android/app/build.gradle
View file @
1fee488a
...
...
@@ -26,7 +26,7 @@ apply plugin: 'kotlin-android'
apply
from:
"$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android
{
compileSdkVersion
3
0
compileSdkVersion
3
1
sourceSets
{
main
.
java
.
srcDirs
+=
'src/main/kotlin'
...
...
This diff is collapsed.
Click to expand it.
ios/Runner.xcodeproj/project.pbxproj
View file @
1fee488a
...
...
@@ -140,7 +140,7 @@
9705A1C41CF9048500538489
/* Embed Frameworks */
,
3B06AD1E1E4923F5004D2608
/* Thin Binary */
,
2A4C32DD416AB0E8E7535EAC
/* [CP] Embed Pods Frameworks */
,
510A4B67432F9BC2FAE44F15
/* [CP] Copy Pods Resources */
,
B336D279043F45A45D6E31C9
/* [CP] Copy Pods Resources */
,
);
buildRules
=
(
);
...
...
@@ -261,6 +261,23 @@
shellPath
=
/bin/sh
;
shellScript
=
"/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"
;
};
B336D279043F45A45D6E31C9
/* [CP] Copy Pods Resources */
=
{
isa
=
PBXShellScriptBuildPhase
;
buildActionMask
=
2147483647
;
files
=
(
);
inputFileListPaths
=
(
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist"
,
);
name
=
"[CP] Copy Pods Resources"
;
outputFileListPaths
=
(
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist"
,
);
runOnlyForDeploymentPostprocessing
=
0
;
shellPath
=
/bin/sh
;
shellScript
=
"\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"
;
showEnvVarsInLog
=
0
;
};
BD1A9A31753C14C5DE35E157
/* [CP] Check Pods Manifest.lock */
=
{
isa
=
PBXShellScriptBuildPhase
;
buildActionMask
=
2147483647
;
...
...
This diff is collapsed.
Click to expand it.
lib/assets/config.dart
View file @
1fee488a
class
Config
{
static
String
apiURL
=
"http://
${const String.fromEnvironment('BASE_URL')}
/api/v1"
;
static
String
GOOGLE_API_KEY
=
"AIzaSyDI7x8LidXPYqOleg7SRXm_hHP7xYIBqz0"
;
}
This diff is collapsed.
Click to expand it.
lib/constants/OrderStatus.dart
View file @
1fee488a
import
'package:flutter/material.dart'
;
enum
OrderStatus
{
ALL
,
IN_CART
,
WAITING_FOR_PARTNER
,
ACCEPTED
,
...
...
@@ -30,6 +31,8 @@ extension OrderStatusDescription on OrderStatus {
return
'Em entrega'
;
case
OrderStatus
.
DELIVERED
:
return
'Entregue'
;
case
OrderStatus
.
ALL
:
return
'Todos'
;
default
:
return
'Desconhecido'
;
}
...
...
@@ -53,8 +56,14 @@ extension OrderStatusDescription on OrderStatus {
return
Colors
.
blue
;
case
OrderStatus
.
DELIVERED
:
return
Colors
.
green
;
case
OrderStatus
.
ALL
:
return
Colors
.
grey
;
default
:
return
Colors
.
grey
;
}
}
String
get
value
{
return
this
.
toString
().
split
(
'.'
).
last
;
}
}
This diff is collapsed.
Click to expand it.
lib/constants/PartnerStatusEnum.dart
0 → 100644
View file @
1fee488a
enum
PartnerStatusEnum
{
PENDING
,
APPROVED
,
REJECTED
,
}
extension
PartnerStatusDescription
on
PartnerStatusEnum
{
String
get
label
{
switch
(
this
)
{
case
PartnerStatusEnum
.
PENDING
:
return
'Pendente'
;
case
PartnerStatusEnum
.
APPROVED
:
return
'Aceito'
;
case
PartnerStatusEnum
.
REJECTED
:
return
'Rejeitado'
;
default
:
return
'Desconhecido'
;
}
}
}
This diff is collapsed.
Click to expand it.
lib/controllers/SnackbarController.dart
0 → 100644
View file @
1fee488a
import
'package:flutter/cupertino.dart'
;
import
'package:flutter/material.dart'
;
class
SnackbarController
{
open
(
String
text
,
BuildContext
context
)
{
ScaffoldMessenger
.
of
(
context
).
showSnackBar
(
SnackBar
(
content:
Text
(
text
),
),
);
}
}
This diff is collapsed.
Click to expand it.
lib/main.dart
View file @
1fee488a
...
...
@@ -2,10 +2,13 @@ import 'package:apus_drones_mobile/providers/ActiveBarItemProvider.dart';
import
'package:apus_drones_mobile/providers/AuthProvider.dart'
;
import
'package:apus_drones_mobile/providers/ProductsToDeliverStateProvider.dart'
;
import
'package:apus_drones_mobile/screens/CartScreen.dart'
;
import
'package:apus_drones_mobile/screens/CustomerProfile.dart'
;
import
'package:apus_drones_mobile/screens/CustomerEditProfileScreen.dart'
;
import
'package:apus_drones_mobile/screens/HomeScreen.dart'
;
import
'package:apus_drones_mobile/screens/LoginScreen.dart'
;
import
'package:apus_drones_mobile/screens/OrdersScreen.dart'
;
import
'package:apus_drones_mobile/screens/PartnerOrdersScreen.dart'
;
import
'package:apus_drones_mobile/screens/PartnerProfile.dart'
;
import
'package:apus_drones_mobile/screens/PaymentScreen.dart'
;
import
'package:apus_drones_mobile/screens/clients/ListOfPartners.dart'
;
import
'package:apus_drones_mobile/theme/AppTheme.dart'
;
...
...
This diff is collapsed.
Click to expand it.
lib/models/AddressModel.dart
View file @
1fee488a
...
...
@@ -5,18 +5,20 @@ part 'AddressModel.g.dart';
//flutter packages pub run build_runner build --delete-conflicting-outputs
@JsonSerializable
()
class
AddressModel
{
final
int
id
;
final
int
?
id
;
final
String
description
;
final
int
number
;
final
String
?
zipCode
;
final
double
lat
;
final
double
lng
;
AddressModel
({
required
this
.
id
,
this
.
id
,
required
this
.
description
,
required
this
.
number
,
required
this
.
lat
,
required
this
.
lng
,
this
.
zipCode
,
});
factory
AddressModel
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
=>
...
...
This diff is collapsed.
Click to expand it.
lib/models/AddressModel.g.dart
View file @
1fee488a
...
...
@@ -8,11 +8,12 @@ part of 'AddressModel.dart';
AddressModel
_$AddressModelFromJson
(
Map
<
String
,
dynamic
>
json
)
{
return
AddressModel
(
id:
json
[
'id'
]
as
int
,
id:
json
[
'id'
]
as
int
?
,
description:
json
[
'description'
]
as
String
,
number:
json
[
'number'
]
as
int
,
lat:
(
json
[
'lat'
]
as
num
).
toDouble
(),
lng:
(
json
[
'lng'
]
as
num
).
toDouble
(),
zipCode:
json
[
'zipCode'
]
as
String
?,
);
}
...
...
@@ -21,6 +22,7 @@ Map<String, dynamic> _$AddressModelToJson(AddressModel instance) =>
'id'
:
instance
.
id
,
'description'
:
instance
.
description
,
'number'
:
instance
.
number
,
'zipCode'
:
instance
.
zipCode
,
'lat'
:
instance
.
lat
,
'lng'
:
instance
.
lng
,
};
This diff is collapsed.
Click to expand it.
lib/models/CreateCustomer.dart
View file @
1fee488a
import
'package:apus_drones_mobile/models/AddressModel.dart'
;
import
'package:json_annotation/json_annotation.dart'
;
part
'CreateCustomer.g.dart'
;
//flutter packages pub run build_runner build --delete-conflicting-outputs
@JsonSerializable
()
class
CreateCustomer
{
String
address
;
AddressModel
address
;
String
avatarUrl
;
String
cpfCnpj
;
String
email
;
...
...
This diff is collapsed.
Click to expand it.
lib/models/CreateCustomer.g.dart
View file @
1fee488a
...
...
@@ -8,7 +8,7 @@ part of 'CreateCustomer.dart';
CreateCustomer
_$CreateCustomerFromJson
(
Map
<
String
,
dynamic
>
json
)
{
return
CreateCustomer
(
json
[
'address'
]
as
String
,
AddressModel
.
fromJson
(
json
[
'address'
]
as
Map
<
String
,
dynamic
>),
json
[
'avatarUrl'
]
as
String
,
json
[
'cpfCnpj'
]
as
String
,
json
[
'email'
]
as
String
,
...
...
This diff is collapsed.
Click to expand it.
lib/models/OrderModel.g.dart
View file @
1fee488a
...
...
@@ -69,6 +69,7 @@ K _$enumDecode<K, V>(
}
const
_$OrderStatusEnumMap
=
{
OrderStatus
.
ALL
:
'ALL'
,
OrderStatus
.
IN_CART
:
'IN_CART'
,
OrderStatus
.
WAITING_FOR_PARTNER
:
'WAITING_FOR_PARTNER'
,
OrderStatus
.
ACCEPTED
:
'ACCEPTED'
,
...
...
This diff is collapsed.
Click to expand it.
lib/models/PartnerModel.dart
View file @
1fee488a
import
'package:apus_drones_mobile/constants/PartnerStatusEnum.dart'
;
import
'package:apus_drones_mobile/models/AddressModel.dart'
;
import
'package:json_annotation/json_annotation.dart'
;
...
...
@@ -11,6 +12,8 @@ class PartnerModel {
final
String
?
email
;
final
String
?
cpfCnpj
;
final
List
<
AddressModel
>?
addresses
;
final
bool
?
deleted
;
PartnerStatusEnum
?
status
;
PartnerModel
({
required
this
.
id
,
...
...
@@ -19,6 +22,8 @@ class PartnerModel {
this
.
email
,
this
.
cpfCnpj
,
this
.
addresses
,
this
.
deleted
,
this
.
status
,
});
factory
PartnerModel
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
=>
...
...
@@ -30,5 +35,3 @@ class PartialPartner {
final
int
id
;
PartialPartner
(
this
.
id
);
}
This diff is collapsed.
Click to expand it.
lib/models/PartnerModel.g.dart
View file @
1fee488a
...
...
@@ -16,6 +16,8 @@ PartnerModel _$PartnerModelFromJson(Map<String, dynamic> json) {
addresses:
(
json
[
'addresses'
]
as
List
<
dynamic
>?)
?.
map
((
e
)
=>
AddressModel
.
fromJson
(
e
as
Map
<
String
,
dynamic
>))
.
toList
(),
deleted:
json
[
'deleted'
]
as
bool
?,
status:
_$enumDecodeNullable
(
_$PartnerStatusEnumEnumMap
,
json
[
'status'
]),
);
}
...
...
@@ -27,4 +29,49 @@ Map<String, dynamic> _$PartnerModelToJson(PartnerModel instance) =>
'email'
:
instance
.
email
,
'cpfCnpj'
:
instance
.
cpfCnpj
,
'addresses'
:
instance
.
addresses
,
'deleted'
:
instance
.
deleted
,
'status'
:
_$PartnerStatusEnumEnumMap
[
instance
.
status
],
};
K
_$enumDecode
<
K
,
V
>(
Map
<
K
,
V
>
enumValues
,
Object
?
source
,
{
K
?
unknownValue
,
})
{
if
(
source
==
null
)
{
throw
ArgumentError
(
'A value must be provided. Supported values: '
'
${enumValues.values.join(', ')}
'
,
);
}
return
enumValues
.
entries
.
singleWhere
(
(
e
)
=>
e
.
value
==
source
,
orElse:
()
{
if
(
unknownValue
==
null
)
{
throw
ArgumentError
(
'`
$source
` is not one of the supported values: '
'
${enumValues.values.join(', ')}
'
,
);
}
return
MapEntry
(
unknownValue
,
enumValues
.
values
.
first
);
},
).
key
;
}
K
?
_$enumDecodeNullable
<
K
,
V
>(
Map
<
K
,
V
>
enumValues
,
dynamic
source
,
{
K
?
unknownValue
,
})
{
if
(
source
==
null
)
{
return
null
;
}
return
_$enumDecode
<
K
,
V
>(
enumValues
,
source
,
unknownValue:
unknownValue
);
}
const
_$PartnerStatusEnumEnumMap
=
{
PartnerStatusEnum
.
PENDING
:
'PENDING'
,
PartnerStatusEnum
.
APPROVED
:
'APPROVED'
,
PartnerStatusEnum
.
REJECTED
:
'REJECTED'
,
};
This diff is collapsed.
Click to expand it.
lib/models/PartnerOrderModel.g.dart
View file @
1fee488a
...
...
@@ -70,6 +70,7 @@ K _$enumDecode<K, V>(
}
const
_$OrderStatusEnumMap
=
{
OrderStatus
.
ALL
:
'ALL'
,
OrderStatus
.
IN_CART
:
'IN_CART'
,
OrderStatus
.
WAITING_FOR_PARTNER
:
'WAITING_FOR_PARTNER'
,
OrderStatus
.
ACCEPTED
:
'ACCEPTED'
,
...
...
This diff is collapsed.
Click to expand it.
lib/models/PartnerStatus.dart
0 → 100644
View file @
1fee488a
import
'package:json_annotation/json_annotation.dart'
;
part
'PartnerStatus.g.dart'
;
//flutter packages pub run build_runner build --delete-conflicting-outputs
@JsonSerializable
()
class
PartnerStatus
{
bool
approved
;
PartnerStatus
(
this
.
approved
);
factory
PartnerStatus
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
=>
_$PartnerStatusFromJson
(
json
);
Map
<
String
,
dynamic
>
toJson
()
=>
_$PartnerStatusToJson
(
this
);
}
This diff is collapsed.
Click to expand it.
lib/models/PartnerStatus.g.dart
0 → 100644
View file @
1fee488a
// GENERATED CODE - DO NOT MODIFY BY HAND
part of
'PartnerStatus.dart'
;
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
PartnerStatus
_$PartnerStatusFromJson
(
Map
<
String
,
dynamic
>
json
)
{
return
PartnerStatus
(
json
[
'approved'
]
as
bool
,
);
}
Map
<
String
,
dynamic
>
_$PartnerStatusToJson
(
PartnerStatus
instance
)
=>
<
String
,
dynamic
>{
'approved'
:
instance
.
approved
,
};
This diff is collapsed.
Click to expand it.
lib/providers/AuthProvider.dart
View file @
1fee488a
...
...
@@ -29,7 +29,14 @@ class AuthProvider with ChangeNotifier {
}
Future
<
bool
>
isAuthenticated
()
async
{
return
await
getToken
()
!=
null
;
final
token
=
await
getTokenData
();
if
(
token
.
isEmpty
)
{
return
false
;
}
final
expTimestamp
=
token
[
"exp"
]
??
0
;
final
expireDate
=
DateTime
.
fromMillisecondsSinceEpoch
(
expTimestamp
*
1000
);
final
isExpired
=
expireDate
.
isBefore
(
DateTime
.
now
());
return
!
isExpired
;
}
Future
<
void
>
setToken
(
String
token
)
async
{
...
...
This diff is collapsed.
Click to expand it.
lib/screens/AdminScreen.dart
View file @
1fee488a
...
...
@@ -4,6 +4,8 @@ import 'package:apus_drones_mobile/services/PartnerService.dart';
import
'package:apus_drones_mobile/widgets/Partner.dart'
;
import
'package:flutter/material.dart'
;
import
'PartnerDetailScreen.dart'
;
class
AdminScreen
extends
StatefulWidget
{
AdminScreen
({
Key
?
key
})
:
super
(
key:
key
);
...
...
@@ -12,15 +14,14 @@ class AdminScreen extends StatefulWidget {
}
class
_AdminScreenState
extends
State
<
AdminScreen
>
{
List
<
PartnerModel
>
partnerList
=[];
List
<
PartnerModel
>
partnerList
=
[];
PartnerService
service
=
new
PartnerService
();
@override
void
initState
()
{
service
.
getAllPartners
().
then
((
value
)
=>
this
.
setState
(()
{
partnerList
=
value
;
}));
partnerList
=
value
;
}));
super
.
initState
();
}
...
...
@@ -47,7 +48,6 @@ class _AdminScreenState extends State<AdminScreen> {
Expanded
(
child:
ListView
.
builder
(
itemBuilder:
(
ctx
,
index
)
=>
GestureDetector
(
child:
Partner
(
model:
this
.
partnerList
[
index
],
),
...
...
@@ -60,4 +60,6 @@ class _AdminScreenState extends State<AdminScreen> {
),
);
}
}
\ No newline at end of file
}
This diff is collapsed.
Click to expand it.
Prev
1
2
3
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment