sebelum unity

This commit is contained in:
Irwan Cahyono 2025-05-09 01:42:10 +07:00
parent 2a4f8fc335
commit 0e985f5453
8 changed files with 204 additions and 245 deletions

View File

@ -1,10 +1,9 @@
import 'package:freekake/components/navbar_shape_3.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:furibase/components/navbar_container.dart'; import 'package:freekake/components/navbar_container.dart';
import 'package:furibase/components/navbar_shape_1.dart'; import 'package:freekake/components/navbar_shape_1.dart';
import 'package:furibase/components/navbar_shape_2.dart'; import 'package:freekake/components/navbar_shape_2.dart';
import 'package:furibase/components/navbar_shape_3.dart'; import 'package:freekake/components/navbar_shape_3.dart';
import 'package:furibase/components/custom_shape.dart'; import 'package:freekake/components/custom_shape.dart';
class BottomNavbar extends StatefulWidget { class BottomNavbar extends StatefulWidget {
const BottomNavbar({super.key}); const BottomNavbar({super.key});

View File

@ -53,6 +53,7 @@ class CardList extends StatelessWidget {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
const SizedBox(height: 1, width: 5),
Text( Text(
title, title,
style: const TextStyle( style: const TextStyle(
@ -61,16 +62,16 @@ class CardList extends StatelessWidget {
), ),
), ),
const SizedBox(height: 1, width: 5), const SizedBox(height: 1, width: 5),
Text( // Text(
body, // body,
style: const TextStyle( // style: const TextStyle(
letterSpacing: 0.2, // letterSpacing: 0.2,
fontSize: 14, // fontSize: 14,
fontWeight: FontWeight.normal, // fontWeight: FontWeight.normal,
), // ),
maxLines: 2, // maxLines: 2,
overflow: TextOverflow.ellipsis, // overflow: TextOverflow.ellipsis,
), // ),
const Spacer(), const Spacer(),
Padding( Padding(
padding: EdgeInsets.all(0.08), padding: EdgeInsets.all(0.08),

View File

@ -1,4 +1,4 @@
import 'package:flutter/material.dart'; import 'package:freekake/components/menu_button.dart';
import 'package:freekake/providers/menu_selection_provider.dart'; import 'package:freekake/providers/menu_selection_provider.dart';
import 'package:freekake/screen/Home_screen.dart'; import 'package:freekake/screen/Home_screen.dart';
import 'package:freekake/screen/koleksi_screen.dart'; import 'package:freekake/screen/koleksi_screen.dart';

View File

@ -8,12 +8,12 @@ import 'package:provider/provider.dart';
void main() async { void main() async {
WidgetsFlutterBinding.ensureInitialized(); WidgetsFlutterBinding.ensureInitialized();
SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky); // SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky);
await SystemChrome.setPreferredOrientations([ // await SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp, // DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown, // bisa dihapus jika hanya ingin satu arah // DeviceOrientation.portraitDown, // bisa dihapus jika hanya ingin satu arah
]); // ]);
runApp(const MyApp()); runApp(const MyApp());
} }

View File

@ -51,22 +51,27 @@ class _HomeScreenState extends State<HomeScreen> {
return Stack( return Stack(
children: <Widget>[ children: <Widget>[
Positioned.fill( Positioned.fill(
child: RepaintBoundary( child: UnityWidget(
child: Container( onUnityCreated: onUnityCreated,
decoration: const BoxDecoration( //isARScene: true,
image: DecorationImage( onUnityMessage: onUnityMessage,
image: AssetImage("assets/images/background.jpeg"), //onUnitySceneLoaded: onUnitySceneLoaded,
fit: BoxFit.cover, fullscreen: false,
), ),
), ),
), // Positioned.fill(
), // child: RepaintBoundary(
// Positioned( // child: Container(
// top: 0, // decoration: const BoxDecoration(
// left: 0, // image: DecorationImage(
// right: 0, // image: AssetImage("assets/images/background.jpeg"),
// child: SizedBox(height: 120, child: TopbarContainer()), // fit: BoxFit.cover,
// ), // ),
// ),
// ),
// ),
// ),
// Positioned( // Positioned(
// right: 0, // right: 0,
// top: 100, // top: 100,
@ -88,7 +93,7 @@ class _HomeScreenState extends State<HomeScreen> {
// decoration: BoxDecoration( // decoration: BoxDecoration(
// borderRadius: BorderRadius.circular(10), // borderRadius: BorderRadius.circular(10),
// image: const DecorationImage( // image: const DecorationImage(
// image: AssetImage('assets/images/luffy-u.png'), // image: AssetImage('assets/images/cepot-u.png'),
// fit: BoxFit.cover, // fit: BoxFit.cover,
// ), // ),
// ), // ),
@ -96,23 +101,11 @@ class _HomeScreenState extends State<HomeScreen> {
// openWithLongPress: false, // openWithLongPress: false,
// items: [ // items: [
// ..._MenuItems.firstItems.map( // ..._MenuItems.firstItems.map(
// (item) => DropdownMenuItem<_MenuItem>( // (item) => DropdownMenuItem<MenuItem>(
// value: item, // value: item,
// child: _MenuItems.buildItem(item), // child: _MenuItems.buildItem(item),
// ), // ),
// ), // ),
// // const DropdownMenuItem<Divider>(
// // enabled: false,
// // // height: 8,
// // child: Divider(),
// // ),
// // ..._MenuItems.secondItems.map(
// // (item) => DropdownMenuItem<_MenuItem>(
// // value: item,
// // // height: 48,
// // child: _MenuItems.buildItem(item),
// // ),
// // ),
// ], // ],
// onChanged: (value) { // onChanged: (value) {
// if (value != null) { // if (value != null) {
@ -201,8 +194,7 @@ class _HomeScreenState extends State<HomeScreen> {
// ), // ),
// ), // ),
// SizedBox(height: 10), // SizedBox(height: 10),
// setHomeImage("images/luffy.png", 300), // //setHomeImage("assets/images/cepott.png", 300),
// // Image.asset("images/luffy.png", width: 300),
// ], // ],
// ), // ),
// ), // ),
@ -234,55 +226,8 @@ class _HomeScreenState extends State<HomeScreen> {
); );
} }
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(
// children: [
// IconButton(
// // icon: Icon(icon, color: Color.fromARGB(255, 179, 161, 170)),
// icon: icon,
// onPressed: () {},
// ),
// Text(
// label,
// style: TextStyle(
// color: Color.fromARGB(255, 239, 224, 232),
// fontWeight: FontWeight.bold,
// ),
// ),
// ],
// ),
// );
// }
// Widget _scanButton() {
// return Expanded(
// child: Container(
// decoration: BoxDecoration(shape: BoxShape.circle, color: transparent),
// padding: EdgeInsets.all(10),
// child: IconButton(
// icon: SvgPicture.asset(
// 'icons/Scan.svg',
// width: 60,
// height: 60,
// colorFilter: ColorFilter.mode(Color(0xFFFFFFFF), BlendMode.srcIn),
// ),
// onPressed: () {},
// ),
// ),
// );
// }
Widget setHomeImage(String src, double size) { Widget setHomeImage(String src, double size) {
return Image.asset("assets/" + src, width: size); return Image.asset(src, width: size);
} }
void onUnityCreated(controller) { void onUnityCreated(controller) {

View File

@ -263,7 +263,7 @@ class _ListEducationState extends State<ListEducation> {
width: 70, width: 70,
height: 70, height: 70,
textColor: Colors.black, textColor: Colors.black,
lblSize: 10, lblSize: 8,
colorContiner: ColorHelper.hexToColor(item["color"]), colorContiner: ColorHelper.hexToColor(item["color"]),
onTapAc: onTapAc:
() => { () => {

View File

@ -22,10 +22,26 @@ class _PustakaScreenState extends State<PustakaScreen> {
String _searchQuery = ""; String _searchQuery = "";
final List<Map<String, dynamic>> _collections = [ final List<Map<String, dynamic>> _collections = [
{"label": "Kesehatan", "image": "assets/icons/healthy.svg", "color": "#cdd0ee"}, {
{"label": "Gizi", "image": "assets/icons/Nutrition.svg", "color": "#e8e29a"}, "label": "Kesehatan",
{"label": "Pendidikan", "image": "assets/icons/Education.svg", "color": "#efd8c6"}, "image": "assets/icons/healthy.svg",
{"label": "Keselamatan", "image": "assets/icons/Safety.svg", "color": "#cef1da"}, "color": "#cdd0ee",
},
{
"label": "Gizi",
"image": "assets/icons/Nutrition.svg",
"color": "#e8e29a",
},
{
"label": "Pendidikan",
"image": "assets/icons/Education.svg",
"color": "#efd8c6",
},
{
"label": "Keselamatan",
"image": "assets/icons/Safety.svg",
"color": "#cef1da",
},
]; ];
void _onMenuTapped(int index) { void _onMenuTapped(int index) {
@ -143,7 +159,7 @@ class _PustakaScreenState extends State<PustakaScreen> {
), ),
decoration: const InputDecoration( decoration: const InputDecoration(
border: InputBorder.none, border: InputBorder.none,
hintText: 'Cari konten...', hintText: 'Search...',
hintStyle: TextStyle(color: Colors.grey), hintStyle: TextStyle(color: Colors.grey),
), ),
), ),
@ -172,7 +188,6 @@ class _PustakaScreenState extends State<PustakaScreen> {
final item = filteredCollections[index]; final item = filteredCollections[index];
return CollectionContainer( return CollectionContainer(
label: item["label"]!, label: item["label"]!,
lblSize: 11,
imageSvg: item["image"]!, imageSvg: item["image"]!,
width: 30, width: 30,
height: 80, height: 80,
@ -252,10 +267,9 @@ class _PustakaScreenState extends State<PustakaScreen> {
color: Colors.blueAccent, color: Colors.blueAccent,
), ),
Text( Text(
'Topik ${index + 1}', 'Topic ${index + 1}',
style: const TextStyle( style: const TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 11,
color: Color.fromARGB(255, 0, 0, 0), color: Color.fromARGB(255, 0, 0, 0),
), ),
), ),

View File

@ -1,10 +1,10 @@
import 'dart:typed_data'; import 'dart:typed_data';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:furibase/components/bottom_navbar.dart'; import 'package:freekake/components/bottom_navbar.dart';
import 'package:furibase/components/main_menu.dart'; import 'package:freekake/components/main_menu.dart';
import 'package:furibase/components/scan_button.dart'; import 'package:freekake/components/scan_button.dart';
import 'package:furibase/helpers/pick_image.dart'; import 'package:freekake/helpers/pick_image.dart';
import 'package:flutter/foundation.dart' show kIsWeb; import 'package:flutter/foundation.dart' show kIsWeb;
class AkunSaya extends StatefulWidget { class AkunSaya extends StatefulWidget {