1 Commits

Author SHA1 Message Date
Hanan Askarim
50a4ec2fb9 update mitra ibl 2026-03-26 14:43:42 +07:00
18 changed files with 72 additions and 414 deletions

BIN
images/ibl_login.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1014 KiB

BIN
images/logo_ibl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@@ -262,11 +262,11 @@ class Constant {
prt = "https://";
}
baseUrl = "$protocol//devbandungraya.aplikasi.web.id/one-api/one_mitra/";
ipAddress = "devbandungraya.aplikasi.web.id";
protocol = protocol;
// baseUrl = "$protocol//$text/one-api/one_mitra/";
// ipAddress = text;
// baseUrl = "$protocol//10.9.20.30/one-api/one_mitra/";
// ipAddress = "devbandungraya.aplikasi.web.id";
// protocol = protocol;
baseUrl = "$protocol//$text/one-api/one_mitra/";
ipAddress = text;
print(baseUrl);
}
}

View File

@@ -102,7 +102,7 @@ class MyApp extends StatelessWidget {
buttonColor: Constant.primaryRed,
),
cardColor: Colors.white,
cardTheme: CardTheme(color: Colors.white),
cardTheme: CardThemeData(color: Colors.white),
datePickerTheme: DatePickerThemeData(
locale: Locale("id", 'ID'),
backgroundColor: Colors.white,

View File

@@ -1,44 +0,0 @@
class AliasesModel {
String? userAliasesID;
String? userAliasesUserID;
String? userAliasesTargetIP;
String? userAliasesTargetUserID;
String? userAliasesTargetUsername;
String? userAliasesTargetUrl;
String? userAliasesTargetRegionalID;
String? userAliasesTargetRegionalName;
AliasesModel(
{this.userAliasesID,
this.userAliasesUserID,
this.userAliasesTargetIP,
this.userAliasesTargetUserID,
this.userAliasesTargetUsername,
this.userAliasesTargetUrl,
this.userAliasesTargetRegionalID,
this.userAliasesTargetRegionalName});
AliasesModel.fromJson(Map<String, dynamic> json) {
userAliasesID = json['userAliasesID'];
userAliasesUserID = json['userAliasesUserID'];
userAliasesTargetIP = json['userAliasesTargetIP'];
userAliasesTargetUserID = json['userAliasesTargetUserID'];
userAliasesTargetUsername = json['userAliasesTargetUsername'];
userAliasesTargetUrl = json['userAliasesTargetUrl'];
userAliasesTargetRegionalID = json['userAliasesTargetRegionalID'];
userAliasesTargetRegionalName = json['userAliasesTargetRegionalName'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['userAliasesID'] = userAliasesID;
data['userAliasesUserID'] = userAliasesUserID;
data['userAliasesTargetIP'] = userAliasesTargetIP;
data['userAliasesTargetUserID'] = userAliasesTargetUserID;
data['userAliasesTargetUsername'] = userAliasesTargetUsername;
data['userAliasesTargetUrl'] = userAliasesTargetUrl;
data['userAliasesTargetRegionalID'] = userAliasesTargetRegionalID;
data['userAliasesTargetRegionalName'] = userAliasesTargetRegionalName;
return data;
}
}

View File

@@ -1,59 +0,0 @@
import 'package:equatable/equatable.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'dio_provider.dart';
import '../repository/aliases_repository.dart';
import '../repository/base_repository.dart';
import '../model/aliases_model.dart';
abstract class AliasesState extends Equatable {
final DateTime date;
const AliasesState(this.date);
@override
List<Object?> get props => [date];
}
class AliasesStateInit extends AliasesState {
AliasesStateInit() : super(DateTime.now());
}
class AliasesStateLoading extends AliasesState {
AliasesStateLoading() : super(DateTime.now());
}
class AliasesStateError extends AliasesState {
final String? message;
AliasesStateError({
required this.message,
}) : super(DateTime.now());
}
class AliasesStateDone extends AliasesState {
final List<AliasesModel> model;
AliasesStateDone({
required this.model,
}) : super(DateTime.now());
}
class AliasesNotifier extends StateNotifier<AliasesState> {
final Ref ref;
AliasesNotifier({
required this.ref,
}) : super(AliasesStateInit());
void getAliases({required String token}) async {
try {
state = AliasesStateLoading();
final resp = await AliasesRepository(dio: ref.read(dioProvider)).getAliases(token: token);
state = AliasesStateDone(model: resp);
} catch (e) {
if (e is BaseRepositoryException) {
state = AliasesStateError(message: e.message ?? "");
} else {
state = AliasesStateError(message: e.toString());
}
}
}
}
final aliasesDataProvider = StateNotifierProvider<AliasesNotifier, AliasesState>((ref) => AliasesNotifier(ref: ref));

View File

@@ -1,62 +0,0 @@
import 'package:equatable/equatable.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'dio_provider.dart';
import '../repository/aliases_repository.dart';
import '../repository/base_repository.dart';
abstract class ReqCabangState extends Equatable {
final DateTime date;
const ReqCabangState(this.date);
@override
List<Object?> get props => [date];
}
class ReqCabangStateInit extends ReqCabangState {
ReqCabangStateInit() : super(DateTime.now());
}
class ReqCabangStateLoading extends ReqCabangState {
ReqCabangStateLoading() : super(DateTime.now());
}
class ReqCabangStateError extends ReqCabangState {
final String? message;
ReqCabangStateError({
required this.message,
}) : super(DateTime.now());
}
class ReqCabangStateDone extends ReqCabangState {
final String model;
ReqCabangStateDone({
required this.model,
}) : super(DateTime.now());
}
class ReqCabangNotifier extends StateNotifier<ReqCabangState> {
final Ref ref;
ReqCabangNotifier({
required this.ref,
}) : super(ReqCabangStateInit());
void requestTokenCabang({
required String token,
required String userID,
required String username,
required String targetUrl
}) async {
try {
state = ReqCabangStateLoading();
final resp = await AliasesRepository(dio: ref.read(dioProvider)).requestToken(token: token, userID: userID, username: username, targetUrl: targetUrl);
state = ReqCabangStateDone(model: resp);
} catch (e) {
if (e is BaseRepositoryException) {
state = ReqCabangStateError(message: e.message ?? "");
} else {
state = ReqCabangStateError(message: e.toString());
}
}
}
}
final reqCabangTokenProvider = StateNotifierProvider<ReqCabangNotifier, ReqCabangState>((ref) => ReqCabangNotifier(ref: ref));

View File

@@ -1,49 +0,0 @@
import '../app/constant.dart';
import '../model/aliases_model.dart';
import 'base_repository.dart';
class AliasesRepository extends BaseRepository {
AliasesRepository({required super.dio});
Future<List<AliasesModel>> getAliases({required String token}) async {
final param = {"token": token};
final service = "${Constant.baseUrl}authchange/getuseraliases";
final resp = await post(param: param, service: service);
var aliases = <AliasesModel>[];
if (resp['status'] == 'OK') {
resp['data'].forEach((v) {
aliases.add(AliasesModel.fromJson(v));
});
} else {
}
return aliases;
}
Future<String> requestToken({
required String token,
required String userID,
required String username,
required String targetUrl,
}) async {
final param = {
"token": token,
"userID": userID,
"username": username,
"targetUrl": targetUrl
};
final service = "${Constant.baseUrl}authchange/request_mitra_token";
final resp = await post(param: param, service: service);
if (resp['status'] == "OK") {
return resp['data'];
} else {
return resp['message'];
}
}
}

View File

@@ -1,7 +1,5 @@
import 'dart:convert';
import 'dart:html' as html;
import 'package:dart_jsonwebtoken/dart_jsonwebtoken.dart';
import 'package:eva_icons_flutter/eva_icons_flutter.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
@@ -38,28 +36,14 @@ class LoginBox extends HookConsumerWidget {
final regionalLoading = useState(false);
final isLoading = useState(false);
final errorMsg = useState("");
getPref() async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
final Uri currentUrl = Uri.parse(html.window.location.href);
final String? token = currentUrl.queryParameters['token'];
if (token != null) {
final jwt = JWT.decode(token);
final payload = jwt.payload;
AuthModel user = AuthModel.fromJson(payload);
user.token = token;
ref.read(authProvider.notifier).state = user;
final String? getData = prefs.getString(Constant.tokenName);
print(getData);
if (getData != null) {
ref.read(authProvider.notifier).state =
AuthModel.fromJson(jsonDecode(getData));
Navigator.pushNamed(context, homeRoute);
} else {
final String? getData = prefs.getString(Constant.tokenName);
print(getData);
if (getData != null) {
ref.read(authProvider.notifier).state =
AuthModel.fromJson(jsonDecode(getData));
Navigator.pushNamed(context, homeRoute);
}
}
}

View File

@@ -1,11 +1,10 @@
import 'package:flutter/material.dart';
import 'login_box.dart';
import 'package:mitra_corporate/screen/login/login_box.dart';
import '../../app/constant.dart';
class LoginScreen extends StatelessWidget {
const LoginScreen({super.key});
@override
Widget build(BuildContext context) {
return Material(
@@ -13,7 +12,7 @@ class LoginScreen extends StatelessWidget {
children: [
//image
Image.asset(
"images/pramita_login.png",
"images/ibl_login.png",
fit: BoxFit.fill,
width: Constant.getActualX(context: context, x: 1440),
height: Constant.getActualY(context: context, y: 1024),

View File

@@ -24,6 +24,7 @@ class DialogPendaftaranPasien extends HookConsumerWidget {
return Padding(
padding: const EdgeInsets.symmetric(horizontal: 40),
child: SimpleDialog(
backgroundColor: Color(0xFFFFF8F7),
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(12))),
contentPadding: const EdgeInsets.all(40.0),

View File

@@ -4,10 +4,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:intl/date_symbol_data_local.dart';
import 'package:intl/intl.dart';
import 'package:mitra_corporate/model/aliases_model.dart';
import 'package:mitra_corporate/provider/aliases_provider.dart';
import 'package:mitra_corporate/provider/menu_provider.dart';
import 'package:mitra_corporate/provider/pindah_branch_provider.dart';
import 'package:mitra_corporate/widgets/custom_text_field.dart';
import 'package:loading_animation_widget/loading_animation_widget.dart';
import 'package:shared_preferences/shared_preferences.dart';
@@ -17,7 +14,6 @@ import '../app/route.dart';
import '../provider/auth_provider.dart';
import '../screen/login/change_password_provider.dart';
import '../screen/login/logout_provider.dart';
import 'dart:html' as html;
import 'custom_snackbar_widget.dart';
class Header extends HookConsumerWidget {
@@ -31,8 +27,6 @@ class Header extends HookConsumerWidget {
final isExpand = ref.watch(sideBarExpandProvider);
final auth = ref.watch(authProvider);
final date = useState("");
final listAliases = useState<List<AliasesModel>>(List.empty());
ref.listen(logoutProvider, (prev, next) async {
if (next is LogoutStateLoading) {
} else if (next is LogoutStateError) {
@@ -47,13 +41,6 @@ class Header extends HookConsumerWidget {
}
}
});
fetchAliases() async {
String token = auth?.token ?? "0";
ref.read(aliasesDataProvider.notifier).getAliases(token: token);
}
useEffect(() {
WidgetsBinding.instance.addPostFrameCallback((timeStamp) async {
DateTime now = DateTime.now();
@@ -61,45 +48,9 @@ class Header extends HookConsumerWidget {
date.value = DateFormat('EEEE, d MMMM yyyy', "id").format(now);
print(DateFormat('EEEE, d MMMM yyyy', "id").format(now));
});
fetchAliases();
});
return () {};
}, []);
ref.listen(aliasesDataProvider, (pref, next) {
if (next is AliasesStateInit) {
} else if (next is AliasesStateLoading) {
} else if (next is AliasesStateError) {
SanckbarWidget(context, next.message ?? "", snackbarType.error);
} else if (next is AliasesStateDone) {
listAliases.value = next.model;
}
});
void openNewTab(String url) {
html.window.open(url, '_blank');
}
moveBranch(String userID, String username, String targetUrl) {
String token = auth?.token ?? "0";
ref.read(reqCabangTokenProvider.notifier).requestTokenCabang(token: token, userID: userID, username: username, targetUrl: targetUrl);
}
ref.listen(reqCabangTokenProvider, (prev, next) {
if (next is ReqCabangStateInit) {
} else if (next is ReqCabangStateLoading) {
} else if (next is ReqCabangStateError) {
SanckbarWidget(context, next.message ?? "", snackbarType.error);
} else if (next is ReqCabangStateDone) {
var url = next.model;
openNewTab("http://${url}");
}
});
return Container(
color: Colors.white,
alignment: Alignment.center,
@@ -234,27 +185,6 @@ class Header extends HookConsumerWidget {
style: Constant.body3_400(context: context),
),
),
...listAliases.value.isEmpty
? []
: listAliases.value.map((alias) {
return MenuItemButton(
leadingIcon: Icon(
EvaIcons.globe2Outline,
color: Constant.primaryRed,
),
child: Text(
alias.userAliasesTargetRegionalName ?? '',
style: Constant.body3_400(context: context),
),
onPressed: () {
moveBranch(
alias.userAliasesTargetUserID ?? "",
alias.userAliasesTargetUsername ?? "",
alias.userAliasesTargetIP ?? ""
);
},
);
}).toList(),
Container(
margin: EdgeInsets.only(top: 10, bottom: 10),
child: Center(

View File

@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'dart:html';
import 'dart:ui' as ui;
import 'dart:ui_web' as ui;
class IframeView extends StatefulWidget {
final String source;

View File

@@ -37,7 +37,7 @@ class SideMenu extends HookConsumerWidget {
left: 24, right: 24, top: 12, bottom: 12),
child: Row(
children: [
Image.asset('images/logo_pramita.png',
Image.asset('images/logo_ibl.png',
width: Constant.getActualX(
context: context, x: 147),
height: Constant.getActualY(

View File

@@ -1,14 +1,6 @@
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
adaptive_number:
dependency: transitive
description:
name: adaptive_number
sha256: "3a567544e9b5c9c803006f51140ad544aedc79604fd4f3f2c1380003f97c1d77"
url: "https://pub.dev"
source: hosted
version: "1.0.0"
age_calculator:
dependency: "direct main"
description:
@@ -69,34 +61,26 @@ packages:
dependency: transitive
description:
name: characters
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b
url: "https://pub.dev"
source: hosted
version: "1.3.0"
version: "1.4.1"
clock:
dependency: transitive
description:
name: clock
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
url: "https://pub.dev"
source: hosted
version: "1.1.1"
version: "1.1.2"
collection:
dependency: transitive
description:
name: collection
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
url: "https://pub.dev"
source: hosted
version: "1.18.0"
convert:
dependency: transitive
description:
name: convert
sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68
url: "https://pub.dev"
source: hosted
version: "3.1.2"
version: "1.19.1"
crypto:
dependency: transitive
description:
@@ -113,14 +97,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.0"
dart_jsonwebtoken:
dependency: "direct main"
description:
name: dart_jsonwebtoken
sha256: "866787dc17afaef46a9ea7dd33eefe60c6d82084b4a36d70e8e788d091cd04ef"
url: "https://pub.dev"
source: hosted
version: "2.14.2"
data_table_2:
dependency: "direct main"
description:
@@ -133,10 +109,10 @@ packages:
dependency: "direct main"
description:
name: date_field
sha256: "8643c8e5f2ee55b4b389fc567ee27186c5a63570f545b291d61f02ab6ca7981d"
sha256: a906ee049ccf5e3c78facb78159b6541a4bd5b00c7776d1da645ea1025a7e760
url: "https://pub.dev"
source: hosted
version: "5.2.1"
version: "5.3.4+1"
device_info_plus:
dependency: transitive
description:
@@ -169,14 +145,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.0.0"
ed25519_edwards:
dependency: transitive
description:
name: ed25519_edwards
sha256: "6ce0112d131327ec6d42beede1e5dfd526069b18ad45dcf654f15074ad9276cd"
url: "https://pub.dev"
source: hosted
version: "0.3.1"
equatable:
dependency: "direct main"
description:
@@ -205,10 +173,10 @@ packages:
dependency: transitive
description:
name: fake_async
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
url: "https://pub.dev"
source: hosted
version: "1.3.1"
version: "1.3.3"
ffi:
dependency: transitive
description:
@@ -425,26 +393,18 @@ packages:
dependency: "direct main"
description:
name: intl
sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5"
url: "https://pub.dev"
source: hosted
version: "0.19.0"
version: "0.20.2"
jiffy:
dependency: "direct main"
description:
name: jiffy
sha256: "3497caaa36d36a29033e66803c9739ce6bccbc7e241ca46070f76ee9e6f6eb0c"
sha256: e6f3b2aaec032f95ae917268edcbf007a5b834b57a602d39eb0ab17995a9c64a
url: "https://pub.dev"
source: hosted
version: "6.3.1"
js:
dependency: transitive
description:
name: js
sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf
url: "https://pub.dev"
source: hosted
version: "0.7.1"
version: "6.4.4"
just_the_tooltip:
dependency: "direct main"
description:
@@ -457,26 +417,26 @@ packages:
dependency: transitive
description:
name: leak_tracker
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de"
url: "https://pub.dev"
source: hosted
version: "10.0.5"
version: "11.0.2"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1"
url: "https://pub.dev"
source: hosted
version: "3.0.5"
version: "3.0.10"
leak_tracker_testing:
dependency: transitive
description:
name: leak_tracker_testing
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1"
url: "https://pub.dev"
source: hosted
version: "3.0.1"
version: "3.0.2"
linear_step_indicator:
dependency: "direct main"
description:
@@ -521,34 +481,34 @@ packages:
dependency: transitive
description:
name: matcher
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6"
url: "https://pub.dev"
source: hosted
version: "0.12.16+1"
version: "0.12.18"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b"
url: "https://pub.dev"
source: hosted
version: "0.11.1"
version: "0.13.0"
meta:
dependency: transitive
description:
name: meta
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394"
url: "https://pub.dev"
source: hosted
version: "1.15.0"
version: "1.17.0"
path:
dependency: transitive
description:
name: path
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
url: "https://pub.dev"
source: hosted
version: "1.9.0"
version: "1.9.1"
path_provider:
dependency: "direct main"
description:
@@ -669,14 +629,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.10.2+1"
pointycastle:
quiver:
dependency: transitive
description:
name: pointycastle
sha256: "4be0097fcf3fd3e8449e53730c631200ebc7b88016acecab2b0da2f0149222fe"
name: quiver
sha256: ea0b925899e64ecdfbf9c7becb60d5b50e706ade44a85b2363be2a22d88117d2
url: "https://pub.dev"
source: hosted
version: "3.9.1"
version: "3.2.2"
riverpod:
dependency: transitive
description:
@@ -761,7 +721,7 @@ packages:
dependency: transitive
description: flutter
source: sdk
version: "0.0.99"
version: "0.0.0"
source_span:
dependency: transitive
description:
@@ -782,10 +742,10 @@ packages:
dependency: transitive
description:
name: stack_trace
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
url: "https://pub.dev"
source: hosted
version: "1.11.1"
version: "1.12.1"
state_notifier:
dependency: transitive
description:
@@ -798,10 +758,10 @@ packages:
dependency: transitive
description:
name: stream_channel
sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
url: "https://pub.dev"
source: hosted
version: "2.1.2"
version: "2.1.4"
string_scanner:
dependency: transitive
description:
@@ -830,10 +790,10 @@ packages:
dependency: transitive
description:
name: test_api
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
sha256: "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636"
url: "https://pub.dev"
source: hosted
version: "0.7.2"
version: "0.7.9"
top_snackbar_flutter:
dependency: "direct main"
description:
@@ -950,18 +910,18 @@ packages:
dependency: transitive
description:
name: vector_math
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b
url: "https://pub.dev"
source: hosted
version: "2.1.4"
version: "2.2.0"
vm_service:
dependency: transitive
description:
name: vm_service
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc
url: "https://pub.dev"
source: hosted
version: "14.2.5"
version: "14.2.4"
web:
dependency: transitive
description:
@@ -1051,5 +1011,5 @@ packages:
source: hosted
version: "3.1.2"
sdks:
dart: ">=3.5.0 <4.0.0"
dart: ">=3.9.0-0 <4.0.0"
flutter: ">=3.24.0"

View File

@@ -1,6 +1,6 @@
name: mitra_corporate
description: "A new Flutter project."
publish_to: 'none'
publish_to: "none"
version: 0.1.0
environment:
@@ -10,7 +10,7 @@ dependencies:
flutter:
sdk: flutter
flutter_localizations: # Add this line
sdk: flutter # Add this line
sdk: flutter # Add this line
data_table_2: ^2.3.8
scroll_navigation: ^1.3.2
flutter_riverpod: ^2.5.1
@@ -18,7 +18,7 @@ dependencies:
hooks_riverpod: ^2.5.2
linear_step_indicator: ^1.0.0+3
equatable: ^2.0.5
intl: ^0.19.0
intl: ^0.20.2
dio: ^5.1.1
shared_preferences: ^2.2.1
top_snackbar_flutter: ^3.1.0
@@ -33,7 +33,7 @@ dependencies:
http: ^0.13.5
pdfx: ^2.3.0
internet_file: ^1.2.0
webview_flutter_web: ^0.2.2+4
webview_flutter: ^4.8.0
flutter_native_splash: ^2.4.1
@@ -46,20 +46,16 @@ dependencies:
# Use with the CupertinoIcons class for iOS style icons.
eva_icons_flutter: ^3.1.0
url_launcher: ^6.1.11
dart_jsonwebtoken: ^2.14.2
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^5.0.0
flutter_native_splash:
flutter_native_splash:
color: "#ffffff"
image: images/pramita_splash.png
flutter:
uses-material-design: true
assets:
@@ -70,12 +66,14 @@ flutter:
- images/pramita_login.png
- images/logo_pramita.png
- images/order_success.png
- images/logo_ibl.png
- images/ibl_login.png
fonts:
- family: OpenSans
fonts:
fonts:
- asset: fonts/OpenSans-Bold.ttf
- asset: fonts/OpenSans-ExtraBold.ttf
- asset: fonts/OpenSans-SemiBold.ttf
- asset: fonts/OpenSans-Medium.ttf
- asset: fonts/OpenSans-Regular.ttf
- asset: fonts/OpenSans-SemiBold.ttf
- asset: fonts/OpenSans-Medium.ttf
- asset: fonts/OpenSans-Regular.ttf

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

BIN
web/pramita_bkp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB