Skip to content

Commit

Permalink
fixed #6
Browse files Browse the repository at this point in the history
  • Loading branch information
EscGit committed Feb 24, 2025
1 parent 595a3e4 commit 1e5bba4
Show file tree
Hide file tree
Showing 10 changed files with 184 additions and 109 deletions.
59 changes: 59 additions & 0 deletions roomiebuddy/lib/NavScreen.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import 'package:curved_navigation_bar/curved_navigation_bar.dart';
import 'package:flutter/material.dart';

import 'pages/home_page.dart';
import 'pages/calender_page.dart';
import 'pages/add_taskpage.dart';
import 'pages/add_roomate_page.dart';
import 'pages/settings_page.dart';

class Navscreen extends StatefulWidget {
const Navscreen({super.key});

@override
State<Navscreen> createState() => _NavscreenState();
}

class _NavscreenState extends State<Navscreen> {
final pages = [
HomePage(),
CalenderPage(),
AddTaskpage(),
AddRoomatePage(),
SettingsPage(),
];
int selectedIndex = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
bottomNavigationBar: CurvedNavigationBar(
items: [
Icon(Icons.home,
size: 30,
),
Icon(Icons.calendar_month,
size: 30,
),
Icon(Icons.add,
size: 50,
),
Icon(Icons.people,
size: 30,
),
Icon(Icons.settings,
size: 30,
),
],
onTap: (value){
setState(() {
selectedIndex = value;
});
},
backgroundColor:Colors.transparent,
color: Colors.lightBlue,
),
body: pages[selectedIndex]
);
}
}

116 changes: 7 additions & 109 deletions roomiebuddy/lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,125 +1,23 @@
import 'package:flutter/material.dart';
import 'package:roomiebuddy/NavScreen.dart';
import 'pages/home_page.dart';

void main() {
runApp(const MyApp());
}

class MyApp extends StatelessWidget {
const MyApp({super.key});

// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
title: 'RommieBuddy',
debugShowCheckedModeBanner: false,
theme: ThemeData(
// This is the theme of your application.
//
// TRY THIS: Try running your application with "flutter run". You'll see
// the application has a purple toolbar. Then, without quitting the app,
// try changing the seedColor in the colorScheme below to Colors.green
// and then invoke "hot reload" (save your changes or press the "hot
// reload" button in a Flutter-supported IDE, or press "r" if you used
// the command line to start the app).
//
// Notice that the counter didn't reset back to zero; the application
// state is not lost during the reload. To reset the state, use hot
// restart instead.
//
// This works for code too, not just values: Most code changes can be
// tested with just a hot reload.
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}

class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});

// This widget is the home page of your application. It is stateful, meaning
// that it has a State object (defined below) that contains fields that affect
// how it looks.

// This class is the configuration for the state. It holds the values (in this
// case the title) provided by the parent (in this case the App widget) and
// used by the build method of the State. Fields in a Widget subclass are
// always marked "final".

final String title;

@override
State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
int _counter = 0;

void _incrementCounter() {
setState(() {
// This call to setState tells the Flutter framework that something has
// changed in this State, which causes it to rerun the build method below
// so that the display can reflect the updated values. If we changed
// _counter without calling setState(), then the build method would not be
// called again, and so nothing would appear to happen.
_counter++;
});
}

@override
Widget build(BuildContext context) {
// This method is rerun every time setState is called, for instance as done
// by the _incrementCounter method above.
//
// The Flutter framework has been optimized to make rerunning build methods
// fast, so that you can just rebuild anything that needs updating rather
// than having to individually change instances of widgets.
return Scaffold(
appBar: AppBar(
// TRY THIS: Try changing the color here to a specific color (to
// Colors.amber, perhaps?) and trigger a hot reload to see the AppBar
// change color while the other colors stay the same.
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
// Here we take the value from the MyHomePage object that was created by
// the App.build method, and use it to set our appbar title.
title: Text(widget.title),
),
body: Center(
// Center is a layout widget. It takes a single child and positions it
// in the middle of the parent.
child: Column(
// Column is also a layout widget. It takes a list of children and
// arranges them vertically. By default, it sizes itself to fit its
// children horizontally, and tries to be as tall as its parent.
//
// Column has various properties to control how it sizes itself and
// how it positions its children. Here we use mainAxisAlignment to
// center the children vertically; the main axis here is the vertical
// axis because Columns are vertical (the cross axis would be
// horizontal).
//
// TRY THIS: Invoke "debug painting" (choose the "Toggle Debug Paint"
// action in the IDE, or press "p" in the console), to see the
// wireframe for each widget.
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Text(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headlineMedium,
),
],
),
primarySwatch: Colors.blue,
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: const Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
home: Navscreen(),
);
}
}

19 changes: 19 additions & 0 deletions roomiebuddy/lib/pages/add_roomate_page.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import 'package:flutter/material.dart';

class AddRoomatePage extends StatefulWidget {
const AddRoomatePage({super.key});

@override
State<AddRoomatePage> createState() => _AddRoomatePageState();
}

class _AddRoomatePageState extends State<AddRoomatePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Text("AddRoomatePage"),
)
);
}
}
19 changes: 19 additions & 0 deletions roomiebuddy/lib/pages/add_taskpage.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import 'package:flutter/material.dart';

class AddTaskpage extends StatefulWidget {
const AddTaskpage({super.key});

@override
State<AddTaskpage> createState() => _AddTaskpageState();
}

class _AddTaskpageState extends State<AddTaskpage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Text("AddTaskPage"),
)
);
}
}
19 changes: 19 additions & 0 deletions roomiebuddy/lib/pages/calender_page.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import 'package:flutter/material.dart';

class CalenderPage extends StatefulWidget {
const CalenderPage({super.key});

@override
State<CalenderPage> createState() => _CalenderPageState();
}

class _CalenderPageState extends State<CalenderPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Text("CalenderPage"),
)
);
}
}
15 changes: 15 additions & 0 deletions roomiebuddy/lib/pages/home_page.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';

class HomePage extends StatelessWidget {
const HomePage({super.key});

@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Text("HomePage"),
)
);
}
}

20 changes: 20 additions & 0 deletions roomiebuddy/lib/pages/settings_page.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import 'package:flutter/material.dart';


class SettingsPage extends StatefulWidget {
const SettingsPage({super.key});

@override
State<SettingsPage> createState() => _SettingsPageState();
}

class _SettingsPageState extends State<SettingsPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Text("SettingsPage"),
)
);
}
}
17 changes: 17 additions & 0 deletions roomiebuddy/lib/pages/view_taskpage.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import 'package:flutter/material.dart';

import 'add_taskpage.dart';

class ViewTaskpage extends StatefulWidget {
const ViewTaskpage({super.key});

@override
State<ViewTaskpage> createState() => _ViewTaskpageState();
}

class _ViewTaskpageState extends State<ViewTaskpage> {
@override
Widget build(BuildContext context) {
return Scaffold();
}
}
8 changes: 8 additions & 0 deletions roomiebuddy/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.8"
curved_navigation_bar:
dependency: "direct main"
description:
name: curved_navigation_bar
sha256: bb4ab128fcb6f4a9f0f1f72d227db531818b20218984789777f049fcbf919279
url: "https://pub.dev"
source: hosted
version: "1.0.6"
fake_async:
dependency: transitive
description:
Expand Down
1 change: 1 addition & 0 deletions roomiebuddy/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ dependencies:
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.8
curved_navigation_bar: ^1.0.6

dev_dependencies:
flutter_test:
Expand Down

0 comments on commit 1e5bba4

Please sign in to comment.