diff --git a/.gitignore b/.gitignore index 79c113f..c837fb1 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,12 @@ app.*.map.json /android/app/debug /android/app/profile /android/app/release + +# Place unity project here +/unity + +# flutter will place unity Library dependency here +/unityLibrary + +# unityLibrary will place build here +/android/unityLibrary \ No newline at end of file diff --git a/lib/components/bottom_navbar.dart b/lib/components/bottom_navbar.dart index b9e7e67..3278b96 100644 --- a/lib/components/bottom_navbar.dart +++ b/lib/components/bottom_navbar.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; -import 'package:furibase/components/navbar_container.dart'; -import 'package:furibase/components/navbar_shape_1.dart'; -import 'package:furibase/components/navbar_shape_2.dart'; -import 'package:furibase/components/navbar_shape_3.dart'; -import 'package:furibase/components/custom_shape.dart'; +import 'package:freekake/components/navbar_container.dart'; +import 'package:freekake/components/navbar_shape_1.dart'; +import 'package:freekake/components/navbar_shape_2.dart'; +import 'package:freekake/components/navbar_shape_3.dart'; +import 'package:freekake/components/custom_shape.dart'; class BottomNavbar extends StatefulWidget { const BottomNavbar({super.key}); diff --git a/lib/components/custom_shape.dart b/lib/components/custom_shape.dart index 345c6e5..5efc010 100644 --- a/lib/components/custom_shape.dart +++ b/lib/components/custom_shape.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:furibase/components/navbar_shape_2.dart'; +import 'package:freekake/components/navbar_shape_2.dart'; class CustomShape extends StatelessWidget { const CustomShape({super.key}); diff --git a/lib/components/main_menu.dart b/lib/components/main_menu.dart index 5c572a6..9ceb644 100644 --- a/lib/components/main_menu.dart +++ b/lib/components/main_menu.dart @@ -2,11 +2,11 @@ import 'package:flutter/material.dart'; import 'package:furibase/components/bottom_navbar.dart'; import 'package:furibase/components/menu_button.dart'; import 'package:furibase/components/scan_button.dart'; -import 'package:furibase/providers/menu_selection_provider.dart'; import 'package:furibase/screen/Home_screen.dart'; import 'package:furibase/screen/koleksi_screen.dart'; import 'package:furibase/screen/pustaka_screen.dart'; import 'package:furibase/screen/saya/profile_screen.dart'; +import 'package:furibase/providers/menu_selection_provider.dart'; import 'package:provider/provider.dart'; class MainMenu extends StatefulWidget { diff --git a/lib/components/menu_button.dart b/lib/components/menu_button.dart index 66f5ef0..61592b9 100644 --- a/lib/components/menu_button.dart +++ b/lib/components/menu_button.dart @@ -28,8 +28,8 @@ class MenuButton extends StatelessWidget { IconButton( icon: SvgPicture.asset( icon ?? '', - width: w ?? 28, - height: h ?? 28, + width: w ?? 24, + height: h ?? 24, // allowDrawingOutsideViewBox: true, colorFilter: ColorFilter.mode( (isSelected ?? false) @@ -48,6 +48,7 @@ class MenuButton extends StatelessWidget { ? Color.fromARGB(255, 216, 182, 10) : Color.fromARGB(255, 239, 224, 232), fontWeight: FontWeight.bold, + fontSize: 10, ), ), ], diff --git a/lib/components/navbar_container.dart b/lib/components/navbar_container.dart index 418e0f4..2ed12cf 100644 --- a/lib/components/navbar_container.dart +++ b/lib/components/navbar_container.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:furibase/components/navbar_shape_2.dart'; +import 'package:freekake/components/navbar_shape_2.dart'; class NavbarContainer extends StatelessWidget { const NavbarContainer({super.key}); diff --git a/lib/helpers/image_picker_mobile.dart b/lib/helpers/image_picker_mobile.dart new file mode 100644 index 0000000..bf49f5b --- /dev/null +++ b/lib/helpers/image_picker_mobile.dart @@ -0,0 +1,14 @@ +import 'dart:io'; +import 'package:image_picker/image_picker.dart'; + +class ImagePickerHelper { + Future pickImage() async { + final ImagePicker picker = ImagePicker(); + final XFile? pickedFile = await picker.pickImage(source: ImageSource.gallery); + + if (pickedFile != null) { + File imageFile = File(pickedFile.path); + return imageFile; + } + } +} \ No newline at end of file diff --git a/lib/helpers/image_picker_stub.dart b/lib/helpers/image_picker_stub.dart new file mode 100644 index 0000000..0f4d0d2 --- /dev/null +++ b/lib/helpers/image_picker_stub.dart @@ -0,0 +1,5 @@ +class ImagePickerHelper { + Future pickImage() async { + throw UnsupportedError('pickImage is not supported on this platform'); + } +} \ No newline at end of file diff --git a/lib/helpers/image_picker_web.dart b/lib/helpers/image_picker_web.dart new file mode 100644 index 0000000..86be7f0 --- /dev/null +++ b/lib/helpers/image_picker_web.dart @@ -0,0 +1,35 @@ +// import 'package:image_picker_web/image_picker_web.dart'; +// import 'dart:typed_data'; + +// class ImagePickerHelper { +// Future pickImage() async { +// Uint8List? bytesFromPicker = await ImagePickerWeb.getImageAsBytes(); +// if (bytesFromPicker != null) { +// return bytesFromPicker; +// } +// } +// } + +import 'dart:typed_data'; +import 'dart:html' as html; + +class ImagePickerHelper { + Future pickImage() async { + html.FileUploadInputElement uploadInput = html.FileUploadInputElement(); + uploadInput.accept = 'image/*'; + uploadInput.click(); + + uploadInput.onChange.listen((event) async { + final file = uploadInput.files!.first; + final reader = html.FileReader(); + + reader.readAsArrayBuffer(file); + reader.onLoadEnd.listen((event) { + Uint8List imageBytes = reader.result as Uint8List; + if (imageBytes != null) { + return imageBytes; + } + }); + }); + } +} \ No newline at end of file diff --git a/lib/helpers/pick_image.dart b/lib/helpers/pick_image.dart new file mode 100644 index 0000000..e01473f --- /dev/null +++ b/lib/helpers/pick_image.dart @@ -0,0 +1,3 @@ +export 'image_picker_stub.dart' + if (dart.library.html) 'image_picker_web.dart' + if (dart.library.io) 'image_picker_mobile.dart'; \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 44ad66a..eed7195 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:furibase/components/navbar_container.dart'; import 'package:furibase/providers/character_provider.dart'; import 'package:furibase/providers/menu_selection_provider.dart'; import 'package:furibase/screen/Home_screen.dart'; diff --git a/lib/screen/Home_screen.dart b/lib/screen/Home_screen.dart index 8704ea2..4b51d79 100644 --- a/lib/screen/Home_screen.dart +++ b/lib/screen/Home_screen.dart @@ -1,9 +1,11 @@ import 'package:dropdown_button2/dropdown_button2.dart'; import 'package:flutter/material.dart'; -import 'package:furibase/components/bottom_navbar.dart'; -import 'package:furibase/components/buildcard_info.dart'; -import 'package:furibase/components/main_menu.dart'; -import 'package:furibase/components/scan_button.dart'; +import 'package:freekake/components/bottom_navbar.dart'; +import 'package:freekake/components/buildcard_info.dart'; +import 'package:freekake/components/main_menu.dart'; +import 'package:freekake/components/scan_button.dart'; +import 'package:freekake/components/topbar_container.dart'; +import 'package:flutter_unity_widget/flutter_unity_widget.dart'; class HomeScreen extends StatefulWidget { HomeScreen({super.key}); @@ -17,6 +19,7 @@ class _HomeScreenState extends State { double _sliderValue = 0.0; static const Color transparent = Color(0xFFFFFFFF); // Image image + late UnityWidgetController _unityWidgetController; @override Widget build(BuildContext context) { @@ -268,6 +271,14 @@ class _HomeScreenState extends State { ); } + void onUnityCreated(controller) { + _unityWidgetController = controller; + } + + void onUnityMessage(message) { + print('Received message from unity: ${message.toString()}'); + } + // Widget _menuButton(String label, Widget icon) { // return Expanded( // child: Column( @@ -308,7 +319,7 @@ class _HomeScreenState extends State { // } Widget setHomeImage(String src, double size) { - return Image.asset(src, width: size); + return Image.asset("assets/" + src, width: size); } } diff --git a/lib/screen/collection/collection_caracter_screen.dart b/lib/screen/collection/collection_caracter_screen.dart index d6629b3..7c835cf 100644 --- a/lib/screen/collection/collection_caracter_screen.dart +++ b/lib/screen/collection/collection_caracter_screen.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:furibase/components/collection_container.dart'; +import 'package:freekake/components/collection_container.dart'; class CollectionCaraterScreen extends StatefulWidget { const CollectionCaraterScreen({super.key}); @@ -22,7 +22,7 @@ class _CollectionCaraterScreenState extends State { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text("Favorite", style: TextStyle(color: Colors.black)), + Text("Favorit", style: TextStyle(color: Colors.black)), Divider(height: 20, color: Colors.transparent), SingleChildScrollView( scrollDirection: Axis.horizontal, @@ -46,7 +46,7 @@ class _CollectionCaraterScreenState extends State { ), ), Divider(height: 20, color: Colors.transparent), - Text("All", style: TextStyle(color: Colors.black)), + Text("Semua", style: TextStyle(color: Colors.black)), Divider(height: 20, color: Colors.transparent), SingleChildScrollView( scrollDirection: Axis.horizontal, diff --git a/lib/screen/collection/collection_fragment_screen.dart b/lib/screen/collection/collection_fragment_screen.dart index cf17f8d..8ce622a 100644 --- a/lib/screen/collection/collection_fragment_screen.dart +++ b/lib/screen/collection/collection_fragment_screen.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; -import 'package:furibase/components/collection_container.dart'; -import 'package:furibase/helpers/color_helper.dart'; +import 'package:freekake/components/collection_container.dart'; +import 'package:freekake/helpers/color_helper.dart'; class CollectionFragmentScreen extends StatefulWidget { const CollectionFragmentScreen({super.key}); diff --git a/lib/screen/collection/collection_skin_screen.dart b/lib/screen/collection/collection_skin_screen.dart index 941f5eb..4a05621 100644 --- a/lib/screen/collection/collection_skin_screen.dart +++ b/lib/screen/collection/collection_skin_screen.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:furibase/components/collection_container.dart'; +import 'package:freekake/components/collection_container.dart'; class CollectionSkinScreen extends StatefulWidget { const CollectionSkinScreen({super.key}); @@ -53,7 +53,7 @@ class _CollectionSkinScreenState extends State { ), ), Divider(height: 20, color: Colors.transparent), - Text("Others", style: TextStyle(color: Colors.black)), + Text("Lainnya", style: TextStyle(color: Colors.black)), Divider(height: 10), SingleChildScrollView( scrollDirection: Axis.horizontal, diff --git a/lib/screen/drraw_screen.dart b/lib/screen/drraw_screen.dart index 904ac6a..0eff846 100644 --- a/lib/screen/drraw_screen.dart +++ b/lib/screen/drraw_screen.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:furibase/components/navbar_container.dart'; +import 'package:freekake/components/navbar_container.dart'; class DrawScreen extends StatelessWidget { const DrawScreen({super.key}); diff --git a/lib/screen/koleksi_screen.dart b/lib/screen/koleksi_screen.dart index 5d41cac..bafaa10 100644 --- a/lib/screen/koleksi_screen.dart +++ b/lib/screen/koleksi_screen.dart @@ -1,14 +1,14 @@ import 'package:flutter/material.dart'; -import 'package:furibase/components/bottom_navbar.dart'; -import 'package:furibase/components/buildcard_info.dart'; -import 'package:furibase/components/curve_bottom_border_tab.dart'; -import 'package:furibase/components/main_menu.dart'; -import 'package:furibase/components/scan_button.dart'; -import 'package:furibase/components/tab_menu.dart'; -import 'package:furibase/components/topbar_container.dart'; -import 'package:furibase/screen/collection/collection_caracter_screen.dart'; -import 'package:furibase/screen/collection/collection_fragment_screen.dart'; -import 'package:furibase/screen/collection/collection_skin_screen.dart'; +import 'package:freekake/components/bottom_navbar.dart'; +import 'package:freekake/components/buildcard_info.dart'; +import 'package:freekake/components/curve_bottom_border_tab.dart'; +import 'package:freekake/components/main_menu.dart'; +import 'package:freekake/components/scan_button.dart'; +import 'package:freekake/components/tab_menu.dart'; +import 'package:freekake/components/topbar_container.dart'; +import 'package:freekake/screen/collection/collection_caracter_screen.dart'; +import 'package:freekake/screen/collection/collection_fragment_screen.dart'; +import 'package:freekake/screen/collection/collection_skin_screen.dart'; class KoleksiScreen extends StatefulWidget { const KoleksiScreen({super.key}); diff --git a/lib/screen/pustaka/list_education.dart b/lib/screen/pustaka/list_education.dart index d3cfcb2..78e8189 100644 --- a/lib/screen/pustaka/list_education.dart +++ b/lib/screen/pustaka/list_education.dart @@ -3,16 +3,13 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:furibase/components/card_list.dart'; -import 'package:furibase/components/collection_container%20copy.dart'; -// import 'package:furibase/components/main_menu.dart'; -// import 'package:furibase/components/topbar_container.dart'; -import 'package:furibase/helpers/color_helper.dart'; -import 'package:list_detail_extension/list_detail_extension.dart'; - -// import 'package:furibase/screen/pustaka/pustaka_detail_screen.dart'; -import 'package:webview_flutter/webview_flutter.dart'; -import 'package:flutter/foundation.dart' show kIsWeb; +import 'package:freekake/components/buildcard_info.dart'; +import 'package:freekake/components/card_list.dart'; +import 'package:freekake/components/collection_container%20copy.dart'; +import 'package:freekake/components/main_menu.dart'; +import 'package:freekake/components/topbar_container.dart'; +import 'package:freekake/helpers/color_helper.dart'; +import 'package:freekake/screen/pustaka/pustaka_detail_screen.dart'; class ListEducation extends StatefulWidget { const ListEducation({super.key}); diff --git a/lib/screen/pustaka/pustaka_detail_screen copy.dart b/lib/screen/pustaka/pustaka_detail_screen copy.dart index 4a7f622..6d8d9f9 100644 --- a/lib/screen/pustaka/pustaka_detail_screen copy.dart +++ b/lib/screen/pustaka/pustaka_detail_screen copy.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; -import 'package:furibase/components/buildcard_info.dart'; -import 'package:furibase/components/collection_container.dart'; +import 'package:freekakes/components/buildcard_info.dart'; +import 'package:freekake/components/collection_container.dart'; class DetailScreen extends StatefulWidget { final String title; diff --git a/lib/screen/pustaka_screen copy 2.dart b/lib/screen/pustaka_screen copy 2.dart index 0af1108..13261f9 100644 --- a/lib/screen/pustaka_screen copy 2.dart +++ b/lib/screen/pustaka_screen copy 2.dart @@ -108,7 +108,7 @@ class _PustakaScreenState extends State { children: [ CollectionContainer( label: "Luffy", - imagesrc: 'images/luffy.png', + imagesrc: 'assets/images/luffy.png', width: 100, height: 100, onTapAc: diff --git a/lib/screen/pustaka_screen copy.dart b/lib/screen/pustaka_screen copy.dart index 0af1108..13261f9 100644 --- a/lib/screen/pustaka_screen copy.dart +++ b/lib/screen/pustaka_screen copy.dart @@ -108,7 +108,7 @@ class _PustakaScreenState extends State { children: [ CollectionContainer( label: "Luffy", - imagesrc: 'images/luffy.png', + imagesrc: 'assets/images/luffy.png', width: 100, height: 100, onTapAc: diff --git a/lib/screen/pustaka_screen.dart b/lib/screen/pustaka_screen.dart index 210d068..3a725a3 100644 --- a/lib/screen/pustaka_screen.dart +++ b/lib/screen/pustaka_screen.dart @@ -1,12 +1,12 @@ import 'package:flutter/material.dart'; -import 'package:furibase/components/bottom_navbar.dart'; -import 'package:furibase/components/buildcard_info.dart'; -import 'package:furibase/components/collection_container.dart'; -import 'package:furibase/components/main_menu.dart'; -import 'package:furibase/components/scan_button.dart'; -import 'package:furibase/components/topbar_container.dart'; -import 'package:furibase/helpers/color_helper.dart'; -import 'package:furibase/screen/pustaka/list_education.dart'; +import 'package:freekake/components/bottom_navbar.dart'; +import 'package:freekake/components/buildcard_info.dart'; +import 'package:freekake/components/collection_container.dart'; +import 'package:freekake/components/main_menu.dart'; +import 'package:freekake/components/scan_button.dart'; +import 'package:freekake/components/topbar_container.dart'; +import 'package:freekake/helpers/color_helper.dart'; +import 'package:freekake/screen/pustaka/list_education.dart'; class PustakaScreen extends StatefulWidget { const PustakaScreen({super.key}); @@ -150,7 +150,7 @@ class _PustakaScreenState extends State { ), decoration: const InputDecoration( border: InputBorder.none, - hintText: 'Search...', + hintText: 'Cari konten...', hintStyle: TextStyle(color: Colors.grey), ), ), @@ -180,6 +180,7 @@ class _PustakaScreenState extends State { final item = filteredCollections[index]; return CollectionContainer( label: item["label"]!, + lblSize: 11, imageSvg: item["image"]!, width: 30, height: 80, @@ -259,9 +260,10 @@ class _PustakaScreenState extends State { color: Colors.blueAccent, ), Text( - 'Topic ' + (index + 1).toString(), + 'Topik ' + (index + 1).toString(), style: const TextStyle( fontWeight: FontWeight.bold, + fontSize: 11, color: Color.fromARGB(255, 0, 0, 0), ), ), diff --git a/lib/screen/saya/akun_saya copy.dart b/lib/screen/saya/akun_saya copy.dart new file mode 100644 index 0000000..95388a0 --- /dev/null +++ b/lib/screen/saya/akun_saya copy.dart @@ -0,0 +1,211 @@ +import 'dart:typed_data'; + +import 'package:flutter/material.dart'; +import 'package:furibase/components/bottom_navbar.dart'; +import 'package:furibase/components/main_menu.dart'; +import 'package:furibase/components/scan_button.dart'; +import 'package:furibase/helpers/pick_image.dart'; +import 'package:flutter/foundation.dart' show kIsWeb; + +class AkunSaya extends StatefulWidget { + @override + _AkunSayaState createState() => _AkunSayaState(); +} + +class _AkunSayaState extends State { + dynamic _profileImage; + dynamic _headerImage; + //final ImagePicker _picker = ImagePicker(); + + Future _pickImage(bool isProfile) async { + final imagePicker = ImagePickerHelper(); + dynamic pic = await imagePicker.pickImage(); + + if (pic != null) { + setState(() { + if (isProfile) { + _profileImage = pic; + } else { + _headerImage = pic; + } + }); + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text("Saya"), + backgroundColor: Color.fromARGB(225, 79, 76, 182), + ), + backgroundColor: const Color.fromARGB(255, 255, 255, 255), + body: Stack( + children: [ + Positioned( + bottom: 0, + left: 0, + right: 0, + child: Padding( + padding: const EdgeInsets.only(top: 20.0, left: 20, right: 20), + child: Container( + height: MediaQuery.of(context).size.height * 0.7, + width: MediaQuery.of(context).size.width, + decoration: BoxDecoration( + color: const Color.fromARGB(255, 205, 202, 189), + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + ), + ), + ), + ), + Column( + children: [ + // Header image (bisa diubah) + SizedBox( + height: 80, + child: Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(40), + bottomRight: Radius.circular(40), + ), + color: Color.fromARGB(225, 79, 76, 182), + ), + ), + ), + SizedBox(height: 40), + Expanded( + child: Padding( + padding: EdgeInsets.all(20), + child: ListView( + padding: EdgeInsets.symmetric(horizontal: 20, vertical: 40), + children: [ + TextFormField( + initialValue: "Cepot", + decoration: const InputDecoration( + border: UnderlineInputBorder(), + labelText: 'Nama', + labelStyle: TextStyle(color: Colors.black), + ), + style: TextStyle(color: Colors.black), + ), + TextFormField( + initialValue: "cpt09", + decoration: const InputDecoration( + border: UnderlineInputBorder(), + labelText: 'Nama Pengguna', + labelStyle: TextStyle(color: Colors.black), + ), + style: TextStyle(color: Colors.black), + ), + + TextFormField( + initialValue: "Jl. Sentosa jaya", + decoration: const InputDecoration( + border: UnderlineInputBorder(), + labelText: 'Alamat', + labelStyle: TextStyle(color: Colors.black), + ), + style: TextStyle(color: Colors.black), + ), + + TextFormField( + initialValue: "******", + decoration: const InputDecoration( + border: UnderlineInputBorder(), + labelText: 'Kata Sandi', + labelStyle: TextStyle(color: Colors.black), + ), + style: TextStyle(color: Colors.black), + ), + TextFormField( + initialValue: "+62923", + decoration: const InputDecoration( + border: UnderlineInputBorder(), + labelText: 'No. HP', + labelStyle: TextStyle(color: Colors.black), + ), + style: TextStyle(color: Colors.black), + ), + ], + ), + ), + ), + ], + ), + // Profile Picture (bisa diubah) + Positioned( + top: 25, + left: MediaQuery.of(context).size.width / 2 - 50, + child: GestureDetector( + onTap: () => _pickImage(true), + child: Stack( + alignment: Alignment.bottomRight, + children: [ + CircleAvatar( + radius: 50, + backgroundColor: Colors.grey[300], + backgroundImage: + _profileImage != null + ? (kIsWeb + ? MemoryImage(_profileImage) as ImageProvider + : FileImage(_profileImage) as ImageProvider) + : null, + child: + _profileImage == null + ? Icon(Icons.person, size: 50, color: Colors.white) + : null, + ), + CircleAvatar( + radius: 15, + backgroundColor: Colors.blue, + child: Icon(Icons.edit, color: Colors.white, size: 15), + ), + ], + ), + ), + ), + + Positioned( + top: 130, + left: MediaQuery.of(context).size.width / 2 - 50, + child: GestureDetector( + onTap: () => _pickImage(true), + child: Stack( + alignment: Alignment.bottomRight, + children: [ + Text( + "Nama Akun", + style: TextStyle( + color: Colors.deepPurple, + fontSize: 18, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ), + ), + ], + ), + ); + } + + Widget _buildListItem(IconData icon, String label, {bool isLogout = false}) { + return ListTile( + leading: Icon( + icon, + color: + isLogout + ? const Color.fromARGB(255, 181, 47, 47) + : const Color.fromARGB(255, 255, 255, 255), + ), + title: Text(label, style: TextStyle(fontSize: 16, color: Colors.black)), + trailing: Icon(Icons.arrow_forward_ios, size: 16), + onTap: () {}, + ); + } +} diff --git a/lib/screen/saya/akun_saya.dart b/lib/screen/saya/akun_saya.dart index 40157da..0719775 100644 --- a/lib/screen/saya/akun_saya.dart +++ b/lib/screen/saya/akun_saya.dart @@ -1,13 +1,12 @@ import 'dart:typed_data'; import 'package:flutter/material.dart'; -import 'package:furibase/components/bottom_navbar.dart'; -import 'package:furibase/components/main_menu.dart'; -import 'package:furibase/components/scan_button.dart'; +import 'package:freekake/components/bottom_navbar.dart'; +import 'package:freekake/components/main_menu.dart'; +import 'package:freekake/components/scan_button.dart'; import 'package:image_picker/image_picker.dart'; import 'dart:io'; -// import 'package:image_picker_web/image_picker_web.dart'; import 'package:flutter/foundation.dart' show kIsWeb; class AkunSaya extends StatefulWidget { diff --git a/lib/screen/saya/profile_screen.dart b/lib/screen/saya/profile_screen.dart index 76440f0..750219a 100644 --- a/lib/screen/saya/profile_screen.dart +++ b/lib/screen/saya/profile_screen.dart @@ -1,16 +1,15 @@ import 'dart:typed_data'; import 'package:flutter/material.dart'; -// import 'package:flutter_html/flutter_html.dart'; -import 'package:furibase/components/bottom_navbar.dart'; -import 'package:furibase/components/main_menu.dart'; -import 'package:furibase/components/scan_button.dart'; -import 'package:furibase/components/topbar_container.dart'; -import 'package:furibase/screen/saya/akun_saya.dart'; +import 'package:flutter_html/flutter_html.dart'; +import 'package:freekake/components/bottom_navbar.dart'; +import 'package:freekake/components/main_menu.dart'; +import 'package:freekake/components/scan_button.dart'; +import 'package:freekake/components/topbar_container.dart'; +import 'package:freekake/screen/saya/akun_saya.dart'; import 'package:image_picker/image_picker.dart'; import 'dart:io'; -// import 'package:image_picker_web/image_picker_web.dart'; import 'package:flutter/foundation.dart' show kIsWeb; class ProfileScreen extends StatefulWidget { diff --git a/pubspec.yaml b/pubspec.yaml index 384d8a8..a8b32b5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,4 +1,4 @@ -name: furibase +name: freekake description: "A new Flutter project." # The following line prevents the package from being accidentally published to # pub.dev using `flutter pub publish`. This is preferred for private packages. @@ -59,6 +59,11 @@ dependencies: # arcore_flutter_plugin: # git: # url: https://github.com/giandifra/arcore_flutter_plugin.git + flutter_unity_widget: ^2022.2.1 + # flutter_unity_widget: + # git: + # url: https://github.com/juicycleff/flutter-unity-view-widget.git + # ref: flutter_3.24_android_hotfix dev_dependencies: flutter_test: