Skip to content

Commit

Permalink
Merge branch 'ui/redesign' into ui/page-layouts
Browse files Browse the repository at this point in the history
  • Loading branch information
thePeras committed Jan 19, 2025
2 parents b36d98a + a87f7a7 commit feca9a6
Show file tree
Hide file tree
Showing 8 changed files with 185 additions and 19 deletions.
2 changes: 1 addition & 1 deletion packages/uni_app/lib/utils/navigation_items.dart
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ enum NavigationItem {
navProfile('perfil'),
navSettings('definicoes'),
navMap('mapa'),
navLogin('login');
navLogin('login'),
navBugreport('bug_report'),
navAboutus('sobre_nos');

Expand Down
4 changes: 2 additions & 2 deletions packages/uni_app/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1047,10 +1047,10 @@ packages:
dependency: "direct main"
description:
name: percent_indicator
sha256: c37099ad833a883c9d71782321cb65c3a848c21b6939b6185f0ff6640d05814c
sha256: "0d77d5c6fa9b7f60202cedf748b568ba9ba38d3f30405d6ceae4da76f5185462"
url: "https://pub.dev"
source: hosted
version: "4.2.3"
version: "4.2.4"
petitparser:
dependency: transitive
description:
Expand Down
94 changes: 94 additions & 0 deletions packages/uni_ui/lib/cards/library_occupation_card.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
import 'package:flutter/material.dart';
import 'package:uni_ui/cards/generic_card.dart';
import 'package:percent_indicator/circular_percent_indicator.dart';
import 'package:percent_indicator/linear_percent_indicator.dart';

class FloorOccupationWidget extends StatelessWidget {
final int capacity;
final int occupation;
final String floorText;
final int floorNumber;

const FloorOccupationWidget({
super.key,
required this.capacity,
required this.occupation,
required this.floorText,
required this.floorNumber,
});

@override
Widget build(BuildContext context) {
return Container(
padding: const EdgeInsets.symmetric(vertical: 5),
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'${floorText} ${floorNumber}',
style: Theme.of(context).textTheme.titleMedium,
),
Text(
'${occupation}/${capacity}',
style: Theme.of(context).textTheme.titleMedium,
),
],
),
LinearPercentIndicator(
lineHeight: 8.0,
percent: occupation / capacity,
backgroundColor: Theme.of(context).colorScheme.surface,
progressColor: Theme.of(context).primaryColor,
barRadius: const Radius.circular(10),
padding: EdgeInsets.zero,
),
],
),
);
}
}

class LibraryOccupationCard extends StatelessWidget {
const LibraryOccupationCard({
super.key,
required this.capacity,
required this.occupation,
required this.occupationWidgetsList,
});

final int capacity;
final int occupation;
final List<FloorOccupationWidget> occupationWidgetsList;

@override
Widget build(BuildContext context) {
return GenericCard(
key: key,
padding: const EdgeInsets.symmetric(vertical: 25, horizontal: 15),
child: Row(
children: [
CircularPercentIndicator(
radius: 100,
lineWidth: 12,
percent: occupation / capacity,
center: Text(
'${(occupation / capacity * 100).round()}%',
style: Theme.of(context).textTheme.displayMedium,
),
circularStrokeCap: CircularStrokeCap.round,
backgroundColor: Theme.of(context).colorScheme.surface,
progressColor: Theme.of(context).primaryColor,
),
const SizedBox(width: 20),
Expanded(
child: Column(
children: occupationWidgetsList,
),
),
],
),
);
}
}
13 changes: 5 additions & 8 deletions packages/uni_ui/lib/cards/restaurant_card.dart
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,7 @@ class RestaurantCard extends StatelessWidget {
icon: icon,
isFavorite: isFavorite,
onFavoriteToggle: onFavoriteToggle),
Column(
children: menuItems),
Column(children: menuItems),
],
));
}
Expand Down Expand Up @@ -66,9 +65,7 @@ class RestaurantCardHeader extends StatelessWidget {
),
child: Row(
children: [
Expanded(
flex: 1,
child: icon),
Expanded(flex: 1, child: icon),
Expanded(
flex: 4,
child: Text(
Expand All @@ -83,12 +80,12 @@ class RestaurantCardHeader extends StatelessWidget {
onPressed: onFavoriteToggle,
icon: isFavorite
? Icon(PhosphorIconsFill.heart,
color: Theme.of(context).primaryColor)
color: Theme.of(context).primaryColor)
: Icon(PhosphorIconsRegular.heart,
color: Theme.of(context).primaryColor)),
color: Theme.of(context).primaryColor)),
),
],
),
);
}
}
}
11 changes: 3 additions & 8 deletions packages/uni_ui/lib/cards/widgets/restaurant_menu_item.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
import 'package:flutter/material.dart';

class RestaurantMenuItem extends StatelessWidget {
const RestaurantMenuItem({
super.key,
required this.name,
required this.icon});
const RestaurantMenuItem({super.key, required this.name, required this.icon});

final String name;
final Icon icon;
Expand All @@ -16,9 +13,7 @@ class RestaurantMenuItem extends StatelessWidget {
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Expanded(
flex: 1,
child: icon),
Expanded(flex: 1, child: icon),
Expanded(
flex: 5,
child: Text(
Expand All @@ -31,4 +26,4 @@ class RestaurantMenuItem extends StatelessWidget {
),
);
}
}
}
71 changes: 71 additions & 0 deletions packages/uni_ui/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -394,6 +394,7 @@ class MyApp extends StatelessWidget {
}
*/

/*
import 'package:flutter/material.dart';
import 'package:phosphor_flutter/phosphor_flutter.dart';
import 'package:uni_ui/modal/modal.dart';
Expand Down Expand Up @@ -488,3 +489,73 @@ class DialogExample extends StatelessWidget {
);
}
}
*/

import 'package:flutter/material.dart';
import 'package:uni_ui/cards/library_occupation_card.dart';
import 'package:uni_ui/theme.dart';

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

class MyApp extends StatelessWidget {
MyApp() {}

@override
Widget build(BuildContext context) {
return MaterialApp(
theme: lightTheme,
home: Scaffold(
appBar: AppBar(
title: Text('Library Occupation Card Example'),
),
body: ListView(
children: [
LibraryOccupationCard(
capacity: 300,
occupation: 200,
occupationWidgetsList: [
FloorOccupationWidget(
capacity: 50,
occupation: 10,
floorText: "Floor",
floorNumber: 1,
),
FloorOccupationWidget(
capacity: 50,
occupation: 20,
floorText: "Floor",
floorNumber: 2,
),
FloorOccupationWidget(
capacity: 50,
occupation: 25,
floorText: "Floor",
floorNumber: 3,
),
FloorOccupationWidget(
capacity: 50,
occupation: 40,
floorText: "Floor",
floorNumber: 4,
),
FloorOccupationWidget(
capacity: 50,
occupation: 45,
floorText: "Floor",
floorNumber: 5,
),
FloorOccupationWidget(
capacity: 50,
occupation: 50,
floorText: "Floor",
floorNumber: 6,
)
],
),
],
)),
);
}
}
8 changes: 8 additions & 0 deletions packages/uni_ui/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.9.0"
percent_indicator:
dependency: "direct main"
description:
name: percent_indicator
sha256: "0d77d5c6fa9b7f60202cedf748b568ba9ba38d3f30405d6ceae4da76f5185462"
url: "https://pub.dev"
source: hosted
version: "4.2.4"
phosphor_flutter:
dependency: "direct main"
description:
Expand Down
1 change: 1 addition & 0 deletions packages/uni_ui/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ dependencies:
figma_squircle: ^0.5.3
flutter:
sdk: flutter
percent_indicator: ^4.2.4
phosphor_flutter: ^2.1.0
scrollable_positioned_list: ^0.3.5

Expand Down

0 comments on commit feca9a6

Please sign in to comment.