방설정정보 아이폰에서만 안나오는거 수정1차
This commit is contained in:
parent
36179dd975
commit
fc8466d5c3
@ -20,8 +20,8 @@ android {
|
||||
applicationId "com.allscore_app"
|
||||
minSdkVersion 23
|
||||
targetSdkVersion 34
|
||||
versionCode 17
|
||||
versionName "1.0.17"
|
||||
versionCode 18
|
||||
versionName "1.0.18"
|
||||
}
|
||||
signingConfigs {
|
||||
release {
|
||||
|
@ -6,9 +6,9 @@ class Config {
|
||||
// 실제 광고 단위 ID - ios
|
||||
// static const String realAdUnitId = 'ca-app-pub-6461991944599918/9704216771';
|
||||
// 테스트 광고 단위 ID
|
||||
// static const String adUnitId = 'ca-app-pub-3940256099942544/6300978111'; // 테스트
|
||||
static const String adUnitId = 'ca-app-pub-3940256099942544/6300978111'; // 테스트
|
||||
// static const String adUnitId = 'ca-app-pub-6461991944599918/5107596297'; // android
|
||||
static const String adUnitId = 'ca-app-pub-6461991944599918/9704216771'; // ios
|
||||
// static const String adUnitId = 'ca-app-pub-6461991944599918/9704216771'; // ios
|
||||
// 서버 주소
|
||||
static const String baseUrl = 'https://d2zcnlqji5t7mh.cloudfront.net';
|
||||
// 이미지 업로드 주소
|
||||
|
@ -40,7 +40,7 @@ class _RoomSettingModalState extends State<RoomSettingModal> {
|
||||
|
||||
// Firebase Realtime Database reference (FRD 관련)
|
||||
late DatabaseReference _roomRef;
|
||||
bool _isLoading = true;
|
||||
bool _isLoading = false;
|
||||
|
||||
// Distinguish if room is "private" or "team" (개인전인지 팀전인지)
|
||||
late bool isPrivateType;
|
||||
@ -48,61 +48,83 @@ class _RoomSettingModalState extends State<RoomSettingModal> {
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
|
||||
// roomInfo에서 직접 데이터 초기화
|
||||
final data = widget.roomInfo;
|
||||
|
||||
// room_seq 설정
|
||||
roomSeq = int.tryParse('${data['room_seq'] ?? '0'}') ?? 0;
|
||||
|
||||
// (1) room_seq
|
||||
roomSeq = int.tryParse('${widget.roomInfo['room_seq'] ?? '0'}') ?? 0;
|
||||
|
||||
// (2) room type
|
||||
final roomTypeStr = (widget.roomInfo['room_type'] ?? 'private').toString().toLowerCase();
|
||||
// if "private" => isPrivateType=true, else => isPrivateType=false
|
||||
|
||||
// room type 설정
|
||||
final roomTypeStr = (data['room_type'] ?? 'private').toString().toLowerCase();
|
||||
isPrivateType = (roomTypeStr == 'private');
|
||||
|
||||
// master 여부 설정
|
||||
isMaster = data['room_master_yn'] == 'Y';
|
||||
|
||||
// 나머지 필드들 설정
|
||||
roomTitle = data['room_title']?.toString() ?? '';
|
||||
roomIntro = data['room_intro']?.toString() ?? '';
|
||||
openYn = data['open_yn']?.toString() ?? 'Y';
|
||||
roomPw = data['room_pw']?.toString() ?? '';
|
||||
runningTime = _toInt(data['running_time'], 1);
|
||||
numberOfPeople = _toInt(data['number_of_people'], 10);
|
||||
scoreOpenRange = data['score_open_range']?.toString() ?? 'PRIVATE';
|
||||
|
||||
// (3) firebase ref
|
||||
final roomKey = 'korea-$roomSeq';
|
||||
_roomRef = FirebaseDatabase.instance.ref('rooms/$roomKey/roomInfo');
|
||||
// // (2) room type
|
||||
// final roomTypeStr = (widget.roomInfo['room_type'] ?? 'private').toString().toLowerCase();
|
||||
// // if "private" => isPrivateType=true, else => isPrivateType=false
|
||||
// isPrivateType = (roomTypeStr == 'private');
|
||||
|
||||
// // (3) firebase ref
|
||||
// final roomKey = 'korea-$roomSeq';
|
||||
// _roomRef = FirebaseDatabase.instance.ref('rooms/$roomKey/roomInfo');
|
||||
|
||||
// (4) compare my_user_seq with master_user_seq + read roomInfo from FRD
|
||||
_checkMasterAndFetchData();
|
||||
// _checkMasterAndFetchData();
|
||||
}
|
||||
|
||||
/// Load my_user_seq from local storage,
|
||||
/// then read roomInfo from FRD and update state
|
||||
/// (로컬스토리지에서 my_user_seq 불러오고 FRD에서 roomInfo 읽어서 state 업데이트)
|
||||
Future<void> _checkMasterAndFetchData() async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
final myUserSeq = prefs.getInt('my_user_seq') ?? 0;
|
||||
// Future<void> _checkMasterAndFetchData() async {
|
||||
// final prefs = await SharedPreferences.getInstance();
|
||||
// final myUserSeq = prefs.getInt('my_user_seq') ?? 0;
|
||||
|
||||
final snapshot = await _roomRef.get();
|
||||
if (!snapshot.exists) {
|
||||
// No room info (방 정보 없음)
|
||||
setState(() {
|
||||
_isLoading = false;
|
||||
isMaster = false;
|
||||
roomTitle = 'No room info';
|
||||
// '방 정보 없음'
|
||||
});
|
||||
return;
|
||||
}
|
||||
// final snapshot = await _roomRef.get();
|
||||
// if (!snapshot.exists) {
|
||||
// // No room info (방 정보 없음)
|
||||
// setState(() {
|
||||
// _isLoading = false;
|
||||
// isMaster = false;
|
||||
// roomTitle = 'No room info';
|
||||
// // '방 정보 없음'
|
||||
// });
|
||||
// return;
|
||||
// }
|
||||
|
||||
final data = snapshot.value as Map<dynamic, dynamic>? ?? {};
|
||||
// e.g. master_user_seq, open_yn, etc
|
||||
final masterSeq = data['master_user_seq'] ?? 0;
|
||||
// final data = snapshot.value as Map<dynamic, dynamic>? ?? {};
|
||||
// // e.g. master_user_seq, open_yn, etc
|
||||
// final masterSeq = data['master_user_seq'] ?? 0;
|
||||
|
||||
setState(() {
|
||||
isMaster = (masterSeq.toString() == myUserSeq.toString());
|
||||
// setState(() {
|
||||
// isMaster = (masterSeq.toString() == myUserSeq.toString());
|
||||
|
||||
// fill fields (각 필드들)
|
||||
roomTitle = data['room_title']?.toString() ?? '';
|
||||
roomIntro = data['room_intro']?.toString() ?? '';
|
||||
openYn = data['open_yn']?.toString() ?? 'Y';
|
||||
roomPw = data['room_pw']?.toString() ?? '';
|
||||
runningTime = _toInt(data['running_time'], 1);
|
||||
numberOfPeople = _toInt(data['number_of_people'], 10);
|
||||
scoreOpenRange = data['score_open_range']?.toString() ?? 'PRIVATE';
|
||||
// // fill fields (각 필드들)
|
||||
// roomTitle = data['room_title']?.toString() ?? '';
|
||||
// roomIntro = data['room_intro']?.toString() ?? '';
|
||||
// openYn = data['open_yn']?.toString() ?? 'Y';
|
||||
// roomPw = data['room_pw']?.toString() ?? '';
|
||||
// runningTime = _toInt(data['running_time'], 1);
|
||||
// numberOfPeople = _toInt(data['number_of_people'], 10);
|
||||
// scoreOpenRange = data['score_open_range']?.toString() ?? 'PRIVATE';
|
||||
|
||||
_isLoading = false;
|
||||
});
|
||||
}
|
||||
// _isLoading = false;
|
||||
// });
|
||||
// }
|
||||
|
||||
/// simple int conversion (단순 int 변환 유틸)
|
||||
int _toInt(dynamic val, int defaultVal) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
name: allscore_app
|
||||
description: "A new Flutter project."
|
||||
publish_to: 'none'
|
||||
version: 1.0.17+17
|
||||
version: 1.0.18+18
|
||||
environment:
|
||||
sdk: '>=3.5.3 <4.0.0'
|
||||
flutter: ">=3.16.0"
|
||||
|
Loading…
Reference in New Issue
Block a user