Skip to content

Commit 89f9871

Browse files
authored
🔀 :: 3.7.1 배포
2 parents 6ffb198 + d9e3cdb commit 89f9871

File tree

9 files changed

+108
-52
lines changed

9 files changed

+108
-52
lines changed

android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ if (flutterRoot == null) {
1313

1414
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
1515
if (flutterVersionCode == null) {
16-
flutterVersionCode = '26'
16+
flutterVersionCode = '27'
1717
}
1818

1919
def flutterVersionName = localProperties.getProperty('flutter.versionName')
2020
if (flutterVersionName == null) {
21-
flutterVersionName = '3.7.0'
21+
flutterVersionName = '3.7.1'
2222
}
2323

2424
def keystoreProperties = new Properties()

ios/Runner.xcodeproj/project.pbxproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@
367367
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
368368
CLANG_ENABLE_MODULES = YES;
369369
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
370-
CURRENT_PROJECT_VERSION = 22;
370+
CURRENT_PROJECT_VERSION = 23;
371371
DEVELOPMENT_TEAM = Z25H7B85Z8;
372372
ENABLE_BITCODE = NO;
373373
INFOPLIST_FILE = Runner/Info.plist;
@@ -376,7 +376,7 @@
376376
"$(inherited)",
377377
"@executable_path/Frameworks",
378378
);
379-
MARKETING_VERSION = 3.7.0;
379+
MARKETING_VERSION = 3.7.1;
380380
PRODUCT_BUNDLE_IDENTIFIER = com.osj.lotura;
381381
PRODUCT_NAME = "$(TARGET_NAME)";
382382
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@@ -507,7 +507,7 @@
507507
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
508508
CLANG_ENABLE_MODULES = YES;
509509
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
510-
CURRENT_PROJECT_VERSION = 22;
510+
CURRENT_PROJECT_VERSION = 23;
511511
DEVELOPMENT_TEAM = Z25H7B85Z8;
512512
ENABLE_BITCODE = NO;
513513
INFOPLIST_FILE = Runner/Info.plist;
@@ -516,7 +516,7 @@
516516
"$(inherited)",
517517
"@executable_path/Frameworks",
518518
);
519-
MARKETING_VERSION = 3.7.0;
519+
MARKETING_VERSION = 3.7.1;
520520
PRODUCT_BUNDLE_IDENTIFIER = com.osj.lotura;
521521
PRODUCT_NAME = "$(TARGET_NAME)";
522522
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@@ -537,7 +537,7 @@
537537
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
538538
CLANG_ENABLE_MODULES = YES;
539539
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
540-
CURRENT_PROJECT_VERSION = 22;
540+
CURRENT_PROJECT_VERSION = 23;
541541
DEVELOPMENT_TEAM = Z25H7B85Z8;
542542
ENABLE_BITCODE = NO;
543543
INFOPLIST_FILE = Runner/Info.plist;
@@ -546,7 +546,7 @@
546546
"$(inherited)",
547547
"@executable_path/Frameworks",
548548
);
549-
MARKETING_VERSION = 3.7.0;
549+
MARKETING_VERSION = 3.7.1;
550550
PRODUCT_BUNDLE_IDENTIFIER = com.osj.lotura;
551551
PRODUCT_NAME = "$(TARGET_NAME)";
552552
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";

lib/main.dart

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,15 @@ enum CurrentState {
8585
deviceIconColor: LoturaColors.red400,
8686
text: "고장");
8787

88+
bool get isWorking => this == CurrentState.working;
89+
bool get isNotWorking => this != CurrentState.working;
90+
91+
bool get isAvailable => this == CurrentState.available;
92+
93+
bool get isDisconnected => this == CurrentState.disconnected;
94+
95+
bool get isBreakdown => this == CurrentState.breakdown;
96+
8897
final IconData icon;
8998
final Color color, deepColor, deviceIconColor;
9099
final String text;
@@ -115,6 +124,12 @@ enum DeviceType {
115124
imagePath: "",
116125
);
117126

127+
bool get isWash => this == DeviceType.wash;
128+
129+
bool get isDry => this == DeviceType.dry;
130+
131+
bool get isEmpty => this == DeviceType.empty;
132+
118133
final String text, imagePath;
119134
final IconData icon;
120135

@@ -129,6 +144,10 @@ enum Gender {
129144
boy(text: "남자 세탁실"),
130145
girl(text: "여자 세탁실");
131146

147+
bool get isBoy => this == Gender.boy;
148+
149+
bool get isGirl => this == Gender.girl;
150+
132151
const Gender({required this.text});
133152

134153
final String text;
@@ -139,6 +158,14 @@ enum RoomLocation {
139158
dormitorySide(roomName: "남자 기숙사측 세탁실"),
140159
schoolGirlSide(roomName: "여자 기숙사측 세탁실");
141160

161+
bool get isSchoolSide => this == RoomLocation.schoolSide;
162+
163+
bool get isDormitorySide => this == RoomLocation.dormitorySide;
164+
165+
bool get isSchoolGirlSide => this == RoomLocation.schoolGirlSide;
166+
167+
bool get isNotSchoolGirlSide => this != RoomLocation.schoolGirlSide;
168+
142169
const RoomLocation({required this.roomName});
143170

144171
final String roomName;
@@ -148,6 +175,10 @@ enum LaundryRoomLayer {
148175
first(icon: Icons.looks_one_outlined),
149176
second(icon: Icons.looks_two_outlined);
150177

178+
bool get isFirst => this == LaundryRoomLayer.first;
179+
180+
bool get isSecond => this == LaundryRoomLayer.second;
181+
151182
const LaundryRoomLayer({required this.icon});
152183

153184
final IconData icon;

lib/presentation/apply_page/ui/widget/machine_card.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import 'package:flutter/material.dart';
2-
import 'package:flutter_screenutil/flutter_screenutil.dart' as s;
3-
import 'package:lotura/main.dart';
2+
import 'package:flutter_screenutil/flutter_screenutil.dart';
43
import 'package:lotura/presentation/utils/machine_widget.dart';
54

65
class MachineCard extends MachineWidget {
@@ -14,7 +13,7 @@ class MachineCard extends MachineWidget {
1413

1514
@override
1615
Widget build(BuildContext context) {
17-
return deviceType == DeviceType.empty
16+
return deviceType.isEmpty
1817
? Container(
1918
width: 170.0.r,
2019
padding: EdgeInsets.only(top: 10.0.r),

lib/presentation/laundry_room_page/ui/view/laundry_room_page.dart

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,7 @@ class LaundryRoomPage extends StatelessWidget {
127127
SingleChildScrollView(
128128
scrollDirection: Axis.horizontal,
129129
padding: EdgeInsets.symmetric(vertical: 12.0.h),
130-
child: roomBlocState.data.roomLocation !=
131-
RoomLocation.schoolGirlSide
130+
child: roomBlocState.data.roomLocation.isNotSchoolGirlSide
132131
? Row(
133132
children: [
134133
OSJTextButton(
@@ -137,12 +136,12 @@ class LaundryRoomPage extends StatelessWidget {
137136
roomLocation:
138137
RoomLocation.schoolSide)),
139138
fontSize: 18.0.sp,
140-
color: roomBlocState.value.roomLocation ==
141-
RoomLocation.schoolSide
139+
color: roomBlocState
140+
.value.roomLocation.isSchoolSide
142141
? LoturaColors.white
143142
: LoturaColors.gray100,
144-
fontColor: roomBlocState.value.roomLocation ==
145-
RoomLocation.schoolSide
143+
fontColor: roomBlocState
144+
.value.roomLocation.isSchoolSide
146145
? LoturaColors.primary700
147146
: LoturaColors.gray300,
148147
text: "남자 학교측",
@@ -157,12 +156,12 @@ class LaundryRoomPage extends StatelessWidget {
157156
roomLocation:
158157
RoomLocation.dormitorySide)),
159158
fontSize: 18.0.sp,
160-
color: roomBlocState.value.roomLocation ==
161-
RoomLocation.dormitorySide
159+
color: roomBlocState
160+
.value.roomLocation.isDormitorySide
162161
? LoturaColors.white
163162
: LoturaColors.gray100,
164-
fontColor: roomBlocState.value.roomLocation ==
165-
RoomLocation.dormitorySide
163+
fontColor: roomBlocState
164+
.value.roomLocation.isDormitorySide
166165
? LoturaColors.primary700
167166
: LoturaColors.gray300,
168167
text: "남자 기숙사측",
@@ -199,8 +198,8 @@ class LaundryRoomPage extends StatelessWidget {
199198
const Center(child: CircularProgressIndicator()),
200199
Error() =>
201200
const Center(child: Text("인터넷 연결을 확인해주세요")),
202-
Loaded() => roomBlocState.data.roomLocation !=
203-
RoomLocation.schoolGirlSide
201+
Loaded() => roomBlocState
202+
.data.roomLocation.isNotSchoolGirlSide
204203
? LaundryList(
205204
list: state.data.laundryList,
206205
laundryRoomModel: roomBlocState.value,
@@ -244,13 +243,13 @@ class LaundryRoomLayerFilter extends StatelessWidget {
244243
"1층",
245244
style: TextStyle(
246245
fontSize: 18.0.sp,
247-
color: laundryRoomLayer == LaundryRoomLayer.first
246+
color: laundryRoomLayer.isFirst
248247
? LoturaColors.black
249248
: LoturaColors.gray300,
250249
),
251250
),
252251
),
253-
if (currentRoomLocation != RoomLocation.schoolGirlSide)
252+
if (currentRoomLocation.isNotSchoolGirlSide)
254253
TextButton(
255254
onPressed: () => context.read<RoomBloc>().add(
256255
ModifyLaundryRoomLayerEvent(
@@ -259,7 +258,7 @@ class LaundryRoomLayerFilter extends StatelessWidget {
259258
"2층",
260259
style: TextStyle(
261260
fontSize: 18.0.sp,
262-
color: laundryRoomLayer == LaundryRoomLayer.second
261+
color: laundryRoomLayer.isSecond
263262
? LoturaColors.black
264263
: LoturaColors.gray300,
265264
),
@@ -323,8 +322,7 @@ class LaundryList extends StatelessWidget {
323322
mainAxisAlignment: MainAxisAlignment.spaceBetween,
324323
children: [
325324
MachineButton(
326-
laundryEntity: laundryRoomModel.laundryRoomLayer ==
327-
LaundryRoomLayer.first
325+
laundryEntity: laundryRoomModel.laundryRoomLayer.isFirst
328326
? list[
329327
placeIndex[laundryRoomModel.roomLocation.index]! +
330328
index]
@@ -336,8 +334,7 @@ class LaundryList extends StatelessWidget {
336334
),
337335
const Icon(LoturaIcons.triangleUp, color: Colors.grey),
338336
MachineButton(
339-
laundryEntity: laundryRoomModel.laundryRoomLayer ==
340-
LaundryRoomLayer.first
337+
laundryEntity: laundryRoomModel.laundryRoomLayer.isFirst
341338
? list[
342339
placeIndex[laundryRoomModel.roomLocation.index]! +
343340
index +

lib/presentation/laundry_room_page/ui/widget/machine_button.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import 'package:flutter/material.dart';
2-
import 'package:flutter_screenutil/flutter_screenutil.dart' as s;
2+
import 'package:flutter_screenutil/flutter_screenutil.dart';
33
import 'package:lotura/domain/laundry/entity/laundry_entity.dart';
4-
import 'package:lotura/main.dart';
54
import 'package:lotura/presentation/utils/lotura_colors.dart';
65
import 'package:lotura/presentation/utils/lotura_icons.dart';
76
import 'package:lotura/presentation/utils/machine_widget.dart';
@@ -21,7 +20,7 @@ class MachineButton extends MachineWidget {
2120

2221
@override
2322
Widget build(BuildContext context) {
24-
return laundryEntity.deviceType == DeviceType.empty
23+
return laundryEntity.deviceType.isEmpty
2524
? Container(
2625
padding: EdgeInsets.all(12.0.r),
2726
constraints: BoxConstraints(

lib/presentation/utils/bottom_navi.dart

Lines changed: 44 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@ class _BottomNaviState extends State<BottomNavi>
3737
int selectedIndex = 1;
3838
bool isChange = false;
3939

40-
final Map<int, int> placeIndex = {0: 0, 1: 16, 2: 31, 3: 44};
41-
4240
@override
4341
void initState() {
4442
super.initState();
@@ -96,12 +94,29 @@ class _BottomNaviState extends State<BottomNavi>
9694
);
9795
}
9896
if (widget.nfcTagData != -1) {
99-
for (var i in placeIndex.entries) {
100-
if (i.value > widget.nfcTagData - 1) {
101-
context.read<RoomBloc>().add(ModifyRoomIndexEvent(
102-
roomLocation: RoomLocation.values.elementAt(i.key - 1)));
103-
break;
104-
}
97+
int d = widget.nfcTagData;
98+
if (d <= 16) {
99+
context
100+
.read<RoomBloc>()
101+
.add(ModifyRoomIndexEvent(roomLocation: RoomLocation.schoolSide));
102+
context.read<RoomBloc>().add(ModifyLaundryRoomLayerEvent(
103+
laundryRoomLayer: LaundryRoomLayer.first));
104+
} else if (d <= 32) {
105+
context.read<RoomBloc>().add(
106+
ModifyRoomIndexEvent(roomLocation: RoomLocation.dormitorySide));
107+
context.read<RoomBloc>().add(ModifyLaundryRoomLayerEvent(
108+
laundryRoomLayer: LaundryRoomLayer.first));
109+
} else if (d <= 48) {
110+
context
111+
.read<RoomBloc>()
112+
.add(ModifyRoomIndexEvent(roomLocation: RoomLocation.schoolSide));
113+
context.read<RoomBloc>().add(ModifyLaundryRoomLayerEvent(
114+
laundryRoomLayer: LaundryRoomLayer.second));
115+
} else if (d <= 64) {
116+
context.read<RoomBloc>().add(
117+
ModifyRoomIndexEvent(roomLocation: RoomLocation.dormitorySide));
118+
context.read<RoomBloc>().add(ModifyLaundryRoomLayerEvent(
119+
laundryRoomLayer: LaundryRoomLayer.second));
105120
}
106121
} else {
107122
context.read<RoomBloc>().add(GetRoomIndexEvent());
@@ -159,12 +174,27 @@ class _BottomNaviState extends State<BottomNavi>
159174
if (widget.nfcTagData != -1) {
160175
selectedIndex = 1;
161176
controller.index = 1;
162-
for (var i in placeIndex.entries) {
163-
if (i.value > widget.nfcTagData - 1) {
164-
context.read<RoomBloc>().add(ModifyRoomIndexEvent(
165-
roomLocation: RoomLocation.values.elementAt(i.key - 1)));
166-
break;
167-
}
177+
int d = widget.nfcTagData;
178+
if (d <= 16) {
179+
context.read<RoomBloc>().add(
180+
ModifyRoomIndexEvent(roomLocation: RoomLocation.schoolSide));
181+
context.read<RoomBloc>().add(ModifyLaundryRoomLayerEvent(
182+
laundryRoomLayer: LaundryRoomLayer.first));
183+
} else if (d <= 32) {
184+
context.read<RoomBloc>().add(ModifyRoomIndexEvent(
185+
roomLocation: RoomLocation.dormitorySide));
186+
context.read<RoomBloc>().add(ModifyLaundryRoomLayerEvent(
187+
laundryRoomLayer: LaundryRoomLayer.first));
188+
} else if (d <= 48) {
189+
context.read<RoomBloc>().add(
190+
ModifyRoomIndexEvent(roomLocation: RoomLocation.schoolSide));
191+
context.read<RoomBloc>().add(ModifyLaundryRoomLayerEvent(
192+
laundryRoomLayer: LaundryRoomLayer.second));
193+
} else if (d <= 64) {
194+
context.read<RoomBloc>().add(ModifyRoomIndexEvent(
195+
roomLocation: RoomLocation.dormitorySide));
196+
context.read<RoomBloc>().add(ModifyLaundryRoomLayerEvent(
197+
laundryRoomLayer: LaundryRoomLayer.second));
168198
}
169199
BlocProvider.of<RoomBloc>(context)
170200
.add(InitialShowBottomSheetEvent());

lib/presentation/utils/osj_bottom_sheet.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,13 @@ class _OSJBottomSheetState extends State<OSJBottomSheet> {
7474
child: Column(
7575
crossAxisAlignment: CrossAxisAlignment.start,
7676
children: [
77-
if (widget.state != CurrentState.working)
77+
if (widget.state.isNotWorking)
7878
Icon(
7979
widget.state.icon,
8080
size: 24.0.r,
81-
color: widget.state == CurrentState.available
81+
color: widget.state.isAvailable
8282
? LoturaColors.green700
83-
: widget.state == CurrentState.disconnected
83+
: widget.state.isDisconnected
8484
? LoturaColors.black
8585
: LoturaColors.red700,
8686
),
@@ -97,7 +97,7 @@ class _OSJBottomSheetState extends State<OSJBottomSheet> {
9797
),
9898
),
9999
),
100-
widget.state == CurrentState.working
100+
widget.state.isWorking
101101
? Row(
102102
children: [
103103
Expanded(

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
1616
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
1717
# In Windows, build-name is used as the major, minor, and patch parts
1818
# of the product and file versions while build-number is used as the build suffix.
19-
version: 3.7.0+26
19+
version: 3.7.1+27
2020

2121
environment:
2222
sdk: '>=3.1.3 <4.0.0'

0 commit comments

Comments
 (0)