Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,8 @@ PODS:
- GTMSessionFetcher/Core (3.5.0)
- GTMSessionFetcher/Full (3.5.0):
- GTMSessionFetcher/Core
- image_picker_ios (0.0.1):
- Flutter
- nanopb (3.30910.0):
- nanopb/decode (= 3.30910.0)
- nanopb/encode (= 3.30910.0)
Expand All @@ -126,6 +128,7 @@ DEPENDENCIES:
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
- flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`)
- google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`)
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)

SPEC REPOS:
Expand Down Expand Up @@ -164,6 +167,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/flutter_secure_storage/ios"
google_sign_in_ios:
:path: ".symlinks/plugins/google_sign_in_ios/darwin"
image_picker_ios:
:path: ".symlinks/plugins/image_picker_ios/ios"
path_provider_foundation:
:path: ".symlinks/plugins/path_provider_foundation/darwin"

Expand All @@ -190,6 +195,7 @@ SPEC CHECKSUMS:
GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d
GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de
GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6
image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ class GogoBorderlessTagComponent extends StatelessWidget {
).createShader(bounds),
blendMode: BlendMode.srcIn,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
spacing: spacing,
children: [
icon,
Expand Down
182 changes: 118 additions & 64 deletions lib/presentation/community/screen/community_detail_screen.dart

Large diffs are not rendered by default.

20 changes: 18 additions & 2 deletions lib/presentation/home/screen/home_screen.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'dart:math';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:go_router/go_router.dart';
import 'package:gogo_app/design_system/component/indicator/refresh_indicator.dart';
import 'package:gogo_app/design_system/theme/typography.dart';
import 'package:gogo_app/presentation/community/screen/community_detail_screen.dart';
Expand Down Expand Up @@ -82,8 +83,23 @@ class HomeScreen extends StatelessWidget {
GogoIcons.clock(color: GogoColors.white),
date:
context.read<HomeBloc>().selectedDate,
onTap: () => PageRouter.gogoPushNamed(
PageRouter.matchList, stageId!)),
onTap: () => context.pushNamed(
PageRouter.matchList,
queryParameters: {
'stageId': stageId.toString(),
'year': DateFormat('yyyy')
.format(context
.read<HomeBloc>()
.selectedDate),
'month': DateFormat('MM')
.format(context
.read<HomeBloc>()
.selectedDate),
'day': DateFormat('dd').format(
context
.read<HomeBloc>()
.selectedDate),
})),
SingleChildScrollView(
padding: const EdgeInsets.symmetric(
horizontal: 16),
Expand Down
2 changes: 1 addition & 1 deletion lib/presentation/home/widgets/appbar/home_appbar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class HomeAppbar extends StatefulWidget {
}

class _HomeAppbarState extends State<HomeAppbar> {
final now = DateTime.now();
final now = DateTime(2025,04,20);
final ScrollController scrollController = ScrollController();

@override
Expand Down
2 changes: 1 addition & 1 deletion lib/presentation/logIn/bloc/login_bloc.dart
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ class LoginBloc extends Bloc<LoginEvent, LoginState> {
case Authority.UNAUTHENTICATED:
emit(UnauthorizedGogoLoginSuccess());
break;
case Authority.USER:
case Authority.USER || Authority.STAFF:
emit(UserGogoLoginSuccess());
break;
default:
Expand Down
2 changes: 1 addition & 1 deletion lib/presentation/logIn/screen/login_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class LogInScreen extends StatelessWidget {
if (state is GogoLoginFail || state is UnauthorizedGogoLoginSuccess) {
context.goNamed(PageRouter.signUp);
} else if (state is UserGogoLoginSuccess) {
context.goNamed(PageRouter.home);
context.goNamed(PageRouter.stage);
}
},
builder: (context, state) => Scaffold(
Expand Down
43 changes: 25 additions & 18 deletions lib/presentation/match_detail/screen/match_detail_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@ class MatchDetailScreen extends StatelessWidget {
return SafeArea(
child: SingleChildScrollView(
child: Column(
spacing: 28.h,
spacing: 28,
children: [
Padding(
padding: const EdgeInsets.all(15.0),
padding: const EdgeInsets.all(15),
child: GogoTopBar(
title:
'${matchInfo.ateam.teamName} vs ${matchInfo.bteam.teamName}',
Expand All @@ -78,43 +78,45 @@ class MatchDetailScreen extends StatelessWidget {
.copyWith(color: GogoColors.white),
),
Row(
spacing: 24,
children: [
Row(
spacing: 8,
children: [
Container(
width: 24.sp,
height: 24.sp,
width: 24,
height: 24,
decoration: BoxDecoration(
color: GogoColors.teamBlue,
borderRadius:
BorderRadius.circular(8.r),
BorderRadius.circular(8),
),
),
SizedBox(width: 8.w),
Text(
'${matchInfo.ateam.teamName}νŒ€',
style: GogoTypography.body3Extrabold
.copyWith(color: GogoColors.white),
.copyWith(
color: GogoColors.white),
),
],
),
SizedBox(width: 24.w),
Row(
spacing: 8,
children: [
Container(
width: 24.sp,
height: 24.sp,
width: 24,
height: 24,
decoration: BoxDecoration(
color: GogoColors.teamRed,
borderRadius:
BorderRadius.circular(8.r),
BorderRadius.circular(8),
),
),
SizedBox(width: 8.w),
Text(
'${matchInfo.bteam.teamName}νŒ€',
style: GogoTypography.body3Extrabold
.copyWith(color: GogoColors.white),
.copyWith(
color: GogoColors.white),
),
],
),
Expand Down Expand Up @@ -148,9 +150,11 @@ class MatchDetailScreen extends StatelessWidget {
isLeft: true),
...aTeamParticipant.map((p) {
final double x =
(double.tryParse(p.positionX) ?? 0);
(double.tryParse(p.positionX) ??
0);
final double y =
(double.tryParse(p.positionY) ?? 0);
(double.tryParse(p.positionY) ??
0);
final xRatio = x / originalWidth;
final yRatio = y / originalHeight;
return MatchParticipantWidget(
Expand All @@ -167,9 +171,11 @@ class MatchDetailScreen extends StatelessWidget {
isLeft: false),
...bTeamParticipant.map((p) {
final double x =
(double.tryParse(p.positionX) ?? 0);
(double.tryParse(p.positionX) ??
0);
final double y =
(double.tryParse(p.positionY) ?? 0);
(double.tryParse(p.positionY) ??
0);
final xRatio = x / originalWidth;
final yRatio = y / originalHeight;
return MatchParticipantWidget(
Expand All @@ -193,7 +199,8 @@ class MatchDetailScreen extends StatelessWidget {
final Color activeColor =
isLeft ? GogoColors.teamBlue : GogoColors.teamRed;
return Padding(
padding: const EdgeInsets.symmetric(horizontal: 16.0),
padding:
const EdgeInsets.symmetric(horizontal: 16.0),
child: Stack(
children: [
Container(
Expand Down
157 changes: 73 additions & 84 deletions lib/presentation/match_detail/widget/match_point_widget.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,99 +14,88 @@ class MatchPointWidget extends StatelessWidget {

@override
Widget build(BuildContext context) {
return SizedBox(
width: 240.w,
height: 58.h,
child: Stack(
return Padding(
padding: EdgeInsets.symmetric(horizontal: 67),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Align(
alignment: Alignment.centerLeft,
child: SizedBox(
width: 70.w,
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.center,
spacing: 12,
children: [
GogoBorderlessTagComponent(
color: matchDto.ateam.teamId ==
matchDto.betting.predictedWinTeamId
? GogoColors.main500
: GogoColors.gray300,
text: '${matchDto.ateam.bettingPoint}',
icon: GogoIcons.pointCircle(height: 16.sp, width: 16.sp),
),
SizedBox(
width: 70.w,
child: Text(
'${matchDto.ateam.teamName}νŒ€',
overflow: TextOverflow.ellipsis,
style: GogoTypography.body2Extrabold.copyWith(
color: matchDto.ateam.teamId ==
matchDto.betting.predictedWinTeamId
? GogoColors.main500
: GogoColors.white,
),
Expanded(
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.center,
spacing: 12,
children: [
GogoBorderlessTagComponent(
color: matchDto.ateam.teamId ==
matchDto.betting.predictedWinTeamId
? GogoColors.main500
: GogoColors.gray300,
text: '${matchDto.ateam.bettingPoint}',
icon: GogoIcons.pointCircle(height: 16, width: 16),
),
SizedBox(
child: Text(
'${matchDto.ateam.teamName}νŒ€',
overflow: TextOverflow.ellipsis,
style: GogoTypography.body2Extrabold.copyWith(
color: matchDto.ateam.teamId ==
matchDto.betting.predictedWinTeamId
? GogoColors.main500
: GogoColors.white,
),
),
],
),
),
],
),
),
Align(
alignment: Alignment.center,
child: SizedBox(
width: 60.w,
child: Column(
spacing: 8,
children: [
Text(
'총 포인트',
style: GogoTypography.body3Semibold
.copyWith(color: GogoColors.white),
),
GogoBorderlessTagComponent(
spacing: 8,
color: GogoColors.white,
text:
'${matchDto.ateam.bettingPoint + matchDto.bteam.bettingPoint}',
icon: GogoIcons.pointCircle(height: 16.sp, width: 16.sp),
)
],
),
Expanded(
flex: 2,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
spacing: 8,
children: [
Text(
'총 포인트',
style: GogoTypography.body3Semibold
.copyWith(color: GogoColors.white),
),
GogoBorderlessTagComponent(
spacing: 8,
color: GogoColors.white,
text:
'${matchDto.ateam.bettingPoint + matchDto.bteam.bettingPoint}',
icon: GogoIcons.pointCircle(height: 16, width: 16),
)
],
),
),
Align(
alignment: Alignment.centerRight,
child: SizedBox(
width: 70.w,
child: Column(
mainAxisSize: MainAxisSize.min,
spacing: 12,
children: [
GogoBorderlessTagComponent(
color: matchDto.bteam.teamId ==
matchDto.betting.predictedWinTeamId
? GogoColors.main500
: GogoColors.gray300,
text: '${matchDto.bteam.bettingPoint}',
icon: GogoIcons.pointCircle(height: 16.sp, width: 16.sp),
),
SizedBox(
width: 70.w,
child: Text(
'${matchDto.bteam.teamName}νŒ€',
overflow: TextOverflow.ellipsis,
style: GogoTypography.body2Extrabold.copyWith(
color: matchDto.bteam.teamId ==
matchDto.betting.predictedWinTeamId
? GogoColors.main500
: GogoColors.white,
),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
spacing: 12,
children: [
GogoBorderlessTagComponent(
color: matchDto.bteam.teamId ==
matchDto.betting.predictedWinTeamId
? GogoColors.main500
: GogoColors.gray300,
text: '${matchDto.bteam.bettingPoint}',
icon: GogoIcons.pointCircle(height: 16, width: 16),
),
SizedBox(
child: Text(
'${matchDto.bteam.teamName}νŒ€',
overflow: TextOverflow.ellipsis,
style: GogoTypography.body2Extrabold.copyWith(
color: matchDto.bteam.teamId ==
matchDto.betting.predictedWinTeamId
? GogoColors.main500
: GogoColors.white,
),
),
],
),
),
],
),
),
],
Expand Down
Loading