diff --git a/lib/ui/study_calendar_screen.dart b/lib/ui/study_calendar_screen.dart index 9b1404d..5856a54 100644 --- a/lib/ui/study_calendar_screen.dart +++ b/lib/ui/study_calendar_screen.dart @@ -187,6 +187,12 @@ class _StudyCalendarScreenState extends State { ); } + /// 넓은 화면(웹 데스크톱)에서 내용이 양옆으로 늘어지지 않게 가운데 최대 440 폭으로 맞춘다. + double _sidePad(BuildContext context) { + final width = MediaQuery.of(context).size.width; + return ((width - 440) / 2).clamp(16.0, double.infinity); + } + @override Widget build(BuildContext context) { return ListenableBuilder( @@ -208,7 +214,12 @@ class _StudyCalendarScreenState extends State { body: _controller.isLoading ? const Center(child: CircularProgressIndicator()) : ListView( - padding: const EdgeInsets.fromLTRB(16, 0, 16, 16), + padding: EdgeInsets.fromLTRB( + _sidePad(context), + 0, + _sidePad(context), + 16, + ), children: [ const Center(child: TitlePill('출석 달력')), const SizedBox(height: 16), @@ -269,9 +280,9 @@ class _StudyCalendarScreenState extends State { gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 7, - mainAxisSpacing: 6, - crossAxisSpacing: 6, - childAspectRatio: 0.85, + mainAxisSpacing: 4, + crossAxisSpacing: 4, + childAspectRatio: 1.0, ), itemCount: leadingBlanks + daysInMonth, itemBuilder: (context, index) { diff --git a/lib/ui/teacher_call_screen.dart b/lib/ui/teacher_call_screen.dart index ccd8713..71a660d 100644 --- a/lib/ui/teacher_call_screen.dart +++ b/lib/ui/teacher_call_screen.dart @@ -71,6 +71,12 @@ class _TeacherCallScreenState extends State { ); } + /// 넓은 화면(웹 데스크톱)에서 내용이 양옆으로 늘어지지 않게 가운데 최대 560 폭으로 맞춘다. + double _sidePad(BuildContext context) { + final width = MediaQuery.of(context).size.width; + return ((width - 560) / 2).clamp(16.0, double.infinity); + } + @override Widget build(BuildContext context) { return ListenableBuilder( @@ -93,7 +99,12 @@ class _TeacherCallScreenState extends State { : RefreshIndicator( onRefresh: _controller.refresh, child: ListView( - padding: const EdgeInsets.fromLTRB(16, 0, 16, 16), + padding: EdgeInsets.fromLTRB( + _sidePad(context), + 0, + _sidePad(context), + 16, + ), children: [ const Center(child: TitlePill('선생님 호출')), const SizedBox(height: 16),