From 5ee0bfe8f049d1b18a478daf7983a95f0f89fdcb Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Wed, 20 Oct 2021 12:01:06 +0900 Subject: [PATCH 001/338] elementary structure of guam 2.0 --- ios/Flutter/Debug.xcconfig | 1 + ios/Flutter/Release.xcconfig | 1 + ios/Podfile | 41 +++ lib/commons/custom_app_bar.dart | 59 ++++ lib/helpers/decode_ko.dart | 4 + lib/helpers/http_request.dart | 105 ++++++++ lib/main.dart | 116 ++------ lib/mixins/toast.dart | 18 ++ lib/providers/home/home_provider.dart | 45 ++++ lib/providers/user_auth/authenticate.dart | 192 ++++++++++++++ lib/screens/home/home.dart | 25 ++ lib/screens/home/root.dart | 14 + lib/screens/homes/homes_app.dart | 16 ++ lib/screens/homes/homes_body.dart | 8 + .../notifications/notifications_app.dart | 13 + .../notifications/notifications_body.dart | 8 + lib/screens/profiles/profiles_app.dart | 17 ++ lib/screens/profiles/profiles_body.dart | 8 + lib/screens/search/search_app.dart | 11 + lib/screens/search/search_body.dart | 8 + pubspec.lock | 251 +++++++++++++++++- pubspec.yaml | 30 +-- 22 files changed, 873 insertions(+), 118 deletions(-) create mode 100644 ios/Podfile create mode 100644 lib/commons/custom_app_bar.dart create mode 100644 lib/helpers/decode_ko.dart create mode 100644 lib/helpers/http_request.dart create mode 100644 lib/mixins/toast.dart create mode 100644 lib/providers/home/home_provider.dart create mode 100644 lib/providers/user_auth/authenticate.dart create mode 100644 lib/screens/home/home.dart create mode 100644 lib/screens/home/root.dart create mode 100644 lib/screens/homes/homes_app.dart create mode 100644 lib/screens/homes/homes_body.dart create mode 100644 lib/screens/notifications/notifications_app.dart create mode 100644 lib/screens/notifications/notifications_body.dart create mode 100644 lib/screens/profiles/profiles_app.dart create mode 100644 lib/screens/profiles/profiles_body.dart create mode 100644 lib/screens/search/search_app.dart create mode 100644 lib/screens/search/search_body.dart diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig index 592ceee8..ec97fc6f 100644 --- a/ios/Flutter/Debug.xcconfig +++ b/ios/Flutter/Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig index 592ceee8..c4855bfe 100644 --- a/ios/Flutter/Release.xcconfig +++ b/ios/Flutter/Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/ios/Podfile b/ios/Podfile new file mode 100644 index 00000000..1e8c3c90 --- /dev/null +++ b/ios/Podfile @@ -0,0 +1,41 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '9.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/lib/commons/custom_app_bar.dart b/lib/commons/custom_app_bar.dart new file mode 100644 index 00000000..bbccd1db --- /dev/null +++ b/lib/commons/custom_app_bar.dart @@ -0,0 +1,59 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/cupertino.dart'; +import 'dart:io' show Platform; + +class CustomAppBar extends StatelessWidget with PreferredSizeWidget { + final String title; + final dynamic leading; + final dynamic trailing; + final Color backgroundColor; + + CustomAppBar({this.title, this.leading, this.trailing, this.backgroundColor}); + + @override + Size get preferredSize => Size.fromHeight(AppBar().preferredSize.height); + + @override + Widget build(BuildContext context) { + var textColor = Colors.black; + var iconColor = Colors.black; + + if (Platform.isAndroid) { + return AppBar( + title: Text( + title ?? "", + style: TextStyle(color: textColor), + ), + leading: Material( + color: Colors.transparent, + child: leading, + ), + actions: trailing == null + ? [] + : [Material(color: Colors.transparent, child: trailing)], + backgroundColor: backgroundColor ?? Colors.white, + iconTheme: IconThemeData( + color: iconColor, + ), + ); + } else { + return CupertinoNavigationBar( + middle: Text( + title ?? "", + style: TextStyle( + color: textColor, + ), + ), + leading: Material( + color: Colors.transparent, + child: leading, + ), + trailing: Material( + color: Colors.transparent, + child: trailing, + ), + backgroundColor: backgroundColor ?? Colors.transparent, + ); + } + } +} diff --git a/lib/helpers/decode_ko.dart b/lib/helpers/decode_ko.dart new file mode 100644 index 00000000..986c3e04 --- /dev/null +++ b/lib/helpers/decode_ko.dart @@ -0,0 +1,4 @@ +import 'dart:convert'; + +// Translate json response to utf-8 json +String decodeKo(dynamic json) => utf8.decode(json.bodyBytes); diff --git a/lib/helpers/http_request.dart b/lib/helpers/http_request.dart new file mode 100644 index 00000000..fa72726c --- /dev/null +++ b/lib/helpers/http_request.dart @@ -0,0 +1,105 @@ +import 'dart:convert'; +import 'dart:io' show File, HttpHeaders; +import 'package:http/http.dart' as http; +import 'package:http_parser/http_parser.dart'; +import 'package:path/path.dart' as p; +import '../mixins/toast.dart'; + +class HttpRequest with Toast { + // final String baseAuthority = "13.209.157.42:8080"; // develop + final String baseAuthority = "gp3sx2pp60.execute-api.ap-northeast-2.amazonaws.com"; // real + // final String s3BaseAuthority = "https://guam.s3.ap-northeast-2.amazonaws.com/DEV/"; // develop + final String s3BaseAuthority = "https://guam.s3.ap-northeast-2.amazonaws.com/"; // real + + Future get({String authority, String path, dynamic queryParams, String authToken}) async { + try { + final uri = Uri.https(authority ?? baseAuthority, path, queryParams); + final response = await http.get( + uri, + headers: {'Content-Type': "application/json", HttpHeaders.authorizationHeader: authToken}, + ); + + return response; + } catch (e) { + print("Error on GET request: $e"); + showToast(success: false); + } + } + + Future post({String authority, String path, String authToken, dynamic queryParams, dynamic body}) async { + try { + final uri = Uri.https(authority ?? baseAuthority, path, queryParams); + + final response = await http.post( + uri, + headers: {'Content-Type': "application/json", HttpHeaders.authorizationHeader: authToken}, + body: jsonEncode(body), + ); + + return response; + } catch (e) { + print("Error on POST request: $e"); + showToast(success: false); + } + } + + Future postMultipart({String authority, String path, String authToken, Map fields, List files}) async { + try { + final uri = Uri.https(authority ?? baseAuthority, path); + + http.MultipartRequest request = http.MultipartRequest("POST", uri); + request.headers['Authorization'] = authToken; + fields.entries.forEach((e) => request.fields[e.key] = e.value); + + if (files != null) + files.forEach((e) async { + final multipartFile = http.MultipartFile( + "imageFiles", + e.readAsBytes().asStream(), + e.lengthSync(), + filename: e.path.split("/").last, + contentType: MediaType("image", "${p.extension(e.path)}") + ); + request.files.add(multipartFile); + }); + final response = await request.send(); + + return response; + } catch (e) { + print("Error on POST Multipart request: $e"); + showToast(success: false); + } + } + + Future put({String authority, String path, String authToken, dynamic body}) async { + try { + final uri = Uri.https(authority ?? baseAuthority, path); + + final response = await http.put( + uri, + headers: {'Content-Type': "application/json", HttpHeaders.authorizationHeader: authToken}, + body: jsonEncode(body), + ); + + return response; + } catch (e) { + print("Error on PUT request: $e"); + showToast(success: false); + } + } + + Future delete({String authority, String path, String authToken}) async { + try { + final uri = Uri.https(authority ?? baseAuthority, path); + final response = await http.delete( + uri, + headers: {'Content-Type': "application/json", HttpHeaders.authorizationHeader: authToken}, + ); + + return response; + } catch (e) { + print("Error on DELETE request: $e"); + showToast(success: false); + } + } +} diff --git a/lib/main.dart b/lib/main.dart index b9bfc389..f99f34e7 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,113 +1,27 @@ import 'package:flutter/material.dart'; +import 'package:hexcolor/hexcolor.dart'; +import 'package:provider/provider.dart'; +import 'providers/user_auth/authenticate.dart'; +import 'screens/home/root.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { - // This widget is the root of your application. @override Widget build(BuildContext context) { - return MaterialApp( - title: 'Flutter Demo', - theme: ThemeData( - // This is the theme of your application. - // - // Try running your application with "flutter run". You'll see the - // application has a blue toolbar. Then, without quitting the app, try - // changing the primarySwatch below to Colors.green and then invoke - // "hot reload" (press "r" in the console where you ran "flutter run", - // or simply save your changes to "hot reload" in a Flutter IDE). - // Notice that the counter didn't reset back to zero; the application - // is not restarted. - primarySwatch: Colors.blue, - ), - home: MyHomePage(title: 'Flutter Demo Home Page'), - ); - } -} - -class MyHomePage extends StatefulWidget { - MyHomePage({Key? key, required this.title}) : super(key: key); - - // This widget is the home page of your application. It is stateful, meaning - // that it has a State object (defined below) that contains fields that affect - // how it looks. - - // This class is the configuration for the state. It holds the values (in this - // case the title) provided by the parent (in this case the App widget) and - // used by the build method of the State. Fields in a Widget subclass are - // always marked "final". - - final String title; - - @override - _MyHomePageState createState() => _MyHomePageState(); -} - -class _MyHomePageState extends State { - int _counter = 0; - - void _incrementCounter() { - setState(() { - // This call to setState tells the Flutter framework that something has - // changed in this State, which causes it to rerun the build method below - // so that the display can reflect the updated values. If we changed - // _counter without calling setState(), then the build method would not be - // called again, and so nothing would appear to happen. - _counter++; - }); - } - - @override - Widget build(BuildContext context) { - // This method is rerun every time setState is called, for instance as done - // by the _incrementCounter method above. - // - // The Flutter framework has been optimized to make rerunning build methods - // fast, so that you can just rebuild anything that needs updating rather - // than having to individually change instances of widgets. - return Scaffold( - appBar: AppBar( - // Here we take the value from the MyHomePage object that was created by - // the App.build method, and use it to set our appbar title. - title: Text(widget.title), - ), - body: Center( - // Center is a layout widget. It takes a single child and positions it - // in the middle of the parent. - child: Column( - // Column is also a layout widget. It takes a list of children and - // arranges them vertically. By default, it sizes itself to fit its - // children horizontally, and tries to be as tall as its parent. - // - // Invoke "debug painting" (press "p" in the console, choose the - // "Toggle Debug Paint" action from the Flutter Inspector in Android - // Studio, or the "Toggle Debug Paint" command in Visual Studio Code) - // to see the wireframe for each widget. - // - // Column has various properties to control how it sizes itself and - // how it positions its children. Here we use mainAxisAlignment to - // center the children vertically; the main axis here is the vertical - // axis because Columns are vertical (the cross axis would be - // horizontal). - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - 'You have pushed the button this many times:', - ), - Text( - '$_counter', - style: Theme.of(context).textTheme.headline4, - ), - ], - ), - ), - floatingActionButton: FloatingActionButton( - onPressed: _incrementCounter, - tooltip: 'Increment', - child: Icon(Icons.add), - ), // This trailing comma makes auto-formatting nicer for build methods. + return MultiProvider( + providers: [ + ChangeNotifierProvider(create: (_) => Authenticate()), + ], + child: MaterialApp( + initialRoute: '/', + routes: { + '/': (context) => Root(), + }, + theme: ThemeData(primaryColor: HexColor('#6951FF')), + ) ); } } diff --git a/lib/mixins/toast.dart b/lib/mixins/toast.dart new file mode 100644 index 00000000..5fd791b2 --- /dev/null +++ b/lib/mixins/toast.dart @@ -0,0 +1,18 @@ +import 'package:flutter/material.dart'; +import 'package:bot_toast/bot_toast.dart'; + +mixin Toast { + void showToast ({@required bool success, @required String msg}) { + BotToast.showText( + text: msg ?? (success ? "완료되었습니다" : "오류가 발생했습니다"), + contentColor: success + ? Color.fromRGBO(85, 88, 255, 1) + : Color.fromRGBO(235, 87, 87, 1), + borderRadius: BorderRadius.circular(30), + textStyle: TextStyle( + fontSize: 14, + color: Colors.white + ) + ); + } +} diff --git a/lib/providers/home/home_provider.dart b/lib/providers/home/home_provider.dart new file mode 100644 index 00000000..e312b4c5 --- /dev/null +++ b/lib/providers/home/home_provider.dart @@ -0,0 +1,45 @@ +import 'package:flutter/material.dart'; +import '../../screens/homes/homes_app.dart'; +import '../../screens/search/search_app.dart'; +import '../../screens/notifications/notifications_app.dart'; +import '../../screens/profiles/profiles_app.dart'; + +class HomeProvider with ChangeNotifier { + int _idx = 0; + + final List bodyItems = [ + HomesApp(), + SearchApp(), + NotificationsApp(), + ProfilesApp() + ]; + + final List> bottomNavItems = [ + { + 'label': '홈', + 'icon': Icons.house_sharp, + }, + { + 'label': '검색', + 'icon': Icons.search, + }, + { + 'label': '알림', + 'icon': Icons.notifications, + }, + { + 'label': '프로필', + 'icon': Icons.person, + }, + ]; + + get idx => _idx; + + set idx(val) { + _idx = val; + notifyListeners(); + } + + Widget get bodyItem => bodyItems[_idx]; + Map get bottomNavItem => bottomNavItems[_idx]; +} diff --git a/lib/providers/user_auth/authenticate.dart b/lib/providers/user_auth/authenticate.dart new file mode 100644 index 00000000..e61895a7 --- /dev/null +++ b/lib/providers/user_auth/authenticate.dart @@ -0,0 +1,192 @@ +import 'dart:convert'; +import 'package:flutter/material.dart'; +import 'package:shared_preferences/shared_preferences.dart'; + +import '../../helpers/decode_ko.dart'; +import '../../helpers/http_request.dart'; +import '../../mixins/toast.dart'; + +class Authenticate extends ChangeNotifier with Toast { + final _kakaoClientId = "367d8cf339e2ba59376ba647c7135dd2"; + final _kakaoJavascriptClientId = "2edf60d1ebf23061d200cfe4a68a235a"; + + // FirebaseAuth auth = FirebaseAuth.instance; + // Profile me; + // bool loading = false; + // + // get kakaoClientId => _kakaoClientId; + // + // get kakaoJavascriptClientId => _kakaoJavascriptClientId; + // + // Authenticate() { + // getMyProfile(); + // } + // + // bool userSignedIn() => auth.currentUser != null && me != null; // 로그인 된 유저 존재 여부 + // bool profileExists() => me != null && me.isProfileSet; // 프로필까지 만든 정상 유저인지 여부 + // + // Future kakaoSignIn(String kakaoAccessToken) async { + // try { + // await HttpRequest().get( + // path: "/kakao", + // queryParams: {"token": kakaoAccessToken}, + // ).then((response) async { + // if (response.statusCode == 200) { + // final customToken = jsonDecode(response.body)["customToken"]; + // await auth.signInWithCustomToken(customToken); + // await getMyProfile(); + // showToast(success: true, msg: "카카오 로그인 되었습니다."); + // } else { + // final jsonUtf8 = decodeKo(response); + // final String err = json.decode(jsonUtf8)["message"]; + // showToast(success: false, msg: err); + // } + // }); + // } on FirebaseAuthException { + // showToast(success: false, msg: "Firebase Auth 에 문제가 발생했습니다."); + // } catch (e) { + // showToast(success: false, msg: e.message); + // } finally { + // notifyListeners(); + // } + // } + // + // Future getFirebaseIdToken() async { + // String idToken; + // + // try { + // User user = auth.currentUser; + // idToken = await user.getIdToken(); + // } on NoSuchMethodError { + // throw new Exception("로그인이 필요합니다."); + // } catch (e) { + // throw new Exception(e); + // } + // + // return idToken; + // } + // + // Future getMyProfile() async { + // try { + // String authToken = await getFirebaseIdToken(); + // + // if (authToken.isNotEmpty) { + // await HttpRequest() + // .get( + // path: "/user/me", + // authToken: authToken, + // ).then((response) async { + // if (response.statusCode == 200) { + // final jsonUtf8 = decodeKo(response); + // final Map jsonData = json.decode(jsonUtf8)["data"]; + // me = Profile.fromJson(jsonData); + // setMyFcmToken(); + // } else { + // final jsonUtf8 = decodeKo(response); + // final String err = json.decode(jsonUtf8)["message"]; + // showToast(success: false, msg: err); + // } + // }); + // } + // } catch (e) { + // print(e); + // } + // } + // + // Future setProfile({Map fields, dynamic files}) async { + // bool res = false; + // + // try { + // toggleLoading(); + // String authToken = await getFirebaseIdToken(); + // + // if (authToken.isNotEmpty) { + // await HttpRequest() + // .postMultipart( + // path: "/user", + // fields: { "command" : "${json.encode(fields)}" }, + // files: files, + // authToken: authToken) + // .then((response) async { + // if (response.statusCode == 200) { + // await getMyProfile(); + // showToast(success: true, msg: "프로필을 생성하였습니다."); + // res = true; + // } else { + // response.stream.bytesToString().then((val) { + // final String err = json.decode(val)["message"]; + // showToast(success: false, msg: err); + // }); + // } + // }); + // } + // } catch (e) { + // print(e); + // } finally { + // toggleLoading(); + // } + // + // return res; + // } + // + // Future signOut() async { + // await auth.signOut(); + // showToast(success: true, msg: "로그아웃 되었습니다."); + // notifyListeners(); + // } + // + // Future getUserProfile(int userId) async { + // Profile user; + // + // try { + // await HttpRequest() + // .get( + // path: "/user/$userId", + // ).then((response) { + // if (response.statusCode == 200) { + // final jsonUtf8 = decodeKo(response); + // final Map jsonData = json.decode(jsonUtf8)["data"]; + // user = Profile.fromJson(jsonData); + // } else{ + // final jsonUtf8 = decodeKo(response); + // final String err = json.decode(jsonUtf8)["message"]; + // showToast(success: false, msg: err); + // } + // }); + // + // return user; + // } catch (e) { + // print(e); + // return null; + // } + // } + // + // Future setMyFcmToken() async { + // // Disk storage "setFcmToken" will be null at startup, granted bool value afterwords. + // SharedPreferences prefs = await SharedPreferences.getInstance(); + // bool setFcmToken = prefs.getBool("setFcmToken") ?? false; + // + // if (setFcmToken) return; // No need to set fcm token twice. + // + // try { + // String authToken = await getFirebaseIdToken(); + // String fcmToken = await FirebaseMessaging.instance.getToken(); + // + // await HttpRequest().post( + // path: "/user/fcm", + // authToken: authToken, + // body: { "fcmToken": fcmToken } + // ).then((response) async { + // if (response.statusCode == 200) { + // await prefs.setBool("setFcmToken", true); + // } + // }); + // } catch (e) { + // print(e); + // } + // } + // void toggleLoading() { + // loading = !loading; + // notifyListeners(); + // } +} diff --git a/lib/screens/home/home.dart b/lib/screens/home/home.dart new file mode 100644 index 00000000..33c2adcc --- /dev/null +++ b/lib/screens/home/home.dart @@ -0,0 +1,25 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import '../../providers/home/home_provider.dart'; + +class Home extends StatelessWidget { + @override + Widget build(BuildContext context) { + final homeProvider = context.watch(); + + return Scaffold( + body: homeProvider.bodyItem, + bottomNavigationBar: BottomNavigationBar( + type: BottomNavigationBarType.fixed, + onTap: (idx) => homeProvider.idx = idx, + currentIndex: homeProvider.idx, + items: homeProvider.bottomNavItems.map((e) => + BottomNavigationBarItem( + label: e['label'], + icon: Icon(e['icon']), + ) + ).toList(), + ), + ); + } +} diff --git a/lib/screens/home/root.dart b/lib/screens/home/root.dart new file mode 100644 index 00000000..fe287eca --- /dev/null +++ b/lib/screens/home/root.dart @@ -0,0 +1,14 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import '../../providers/home/home_provider.dart'; +import 'home.dart'; + +class Root extends StatelessWidget { + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (_) => HomeProvider(), + child: Home(), + ); + } +} diff --git a/lib/screens/homes/homes_app.dart b/lib/screens/homes/homes_app.dart new file mode 100644 index 00000000..659491a9 --- /dev/null +++ b/lib/screens/homes/homes_app.dart @@ -0,0 +1,16 @@ +import 'package:flutter/material.dart'; +import '../../commons/custom_app_bar.dart'; +import 'homes_body.dart'; + +class HomesApp extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + title: '홈', + trailing: Icon(Icons.message), + ), + body: HomesBody(), + ); + } +} diff --git a/lib/screens/homes/homes_body.dart b/lib/screens/homes/homes_body.dart new file mode 100644 index 00000000..e6990176 --- /dev/null +++ b/lib/screens/homes/homes_body.dart @@ -0,0 +1,8 @@ +import 'package:flutter/material.dart'; + +class HomesBody extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Container(); + } +} diff --git a/lib/screens/notifications/notifications_app.dart b/lib/screens/notifications/notifications_app.dart new file mode 100644 index 00000000..f9c0a324 --- /dev/null +++ b/lib/screens/notifications/notifications_app.dart @@ -0,0 +1,13 @@ +import 'package:flutter/material.dart'; +import 'notifications_body.dart'; +import '../../commons/custom_app_bar.dart'; + +class NotificationsApp extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar(title: '알림'), + body: NotificationsBody(), + ); + } +} diff --git a/lib/screens/notifications/notifications_body.dart b/lib/screens/notifications/notifications_body.dart new file mode 100644 index 00000000..f26afadf --- /dev/null +++ b/lib/screens/notifications/notifications_body.dart @@ -0,0 +1,8 @@ +import 'package:flutter/material.dart'; + +class NotificationsBody extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Container(); + } +} diff --git a/lib/screens/profiles/profiles_app.dart b/lib/screens/profiles/profiles_app.dart new file mode 100644 index 00000000..f21f28ad --- /dev/null +++ b/lib/screens/profiles/profiles_app.dart @@ -0,0 +1,17 @@ +import 'package:flutter/material.dart'; + +import '../../commons/custom_app_bar.dart'; +import 'profiles_body.dart'; + +class ProfilesApp extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + title: '프로필', + trailing: Icon(Icons.message), + ), + body: ProfilesBody() + ); + } +} diff --git a/lib/screens/profiles/profiles_body.dart b/lib/screens/profiles/profiles_body.dart new file mode 100644 index 00000000..12620c9e --- /dev/null +++ b/lib/screens/profiles/profiles_body.dart @@ -0,0 +1,8 @@ +import 'package:flutter/material.dart'; + +class ProfilesBody extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Container(); + } +} diff --git a/lib/screens/search/search_app.dart b/lib/screens/search/search_app.dart new file mode 100644 index 00000000..cea4d941 --- /dev/null +++ b/lib/screens/search/search_app.dart @@ -0,0 +1,11 @@ +import 'package:flutter/material.dart'; +import '../../commons/custom_app_bar.dart'; + +class SearchApp extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar(title: '검색') + ); + } +} diff --git a/lib/screens/search/search_body.dart b/lib/screens/search/search_body.dart new file mode 100644 index 00000000..6ec69182 --- /dev/null +++ b/lib/screens/search/search_body.dart @@ -0,0 +1,8 @@ +import 'package:flutter/material.dart'; + +class SearchBody extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Container(); + } +} diff --git a/pubspec.lock b/pubspec.lock index 7ffced4e..65fae92a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -15,6 +15,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.1.0" + bot_toast: + dependency: "direct main" + description: + name: bot_toast + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.1" characters: dependency: transitive description: @@ -43,6 +50,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.15.0" + conditional_builder: + dependency: "direct main" + description: + name: conditional_builder + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.2" cupertino_icons: dependency: "direct main" description: @@ -57,16 +71,96 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.2.0" + ffi: + dependency: transitive + description: + name: ffi + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.2" + file: + dependency: transitive + description: + name: file + url: "https://pub.dartlang.org" + source: hosted + version: "6.1.2" flutter: dependency: "direct main" description: flutter source: sdk version: "0.0.0" + flutter_form_builder: + dependency: "direct main" + description: + name: flutter_form_builder + url: "https://pub.dartlang.org" + source: hosted + version: "6.1.0+1" + flutter_localizations: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + flutter_session: + dependency: "direct main" + description: + name: flutter_session + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.1" + flutter_svg: + dependency: "direct main" + description: + name: flutter_svg + url: "https://pub.dartlang.org" + source: hosted + version: "0.21.0+1" flutter_test: dependency: "direct dev" description: flutter source: sdk version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + hexcolor: + dependency: "direct main" + description: + name: hexcolor + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.5" + http: + dependency: "direct main" + description: + name: http + url: "https://pub.dartlang.org" + source: hosted + version: "0.13.3" + http_parser: + dependency: transitive + description: + name: http_parser + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.0" + intl: + dependency: "direct main" + description: + name: intl + url: "https://pub.dartlang.org" + source: hosted + version: "0.17.0" + js: + dependency: transitive + description: + name: js + url: "https://pub.dartlang.org" + source: hosted + version: "0.6.3" matcher: dependency: transitive description: @@ -81,6 +175,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.3.0" + modal_bottom_sheet: + dependency: "direct main" + description: + name: modal_bottom_sheet + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" + nested: + dependency: transitive + description: + name: nested + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0" path: dependency: transitive description: @@ -88,6 +196,125 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.8.0" + path_drawing: + dependency: transitive + description: + name: path_drawing + url: "https://pub.dartlang.org" + source: hosted + version: "0.5.1+1" + path_parsing: + dependency: transitive + description: + name: path_parsing + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.1" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.1+2" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.4" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.5" + pedantic: + dependency: transitive + description: + name: pedantic + url: "https://pub.dartlang.org" + source: hosted + version: "1.11.1" + petitparser: + dependency: transitive + description: + name: petitparser + url: "https://pub.dartlang.org" + source: hosted + version: "4.1.0" + platform: + dependency: transitive + description: + name: platform + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.2" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.3" + process: + dependency: transitive + description: + name: process + url: "https://pub.dartlang.org" + source: hosted + version: "4.2.3" + provider: + dependency: "direct main" + description: + name: provider + url: "https://pub.dartlang.org" + source: hosted + version: "5.0.0" + shared_preferences: + dependency: transitive + description: + name: shared_preferences + url: "https://pub.dartlang.org" + source: hosted + version: "0.5.12+4" + shared_preferences_linux: + dependency: transitive + description: + name: shared_preferences_linux + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.2+4" + shared_preferences_macos: + dependency: transitive + description: + name: shared_preferences_macos + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.1+11" + shared_preferences_platform_interface: + dependency: transitive + description: + name: shared_preferences_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.4" + shared_preferences_web: + dependency: transitive + description: + name: shared_preferences_web + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.2+7" + shared_preferences_windows: + dependency: transitive + description: + name: shared_preferences_windows + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.2+3" sky_engine: dependency: transitive description: flutter @@ -149,5 +376,27 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.1.0" + win32: + dependency: transitive + description: + name: win32 + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.9" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.2" + xml: + dependency: transitive + description: + name: xml + url: "https://pub.dartlang.org" + source: hosted + version: "5.1.2" sdks: - dart: ">=2.12.0 <3.0.0" + dart: ">=2.13.0 <3.0.0" + flutter: ">=2.0.1" diff --git a/pubspec.yaml b/pubspec.yaml index 066484de..329d3fcf 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: guam_community_client -description: Connect Developers +description: A new Flutter project. # The following line prevents the package from being accidentally published to # pub.dev using `pub publish`. This is preferred for private packages. @@ -18,16 +18,22 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: ">=2.12.0 <3.0.0" + sdk: ">=2.10.0 <3.0.0" dependencies: flutter: sdk: flutter - - - # The following adds the Cupertino Icons font to your application. - # Use with the CupertinoIcons class for iOS style icons. + flutter_session: ^0.1.1 + http: ^0.13.1 + provider: ^5.0.0 cupertino_icons: ^1.0.2 + hexcolor: ^2.0.3 + modal_bottom_sheet: ^2.0.0 + conditional_builder: ^1.0.2 + flutter_form_builder: ^6.0.0-nullsafety.1 + intl: ^0.17.0 + flutter_svg: ^0.21.0+1 + bot_toast: ^4.0.1 dev_dependencies: flutter_test: @@ -38,17 +44,9 @@ dev_dependencies: # The following section is specific to Flutter. flutter: - - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the material Icons class. uses-material-design: true - - # To add assets to your application, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg - + assets: + - assets/logos/ # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.dev/assets-and-images/#resolution-aware. From 267f80324ecd228c26f3cd6245ba6a5772e32029 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sun, 24 Oct 2021 23:05:19 +0900 Subject: [PATCH 002/338] add icons --- assets/icons/back.svg | 3 +++ assets/icons/blog.svg | 12 ++++++++++++ assets/icons/camera.svg | 4 ++++ assets/icons/comment.svg | 6 ++++++ assets/icons/delete_outlined.svg | 5 +++++ assets/icons/down.svg | 3 +++ assets/icons/github.svg | 3 +++ assets/icons/home_filled.svg | 3 +++ assets/icons/home_outlined.svg | 3 +++ assets/icons/like_filled.svg | 3 +++ assets/icons/like_outlined.svg | 3 +++ assets/icons/message.svg | 4 ++++ assets/icons/message_default.svg | 7 +++++++ assets/icons/message_new.svg | 15 +++++++++++++++ assets/icons/more.svg | 5 +++++ assets/icons/notification_filled_default.svg | 4 ++++ assets/icons/notification_filled_new.svg | 5 +++++ assets/icons/notification_outlined_default.svg | 3 +++ assets/icons/notification_outlined_new.svg | 4 ++++ assets/icons/picture.svg | 3 +++ assets/icons/plus.svg | 3 +++ assets/icons/profile_filled.svg | 4 ++++ assets/icons/profile_outlined.svg | 4 ++++ assets/icons/right.svg | 3 +++ assets/icons/scrap_filled.svg | 3 +++ assets/icons/scrap_outlined.svg | 3 +++ assets/icons/search.svg | 3 +++ assets/icons/setting.svg | 5 +++++ assets/icons/write.svg | 3 +++ 29 files changed, 129 insertions(+) create mode 100644 assets/icons/back.svg create mode 100644 assets/icons/blog.svg create mode 100644 assets/icons/camera.svg create mode 100644 assets/icons/comment.svg create mode 100644 assets/icons/delete_outlined.svg create mode 100644 assets/icons/down.svg create mode 100644 assets/icons/github.svg create mode 100644 assets/icons/home_filled.svg create mode 100644 assets/icons/home_outlined.svg create mode 100644 assets/icons/like_filled.svg create mode 100644 assets/icons/like_outlined.svg create mode 100644 assets/icons/message.svg create mode 100644 assets/icons/message_default.svg create mode 100644 assets/icons/message_new.svg create mode 100644 assets/icons/more.svg create mode 100644 assets/icons/notification_filled_default.svg create mode 100644 assets/icons/notification_filled_new.svg create mode 100644 assets/icons/notification_outlined_default.svg create mode 100644 assets/icons/notification_outlined_new.svg create mode 100644 assets/icons/picture.svg create mode 100644 assets/icons/plus.svg create mode 100644 assets/icons/profile_filled.svg create mode 100644 assets/icons/profile_outlined.svg create mode 100644 assets/icons/right.svg create mode 100644 assets/icons/scrap_filled.svg create mode 100644 assets/icons/scrap_outlined.svg create mode 100644 assets/icons/search.svg create mode 100644 assets/icons/setting.svg create mode 100644 assets/icons/write.svg diff --git a/assets/icons/back.svg b/assets/icons/back.svg new file mode 100644 index 00000000..0fadd898 --- /dev/null +++ b/assets/icons/back.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/blog.svg b/assets/icons/blog.svg new file mode 100644 index 00000000..e8002f8c --- /dev/null +++ b/assets/icons/blog.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/assets/icons/camera.svg b/assets/icons/camera.svg new file mode 100644 index 00000000..61e1bef1 --- /dev/null +++ b/assets/icons/camera.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/icons/comment.svg b/assets/icons/comment.svg new file mode 100644 index 00000000..b0901346 --- /dev/null +++ b/assets/icons/comment.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/icons/delete_outlined.svg b/assets/icons/delete_outlined.svg new file mode 100644 index 00000000..6f5a2cb8 --- /dev/null +++ b/assets/icons/delete_outlined.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/icons/down.svg b/assets/icons/down.svg new file mode 100644 index 00000000..8eab77d5 --- /dev/null +++ b/assets/icons/down.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/github.svg b/assets/icons/github.svg new file mode 100644 index 00000000..f89f3392 --- /dev/null +++ b/assets/icons/github.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/home_filled.svg b/assets/icons/home_filled.svg new file mode 100644 index 00000000..6fc11d0f --- /dev/null +++ b/assets/icons/home_filled.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/home_outlined.svg b/assets/icons/home_outlined.svg new file mode 100644 index 00000000..2e290d61 --- /dev/null +++ b/assets/icons/home_outlined.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/like_filled.svg b/assets/icons/like_filled.svg new file mode 100644 index 00000000..2819643b --- /dev/null +++ b/assets/icons/like_filled.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/like_outlined.svg b/assets/icons/like_outlined.svg new file mode 100644 index 00000000..d85a30e2 --- /dev/null +++ b/assets/icons/like_outlined.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/message.svg b/assets/icons/message.svg new file mode 100644 index 00000000..8021fbb6 --- /dev/null +++ b/assets/icons/message.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/icons/message_default.svg b/assets/icons/message_default.svg new file mode 100644 index 00000000..3a5e3dc0 --- /dev/null +++ b/assets/icons/message_default.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/icons/message_new.svg b/assets/icons/message_new.svg new file mode 100644 index 00000000..5b84695c --- /dev/null +++ b/assets/icons/message_new.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/assets/icons/more.svg b/assets/icons/more.svg new file mode 100644 index 00000000..aab4d84c --- /dev/null +++ b/assets/icons/more.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/icons/notification_filled_default.svg b/assets/icons/notification_filled_default.svg new file mode 100644 index 00000000..1c9401fb --- /dev/null +++ b/assets/icons/notification_filled_default.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/icons/notification_filled_new.svg b/assets/icons/notification_filled_new.svg new file mode 100644 index 00000000..f0f13d3d --- /dev/null +++ b/assets/icons/notification_filled_new.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/icons/notification_outlined_default.svg b/assets/icons/notification_outlined_default.svg new file mode 100644 index 00000000..e5294605 --- /dev/null +++ b/assets/icons/notification_outlined_default.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/notification_outlined_new.svg b/assets/icons/notification_outlined_new.svg new file mode 100644 index 00000000..d35ca1f4 --- /dev/null +++ b/assets/icons/notification_outlined_new.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/icons/picture.svg b/assets/icons/picture.svg new file mode 100644 index 00000000..925442d3 --- /dev/null +++ b/assets/icons/picture.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/plus.svg b/assets/icons/plus.svg new file mode 100644 index 00000000..d39c3fc1 --- /dev/null +++ b/assets/icons/plus.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/profile_filled.svg b/assets/icons/profile_filled.svg new file mode 100644 index 00000000..185cef09 --- /dev/null +++ b/assets/icons/profile_filled.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/icons/profile_outlined.svg b/assets/icons/profile_outlined.svg new file mode 100644 index 00000000..2858ee05 --- /dev/null +++ b/assets/icons/profile_outlined.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/icons/right.svg b/assets/icons/right.svg new file mode 100644 index 00000000..dad56da5 --- /dev/null +++ b/assets/icons/right.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/scrap_filled.svg b/assets/icons/scrap_filled.svg new file mode 100644 index 00000000..57e1afad --- /dev/null +++ b/assets/icons/scrap_filled.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/scrap_outlined.svg b/assets/icons/scrap_outlined.svg new file mode 100644 index 00000000..b2bd4736 --- /dev/null +++ b/assets/icons/scrap_outlined.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/search.svg b/assets/icons/search.svg new file mode 100644 index 00000000..ce5af060 --- /dev/null +++ b/assets/icons/search.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/icons/setting.svg b/assets/icons/setting.svg new file mode 100644 index 00000000..a25def0d --- /dev/null +++ b/assets/icons/setting.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/icons/write.svg b/assets/icons/write.svg new file mode 100644 index 00000000..7085e676 --- /dev/null +++ b/assets/icons/write.svg @@ -0,0 +1,3 @@ + + + From 76196ecb79f6e54b84f1c739cc90432ed9a324a0 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sun, 24 Oct 2021 23:05:43 +0900 Subject: [PATCH 003/338] elementary file structure --- ios/Flutter/AppFrameworkInfo.plist | 2 +- ios/Flutter/Release.xcconfig | 1 + ios/Podfile | 2 +- ios/Podfile.lock | 28 ++++++++ ios/Runner.xcodeproj/project.pbxproj | 68 +++++++++++++++++++ .../contents.xcworkspacedata | 3 + lib/main.dart | 1 + lib/providers/home/home_provider.dart | 4 +- lib/screens/boards/boards_app.dart | 19 ++++++ .../boards_body.dart} | 2 +- lib/screens/boards/posts/posts.dart | 28 ++++++++ lib/screens/home/home.dart | 8 +-- lib/screens/homes/homes_app.dart | 16 ----- lib/screens/messages/message.dart | 20 ++++++ lib/screens/profiles/profiles_app.dart | 3 +- pubspec.lock | 8 +-- pubspec.yaml | 2 +- 17 files changed, 184 insertions(+), 31 deletions(-) create mode 100644 ios/Podfile.lock create mode 100644 lib/screens/boards/boards_app.dart rename lib/screens/{homes/homes_body.dart => boards/boards_body.dart} (73%) create mode 100644 lib/screens/boards/posts/posts.dart delete mode 100644 lib/screens/homes/homes_app.dart create mode 100644 lib/screens/messages/message.dart diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist index 9367d483..8d4492f9 100644 --- a/ios/Flutter/AppFrameworkInfo.plist +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 8.0 + 9.0 diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig index c4855bfe..c70ec0f5 100644 --- a/ios/Flutter/Release.xcconfig +++ b/ios/Flutter/Release.xcconfig @@ -1,2 +1,3 @@ #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" +#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig" diff --git a/ios/Podfile b/ios/Podfile index 1e8c3c90..252d9ec7 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '9.0' +platform :ios, '9.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/ios/Podfile.lock b/ios/Podfile.lock new file mode 100644 index 00000000..be7eea29 --- /dev/null +++ b/ios/Podfile.lock @@ -0,0 +1,28 @@ +PODS: + - Flutter (1.0.0) + - hexcolor (0.0.1): + - Flutter + - shared_preferences (0.0.1): + - Flutter + +DEPENDENCIES: + - Flutter (from `Flutter`) + - hexcolor (from `.symlinks/plugins/hexcolor/ios`) + - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) + +EXTERNAL SOURCES: + Flutter: + :path: Flutter + hexcolor: + :path: ".symlinks/plugins/hexcolor/ios" + shared_preferences: + :path: ".symlinks/plugins/shared_preferences/ios" + +SPEC CHECKSUMS: + Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a + hexcolor: fdfb9c4258ad96e949c2dbcdf790a62194b8aa89 + shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d + +PODFILE CHECKSUM: a75497545d4391e2d394c3668e20cfb1c2bbd4aa + +COCOAPODS: 1.11.2 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 6b34e871..dacc9b1d 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -10,6 +10,7 @@ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 85D49BB426E8522D591895B0 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44D477CDA4BB49BEB40F4A1 /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -32,6 +33,7 @@ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 5209EB4C39EFB1D9572AC4B7 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; @@ -42,6 +44,9 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + B3D6DB9771001E387EC483AD /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + D44D477CDA4BB49BEB40F4A1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E51A85551E0DBA36176272C8 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -49,12 +54,24 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 85D49BB426E8522D591895B0 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 01214128D59D620B8640FBB6 /* Pods */ = { + isa = PBXGroup; + children = ( + E51A85551E0DBA36176272C8 /* Pods-Runner.debug.xcconfig */, + 5209EB4C39EFB1D9572AC4B7 /* Pods-Runner.release.xcconfig */, + B3D6DB9771001E387EC483AD /* Pods-Runner.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -72,6 +89,8 @@ 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, + 01214128D59D620B8640FBB6 /* Pods */, + 9D4158351043250378431FC0 /* Frameworks */, ); sourceTree = ""; }; @@ -98,6 +117,14 @@ path = Runner; sourceTree = ""; }; + 9D4158351043250378431FC0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + D44D477CDA4BB49BEB40F4A1 /* Pods_Runner.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -105,12 +132,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( + 8A55571DEA5DDEEDE8B51EF9 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + 83E63B4FBD32138A8EB84AFF /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -183,6 +212,45 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; + 83E63B4FBD32138A8EB84AFF /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 8A55571DEA5DDEEDE8B51EF9 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata index 1d526a16..21a3cc14 100644 --- a/ios/Runner.xcworkspace/contents.xcworkspacedata +++ b/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -4,4 +4,7 @@ + + diff --git a/lib/main.dart b/lib/main.dart index f99f34e7..1e83ed92 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -16,6 +16,7 @@ class MyApp extends StatelessWidget { ChangeNotifierProvider(create: (_) => Authenticate()), ], child: MaterialApp( + debugShowCheckedModeBanner: false, initialRoute: '/', routes: { '/': (context) => Root(), diff --git a/lib/providers/home/home_provider.dart b/lib/providers/home/home_provider.dart index e312b4c5..b8db5f7f 100644 --- a/lib/providers/home/home_provider.dart +++ b/lib/providers/home/home_provider.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import '../../screens/homes/homes_app.dart'; +import '../../screens/boards/boards_app.dart'; import '../../screens/search/search_app.dart'; import '../../screens/notifications/notifications_app.dart'; import '../../screens/profiles/profiles_app.dart'; @@ -8,7 +8,7 @@ class HomeProvider with ChangeNotifier { int _idx = 0; final List bodyItems = [ - HomesApp(), + BoardsApp(), SearchApp(), NotificationsApp(), ProfilesApp() diff --git a/lib/screens/boards/boards_app.dart b/lib/screens/boards/boards_app.dart new file mode 100644 index 00000000..1cfd5ef1 --- /dev/null +++ b/lib/screens/boards/boards_app.dart @@ -0,0 +1,19 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/screens/boards/posts/posts.dart'; +import 'package:guam_community_client/screens/messages/message.dart'; +import '../../commons/custom_app_bar.dart'; +import 'boards_body.dart'; + +class BoardsApp extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + title: '홈', + trailing: Message() + ), + body: BoardsBody(), + floatingActionButton: Posts() + ); + } +} diff --git a/lib/screens/homes/homes_body.dart b/lib/screens/boards/boards_body.dart similarity index 73% rename from lib/screens/homes/homes_body.dart rename to lib/screens/boards/boards_body.dart index e6990176..d1341a11 100644 --- a/lib/screens/homes/homes_body.dart +++ b/lib/screens/boards/boards_body.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; -class HomesBody extends StatelessWidget { +class BoardsBody extends StatelessWidget { @override Widget build(BuildContext context) { return Container(); diff --git a/lib/screens/boards/posts/posts.dart b/lib/screens/boards/posts/posts.dart new file mode 100644 index 00000000..edd2c565 --- /dev/null +++ b/lib/screens/boards/posts/posts.dart @@ -0,0 +1,28 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:hexcolor/hexcolor.dart'; + +class Posts extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Container( + height: 56, + width: 56, + child: FittedBox( + child: FloatingActionButton( + onPressed: () {}, + backgroundColor: HexColor('#6951FF'), + child: IconButton( + icon: SvgPicture.asset( + 'assets/icons/write.svg', + color: Colors.white, + width: 30, + height: 30, + ), + onPressed: () {} + ), + ), + ), + ); + } +} diff --git a/lib/screens/home/home.dart b/lib/screens/home/home.dart index 33c2adcc..88a8ae65 100644 --- a/lib/screens/home/home.dart +++ b/lib/screens/home/home.dart @@ -14,10 +14,10 @@ class Home extends StatelessWidget { onTap: (idx) => homeProvider.idx = idx, currentIndex: homeProvider.idx, items: homeProvider.bottomNavItems.map((e) => - BottomNavigationBarItem( - label: e['label'], - icon: Icon(e['icon']), - ) + BottomNavigationBarItem( + label: e['label'], + icon: Icon(e['icon']), + ) ).toList(), ), ); diff --git a/lib/screens/homes/homes_app.dart b/lib/screens/homes/homes_app.dart deleted file mode 100644 index 659491a9..00000000 --- a/lib/screens/homes/homes_app.dart +++ /dev/null @@ -1,16 +0,0 @@ -import 'package:flutter/material.dart'; -import '../../commons/custom_app_bar.dart'; -import 'homes_body.dart'; - -class HomesApp extends StatelessWidget { - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: CustomAppBar( - title: '홈', - trailing: Icon(Icons.message), - ), - body: HomesBody(), - ); - } -} diff --git a/lib/screens/messages/message.dart b/lib/screens/messages/message.dart new file mode 100644 index 00000000..749909de --- /dev/null +++ b/lib/screens/messages/message.dart @@ -0,0 +1,20 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; + +class Message extends StatelessWidget { + bool newMessage = true; + + @override + Widget build(BuildContext context) { + return IconButton( + icon: SvgPicture.asset( + newMessage + ? 'assets/icons/message_new.svg' + : 'assets/icons/message_default.svg', + width: 24, + height: 24, + ), + onPressed: () {} + ); + } +} diff --git a/lib/screens/profiles/profiles_app.dart b/lib/screens/profiles/profiles_app.dart index f21f28ad..1f5dc26b 100644 --- a/lib/screens/profiles/profiles_app.dart +++ b/lib/screens/profiles/profiles_app.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/screens/messages/message.dart'; import '../../commons/custom_app_bar.dart'; import 'profiles_body.dart'; @@ -9,7 +10,7 @@ class ProfilesApp extends StatelessWidget { return Scaffold( appBar: CustomAppBar( title: '프로필', - trailing: Icon(Icons.message), + trailing: Message(), ), body: ProfilesBody() ); diff --git a/pubspec.lock b/pubspec.lock index 65fae92a..802ab58d 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,7 +7,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.6.1" + version: "2.8.1" boolean_selector: dependency: transitive description: @@ -35,7 +35,7 @@ packages: name: charcode url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.3.1" clock: dependency: transitive description: @@ -174,7 +174,7 @@ packages: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.7.0" modal_bottom_sheet: dependency: "direct main" description: @@ -361,7 +361,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.3.0" + version: "0.4.2" typed_data: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 329d3fcf..d3ac12a0 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -46,7 +46,7 @@ dev_dependencies: flutter: uses-material-design: true assets: - - assets/logos/ + - assets/icons/ # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.dev/assets-and-images/#resolution-aware. From 7fb89f010f896115d729fb32f507d62db717fefd Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sat, 30 Oct 2021 10:14:01 +0900 Subject: [PATCH 004/338] minor change of structure --- lib/commons/custom_app_bar.dart | 33 ++++++++++++----------- lib/main.dart | 5 +++- lib/providers/user_auth/authenticate.dart | 4 +-- lib/screens/home/home.dart | 2 ++ 4 files changed, 26 insertions(+), 18 deletions(-) diff --git a/lib/commons/custom_app_bar.dart b/lib/commons/custom_app_bar.dart index bbccd1db..6becdb29 100644 --- a/lib/commons/custom_app_bar.dart +++ b/lib/commons/custom_app_bar.dart @@ -20,14 +20,16 @@ class CustomAppBar extends StatelessWidget with PreferredSizeWidget { if (Platform.isAndroid) { return AppBar( - title: Text( - title ?? "", - style: TextStyle(color: textColor), - ), - leading: Material( - color: Colors.transparent, - child: leading, + elevation: 1, + title: Center( + child: Text( + title ?? "", + style: TextStyle(color: textColor), + ), ), + leading: trailing != null + ? Material(color: Colors.transparent, child: leading) + : null, actions: trailing == null ? [] : [Material(color: Colors.transparent, child: trailing)], @@ -38,16 +40,17 @@ class CustomAppBar extends StatelessWidget with PreferredSizeWidget { ); } else { return CupertinoNavigationBar( - middle: Text( - title ?? "", - style: TextStyle( - color: textColor, + middle: Center( + child: Text( + title ?? "", + style: TextStyle( + color: textColor, + ), ), ), - leading: Material( - color: Colors.transparent, - child: leading, - ), + leading: trailing != null + ? Material(color: Colors.transparent, child: leading) + : null, trailing: Material( color: Colors.transparent, child: trailing, diff --git a/lib/main.dart b/lib/main.dart index 1e83ed92..db9933c5 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:hexcolor/hexcolor.dart'; import 'package:provider/provider.dart'; import 'providers/user_auth/authenticate.dart'; @@ -9,6 +10,8 @@ void main() { } class MyApp extends StatelessWidget { + static HexColor themeColor = HexColor('#6951FF'); + @override Widget build(BuildContext context) { return MultiProvider( @@ -21,7 +24,7 @@ class MyApp extends StatelessWidget { routes: { '/': (context) => Root(), }, - theme: ThemeData(primaryColor: HexColor('#6951FF')), + theme: ThemeData(primaryColor: themeColor), ) ); } diff --git a/lib/providers/user_auth/authenticate.dart b/lib/providers/user_auth/authenticate.dart index e61895a7..65160817 100644 --- a/lib/providers/user_auth/authenticate.dart +++ b/lib/providers/user_auth/authenticate.dart @@ -7,8 +7,8 @@ import '../../helpers/http_request.dart'; import '../../mixins/toast.dart'; class Authenticate extends ChangeNotifier with Toast { - final _kakaoClientId = "367d8cf339e2ba59376ba647c7135dd2"; - final _kakaoJavascriptClientId = "2edf60d1ebf23061d200cfe4a68a235a"; + // final _kakaoClientId = "367d8cf339e2ba59376ba647c7135dd2"; + // final _kakaoJavascriptClientId = "2edf60d1ebf23061d200cfe4a68a235a"; // FirebaseAuth auth = FirebaseAuth.instance; // Profile me; diff --git a/lib/screens/home/home.dart b/lib/screens/home/home.dart index 88a8ae65..f6dc5a8b 100644 --- a/lib/screens/home/home.dart +++ b/lib/screens/home/home.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/main.dart'; import 'package:provider/provider.dart'; import '../../providers/home/home_provider.dart'; @@ -10,6 +11,7 @@ class Home extends StatelessWidget { return Scaffold( body: homeProvider.bodyItem, bottomNavigationBar: BottomNavigationBar( + selectedItemColor: MyApp.themeColor, type: BottomNavigationBarType.fixed, onTap: (idx) => homeProvider.idx = idx, currentIndex: homeProvider.idx, From 6fb6073b2308cfe0aa596bc902b9ca46eb44a8a0 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sun, 31 Oct 2021 22:09:52 +0900 Subject: [PATCH 005/338] models of Guam --- lib/models/boards/comment.dart | 37 +++++++++++++++ lib/models/boards/post.dart | 65 ++++++++++++++++++++++++++ lib/models/picture.dart | 16 +++++++ lib/models/profile.dart | 83 ++++++++++++++++++++++++++++++++++ 4 files changed, 201 insertions(+) create mode 100644 lib/models/boards/comment.dart create mode 100644 lib/models/boards/post.dart create mode 100644 lib/models/picture.dart create mode 100644 lib/models/profile.dart diff --git a/lib/models/boards/comment.dart b/lib/models/boards/comment.dart new file mode 100644 index 00000000..9264cfb4 --- /dev/null +++ b/lib/models/boards/comment.dart @@ -0,0 +1,37 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/foundation.dart'; +import 'package:guam_community_client/models/picture.dart'; + +class Comment extends ChangeNotifier { + final int id; + final String comment; + final List pictures; + final int like; + final DateTime createdAt; + + Comment({ + @required this.id, + @required this.comment, + this.pictures, + this.like, + this.createdAt, + }); + + factory Comment.fromJson(Map json) { + List pictures; + + if (json['pictures'] != null) { + pictures = [...json['pictures'].map((picture) => Picture.fromJson({ + 'id': picture['id'], + 'urlPath': picture['urlPath'], + }))]; + } + return Comment( + id: json['id'], + comment: json['comment'], + pictures: pictures, + like: json['like'], + createdAt: json['createdAt'], + ); + } +} diff --git a/lib/models/boards/post.dart b/lib/models/boards/post.dart new file mode 100644 index 00000000..c0c07680 --- /dev/null +++ b/lib/models/boards/post.dart @@ -0,0 +1,65 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/foundation.dart'; +import 'package:guam_community_client/models/picture.dart'; +import '../profile.dart'; + +class Post extends ChangeNotifier { + final int id; + final Profile profile; + final String title; + final String content; + final String interest; + final List pictures; + final int like; + final int commentCnt; + final int scrap; + final bool isLiked; + final bool isScrapped; + final DateTime createdAt; + + Post({ + this.id, + this.profile, + this.title, + this.content, + this.interest, + this.pictures, + this.like, + this.commentCnt, + this.scrap, + this.isLiked, + this.isScrapped, + this.createdAt, + }); + + factory Post.fromJson(Map json) { + Profile profile; + List pictures; + + if (json['profile'] != null) { + profile = Profile.fromJson(json['profile']); + } + + if (json['pictures'] != null) { + pictures = [...json['pictures'].map((picture) => Picture.fromJson({ + 'id': picture['id'], + 'urlPath': picture['urlPath'], + }))]; + } + + return Post( + id: json['id'], + profile: profile, + title: json['title'], + content: json['content'], + interest: json['interest'], + pictures: pictures, + like: json['like'], + commentCnt: json['commentCnt'], + scrap: json['scrap'], + isLiked: json['isLiked'], + isScrapped: json['isScrapped'], + createdAt: json['createdAt'], + ); + } +} diff --git a/lib/models/picture.dart b/lib/models/picture.dart new file mode 100644 index 00000000..9607901a --- /dev/null +++ b/lib/models/picture.dart @@ -0,0 +1,16 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/foundation.dart'; + +class Picture { + final int id; + final String urlPath; + + Picture({this.id, @required this.urlPath}); + + factory Picture.fromJson(dynamic json) { + return Picture( + id: json['id'], + urlPath: json['urlPath'], + ); + } +} diff --git a/lib/models/profile.dart b/lib/models/profile.dart new file mode 100644 index 00000000..536ed413 --- /dev/null +++ b/lib/models/profile.dart @@ -0,0 +1,83 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/foundation.dart'; +import 'package:guam_community_client/models/boards/post.dart'; +import 'package:guam_community_client/models/boards/comment.dart'; + +class Profile extends ChangeNotifier { + final int id; + final String nickname; + final String introduction; + final String profileImageUrl; + final String githubUrl; + final String blogUrl; + final List skillSet; + final List interests; + final List myPosts; + final List scrappedPosts; + final List myComments; + + Profile({ + this.id, + this.nickname, + this.introduction, + this.profileImageUrl, + this.githubUrl, + this.blogUrl, + this.skillSet, + this.interests, + this.myPosts, + this.scrappedPosts, + this.myComments, + }); + + factory Profile.fromJson(Map json) { + List myPosts; + List scrappedPosts; + List myComments; + + if (json['myPosts'] != null) { + myPosts = [...json['myPosts'].map((post) => Post.fromJson({ + 'id': post['id'], + 'title': post['title'], + 'content': post['content'], + 'like': post['like'], + 'scrap': post['scrap'], + 'createdAt': post['createdAt'], + }))]; + } + + if (json['scrappedPosts'] != null) { + scrappedPosts = [...json['scrappedPosts'].map((post) => Post.fromJson({ + 'id': post['id'], + 'title': post['title'], + 'content': post['content'], + 'like': post['like'], + 'scrap': post['scrap'], + 'createdAt': post['createdAt'], + }))]; + } + + if (json['myComments'] != null) { + myComments = [...json['myComments'].map((comment) => Comment.fromJson({ + 'id': comment['id'], + 'comment': comment['comment'], + 'like': comment['like'], + 'createdAt': comment['createdAt'], + }))]; + } + + return Profile( + id: json['id'], + nickname: json['nickname'], + introduction: json['introduction'], + profileImageUrl: json['profileImageUrl'], + githubUrl: json['githubUrl'], + blogUrl: json['blogUrl'], + skillSet: json['skillSet'], + interests: json['interests'], + myPosts: myPosts, + scrappedPosts: scrappedPosts, + myComments: myComments, + ); + } +} From f39432353f808dccd888be45f8d3ee6ee1465fb0 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sun, 31 Oct 2021 22:10:09 +0900 Subject: [PATCH 006/338] dummy data for PostList --- lib/providers/posts/posts.dart | 148 +++++++++++++ lib/providers/user_auth/authenticate.dart | 253 ++++++---------------- 2 files changed, 217 insertions(+), 184 deletions(-) create mode 100644 lib/providers/posts/posts.dart diff --git a/lib/providers/posts/posts.dart b/lib/providers/posts/posts.dart new file mode 100644 index 00000000..0ffd6d99 --- /dev/null +++ b/lib/providers/posts/posts.dart @@ -0,0 +1,148 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/foundation.dart'; +import '../../models/boards/post.dart'; + +class Posts with ChangeNotifier { + List _posts; + bool loading = false; + + Posts({@required String authToken}) { + fetchPosts(authToken); + } + + List get posts => _posts; + + Future fetchPosts(String authToken) async { + try { + loading = true; + + List> posts = [ + { + 'id': 1, + 'profile': { + 'id': 1, + 'nickname': 'marcelko', + // 일부러 profileImageUrl = null 만듦 + // 'profileImageUrl': 'http://img.danawa.com/prod_img/500000/030/472/img/4472030_1.jpg?shrink=330:330&_v=20160923121953', + 'githubUrl': 'https://github.com/yeonghyeonKO', + 'blogUrl': 'https://newstellar.tistory.com', + 'skillSet': ['Flutter, Django, React', 'pyTorch'], + 'interests': ['개발', '디자인'], + }, + 'title': '코딩 뭐부터 시작해야 하나요?', + 'content': '다른 일 하다가 프론트엔드 개발에 관심이 생겼는데 주변에 아는 현업자도 없고 뭐부터 해야할 지 감이 안오네요. 보통 어떤 것부터 시작하시나요?', + 'interest': '개발', + 'pictures': [], + 'like': 31, + 'commentCnt': 10, + 'scrap': 10, + 'isLiked': true, + 'isScrapped': true, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 1)), + }, + + { + 'id': 2, + 'profile': { + 'id': 2, + 'nickname': 'jwjeong', + 'profileImageUrl': 'https://cdn.speconomy.com/news/photo/201705/20170514_1_bodyimg_82397.png', + 'githubUrl': 'https://github.com/yeonghyeonKO', + 'blogUrl': 'https://newstellar.tistory.com', + 'skillSet': ['Flutter, Django, React', 'pyTorch'], + 'interests': ['개발', '디자인'], + }, + 'title': '네이버 코테 보신 분?', + 'content': '어제 네이버 코테 보신 분? 저 좀 잘 본 듯 ㅎㅎ', + 'interest': '데이터분석', + 'pictures': [ + { + 'id': 1, + 'urlPath': 'https://blog.kakaocdn.net/dn/K8Wt1/btq3otTvVJq/i1bXW8koOEg7Sy6azhWuLK/img.png', + }, + ], + 'like': 87, + 'commentCnt': 30, + 'scrap': 10, + 'isLiked': false, + 'isScrapped': true, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 3)), + }, + { + 'id': 3, + 'profile': { + 'id': 3, + 'nickname': 'bluesky', + 'profileImageUrl': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', + 'githubUrl': 'https://github.com/yeonghyeonKO', + 'blogUrl': 'https://newstellar.tistory.com', + 'skillSet': ['Flutter, Django, React', 'pyTorch'], + 'interests': ['개발', '디자인'], + }, + 'title': '맥북 사양 추천', + 'content': '맥북 사양 좀 추천해주세요. 주로 피그마, 일러스트정도 쓸 것 같습니당 ㅎㅎㅎ', + 'interest': '디자인', + 'pictures': [], + 'like': 10, + 'commentCnt': 5, + 'scrap': 3, + 'isLiked': true, + 'isScrapped': false, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 5)), + }, + { + 'id': 4, + 'profile': { + 'id': 4, + 'nickname': '맨날비와', + 'profileImageUrl': 'https://t1.daumcdn.net/cfile/tistory/99A97E4C5D25E9C226', + 'githubUrl': 'https://github.com/yeonghyeonKO', + 'blogUrl': 'https://newstellar.tistory.com', + 'skillSet': ['Flutter, Django, React', 'pyTorch'], + 'interests': ['개발', '디자인'], + }, + 'title': '설계할 때 무슨 툴 쓰시나요?', + 'content': '웹 서비스 설계 중인데 ppt 쓰다가 툴 바꿔보려고 합니다. 쓰시는 툴 중에 괜찮은 거 추천해주세요.', + 'interest': '기획/마케팅', + 'pictures': [], + 'like': 23, + 'commentCnt': 14, + 'scrap': 10, + 'isLiked': false, + 'isScrapped': true, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 6)), + }, + { + 'id': 5, + 'profile': { + 'id': 5, + 'nickname': '해피언니', + 'profileImageUrl': 'https://t1.daumcdn.net/cfile/tistory/241F824757B095710E', + 'githubUrl': 'https://github.com/yeonghyeonKO', + 'blogUrl': 'https://newstellar.tistory.com', + 'skillSet': ['Flutter, Django, React', 'pyTorch'], + 'interests': ['개발', '디자인'], + }, + 'title': '망고보드 괜찮나요?', + 'content': '망고보드 쓰시는 분들 쓸만 한가요? 너무 비싸서 고민이네요', + 'interest': '기타', + 'pictures': [], + 'like': 23, + 'commentCnt': 14, + 'scrap': 10, + 'isLiked': true, + 'isScrapped': true, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 7)), + }, + ]; + + _posts = posts.map((e) => Post.fromJson(e)).toList(); + + loading = false; + } catch (e) { + print(e); + } finally { + notifyListeners(); + } + } +} diff --git a/lib/providers/user_auth/authenticate.dart b/lib/providers/user_auth/authenticate.dart index 65160817..9094c5c5 100644 --- a/lib/providers/user_auth/authenticate.dart +++ b/lib/providers/user_auth/authenticate.dart @@ -1,192 +1,77 @@ import 'dart:convert'; import 'package:flutter/material.dart'; -import 'package:shared_preferences/shared_preferences.dart'; - -import '../../helpers/decode_ko.dart'; +import 'package:flutter_session/flutter_session.dart'; import '../../helpers/http_request.dart'; -import '../../mixins/toast.dart'; -class Authenticate extends ChangeNotifier with Toast { - // final _kakaoClientId = "367d8cf339e2ba59376ba647c7135dd2"; - // final _kakaoJavascriptClientId = "2edf60d1ebf23061d200cfe4a68a235a"; +class Authenticate with ChangeNotifier { + var _authToken; - // FirebaseAuth auth = FirebaseAuth.instance; - // Profile me; - // bool loading = false; - // - // get kakaoClientId => _kakaoClientId; - // - // get kakaoJavascriptClientId => _kakaoJavascriptClientId; - // - // Authenticate() { - // getMyProfile(); - // } - // - // bool userSignedIn() => auth.currentUser != null && me != null; // 로그인 된 유저 존재 여부 - // bool profileExists() => me != null && me.isProfileSet; // 프로필까지 만든 정상 유저인지 여부 - // - // Future kakaoSignIn(String kakaoAccessToken) async { - // try { - // await HttpRequest().get( - // path: "/kakao", - // queryParams: {"token": kakaoAccessToken}, - // ).then((response) async { - // if (response.statusCode == 200) { - // final customToken = jsonDecode(response.body)["customToken"]; - // await auth.signInWithCustomToken(customToken); - // await getMyProfile(); - // showToast(success: true, msg: "카카오 로그인 되었습니다."); - // } else { - // final jsonUtf8 = decodeKo(response); - // final String err = json.decode(jsonUtf8)["message"]; - // showToast(success: false, msg: err); - // } - // }); - // } on FirebaseAuthException { - // showToast(success: false, msg: "Firebase Auth 에 문제가 발생했습니다."); - // } catch (e) { - // showToast(success: false, msg: e.message); - // } finally { - // notifyListeners(); - // } - // } - // - // Future getFirebaseIdToken() async { - // String idToken; - // - // try { - // User user = auth.currentUser; - // idToken = await user.getIdToken(); - // } on NoSuchMethodError { - // throw new Exception("로그인이 필요합니다."); - // } catch (e) { - // throw new Exception(e); - // } - // - // return idToken; - // } - // - // Future getMyProfile() async { - // try { - // String authToken = await getFirebaseIdToken(); - // - // if (authToken.isNotEmpty) { - // await HttpRequest() - // .get( - // path: "/user/me", - // authToken: authToken, - // ).then((response) async { - // if (response.statusCode == 200) { - // final jsonUtf8 = decodeKo(response); - // final Map jsonData = json.decode(jsonUtf8)["data"]; - // me = Profile.fromJson(jsonData); - // setMyFcmToken(); - // } else { - // final jsonUtf8 = decodeKo(response); - // final String err = json.decode(jsonUtf8)["message"]; - // showToast(success: false, msg: err); - // } - // }); - // } - // } catch (e) { - // print(e); - // } - // } - // - // Future setProfile({Map fields, dynamic files}) async { - // bool res = false; - // - // try { - // toggleLoading(); - // String authToken = await getFirebaseIdToken(); - // - // if (authToken.isNotEmpty) { - // await HttpRequest() - // .postMultipart( - // path: "/user", - // fields: { "command" : "${json.encode(fields)}" }, - // files: files, - // authToken: authToken) - // .then((response) async { - // if (response.statusCode == 200) { - // await getMyProfile(); - // showToast(success: true, msg: "프로필을 생성하였습니다."); - // res = true; - // } else { - // response.stream.bytesToString().then((val) { - // final String err = json.decode(val)["message"]; - // showToast(success: false, msg: err); - // }); - // } - // }); - // } - // } catch (e) { - // print(e); - // } finally { - // toggleLoading(); - // } - // - // return res; - // } - // - // Future signOut() async { - // await auth.signOut(); - // showToast(success: true, msg: "로그아웃 되었습니다."); - // notifyListeners(); - // } - // - // Future getUserProfile(int userId) async { - // Profile user; - // - // try { - // await HttpRequest() - // .get( - // path: "/user/$userId", - // ).then((response) { - // if (response.statusCode == 200) { - // final jsonUtf8 = decodeKo(response); - // final Map jsonData = json.decode(jsonUtf8)["data"]; - // user = Profile.fromJson(jsonData); - // } else{ - // final jsonUtf8 = decodeKo(response); - // final String err = json.decode(jsonUtf8)["message"]; - // showToast(success: false, msg: err); - // } - // }); - // - // return user; - // } catch (e) { - // print(e); - // return null; - // } - // } - // - // Future setMyFcmToken() async { - // // Disk storage "setFcmToken" will be null at startup, granted bool value afterwords. - // SharedPreferences prefs = await SharedPreferences.getInstance(); - // bool setFcmToken = prefs.getBool("setFcmToken") ?? false; - // - // if (setFcmToken) return; // No need to set fcm token twice. - // - // try { - // String authToken = await getFirebaseIdToken(); - // String fcmToken = await FirebaseMessaging.instance.getToken(); - // - // await HttpRequest().post( - // path: "/user/fcm", - // authToken: authToken, - // body: { "fcmToken": fcmToken } - // ).then((response) async { - // if (response.statusCode == 200) { - // await prefs.setBool("setFcmToken", true); - // } - // }); - // } catch (e) { - // print(e); - // } + Authenticate() { + initAuthToken(); + } + + get authToken => _authToken; + set authToken(token) { + _authToken = token; + notifyListeners(); + } + + void initAuthToken() async { + await FlutterSession() + .get('authentication_token') + .then((value) => this.authToken = value) + .catchError((error) => print(error)); + } + + Future saveAuthToken(String authToken) async { + this.authToken = authToken; + await FlutterSession().set('authentication_token', authToken); + } + + Future destroyAuthToken() async { + this.authToken = null; + await FlutterSession().set('authentication_token', ''); + } + /* 유저 로그인/회원가입 서버 개발 전 임시방편 코드 + Future signIn({Map params}) async { + await HttpRequest() + .post(partialUrl: "sign_in", body: params) + .then((response) => saveAuthToken(json.decode(response.body)['authentication_token'])); + } + */ + //유저 로그인/회원가입 서버 개발 전 임시방편 코드 + Future signIn({Map params}) async { + List tempUsers = [ + { "email": "gajagajago@naver.com", "password": "daniel1004" }, + { "email": "khko", "password": "123456" }, + ]; + print(params); + + var valid = tempUsers.any((e) => e['email'] == params['email'] && e['password'] == params['password']); + + if (valid) { + await Future.delayed(const Duration(milliseconds: 100), () => 'temp_auth_blah_blah') + .then((response) => saveAuthToken(response)); + } else { + throw Exception('No valid user'); + } + } + + // Future signUp({Map params}) async { + // await HttpRequest() + // .post(partialUrl: "sign_up", body: params) + // .then((response) => saveAuthToken(json.decode(response.body)['authentication_token'])); // } - // void toggleLoading() { - // loading = !loading; - // notifyListeners(); + /* + Future signOut({String authToken}) async { + await HttpRequest() + .delete(partialUrl: "sign_out", authToken: authToken) + .then((response) => response); + } + */ + // 유저 로그인/회원가입 서버 개발 전 임시방편 코드 + // Future signOut({String authToken}) async { + // await Future.delayed(const Duration(milliseconds: 100), () => '') + // .then((response) => saveAuthToken(response)); // } } From ea8e7ceb255e7805f6e21bf17b8432c206d83241 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sun, 31 Oct 2021 22:11:17 +0900 Subject: [PATCH 007/338] complementary widgets for list of posts --- lib/commons/icon_text.dart | 41 ++++++++++ lib/commons/sub_headings.dart | 18 +++++ lib/helpers/svg_provider.dart | 146 ++++++++++++++++++++++++++++++++++ 3 files changed, 205 insertions(+) create mode 100644 lib/commons/icon_text.dart create mode 100644 lib/commons/sub_headings.dart create mode 100644 lib/helpers/svg_provider.dart diff --git a/lib/commons/icon_text.dart b/lib/commons/icon_text.dart new file mode 100644 index 00000000..39fed368 --- /dev/null +++ b/lib/commons/icon_text.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:hexcolor/hexcolor.dart'; + +class IconText extends StatelessWidget { + final double size; + final String text; + final String iconPath; + final Function onPressed; + final HexColor iconHexColor; + final HexColor textHexColor; + + IconText({this.size=20, this.text, this.iconPath, this.onPressed, this.iconHexColor, this.textHexColor}); + + @override + Widget build(BuildContext context) { + return Container( + child: TextButton.icon( + onPressed: onPressed, + style: TextButton.styleFrom( + padding: EdgeInsets.zero, + minimumSize: Size(50, 30), + alignment: Alignment.centerLeft, + ), + label: Text( + text, + style: TextStyle( + fontSize: 12, + color: textHexColor, + ), + ), + icon: SvgPicture.asset( + iconPath, + color: iconHexColor, + width: size, + height: size, + ), + ), + ); + } +} diff --git a/lib/commons/sub_headings.dart b/lib/commons/sub_headings.dart new file mode 100644 index 00000000..a7b30d02 --- /dev/null +++ b/lib/commons/sub_headings.dart @@ -0,0 +1,18 @@ +import 'package:flutter/material.dart'; + +class SubHeadings extends StatelessWidget { + final String subheading; + + SubHeadings(this.subheading); + + @override + Widget build(BuildContext context) { + return Container( + alignment: Alignment.centerLeft, + child: Text( + subheading, + style: TextStyle(fontSize: 16), + ), + ); + } +} diff --git a/lib/helpers/svg_provider.dart b/lib/helpers/svg_provider.dart new file mode 100644 index 00000000..51d988d5 --- /dev/null +++ b/lib/helpers/svg_provider.dart @@ -0,0 +1,146 @@ +import 'dart:async'; +import 'dart:io'; +import 'dart:ui' as ui show Image, Picture; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart' show rootBundle; +import 'package:flutter/widgets.dart'; +import 'package:flutter_svg/flutter_svg.dart'; + +/// Rasterizes given svg picture for displaying in [Image] widget: +/// +/// ```dart +/// Image( +/// width: 32, +/// height: 32, +/// image: Svg('assets/my_icon.svg'), +/// ) +/// ``` +class SvgProvider extends ImageProvider { + /// Path to svg file or asset + final String path; + + /// Size in logical pixels to render. + /// Useful for [DecorationImage]. + /// If not specified, will use size from [Image]. + /// If [Image] not specifies size too, will use default size 100x100. + final Size size; // nullable + + /// Color to tint the SVG + final Color color; + + /// Defines if the SVG is loaded from assets or read from a file. + final bool isAsset; + + /// Width and height can also be specified from [Image] constrictor. + /// Default size is 100x100 logical pixels. + /// Different size can be specified in [Image] parameters + const SvgProvider(this.path, {this.size, this.color, this.isAsset: true}); + + @override + Future obtainKey(ImageConfiguration configuration) { + final double logicWidth = size?.width ?? configuration.size?.width ?? 100; + final double logicHeight = size?.height ?? configuration.size?.width ?? 100; + final double scale = configuration.devicePixelRatio ?? 1.0; + final Color color = this.color ?? Colors.transparent; + + return SynchronousFuture( + SvgImageKey( + assetName: path, + pixelWidth: (logicWidth * scale).round(), + pixelHeight: (logicHeight * scale).round(), + scale: scale, + color: color), + ); + } + + @override + ImageStreamCompleter load(SvgImageKey key, nil) { + return OneFrameImageStreamCompleter( + _loadAsync(key, isAsset), + ); + } + + static Future _loadAsync(SvgImageKey key, bool isAsset) async { + String rawSvg = (isAsset) + ? await rootBundle.loadString(key.assetName) + : await File(key.assetName).readAsString(); + + final DrawableRoot svgRoot = await svg.fromSvgString(rawSvg, key.assetName); + final ui.Picture picture = svgRoot.toPicture( + size: Size( + key.pixelWidth.toDouble(), + key.pixelHeight.toDouble(), + ), + clipToViewBox: false, + colorFilter: + ColorFilter.mode(key.color ?? Colors.transparent, BlendMode.srcATop), + ); + final ui.Image image = await picture.toImage( + key.pixelWidth, + key.pixelHeight, + ); + return ImageInfo( + image: image, + scale: key.scale, + ); + } + + // Note: == and hashCode not overrided as changes in properties + // (width, height and scale) are not observable from the here. + // [SvgImageKey] instances will be compared instead. + + @override + String toString() => '$runtimeType(${describeIdentity(path)})'; +} + +@immutable +class SvgImageKey { + const SvgImageKey({ + @required this.assetName, + @required this.pixelWidth, + @required this.pixelHeight, + @required this.scale, + this.color, + }); + + /// Path to svg asset. + final String assetName; + + /// Width in physical pixels. + /// Used when raterizing. + final int pixelWidth; + + /// Height in physical pixels. + /// Used when raterizing. + final int pixelHeight; + + /// Color to tint the SVG + final Color color; + + /// Used to calculate logical size from physical, i.e. + /// logicalWidth = [pixelWidth] / [scale], + /// logicalHeight = [pixelHeight] / [scale]. + /// Should be equal to [MediaQueryData.devicePixelRatio]. + final double scale; + + @override + bool operator ==(Object other) { + if (other.runtimeType != runtimeType) { + return false; + } + return other is SvgImageKey && + other.assetName == assetName && + other.pixelWidth == pixelWidth && + other.pixelHeight == pixelHeight && + other.scale == scale; + } + + @override + int get hashCode => hashValues(assetName, pixelWidth, pixelHeight, scale); + + @override + String toString() => '${objectRuntimeType(this, 'SvgImageKey')}' + '(assetName: "$assetName", pixelWidth: $pixelWidth, pixelHeight: $pixelHeight, scale: $scale)'; +} From cc5d3c58a10c1bc813f6d30b416252ac971f25aa Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sun, 31 Oct 2021 22:12:28 +0900 Subject: [PATCH 008/338] Post list design --- assets/icons/profile_image.svg | 5 ++ lib/screens/boards/boards_app.dart | 19 ++++- lib/screens/boards/boards_body.dart | 5 +- .../posts/{posts.dart => post_button.dart} | 2 +- lib/screens/boards/posts/post_list.dart | 44 +++++++++++ lib/screens/boards/posts/post_preview.dart | 54 +++++++++++++ .../boards/posts/post_preview_banner.dart | 52 +++++++++++++ .../boards/posts/post_preview_info.dart | 77 +++++++++++++++++++ 8 files changed, 254 insertions(+), 4 deletions(-) create mode 100644 assets/icons/profile_image.svg rename lib/screens/boards/posts/{posts.dart => post_button.dart} (93%) create mode 100644 lib/screens/boards/posts/post_list.dart create mode 100644 lib/screens/boards/posts/post_preview.dart create mode 100644 lib/screens/boards/posts/post_preview_banner.dart create mode 100644 lib/screens/boards/posts/post_preview_info.dart diff --git a/assets/icons/profile_image.svg b/assets/icons/profile_image.svg new file mode 100644 index 00000000..2a5b79f9 --- /dev/null +++ b/assets/icons/profile_image.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/lib/screens/boards/boards_app.dart b/lib/screens/boards/boards_app.dart index 1cfd5ef1..9c4fd539 100644 --- a/lib/screens/boards/boards_app.dart +++ b/lib/screens/boards/boards_app.dart @@ -1,10 +1,25 @@ import 'package:flutter/material.dart'; -import 'package:guam_community_client/screens/boards/posts/posts.dart'; +import 'package:guam_community_client/providers/posts/posts.dart'; +import 'package:guam_community_client/providers/user_auth/authenticate.dart'; +import 'package:guam_community_client/screens/boards/posts/post_button.dart'; import 'package:guam_community_client/screens/messages/message.dart'; +import 'package:provider/provider.dart'; import '../../commons/custom_app_bar.dart'; import 'boards_body.dart'; class BoardsApp extends StatelessWidget { + @override + Widget build(BuildContext context) { + return MultiProvider( + providers: [ + ChangeNotifierProvider(create: (_) => Posts(authToken: context.read().authToken)), + ], + child: BoardsAppScaffold(), + ); + } +} + +class BoardsAppScaffold extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( @@ -13,7 +28,7 @@ class BoardsApp extends StatelessWidget { trailing: Message() ), body: BoardsBody(), - floatingActionButton: Posts() + floatingActionButton: PostButton() ); } } diff --git a/lib/screens/boards/boards_body.dart b/lib/screens/boards/boards_body.dart index d1341a11..7d1d474e 100644 --- a/lib/screens/boards/boards_body.dart +++ b/lib/screens/boards/boards_body.dart @@ -1,8 +1,11 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/screens/boards/posts/post_list.dart'; class BoardsBody extends StatelessWidget { @override Widget build(BuildContext context) { - return Container(); + return SingleChildScrollView( + child: PostList() + ); } } diff --git a/lib/screens/boards/posts/posts.dart b/lib/screens/boards/posts/post_button.dart similarity index 93% rename from lib/screens/boards/posts/posts.dart rename to lib/screens/boards/posts/post_button.dart index edd2c565..d7739118 100644 --- a/lib/screens/boards/posts/posts.dart +++ b/lib/screens/boards/posts/post_button.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:hexcolor/hexcolor.dart'; -class Posts extends StatelessWidget { +class PostButton extends StatelessWidget { @override Widget build(BuildContext context) { return Container( diff --git a/lib/screens/boards/posts/post_list.dart b/lib/screens/boards/posts/post_list.dart new file mode 100644 index 00000000..04e9b41b --- /dev/null +++ b/lib/screens/boards/posts/post_list.dart @@ -0,0 +1,44 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/icon_text.dart'; +import 'package:hexcolor/hexcolor.dart'; +import 'package:provider/provider.dart'; +import 'package:guam_community_client/providers/posts/posts.dart'; +import 'package:guam_community_client/screens/boards/posts/post_preview.dart'; + +import '../../../commons/sub_headings.dart'; + +class PostList extends StatelessWidget { + @override + Widget build(BuildContext context) { + final postsProvider = context.read(); + + return Container( + decoration: BoxDecoration(color: HexColor('#F9F8FF')), // background color + child: Column( + children: [ + Padding( + padding: EdgeInsets.only(left: 22, right: 16), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + SubHeadings("특별한 일이 있나요? ✨"), + IconText( + text: "관심사 설정", + iconPath: 'assets/icons/setting.svg', + onPressed: (){}, + iconHexColor: HexColor('#9F8FFF'), + textHexColor: HexColor('#9F8FFF'), + ), + ], + ), + ), + Column( + children: [ + ...postsProvider.posts.map((post) => PostPreview(post, postsProvider)) + ] + ) + ], + ), + ); + } +} diff --git a/lib/screens/boards/posts/post_preview.dart b/lib/screens/boards/posts/post_preview.dart new file mode 100644 index 00000000..b91cde76 --- /dev/null +++ b/lib/screens/boards/posts/post_preview.dart @@ -0,0 +1,54 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/models/boards/post.dart'; +import 'package:guam_community_client/providers/posts/posts.dart'; +import 'package:guam_community_client/screens/boards/posts/post_preview_banner.dart'; +import 'package:guam_community_client/screens/boards/posts/post_preview_info.dart'; +import 'package:hexcolor/hexcolor.dart'; + +class PostPreview extends StatelessWidget { + final Post post; + final Posts postsProvider; + + PostPreview(this.post, this.postsProvider); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 16, vertical: 8), + child: Container( + padding: EdgeInsets.symmetric(horizontal: 24, vertical: 12), + decoration: BoxDecoration( + color: HexColor('#FFFFFF'), + borderRadius: BorderRadius.circular(24) + ), + child: InkWell( + onTap: () {}, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + PostPreviewBanner(post), + Divider( + thickness: 1, + color: HexColor('#F2F2F2'), + ), + Text( + post.title, + style: TextStyle(fontSize: 14), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + Padding(padding: EdgeInsets.only(top: 8)), + Text( + post.content, + style: TextStyle(fontSize: 12, color: HexColor('A0A0A0')), + maxLines: 4, + overflow: TextOverflow.ellipsis, + ), + PostPreviewInfo(post) + ], + ), + ), + ), + ); + } +} diff --git a/lib/screens/boards/posts/post_preview_banner.dart b/lib/screens/boards/posts/post_preview_banner.dart new file mode 100644 index 00000000..d83fa9af --- /dev/null +++ b/lib/screens/boards/posts/post_preview_banner.dart @@ -0,0 +1,52 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/models/boards/post.dart'; +import 'package:hexcolor/hexcolor.dart'; + +class PostPreviewBanner extends StatelessWidget { + final Post post; + + PostPreviewBanner(this.post); + + colorOfInterest(String interest) { + String textColor; + + switch (interest) { + case '개발': textColor = '#6951FF'; break; + case '데이터분석': textColor = '#75D973'; break; + case '디자인': textColor = '#E874F2'; break; + case '기획/마케팅': textColor = '#5483F1'; break; + default: textColor = '#F3B962'; break; + } + return textColor; + } + + @override + Widget build(BuildContext context) { + return Row( + children: [ + SizedBox( + height: 17, + child: TextButton( + onPressed: () {}, + child: Text( + "#" + post.interest, + style: TextStyle( + fontSize: 12, + color: HexColor(colorOfInterest(post.interest)), + ), + ), + style: TextButton.styleFrom( + padding: EdgeInsets.zero, + alignment: Alignment.centerLeft, + ), + ), + ), + Spacer(), + Text( + (DateTime.now().minute - post.createdAt.minute).toString() + "분 전", + style: TextStyle(fontSize: 10, color: HexColor('#A0A0A0')), + ) + ], + ); + } +} diff --git a/lib/screens/boards/posts/post_preview_info.dart b/lib/screens/boards/posts/post_preview_info.dart new file mode 100644 index 00000000..6501ba72 --- /dev/null +++ b/lib/screens/boards/posts/post_preview_info.dart @@ -0,0 +1,77 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/icon_text.dart'; +import 'package:guam_community_client/helpers/svg_provider.dart'; +import 'package:guam_community_client/models/boards/post.dart'; +import 'package:hexcolor/hexcolor.dart'; + +class PostPreviewInfo extends StatelessWidget { + final Post post; + + PostPreviewInfo(this.post); + + @override + Widget build(BuildContext context) { + return Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Padding( + padding: EdgeInsets.only(top: 12, bottom: 8, right: 8), + child: Container( + height: 24, + width: 24, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + fit: BoxFit.cover, + image: post.profile.profileImageUrl != null + ? NetworkImage(post.profile.profileImageUrl) + : SvgProvider('assets/icons/profile_image.svg') + ), + ), + ), + ), + Text( + post.profile.nickname, + style: TextStyle(fontSize: 12, color: HexColor('#767676')), + ), + ], + ), + Spacer(), + Row( + children: [ + IconText( + text: post.like.toString(), + iconPath: post.isLiked + ? 'assets/icons/like_filled.svg' + : 'assets/icons/like_outlined.svg', + onPressed: (){}, + iconHexColor: post.isLiked + ? HexColor('#F37462') + : HexColor('#C5C5C5'), + textHexColor: HexColor('#C5C5C5'), + ), + IconText( + text: post.commentCnt.toString(), + iconPath: 'assets/icons/comment.svg', + iconHexColor: HexColor('#C5C5C5'), + textHexColor: HexColor('#C5C5C5'), + ), + IconText( + text: post.scrap.toString(), + iconPath: post.isScrapped + ? 'assets/icons/scrap_filled.svg' + : 'assets/icons/scrap_outlined.svg', + onPressed: (){}, + iconHexColor: post.isScrapped + ? HexColor('##6951FF') + : HexColor('#C5C5C5'), + textHexColor: HexColor('#C5C5C5'), + ), + ], + ), + ], + ); + } +} From a088daef549903335f71267f6e877c4fe885509f Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 2 Nov 2021 00:22:51 +0900 Subject: [PATCH 009/338] Tab bar design --- lib/commons/custom_app_bar.dart | 17 +++--- lib/screens/boards/boards_app.dart | 55 ++++++++++++++++--- .../{boards_body.dart => boards_feed.dart} | 2 +- lib/screens/boards/posts/post_preview.dart | 2 +- .../boards/posts/post_preview_info.dart | 1 - 5 files changed, 56 insertions(+), 21 deletions(-) rename lib/screens/boards/{boards_body.dart => boards_feed.dart} (84%) diff --git a/lib/commons/custom_app_bar.dart b/lib/commons/custom_app_bar.dart index 6becdb29..854662d2 100644 --- a/lib/commons/custom_app_bar.dart +++ b/lib/commons/custom_app_bar.dart @@ -6,9 +6,10 @@ class CustomAppBar extends StatelessWidget with PreferredSizeWidget { final String title; final dynamic leading; final dynamic trailing; + final dynamic bottom; final Color backgroundColor; - CustomAppBar({this.title, this.leading, this.trailing, this.backgroundColor}); + CustomAppBar({this.title, this.leading, this.trailing, this.bottom, this.backgroundColor}); @override Size get preferredSize => Size.fromHeight(AppBar().preferredSize.height); @@ -28,8 +29,9 @@ class CustomAppBar extends StatelessWidget with PreferredSizeWidget { ), ), leading: trailing != null - ? Material(color: Colors.transparent, child: leading) - : null, + ? Material(color: Colors.transparent, child: leading) + : null, + bottom: bottom, actions: trailing == null ? [] : [Material(color: Colors.transparent, child: trailing)], @@ -39,8 +41,8 @@ class CustomAppBar extends StatelessWidget with PreferredSizeWidget { ), ); } else { - return CupertinoNavigationBar( - middle: Center( + return AppBar( + title: Center( child: Text( title ?? "", style: TextStyle( @@ -51,10 +53,7 @@ class CustomAppBar extends StatelessWidget with PreferredSizeWidget { leading: trailing != null ? Material(color: Colors.transparent, child: leading) : null, - trailing: Material( - color: Colors.transparent, - child: trailing, - ), + bottom: bottom, backgroundColor: backgroundColor ?? Colors.transparent, ); } diff --git a/lib/screens/boards/boards_app.dart b/lib/screens/boards/boards_app.dart index 9c4fd539..2399eacf 100644 --- a/lib/screens/boards/boards_app.dart +++ b/lib/screens/boards/boards_app.dart @@ -3,9 +3,10 @@ import 'package:guam_community_client/providers/posts/posts.dart'; import 'package:guam_community_client/providers/user_auth/authenticate.dart'; import 'package:guam_community_client/screens/boards/posts/post_button.dart'; import 'package:guam_community_client/screens/messages/message.dart'; +import 'package:hexcolor/hexcolor.dart'; import 'package:provider/provider.dart'; import '../../commons/custom_app_bar.dart'; -import 'boards_body.dart'; +import 'boards_feed.dart'; class BoardsApp extends StatelessWidget { @override @@ -19,16 +20,52 @@ class BoardsApp extends StatelessWidget { } } -class BoardsAppScaffold extends StatelessWidget { +class BoardsAppScaffold extends StatefulWidget { + @override + State createState() => _BoardsAppScaffoldState(); +} + +class _BoardsAppScaffoldState extends State { @override Widget build(BuildContext context) { - return Scaffold( - appBar: CustomAppBar( - title: '홈', - trailing: Message() - ), - body: BoardsBody(), - floatingActionButton: PostButton() + return DefaultTabController( + length: 6, + child: Scaffold( + appBar: PreferredSize( + preferredSize: Size.fromHeight(100), + child: CustomAppBar( + title: '홈', + trailing: Message(), + bottom: TabBar( + isScrollable: true, + physics: BouncingScrollPhysics(), + labelColor: HexColor('#1D1D1D'), + unselectedLabelColor: HexColor('#A0A0A0'), + indicatorColor: HexColor('#1D1D1D'), + indicatorWeight: 2, + tabs: [ + Tab(child: Text('피드')), + Tab(child: Text('익명')), + Tab(child: Text('자유')), + Tab(child: Text('구인')), + Tab(child: Text('정보공유')), + Tab(child: Text('홍보')), + ], + ), + ), + ), + body: TabBarView( + children: [ + BoardsFeed(), + BoardsFeed(), + BoardsFeed(), + BoardsFeed(), + BoardsFeed(), + BoardsFeed(), + ], + ), + floatingActionButton: PostButton() + ) ); } } diff --git a/lib/screens/boards/boards_body.dart b/lib/screens/boards/boards_feed.dart similarity index 84% rename from lib/screens/boards/boards_body.dart rename to lib/screens/boards/boards_feed.dart index 7d1d474e..194a874b 100644 --- a/lib/screens/boards/boards_body.dart +++ b/lib/screens/boards/boards_feed.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/screens/boards/posts/post_list.dart'; -class BoardsBody extends StatelessWidget { +class BoardsFeed extends StatelessWidget { @override Widget build(BuildContext context) { return SingleChildScrollView( diff --git a/lib/screens/boards/posts/post_preview.dart b/lib/screens/boards/posts/post_preview.dart index b91cde76..5f0b65d8 100644 --- a/lib/screens/boards/posts/post_preview.dart +++ b/lib/screens/boards/posts/post_preview.dart @@ -16,7 +16,7 @@ class PostPreview extends StatelessWidget { return Padding( padding: EdgeInsets.symmetric(horizontal: 16, vertical: 8), child: Container( - padding: EdgeInsets.symmetric(horizontal: 24, vertical: 12), + padding: EdgeInsets.only(left: 24, right: 24, top: 12), decoration: BoxDecoration( color: HexColor('#FFFFFF'), borderRadius: BorderRadius.circular(24) diff --git a/lib/screens/boards/posts/post_preview_info.dart b/lib/screens/boards/posts/post_preview_info.dart index 6501ba72..a032acab 100644 --- a/lib/screens/boards/posts/post_preview_info.dart +++ b/lib/screens/boards/posts/post_preview_info.dart @@ -12,7 +12,6 @@ class PostPreviewInfo extends StatelessWidget { @override Widget build(BuildContext context) { return Row( - crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ From eeb3571766e2c0ae4c6bc5e835e21dba930da643 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 2 Nov 2021 01:11:28 +0900 Subject: [PATCH 010/338] change default font to SpoqaHanSansNeo --- assets/fonts/SpoqaHanSansNeo-Medium.ttf | Bin 0 -> 1001812 bytes assets/fonts/SpoqaHanSansNeo-Regular.ttf | Bin 0 -> 1046680 bytes lib/commons/icon_text.dart | 2 ++ lib/main.dart | 6 +++++- lib/screens/boards/posts/post_preview.dart | 8 ++++++- .../boards/posts/post_preview_banner.dart | 7 +++++- .../boards/posts/post_preview_info.dart | 7 +++++- lib/styles/fonts.dart | 4 ++++ pubspec.yaml | 20 ++++++++---------- 9 files changed, 39 insertions(+), 15 deletions(-) create mode 100644 assets/fonts/SpoqaHanSansNeo-Medium.ttf create mode 100644 assets/fonts/SpoqaHanSansNeo-Regular.ttf create mode 100644 lib/styles/fonts.dart diff --git a/assets/fonts/SpoqaHanSansNeo-Medium.ttf b/assets/fonts/SpoqaHanSansNeo-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2208350ffb42c92e9df161a2e22b8ccd2974c6a2 GIT binary patch literal 1001812 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ͽ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 z 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ℜ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ℜ{ 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 z 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%0AV10WE38WIHRM9*X%KOIVH3+ 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 z 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 z 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 literal 0 HcmV?d00001 diff --git a/assets/fonts/SpoqaHanSansNeo-Regular.ttf b/assets/fonts/SpoqaHanSansNeo-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..64c4af727e7a15e5875bf93a3b40a808e8e290b6 GIT binary patch literal 1046680 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
82<_ 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
;k`jRoIt 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 -zzCwedmj_#?v?V&N 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

H9u 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%0Dn@5GfkHX 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 literal 0 HcmV?d00001 diff --git a/lib/models/messages/messages.dart b/lib/models/messages/messages.dart new file mode 100644 index 00000000..e69de29b diff --git a/lib/providers/posts/posts.dart b/lib/providers/posts/posts.dart index 71efc68a..fe43ae55 100644 --- a/lib/providers/posts/posts.dart +++ b/lib/providers/posts/posts.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/foundation.dart'; +import '../profiles/profiles.dart'; import '../../models/boards/post.dart'; class Posts with ChangeNotifier { @@ -20,19 +21,7 @@ class Posts with ChangeNotifier { { 'id': 1, 'boardType': '자유게시판', - 'profile': { - 'id': 1, - 'nickname': 'marcelko', - 'profileImg': { - 'id': 1, - // 일부러 profileImageUrl = null 만듦 - // 'urlPath': 'http://img.danawa.com/prod_img/500000/030/472/img/4472030_1.jpg?shrink=330:330&_v=20160923121953', - }, - 'githubUrl': 'https://github.com/yeonghyeonKO', - 'blogUrl': 'https://newstellar.tistory.com', - 'skillSet': ['Flutter, Django, React', 'pyTorch'], - 'interests': ['개발', '디자인'], - }, + 'profile': profiles[0], 'title': '코딩 뭐부터 시작해야 하나요?', 'content': '다른 일 하다가 프론트엔드 개발에 관심이 생겼는데 주변에 아는 현업자도 없고 뭐부터 해야할 지 감이 안오네요. 보통 어떤 것부터 시작하시나요?', 'interest': '개발', @@ -41,14 +30,7 @@ class Posts with ChangeNotifier { 'comments': [ { 'id': 1, - 'profile': { - 'id': 3, - 'nickname': 'bluesky', - 'profileImg': { - 'id': 1, - 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, - }, + 'profile': profiles[2], 'isAuthor': false, 'isLiked': true, 'comment': '저도 궁금하네요 ㅎㅎ', @@ -56,14 +38,7 @@ class Posts with ChangeNotifier { }, { 'id': 2, - 'profile': { - 'id': 6, - 'nickname': 'jhkang', - 'profileImg': { - 'id': 1, - 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, - }, + 'profile': profiles[1], 'isAuthor': false, 'isLiked': true, 'comment': '안녕하세요. 혹시 과외하실 생각 있으시면 저한테 쪽지 보내주세요! 제 프로필에 정보 나와있습니다.', @@ -71,17 +46,10 @@ class Posts with ChangeNotifier { }, { 'id': 3, - 'profile': { - 'id': 1, - 'nickname': 'marcelko', - 'profileImg': { - 'id': 1, - 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, - }, + 'profile': profiles[0], 'isAuthor': true, 'isLiked': false, - 'comment': '@jhkang 쪽지 드렸습니다!🙏', + 'comment': '@jwjeong 쪽지 드렸습니다!🙏', 'like': 0, }, ], @@ -95,18 +63,7 @@ class Posts with ChangeNotifier { { 'id': 2, 'boardType': '자유게시판', - 'profile': { - 'id': 2, - 'nickname': 'jwjeong', - 'profileImg': { - 'id': 1, - 'urlPath': 'https://cdn.speconomy.com/news/photo/201705/20170514_1_bodyimg_82397.png', - }, - 'githubUrl': 'https://github.com/yeonghyeonKO', - 'blogUrl': 'https://newstellar.tistory.com', - 'skillSet': ['Flutter, Django, React', 'pyTorch'], - 'interests': ['개발', '디자인'], - }, + 'profile': profiles[1], 'title': '네이버 코테 보신 분?', 'content': '어제 네이버 코테 보신 분? 저 좀 잘 본 듯 ㅎㅎ', 'interest': '데이터분석', @@ -136,14 +93,7 @@ class Posts with ChangeNotifier { 'comments': [ { 'id': 4, - 'profile': { - 'id': 3, - 'nickname': 'bluesky', - 'profileImg': { - 'id': 1, - 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, - }, + 'profile': profiles[2], 'isAuthor': false, 'isLiked': true, 'comment': '모든 문제 다 풀으셨나요?', @@ -151,14 +101,7 @@ class Posts with ChangeNotifier { }, { 'id': 5, - 'profile': { - 'id': 6, - 'nickname': 'jhkang', - 'profileImg': { - 'id': 1, - 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, - }, + 'profile': profiles[0], 'isAuthor': false, 'isLiked': true, 'comment': '안녕하세요. 혹시 과외하실 생각 있으시면 저한테 쪽지 보내주세요! 제 프로필에 정보 나와있습니다.', @@ -166,17 +109,10 @@ class Posts with ChangeNotifier { }, { 'id': 6, - 'profile': { - 'id': 2, - 'nickname': 'jwjeong', - 'profileImg': { - 'id': 1, - 'urlPath': 'https://cdn.speconomy.com/news/photo/201705/20170514_1_bodyimg_82397.png', - }, - }, + 'profile': profiles[1], 'isAuthor': true, 'isLiked': false, - 'comment': '@bluesky 어우 당연하죠 엄청 쉽던데요? \n @jhkang 쪽지 드렸습니다!🙏', + 'comment': '@bluesky 어우 당연하죠 엄청 쉽던데요? \n@marcelko 쪽지 드렸습니다!🙏', 'like': 0, }, ], @@ -189,18 +125,7 @@ class Posts with ChangeNotifier { { 'id': 3, 'boardType': '자유게시판', - 'profile': { - 'id': 3, - 'nickname': 'bluesky', - 'profileImg': { - 'id': 1, - 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, - 'githubUrl': 'https://github.com/yeonghyeonKO', - 'blogUrl': 'https://newstellar.tistory.com', - 'skillSet': ['Flutter, Django, React', 'pyTorch'], - 'interests': ['개발', '디자인'], - }, + 'profile': profiles[2], 'title': '맥북 사양 추천', 'content': '맥북 사양 좀 추천해주세요. 주로 피그마, 일러스트정도 쓸 것 같습니당 ㅎㅎㅎ', 'interest': '디자인', @@ -209,14 +134,7 @@ class Posts with ChangeNotifier { 'comments': [ { 'id': 4, - 'profile': { - 'id': 7, - 'nickname': 'anthony', - 'profileImg': { - 'id': 1, - 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, - }, + 'profile': profiles[1], 'isAuthor': false, 'isLiked': false, 'comment': '모니터 쓰실거면 13인치 추천합니다~', @@ -224,14 +142,7 @@ class Posts with ChangeNotifier { }, { 'id': 8, - 'profile': { - 'id': 6, - 'nickname': 'dsnkim', - 'profileImg': { - 'id': 1, - 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, - }, + 'profile': profiles[4], 'isAuthor': false, 'isLiked': false, 'comment': '저는 좀 기다리셔서 16인치요. 13인치 가벼워서 좋은데 모니터 너무 작아서 후회하고 있어요 ㅠㅠ', @@ -247,18 +158,7 @@ class Posts with ChangeNotifier { { 'id': 4, 'boardType': '자유게시판', - 'profile': { - 'id': 4, - 'nickname': '맨날비와', - 'profileImg': { - 'id': 1, - 'urlPath': 'https://t1.daumcdn.net/cfile/tistory/99A97E4C5D25E9C226', - }, - 'githubUrl': 'https://github.com/yeonghyeonKO', - 'blogUrl': 'https://newstellar.tistory.com', - 'skillSet': ['Flutter, Django, React', 'pyTorch'], - 'interests': ['개발', '디자인'], - }, + 'profile': profiles[3], 'title': '설계할 때 무슨 툴 쓰시나요?', 'content': '웹 서비스 설계 중인데 ppt 쓰다가 툴 바꿔보려고 합니다. 쓰시는 툴 중에 괜찮은 거 추천해주세요.', 'interest': '기획/마케팅', @@ -274,18 +174,7 @@ class Posts with ChangeNotifier { { 'id': 5, 'boardType': '자유게시판', - 'profile': { - 'id': 5, - 'nickname': '해피언니', - 'profileImg': { - 'id': 1, - 'urlPath': 'https://t1.daumcdn.net/cfile/tistory/241F824757B095710E', - }, - 'githubUrl': 'https://github.com/yeonghyeonKO', - 'blogUrl': 'https://newstellar.tistory.com', - 'skillSet': ['Flutter, Django, React', 'pyTorch'], - 'interests': ['개발', '디자인'], - }, + 'profile': profiles[4], 'title': '망고보드 괜찮나요?', 'content': '망고보드 쓰시는 분들 쓸만 한가요? 너무 비싸서 고민이네요', 'interest': '기타', diff --git a/lib/providers/profiles/profiles.dart b/lib/providers/profiles/profiles.dart new file mode 100644 index 00000000..521abe2f --- /dev/null +++ b/lib/providers/profiles/profiles.dart @@ -0,0 +1,75 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/foundation.dart'; +import '../../models/profiles/profile.dart'; + +List> profiles = [ + { + 'id': 1, + 'nickname': 'marcelko', + 'profileImg': { + 'id': 1, + 'urlPath': 'http://img.danawa.com/prod_img/500000/030/472/img/4472030_1.jpg?shrink=330:330&_v=20160923121953', + }, + }, + { + 'id': 2, + 'nickname': 'jwjeong', + 'profileImg': { + 'id': 2, + 'urlPath': 'https://cdn.speconomy.com/news/photo/201705/20170514_1_bodyimg_82397.png', + }, + }, + { + 'id': 3, + 'nickname': 'bluesky', + 'profileImg': { + 'id': 3, + 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + }, + 'intro': '🦋 N년차 프로덕트 디자이너\n🐶 강아지 몽무와 동거 중\n✉️ abcd@abcd.com\n📷 @abcddesign', + 'githubId': 'gajagajago', + 'blogUrl': 'https://blog.naver.com/witchyoli', + 'skillSet': ['figma','photoshop','illustrator','adobe xd','primere pro','aftereffect','cinema4D', 'zeplin', 'sketch'], + 'interests': ['개발', '디자인'], + }, + { + 'id': 4, + 'nickname': '맨날비와', + 'profileImg': { + 'id': 4, + 'urlPath': 'https://t1.daumcdn.net/cfile/tistory/99A97E4C5D25E9C226', + }, + }, + { + 'id': 5, + 'nickname': '해피언니', + 'profileImg': { + 'id': 5, + 'urlPath': 'https://t1.daumcdn.net/cfile/tistory/241F824757B095710E', + }, + }, +]; + +class MyProfile with ChangeNotifier { + Profile _profile; + bool loading = false; + + MyProfile({@required String authToken}) { + fetchMyProfile(authToken); + } + + Profile get profile => _profile; + + Future fetchMyProfile(String authToken) async { + try { + Map myProfile = profiles[2]; + _profile = Profile.fromJson(myProfile); + + loading = false; + } catch (e) { + print(e); + } finally { + notifyListeners(); + } + } +} \ No newline at end of file diff --git a/lib/screens/boards/posts/post_list.dart b/lib/screens/boards/posts/post_list.dart index df839b21..23a7b052 100644 --- a/lib/screens/boards/posts/post_list.dart +++ b/lib/screens/boards/posts/post_list.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; -import 'package:guam_community_client/commons/icon_text.dart'; -import 'package:guam_community_client/styles/colors.dart'; import 'package:provider/provider.dart'; +import 'package:guam_community_client/commons/icon_text.dart'; import 'package:guam_community_client/providers/posts/posts.dart'; +import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/screens/boards/posts/preview/post_preview.dart'; import '../../../commons/sub_headings.dart'; diff --git a/lib/screens/profiles/buttons/profile_edit_button.dart b/lib/screens/profiles/buttons/profile_edit_button.dart index 56f6eaa9..f6e6b8c3 100644 --- a/lib/screens/profiles/buttons/profile_edit_button.dart +++ b/lib/screens/profiles/buttons/profile_edit_button.dart @@ -1,4 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/providers/profiles/profiles.dart'; +import 'package:provider/provider.dart'; import 'package:guam_community_client/commons/icon_text.dart'; import 'package:guam_community_client/styles/colors.dart'; import '../pages/profiles_edit.dart'; @@ -6,6 +8,8 @@ import '../pages/profiles_edit.dart'; class ProfileEditButton extends StatelessWidget { @override Widget build(BuildContext context) { + final myProfile = context.read().profile; + return IconText( iconSize: 18, iconPath: 'assets/icons/write.svg', @@ -13,7 +17,7 @@ class ProfileEditButton extends StatelessWidget { paddingBtw: 0, onPressed: () => Navigator.of(context).push( MaterialPageRoute( - builder: (_) => ProfilesEdit() + builder: (_) => ProfilesEdit(myProfile) ) ), ); diff --git a/lib/screens/profiles/pages/profiles_edit.dart b/lib/screens/profiles/pages/profiles_edit.dart index cab006c1..69db6e30 100644 --- a/lib/screens/profiles/pages/profiles_edit.dart +++ b/lib/screens/profiles/pages/profiles_edit.dart @@ -7,24 +7,14 @@ import 'package:guam_community_client/styles/fonts.dart'; import '../../../commons/custom_app_bar.dart'; import '../../../commons/common_text_button.dart'; import '../profile/profile_img.dart'; -import 'package:guam_community_client/models/picture.dart'; import '../edit/profile_edit_nickname.dart'; import '../edit/profile_edit_intro.dart'; import '../edit/profile_edit_optional.dart'; class ProfilesEdit extends StatelessWidget { - final Profile dummy = Profile( - id: 1, - profileImg: Picture( - id: 1, - urlPath: "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - ), - nickname: "bluesky", - intro: "🦋 N년차 프로덕트 디자이너\n🐶 강아지 몽무와 동거 중\n✉️ abcd@abcd.com\n📷 @abcddesign", - githubId: "abcddesign111", - blogUrl: "tistory.abcddesign", - skillSet: ["figma","photoshop","illustrator","adobe xd","primere pro","aftereffect","cinema4D", "zeplin", "sketch"], - ); + final Profile profile; + + ProfilesEdit(this.profile); @override Widget build(BuildContext context) { @@ -48,7 +38,7 @@ class ProfilesEdit extends StatelessWidget { child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ - ProfileImg(profileImg: dummy.profileImg, height: 96, width: 96), + ProfileImg(profileImg: profile.profileImg, height: 96, width: 96), ProfileImgEditButton(), ProfileEditNickname(), ProfileEditIntro(), diff --git a/lib/screens/profiles/profiles_app.dart b/lib/screens/profiles/profiles_app.dart index 9f371de1..3668299b 100644 --- a/lib/screens/profiles/profiles_app.dart +++ b/lib/screens/profiles/profiles_app.dart @@ -1,11 +1,31 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/providers/profiles/profiles.dart'; +import 'package:guam_community_client/providers/user_auth/authenticate.dart'; import 'package:guam_community_client/screens/messages/message_box.dart'; import 'package:guam_community_client/styles/colors.dart'; +import 'package:provider/provider.dart'; import '../../commons/custom_app_bar.dart'; import 'profiles_body.dart'; class ProfilesApp extends StatelessWidget { + @override + Widget build(BuildContext context) { + return MultiProvider( + providers: [ + ChangeNotifierProvider(create: (_) => MyProfile(authToken: context.read().authToken)), + ], + child: ProfilesAppScaffold(), + ); + } +} + +class ProfilesAppScaffold extends StatefulWidget { + @override + State createState() => _ProfilesAppScaffoldState(); +} + +class _ProfilesAppScaffoldState extends State { @override Widget build(BuildContext context) { return Scaffold( diff --git a/lib/screens/profiles/profiles_body.dart b/lib/screens/profiles/profiles_body.dart index 5b197fb0..362c0fa0 100644 --- a/lib/screens/profiles/profiles_body.dart +++ b/lib/screens/profiles/profiles_body.dart @@ -1,48 +1,37 @@ import 'package:flutter/material.dart'; -import 'package:guam_community_client/models/picture.dart'; +import 'package:guam_community_client/providers/profiles/profiles.dart'; +import 'package:provider/provider.dart'; import 'package:guam_community_client/screens/profiles/profile/profile_img.dart'; import 'package:guam_community_client/screens/profiles/profile/profile_intro.dart'; import 'package:guam_community_client/screens/profiles/profile/profile_nickname.dart'; import 'package:guam_community_client/screens/profiles/profile/profile_web_buttons.dart'; -import '../../models/profiles/profile.dart'; import 'buttons/profile_edit_button.dart'; import 'profile/profile_skillset.dart'; import 'profile/profile_bottom_buttons.dart'; class ProfilesBody extends StatelessWidget { - final Profile dummy = Profile( - id: 1, - profileImg: Picture( - id: 1, - urlPath: "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - ), - nickname: "bluesky", - intro: "🦋 N년차 프로덕트 디자이너\n🐶 강아지 몽무와 동거 중\n✉️ abcd@abcd.com\n📷 @abcddesign", - githubId: "gajagajago", - blogUrl: "https://blog.naver.com/witchyoli", - skillSet: ["figma","photoshop","illustrator","adobe xd","primere pro","aftereffect","cinema4D", "zeplin", "sketch"], - ); - @override Widget build(BuildContext context) { + final myProfile = context.read().profile; + return Container( width: double.infinity, padding: EdgeInsets.fromLTRB(24, 40, 24, 24), child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ - ProfileImg(profileImg: dummy.profileImg, height: 144, width: 144), + ProfileImg(profileImg: myProfile.profileImg, height: 144, width: 144), Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ - ProfileNickname(dummy.nickname), + ProfileNickname(myProfile.nickname), ProfileEditButton(), ], ), - ProfileIntro(dummy.intro), - ProfileWebButtons(githubId: dummy.githubId, blogUrl: dummy.blogUrl), - ProfileSkillSet(dummy.skillSet), + ProfileIntro(myProfile.intro), + ProfileWebButtons(githubId: myProfile.githubId, blogUrl: myProfile.blogUrl), + ProfileSkillSet(myProfile.skillSet), ProfileBottomButtons(), ], ), From 4316cef95a4dc9aa14a71b305a686ab63f2ab19c Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sun, 2 Jan 2022 18:37:47 +0900 Subject: [PATCH 071/338] make dummy data for providers of messages --- lib/models/messages/message.dart | 41 ++++++++++++ lib/models/messages/message_box.dart | 32 ++++++++++ lib/models/messages/messages.dart | 0 lib/providers/messages/messages.dart | 94 ++++++++++++++++++++++++++++ lib/providers/profiles/profiles.dart | 21 +++++++ 5 files changed, 188 insertions(+) create mode 100644 lib/models/messages/message.dart create mode 100644 lib/models/messages/message_box.dart delete mode 100644 lib/models/messages/messages.dart create mode 100644 lib/providers/messages/messages.dart diff --git a/lib/models/messages/message.dart b/lib/models/messages/message.dart new file mode 100644 index 00000000..e0d3c6a9 --- /dev/null +++ b/lib/models/messages/message.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/foundation.dart'; +import 'package:guam_community_client/models/picture.dart'; +import '../profiles/profile.dart'; + +class Message extends ChangeNotifier { + final int id; + final Profile profile; // 본인 및 상대방 프로필 겸용 + final String content; // content==''일 땐 (즉, 사진만 보냄) '사진'으로 문구 대체할 예정 + final Picture picture; + final DateTime createdAt; + + Message({ + this.id, + this.profile, + this.content, + this.picture, + this.createdAt, + }); + + factory Message.fromJson(Map json) { + Profile profile; + Picture picture; + + if (json['profile'] != null) { + profile = Profile.fromJson(json['profile']); + } + + if (json['picture'] != null) { + picture = Picture.fromJson(json['picture']); + } + + return Message( + id: json['id'], + profile: profile, + content: json['content'], + picture: picture, + createdAt: json['createdAt'], + ); + } +} diff --git a/lib/models/messages/message_box.dart b/lib/models/messages/message_box.dart new file mode 100644 index 00000000..a3031667 --- /dev/null +++ b/lib/models/messages/message_box.dart @@ -0,0 +1,32 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/foundation.dart'; +import '../profiles/profile.dart'; + +class MessageBox extends ChangeNotifier { + final int id; + final Profile otherProfile; // 상대방 프로필 + final String lastContent; // 가장 마지막으로 보낸 메시지 (사진만 있는 경우 '사진'으로 보냄) + final DateTime createdAt; + + MessageBox({ + this.id, + this.otherProfile, + this.lastContent, + this.createdAt, + }); + + factory MessageBox.fromJson(Map json) { + Profile otherProfile; + + if (json['profile'] != null) { + otherProfile = Profile.fromJson(json['otherProfile']); + } + + return MessageBox( + id: json['id'], + otherProfile: otherProfile, + lastContent: json['lastContent'], + createdAt: json['createdAt'], + ); + } +} diff --git a/lib/models/messages/messages.dart b/lib/models/messages/messages.dart deleted file mode 100644 index e69de29b..00000000 diff --git a/lib/providers/messages/messages.dart b/lib/providers/messages/messages.dart new file mode 100644 index 00000000..ec4349a9 --- /dev/null +++ b/lib/providers/messages/messages.dart @@ -0,0 +1,94 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/foundation.dart'; +import 'package:guam_community_client/models/messages/message.dart'; +import 'package:guam_community_client/models/messages/message_box.dart'; +import '../profiles/profiles.dart'; + +class Messages with ChangeNotifier { + List _messageBoxes; + List _messages; + bool loading = false; + + Messages({@required String authToken}) { + fetchMessageBoxes(authToken); + fetchMessages(authToken); + } + + List get messageBoxes => _messageBoxes; + List get messages => _messages; + + Future fetchMessageBoxes(String authToken) async { + try { + loading = true; + + List> messageBoxes = [ + { + 'id': 1, + 'otherProfile': profiles[6], + 'lastContent': '안녕하세요!', + 'createdAt': DateTime.now().subtract(const Duration(minutes: 8)), + }, + { + 'id': 2, + 'otherProfile': profiles[5], + 'lastContent': '사용하시는 기술 스택 관련하여 질문이 있습니다!\n저도 플러터를 공부하고 싶은데 혹시 주로 공부하시는 교재나 강의가 있으신가요?', + 'createdAt': DateTime.now().subtract(const Duration(minutes: 3)), + }, + ]; + _messageBoxes = messageBoxes.map((e) => MessageBox.fromJson(e)).toList(); + + loading = false; + } catch (e) { + print(e); + } finally { + notifyListeners(); + } + } + + Future fetchMessages(String authToken) async { + try { + loading = true; + + List> messages = [ + { + 'id': 1, + 'profile': profiles[7], + 'content': '', + 'picture': { + 'id': 1, + 'urlPath': 'http://img.danawa.com/prod_img/500000/030/472/img/4472030_1.jpg?shrink=330:330&_v=20160923121953', + }, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 8)), + }, + { + 'id': 2, + 'profile': profiles[5], + 'content': '안녕하세요', + 'picture': null, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 6)), + }, + { + 'id': 3, + 'profile': profiles[7], + 'content': '답장', + 'picture': null, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 3)), + }, + { + 'id': 4, + 'profile': profiles[5], + 'content': '사용하시는 기술 스택 관련하여 질문이 있습니다!\n저도 플러터를 공부하고 싶은데 혹시 주로 공부하시는 교재나 강의가 있으신가요?', + 'picture': null, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 1)), + }, + ]; + _messages = messages.map((e) => Message.fromJson(e)).toList(); + + loading = false; + } catch (e) { + print(e); + } finally { + notifyListeners(); + } + } +} diff --git a/lib/providers/profiles/profiles.dart b/lib/providers/profiles/profiles.dart index 521abe2f..2a95cdc5 100644 --- a/lib/providers/profiles/profiles.dart +++ b/lib/providers/profiles/profiles.dart @@ -48,6 +48,27 @@ List> profiles = [ 'urlPath': 'https://t1.daumcdn.net/cfile/tistory/241F824757B095710E', }, }, + { + 'id': 6, + 'nickname': 'lilyiu_', + 'profileImg': { + 'id': 6, + 'urlPath': 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT7RWrVJDrXh2R1M51soNq8EeqCL97QnQ6Ldw&usqp=CAU', + }, + }, + { + 'id': 7, + 'nickname': 'Guamno1', + 'profileImg': { + 'id': 7, + 'urlPath': 'http://newsimg.hankookilbo.com/2019/09/23/201909231655358523_1.jpg', + }, + }, + { + 'id': 8, + 'nickname': 'lumograph97', + 'profileImg': null, + }, ]; class MyProfile with ChangeNotifier { From d6df2faa8c8e4e4f29a692dce0fac3f6893f92bd Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Mon, 3 Jan 2022 16:12:12 +0900 Subject: [PATCH 072/338] decorate message box --- lib/commons/common_text_field.dart | 5 +- lib/models/messages/message_box.dart | 5 +- lib/providers/messages/messages.dart | 8 +- lib/screens/boards/boards_app.dart | 2 + lib/screens/messages/message_body.dart | 38 +++--- lib/screens/messages/message_box.dart | 19 ++- lib/screens/messages/message_detail.dart | 68 ++++++++++ lib/screens/messages/message_detail_body.dart | 62 ++++++++++ lib/screens/messages/message_preview.dart | 116 ++++++++++++++++++ lib/screens/profiles/profiles_app.dart | 2 + lib/styles/colors.dart | 2 + 11 files changed, 301 insertions(+), 26 deletions(-) create mode 100644 lib/screens/messages/message_detail.dart create mode 100644 lib/screens/messages/message_detail_body.dart create mode 100644 lib/screens/messages/message_preview.dart diff --git a/lib/commons/common_text_field.dart b/lib/commons/common_text_field.dart index bebb5f0a..a454da0e 100644 --- a/lib/commons/common_text_field.dart +++ b/lib/commons/common_text_field.dart @@ -11,12 +11,13 @@ import 'image/image_thumbnail.dart'; import 'button_size_circular_progress_indicator.dart'; class CommonTextField extends StatefulWidget { + final String sendButton; final Function onTap; final Function addCommentImage; final Function removeCommentImage; final dynamic editTarget; - CommonTextField({@required this.onTap, this.addCommentImage, this.removeCommentImage, this.editTarget}); + CommonTextField({this.sendButton='등록', @required this.onTap, this.addCommentImage, this.removeCommentImage, this.editTarget}); @override State createState() => _CommonTextFieldState(); @@ -217,7 +218,7 @@ class _CommonTextFieldState extends State { alignment: Alignment.center, ), child: Text( - '등록', + widget.sendButton, style: TextStyle( color: GuamColorFamily.purpleCore, fontSize: 16, diff --git a/lib/models/messages/message_box.dart b/lib/models/messages/message_box.dart index a3031667..c6226777 100644 --- a/lib/models/messages/message_box.dart +++ b/lib/models/messages/message_box.dart @@ -5,12 +5,14 @@ import '../profiles/profile.dart'; class MessageBox extends ChangeNotifier { final int id; final Profile otherProfile; // 상대방 프로필 + final bool isRead; // 쪽지함 읽었는지 아닌지 final String lastContent; // 가장 마지막으로 보낸 메시지 (사진만 있는 경우 '사진'으로 보냄) final DateTime createdAt; MessageBox({ this.id, this.otherProfile, + this.isRead, this.lastContent, this.createdAt, }); @@ -18,13 +20,14 @@ class MessageBox extends ChangeNotifier { factory MessageBox.fromJson(Map json) { Profile otherProfile; - if (json['profile'] != null) { + if (json['otherProfile'] != null) { otherProfile = Profile.fromJson(json['otherProfile']); } return MessageBox( id: json['id'], otherProfile: otherProfile, + isRead: json['isRead'], lastContent: json['lastContent'], createdAt: json['createdAt'], ); diff --git a/lib/providers/messages/messages.dart b/lib/providers/messages/messages.dart index ec4349a9..cec2bd7d 100644 --- a/lib/providers/messages/messages.dart +++ b/lib/providers/messages/messages.dart @@ -9,9 +9,9 @@ class Messages with ChangeNotifier { List _messages; bool loading = false; - Messages({@required String authToken}) { + Messages({@required String authToken, int messageBoxNo}) { fetchMessageBoxes(authToken); - fetchMessages(authToken); + fetchMessages(authToken, messageBoxNo); } List get messageBoxes => _messageBoxes; @@ -25,12 +25,14 @@ class Messages with ChangeNotifier { { 'id': 1, 'otherProfile': profiles[6], + 'isRead': false, 'lastContent': '안녕하세요!', 'createdAt': DateTime.now().subtract(const Duration(minutes: 8)), }, { 'id': 2, 'otherProfile': profiles[5], + 'isRead': true, 'lastContent': '사용하시는 기술 스택 관련하여 질문이 있습니다!\n저도 플러터를 공부하고 싶은데 혹시 주로 공부하시는 교재나 강의가 있으신가요?', 'createdAt': DateTime.now().subtract(const Duration(minutes: 3)), }, @@ -45,7 +47,7 @@ class Messages with ChangeNotifier { } } - Future fetchMessages(String authToken) async { + Future fetchMessages(String authToken, int messageBoxNo) async { try { loading = true; diff --git a/lib/screens/boards/boards_app.dart b/lib/screens/boards/boards_app.dart index ca84fae5..ed139b20 100644 --- a/lib/screens/boards/boards_app.dart +++ b/lib/screens/boards/boards_app.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/providers/messages/messages.dart'; import 'package:guam_community_client/providers/posts/posts.dart'; import 'package:guam_community_client/providers/user_auth/authenticate.dart'; import 'package:guam_community_client/screens/boards/posts/post_button.dart'; @@ -14,6 +15,7 @@ class BoardsApp extends StatelessWidget { return MultiProvider( providers: [ ChangeNotifierProvider(create: (_) => Posts(authToken: context.read().authToken)), + ChangeNotifierProvider(create: (_) => Messages(authToken: context.read().authToken)), ], child: BoardsAppScaffold(), ); diff --git a/lib/screens/messages/message_body.dart b/lib/screens/messages/message_body.dart index b22f2c40..38687f8d 100644 --- a/lib/screens/messages/message_body.dart +++ b/lib/screens/messages/message_body.dart @@ -1,10 +1,20 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; +import 'package:guam_community_client/models/messages/message.dart'; +import 'package:guam_community_client/models/messages/message_box.dart' as MessageBox; +import 'package:provider/provider.dart'; import 'package:guam_community_client/commons/back.dart'; import 'package:guam_community_client/commons/custom_app_bar.dart'; +import 'package:guam_community_client/providers/messages/messages.dart'; import 'package:guam_community_client/styles/colors.dart'; +import 'message_preview.dart'; + class MessageBody extends StatelessWidget { + final List messageBoxes; + final List messages; + + MessageBody(this.messageBoxes, this.messages); @override Widget build(BuildContext context) { @@ -14,24 +24,24 @@ class MessageBody extends StatelessWidget { title: '쪽지함', leading: Back(), trailing: Padding( - padding: EdgeInsets.only(right: 11), - child: TextButton( - onPressed: () {}, - style: TextButton.styleFrom( - minimumSize: Size(30, 26), - alignment: Alignment.center, - ), - child: IconButton( - padding: EdgeInsets.zero, - constraints: BoxConstraints(), - icon: SvgPicture.asset('assets/icons/delete_outlined.svg'), - onPressed: () {}, - ), - ) + padding: EdgeInsets.only(right: 11), + child: IconButton( + padding: EdgeInsets.zero, + constraints: BoxConstraints(), + icon: SvgPicture.asset('assets/icons/delete_outlined.svg'), + onPressed: () {}, + ) ), ), body: Container( color: GuamColorFamily.grayscaleWhite, + padding: EdgeInsets.only(top: 18), + child: Column( + children: [ + ...messageBoxes.map((messageBox) => MessagePreview(messageBox, messages) + ) + ] + ), ), ); } diff --git a/lib/screens/messages/message_box.dart b/lib/screens/messages/message_box.dart index bee739d6..1c4ef3e7 100644 --- a/lib/screens/messages/message_box.dart +++ b/lib/screens/messages/message_box.dart @@ -1,4 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/providers/messages/messages.dart'; +import 'package:provider/provider.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'message_body.dart'; @@ -8,19 +10,24 @@ class MessageBox extends StatelessWidget { @override Widget build(BuildContext context) { + final messagesProvider = context.read(); + return IconButton( icon: SvgPicture.asset( newMessage ? 'assets/icons/message_new.svg' : 'assets/icons/message_default.svg' ), - onPressed: () { - Navigator.of(context, rootNavigator: true).push( - MaterialPageRoute( - builder: (_) => MessageBody() + onPressed: () { + Navigator.of(context, rootNavigator: true).push( + MaterialPageRoute( + builder: (_) => MessageBody( + messagesProvider.messageBoxes, + messagesProvider.messages, ) - ); - } + ) + ); + } ); } } diff --git a/lib/screens/messages/message_detail.dart b/lib/screens/messages/message_detail.dart new file mode 100644 index 00000000..9c3f2695 --- /dev/null +++ b/lib/screens/messages/message_detail.dart @@ -0,0 +1,68 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/commons/back.dart'; +import 'package:guam_community_client/commons/common_text_field.dart'; +import 'package:guam_community_client/commons/custom_app_bar.dart'; +import 'package:guam_community_client/models/messages/message.dart'; +import 'package:guam_community_client/styles/colors.dart'; + +import 'message_detail_body.dart'; + +class MessageDetail extends StatefulWidget { + final List messages; + + MessageDetail(this.messages); + + @override + State createState() => _MessageDetailState(); +} + +class _MessageDetailState extends State { + final int maxRenderImgCnt = 4; + bool commentImageExist = false; + + void addCommentImage() { + setState(() => commentImageExist = true); + } + + void removeCommentImage() { + setState(() => commentImageExist = false); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: GuamColorFamily.grayscaleWhite, + appBar: CustomAppBar( + leading: Back(), + trailing: Padding( + padding: EdgeInsets.only(right: 11), + child: IconButton( + padding: EdgeInsets.zero, + constraints: BoxConstraints(), + icon: SvgPicture.asset('assets/icons/more.svg'), + onPressed: () {}, + ), + ), + ), + body: SingleChildScrollView( + child: Column( + children: [ + ...widget.messages.map((msg) => MessageDetailBody(msg)) + ] + ), + ), + bottomSheet: Container( + padding: EdgeInsets.only(bottom: 10), + color: GuamColorFamily.grayscaleWhite, + child: CommonTextField( + sendButton: '전송', + onTap: null, + addCommentImage: addCommentImage, + removeCommentImage: removeCommentImage, + editTarget: null, + ), + ), + ); + } +} diff --git a/lib/screens/messages/message_detail_body.dart b/lib/screens/messages/message_detail_body.dart new file mode 100644 index 00000000..181d693b --- /dev/null +++ b/lib/screens/messages/message_detail_body.dart @@ -0,0 +1,62 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/models/messages/message.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; +import 'package:intl/intl.dart'; + +class MessageDetailBody extends StatelessWidget { + final Message message; + + MessageDetailBody(this.message); + + @override + Widget build(BuildContext context) { + return Column( + children: [ + Row( + children: [ + Padding( + padding: EdgeInsets.only(top: 8), + child: Text( + message.profile.nickname, + style: TextStyle( + fontSize: 12, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray3, + ), + ), + ), + Spacer(), + Padding( + padding: EdgeInsets.only(top: 8), + child: Text( + DateFormat('yyyy.MM.dd HH:mm').format(message.createdAt), + style: TextStyle( + fontSize: 12, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray5, + ), + ), + ), + ], + ), + Text(message.content), + if (message.picture != null) + Padding( + padding: EdgeInsets.only(top: 8, right: 8), + child: Container( + height: 24, + width: 24, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + fit: BoxFit.cover, + image: NetworkImage(message.picture.urlPath) + ), + ), + ), + ), + ], + ); + } +} diff --git a/lib/screens/messages/message_preview.dart b/lib/screens/messages/message_preview.dart new file mode 100644 index 00000000..707f2baf --- /dev/null +++ b/lib/screens/messages/message_preview.dart @@ -0,0 +1,116 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/helpers/svg_provider.dart'; +import 'package:guam_community_client/models/messages/message.dart'; +import 'package:guam_community_client/models/messages/message_box.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +import 'message_detail.dart'; + +class MessagePreview extends StatelessWidget { + final MessageBox messageBox; + final List messages; + + MessagePreview(this.messageBox, this.messages); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 16, vertical: 6), + child: Card( + margin: EdgeInsets.zero, + child: Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(10), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.1), + offset: Offset(0, -2), + ), + ], + ), + padding: EdgeInsets.symmetric(horizontal: 12, vertical: 6), + child: InkWell( + onTap: () { + Navigator.of(context).push( + MaterialPageRoute(builder: (_) => MessageDetail(messages)) + ); + }, + child: Row( + children: [ + Stack( + children: [ + Container( + width: 40, + height: 40, + decoration: BoxDecoration( + shape: BoxShape.circle, + image: DecorationImage( + fit: BoxFit.cover, + image: messageBox.otherProfile.profileImg != null + ? NetworkImage(messageBox.otherProfile.profileImg.urlPath) + : SvgProvider('assets/icons/profile_image.svg') + ), + ), + ), + if (!messageBox.isRead) + Positioned( + top: 0, + child: CircleAvatar( + backgroundColor: GuamColorFamily.FuchsiaCore, + radius: 6, + ) + ), + ], + ), + Container( + width: MediaQuery.of(context).size.width * 0.65, + padding: EdgeInsets.only(left: 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + messageBox.otherProfile.nickname, + style: TextStyle( + fontSize: 12, + height: 1.6, + fontFamily: GuamFontFamily.SpoqaHanSansNeoMedium, + color: GuamColorFamily.grayscaleGray2, + ), + ), + Text( + messageBox.lastContent, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 12, + height: 1.6, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: messageBox.isRead + ? GuamColorFamily.grayscaleGray4 + : GuamColorFamily.grayscaleGray2, + ), + ), + ], + ), + ), + Spacer(), + Text( + (DateTime.now().minute - messageBox.createdAt.minute).toString() + "분 전", + style: TextStyle( + fontSize: 12, + height: 1.6, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray4, + ), + ), + ], + ), + ), + ), + ), + ); + } +} diff --git a/lib/screens/profiles/profiles_app.dart b/lib/screens/profiles/profiles_app.dart index 3668299b..a2e6d1f9 100644 --- a/lib/screens/profiles/profiles_app.dart +++ b/lib/screens/profiles/profiles_app.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/providers/messages/messages.dart'; import 'package:guam_community_client/providers/profiles/profiles.dart'; import 'package:guam_community_client/providers/user_auth/authenticate.dart'; import 'package:guam_community_client/screens/messages/message_box.dart'; @@ -14,6 +15,7 @@ class ProfilesApp extends StatelessWidget { return MultiProvider( providers: [ ChangeNotifierProvider(create: (_) => MyProfile(authToken: context.read().authToken)), + ChangeNotifierProvider(create: (_) => Messages(authToken: context.read().authToken)), ], child: ProfilesAppScaffold(), ); diff --git a/lib/styles/colors.dart b/lib/styles/colors.dart index 62382bff..84ac09ae 100644 --- a/lib/styles/colors.dart +++ b/lib/styles/colors.dart @@ -33,4 +33,6 @@ class GuamColorFamily { static HexColor orangeCore = HexColor('#F3B962'); static HexColor redCore = HexColor('#F37462'); + + static HexColor FuchsiaCore = HexColor('#EF5DA8'); } From c96e154b210c1c7854575f4199e0235101f902d0 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 4 Jan 2022 00:17:40 +0900 Subject: [PATCH 073/338] decorate message detail view --- lib/models/messages/message.dart | 3 + lib/providers/messages/messages.dart | 6 +- lib/providers/profiles/profiles.dart | 2 +- lib/screens/messages/message_body.dart | 24 ++++- lib/screens/messages/message_box.dart | 8 +- lib/screens/messages/message_detail.dart | 5 +- lib/screens/messages/message_detail_body.dart | 94 ++++++++++++------- lib/screens/messages/message_preview.dart | 9 +- 8 files changed, 103 insertions(+), 48 deletions(-) diff --git a/lib/models/messages/message.dart b/lib/models/messages/message.dart index e0d3c6a9..64f92f3e 100644 --- a/lib/models/messages/message.dart +++ b/lib/models/messages/message.dart @@ -6,6 +6,7 @@ import '../profiles/profile.dart'; class Message extends ChangeNotifier { final int id; final Profile profile; // 본인 및 상대방 프로필 겸용 + final bool isMe; // 나인지 아닌지 final String content; // content==''일 땐 (즉, 사진만 보냄) '사진'으로 문구 대체할 예정 final Picture picture; final DateTime createdAt; @@ -13,6 +14,7 @@ class Message extends ChangeNotifier { Message({ this.id, this.profile, + this.isMe, this.content, this.picture, this.createdAt, @@ -33,6 +35,7 @@ class Message extends ChangeNotifier { return Message( id: json['id'], profile: profile, + isMe: json['isMe'], content: json['content'], picture: picture, createdAt: json['createdAt'], diff --git a/lib/providers/messages/messages.dart b/lib/providers/messages/messages.dart index cec2bd7d..37d3dee8 100644 --- a/lib/providers/messages/messages.dart +++ b/lib/providers/messages/messages.dart @@ -55,16 +55,18 @@ class Messages with ChangeNotifier { { 'id': 1, 'profile': profiles[7], + 'isMe': false, 'content': '', 'picture': { 'id': 1, - 'urlPath': 'http://img.danawa.com/prod_img/500000/030/472/img/4472030_1.jpg?shrink=330:330&_v=20160923121953', + 'urlPath': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', }, 'createdAt': DateTime.now().subtract(const Duration(minutes: 8)), }, { 'id': 2, 'profile': profiles[5], + 'isMe': true, 'content': '안녕하세요', 'picture': null, 'createdAt': DateTime.now().subtract(const Duration(minutes: 6)), @@ -72,6 +74,7 @@ class Messages with ChangeNotifier { { 'id': 3, 'profile': profiles[7], + 'isMe': false, 'content': '답장', 'picture': null, 'createdAt': DateTime.now().subtract(const Duration(minutes: 3)), @@ -79,6 +82,7 @@ class Messages with ChangeNotifier { { 'id': 4, 'profile': profiles[5], + 'isMe': true, 'content': '사용하시는 기술 스택 관련하여 질문이 있습니다!\n저도 플러터를 공부하고 싶은데 혹시 주로 공부하시는 교재나 강의가 있으신가요?', 'picture': null, 'createdAt': DateTime.now().subtract(const Duration(minutes: 1)), diff --git a/lib/providers/profiles/profiles.dart b/lib/providers/profiles/profiles.dart index 2a95cdc5..8bcd0fd0 100644 --- a/lib/providers/profiles/profiles.dart +++ b/lib/providers/profiles/profiles.dart @@ -24,7 +24,7 @@ List> profiles = [ 'nickname': 'bluesky', 'profileImg': { 'id': 3, - 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + 'urlPath': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', }, 'intro': '🦋 N년차 프로덕트 디자이너\n🐶 강아지 몽무와 동거 중\n✉️ abcd@abcd.com\n📷 @abcddesign', 'githubId': 'gajagajago', diff --git a/lib/screens/messages/message_body.dart b/lib/screens/messages/message_body.dart index 38687f8d..208163db 100644 --- a/lib/screens/messages/message_body.dart +++ b/lib/screens/messages/message_body.dart @@ -2,11 +2,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:guam_community_client/models/messages/message.dart'; import 'package:guam_community_client/models/messages/message_box.dart' as MessageBox; -import 'package:provider/provider.dart'; import 'package:guam_community_client/commons/back.dart'; import 'package:guam_community_client/commons/custom_app_bar.dart'; -import 'package:guam_community_client/providers/messages/messages.dart'; import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; import 'message_preview.dart'; @@ -37,10 +36,25 @@ class MessageBody extends StatelessWidget { color: GuamColorFamily.grayscaleWhite, padding: EdgeInsets.only(top: 18), child: Column( - children: [ + children: [ + if (messageBoxes.isEmpty) + Center( + child: Padding( + padding: EdgeInsets.only(top: MediaQuery.of(context).size.height * 0.1), + child: Text( + '쪽지함이 비어있습니다.', + style: TextStyle( + fontSize: 16, + color: GuamColorFamily.grayscaleGray4, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + ), + ), + ), + ), + if (messageBoxes.isNotEmpty) ...messageBoxes.map((messageBox) => MessagePreview(messageBox, messages) - ) - ] + ) + ] ), ), ); diff --git a/lib/screens/messages/message_box.dart b/lib/screens/messages/message_box.dart index 1c4ef3e7..cf5833fe 100644 --- a/lib/screens/messages/message_box.dart +++ b/lib/screens/messages/message_box.dart @@ -21,10 +21,10 @@ class MessageBox extends StatelessWidget { onPressed: () { Navigator.of(context, rootNavigator: true).push( MaterialPageRoute( - builder: (_) => MessageBody( - messagesProvider.messageBoxes, - messagesProvider.messages, - ) + builder: (_) => MessageBody( + messagesProvider.messageBoxes, + messagesProvider.messages, + ) ) ); } diff --git a/lib/screens/messages/message_detail.dart b/lib/screens/messages/message_detail.dart index 9c3f2695..a3711711 100644 --- a/lib/screens/messages/message_detail.dart +++ b/lib/screens/messages/message_detail.dart @@ -10,15 +10,15 @@ import 'message_detail_body.dart'; class MessageDetail extends StatefulWidget { final List messages; + final String otherName; - MessageDetail(this.messages); + MessageDetail(this.messages, this.otherName); @override State createState() => _MessageDetailState(); } class _MessageDetailState extends State { - final int maxRenderImgCnt = 4; bool commentImageExist = false; void addCommentImage() { @@ -34,6 +34,7 @@ class _MessageDetailState extends State { return Scaffold( backgroundColor: GuamColorFamily.grayscaleWhite, appBar: CustomAppBar( + title: widget.otherName, leading: Back(), trailing: Padding( padding: EdgeInsets.only(right: 11), diff --git a/lib/screens/messages/message_detail_body.dart b/lib/screens/messages/message_detail_body.dart index 181d693b..44715c5f 100644 --- a/lib/screens/messages/message_detail_body.dart +++ b/lib/screens/messages/message_detail_body.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/helpers/svg_provider.dart'; import 'package:guam_community_client/models/messages/message.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; @@ -11,52 +12,81 @@ class MessageDetailBody extends StatelessWidget { @override Widget build(BuildContext context) { - return Column( - children: [ - Row( - children: [ - Padding( - padding: EdgeInsets.only(top: 8), - child: Text( - message.profile.nickname, - style: TextStyle( - fontSize: 12, - fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, - color: GuamColorFamily.grayscaleGray3, + return Container( + color: message.isMe + ? GuamColorFamily.grayscaleGray7 + : GuamColorFamily.purpleLight3, + padding: EdgeInsets.symmetric(horizontal: 24, vertical: 10), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Container( + width: 24, + height: 24, + decoration: BoxDecoration( + shape: BoxShape.circle, + image: DecorationImage( + fit: BoxFit.cover, + image: message.profile.profileImg != null + ? NetworkImage(message.profile.profileImg.urlPath) + : SvgProvider('assets/icons/profile_image.svg') + ), ), ), - ), - Spacer(), - Padding( - padding: EdgeInsets.only(top: 8), - child: Text( + Padding( + padding: EdgeInsets.only(left: 6), + child: Text( + message.isMe + ? message.profile.nickname + ' (나)' + : message.profile.nickname, + style: TextStyle( + fontSize: 12, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: message.isMe + ? GuamColorFamily.purpleCore + : GuamColorFamily.grayscaleGray2, + ), + ), + ), + Spacer(), + Text( DateFormat('yyyy.MM.dd HH:mm').format(message.createdAt), style: TextStyle( fontSize: 12, fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, - color: GuamColorFamily.grayscaleGray5, + color: GuamColorFamily.grayscaleGray4, ), ), - ), - ], - ), - Text(message.content), - if (message.picture != null) + ], + ), Padding( - padding: EdgeInsets.only(top: 8, right: 8), - child: Container( - height: 24, - width: 24, + padding: EdgeInsets.only(top: 8), + child: Text( + message.content, + style: TextStyle( + height: 1.6, + fontSize: 13, + color: GuamColorFamily.grayscaleGray2, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + ), + ), + ), + if (message.picture != null) + Container( + width: 80, + height: 80, decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10), + borderRadius: BorderRadius.circular(8), image: DecorationImage( - fit: BoxFit.cover, - image: NetworkImage(message.picture.urlPath) + fit: BoxFit.cover, + image: NetworkImage(message.picture.urlPath), ), ), ), - ), - ], + ], + ), ); } } diff --git a/lib/screens/messages/message_preview.dart b/lib/screens/messages/message_preview.dart index 707f2baf..2d2e1e8e 100644 --- a/lib/screens/messages/message_preview.dart +++ b/lib/screens/messages/message_preview.dart @@ -34,8 +34,11 @@ class MessagePreview extends StatelessWidget { child: InkWell( onTap: () { Navigator.of(context).push( - MaterialPageRoute(builder: (_) => MessageDetail(messages)) - ); + MaterialPageRoute(builder: (_) => MessageDetail( + messages, + messageBox.otherProfile.nickname, + ) + )); }, child: Row( children: [ @@ -65,7 +68,7 @@ class MessagePreview extends StatelessWidget { ], ), Container( - width: MediaQuery.of(context).size.width * 0.65, + width: MediaQuery.of(context).size.width * 0.6, padding: EdgeInsets.only(left: 16), child: Column( crossAxisAlignment: CrossAxisAlignment.start, From c1205479f037f7c0303a792c8d63d7111aae6dd2 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 4 Jan 2022 00:28:52 +0900 Subject: [PATCH 074/338] add bottomModal for controlling messages --- lib/screens/messages/message_detail.dart | 63 +++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/lib/screens/messages/message_detail.dart b/lib/screens/messages/message_detail.dart index a3711711..681c34e5 100644 --- a/lib/screens/messages/message_detail.dart +++ b/lib/screens/messages/message_detail.dart @@ -5,6 +5,8 @@ import 'package:guam_community_client/commons/common_text_field.dart'; import 'package:guam_community_client/commons/custom_app_bar.dart'; import 'package:guam_community_client/models/messages/message.dart'; import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; +import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; import 'message_detail_body.dart'; @@ -42,7 +44,66 @@ class _MessageDetailState extends State { padding: EdgeInsets.zero, constraints: BoxConstraints(), icon: SvgPicture.asset('assets/icons/more.svg'), - onPressed: () {}, + onPressed: () => showMaterialModalBottomSheet( + context: context, + useRootNavigator: true, + backgroundColor: GuamColorFamily.grayscaleWhite, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ) + ), + builder: (context) => SingleChildScrollView( + child: Container( + padding: EdgeInsets.only(left: 24, top: 24, bottom: 21), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + TextButton( + onPressed: (){}, + child: Container( + child: Text( + '쪽지 삭제하기', + style: TextStyle( + fontSize: 16, + color: GuamColorFamily.grayscaleGray1, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + ), + ), + ) + ), + TextButton( + onPressed: (){}, + child: Container( + child: Text( + '신고하기', + style: TextStyle( + fontSize: 16, + color: GuamColorFamily.grayscaleGray1, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + ), + ), + ) + ), + TextButton( + onPressed: (){}, + child: Container( + child: Text( + '차단하기', + style: TextStyle( + fontSize: 16, + color: GuamColorFamily.grayscaleGray1, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + ), + ), + ) + ) + ], + ), + ), + ) + ) ), ), ), From 5c6398a62b2272d27d12fc946401a89badd42edf Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 4 Jan 2022 00:54:53 +0900 Subject: [PATCH 075/338] make messageBox deletable --- lib/commons/custom_app_bar.dart | 1 + lib/screens/messages/message_body.dart | 8 ++- lib/screens/messages/message_box_edit.dart | 57 ++++++++++++++++++++++ lib/screens/messages/message_preview.dart | 41 ++++++++++++---- 4 files changed, 96 insertions(+), 11 deletions(-) create mode 100644 lib/screens/messages/message_box_edit.dart diff --git a/lib/commons/custom_app_bar.dart b/lib/commons/custom_app_bar.dart index 4300377e..1fc8849f 100644 --- a/lib/commons/custom_app_bar.dart +++ b/lib/commons/custom_app_bar.dart @@ -27,6 +27,7 @@ class CustomAppBar extends StatelessWidget with PreferredSizeWidget { leading: leading != null ? Material(color: Colors.transparent, child: leading) : null, + automaticallyImplyLeading: false, bottom: bottom, actions: trailing == null ? [] diff --git a/lib/screens/messages/message_body.dart b/lib/screens/messages/message_body.dart index 208163db..650d0333 100644 --- a/lib/screens/messages/message_body.dart +++ b/lib/screens/messages/message_body.dart @@ -4,6 +4,7 @@ import 'package:guam_community_client/models/messages/message.dart'; import 'package:guam_community_client/models/messages/message_box.dart' as MessageBox; import 'package:guam_community_client/commons/back.dart'; import 'package:guam_community_client/commons/custom_app_bar.dart'; +import 'package:guam_community_client/screens/messages/message_box_edit.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; @@ -28,7 +29,12 @@ class MessageBody extends StatelessWidget { padding: EdgeInsets.zero, constraints: BoxConstraints(), icon: SvgPicture.asset('assets/icons/delete_outlined.svg'), - onPressed: () {}, + onPressed: () => Navigator.of(context, rootNavigator: true).push( + PageRouteBuilder( + pageBuilder: (_, __, ___) => MessageBoxEdit(messageBoxes, messages), + transitionDuration: Duration(seconds: 0), + ) + ), ) ), ), diff --git a/lib/screens/messages/message_box_edit.dart b/lib/screens/messages/message_box_edit.dart new file mode 100644 index 00000000..af4ef2af --- /dev/null +++ b/lib/screens/messages/message_box_edit.dart @@ -0,0 +1,57 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:guam_community_client/models/messages/message.dart'; +import 'package:guam_community_client/models/messages/message_box.dart' as MessageBox; +import 'package:guam_community_client/commons/back.dart'; +import 'package:guam_community_client/commons/custom_app_bar.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +import 'message_preview.dart'; + +class MessageBoxEdit extends StatelessWidget { + final List messageBoxes; + final List messages; + + MessageBoxEdit(this.messageBoxes, this.messages); + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: GuamColorFamily.grayscaleWhite, + appBar: CustomAppBar( + title: '쪽지함', + leading: null, + trailing: Padding( + padding: EdgeInsets.only(right: 11), + child: TextButton( + child: Text( + '완료', + style: TextStyle( + fontSize: 16, + color: GuamColorFamily.purpleCore, + fontFamily: GuamFontFamily.SpoqaHanSansNeoMedium, + ), + ), + onPressed: (){ + Navigator.pop(context); + }, + ) + ), + ), + body: Container( + color: GuamColorFamily.grayscaleWhite, + padding: EdgeInsets.only(top: 18), + child: Column( + children: [ + ...messageBoxes.map((messageBox) => MessagePreview( + messageBox, + messages, + editable: true, + )) + ] + ), + ), + ); + } +} diff --git a/lib/screens/messages/message_preview.dart b/lib/screens/messages/message_preview.dart index 2d2e1e8e..ac1161f2 100644 --- a/lib/screens/messages/message_preview.dart +++ b/lib/screens/messages/message_preview.dart @@ -10,8 +10,9 @@ import 'message_detail.dart'; class MessagePreview extends StatelessWidget { final MessageBox messageBox; final List messages; + final bool editable; - MessagePreview(this.messageBox, this.messages); + MessagePreview(this.messageBox, this.messages, {this.editable=false}); @override Widget build(BuildContext context) { @@ -30,7 +31,7 @@ class MessagePreview extends StatelessWidget { ), ], ), - padding: EdgeInsets.symmetric(horizontal: 12, vertical: 6), + padding: EdgeInsets.only(left: 12, top: 6, bottom: 6), child: InkWell( onTap: () { Navigator.of(context).push( @@ -68,7 +69,7 @@ class MessagePreview extends StatelessWidget { ], ), Container( - width: MediaQuery.of(context).size.width * 0.6, + width: MediaQuery.of(context).size.width * 0.65, padding: EdgeInsets.only(left: 16), child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -100,13 +101,33 @@ class MessagePreview extends StatelessWidget { ), ), Spacer(), - Text( - (DateTime.now().minute - messageBox.createdAt.minute).toString() + "분 전", - style: TextStyle( - fontSize: 12, - height: 1.6, - fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, - color: GuamColorFamily.grayscaleGray4, + if (editable) + TextButton( + onPressed: (){}, + style: TextButton.styleFrom( + padding: EdgeInsets.zero, + minimumSize: Size(23, 20), + ), + child: Text( + '삭제', + style: TextStyle( + fontSize: 12, + fontFamily: GuamFontFamily.SpoqaHanSansNeoMedium, + color: GuamColorFamily.redCore, + ), + ), + ), + if (!editable) + Padding( + padding: EdgeInsets.only(right: 10, top: 14, bottom: 15), + child: Text( + (DateTime.now().minute - messageBox.createdAt.minute).toString() + "분 전", + style: TextStyle( + fontSize: 12, + height: 1.6, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray4, + ), ), ), ], From 38d4bfc5d5f60af89df2c58d5031b8ec71f397e0 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 4 Jan 2022 01:07:40 +0900 Subject: [PATCH 076/338] fix pixel overflow --- lib/screens/messages/message_preview.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/screens/messages/message_preview.dart b/lib/screens/messages/message_preview.dart index ac1161f2..6c74b60c 100644 --- a/lib/screens/messages/message_preview.dart +++ b/lib/screens/messages/message_preview.dart @@ -69,7 +69,7 @@ class MessagePreview extends StatelessWidget { ], ), Container( - width: MediaQuery.of(context).size.width * 0.65, + width: MediaQuery.of(context).size.width * 0.64, padding: EdgeInsets.only(left: 16), child: Column( crossAxisAlignment: CrossAxisAlignment.start, From 2d142cefb59034ad40cf93f2e9e358fd1b54486a Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 4 Jan 2022 10:21:30 +0900 Subject: [PATCH 077/338] attach bottomModal to Post&Comment --- .../bottom_modal/bottom_modal_default.dart | 27 +++++++++++++ lib/main.dart | 4 +- lib/models/boards/post.dart | 3 ++ lib/providers/posts/posts.dart | 5 +++ .../boards/comments/comment_banner.dart | 37 +++++++++++++++++- .../boards/posts/detail/post_detail.dart | 38 ++++++++++++++++++- 6 files changed, 110 insertions(+), 4 deletions(-) create mode 100644 lib/commons/bottom_modal/bottom_modal_default.dart diff --git a/lib/commons/bottom_modal/bottom_modal_default.dart b/lib/commons/bottom_modal/bottom_modal_default.dart new file mode 100644 index 00000000..49d83db9 --- /dev/null +++ b/lib/commons/bottom_modal/bottom_modal_default.dart @@ -0,0 +1,27 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +class BottomModalDefault extends StatelessWidget { + final Function onPressed; + final String text; + + const BottomModalDefault({this.onPressed, this.text}); + + @override + Widget build(BuildContext context) { + return TextButton( + onPressed: onPressed, + child: Container( + child: Text( + text, + style: TextStyle( + fontSize: 16, + color: GuamColorFamily.grayscaleGray1, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + ), + ), + ) + ); + } +} diff --git a/lib/main.dart b/lib/main.dart index 034a810a..c4666d13 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -22,8 +22,8 @@ class MyApp extends StatelessWidget { debugShowCheckedModeBanner: false, initialRoute: '/', routes: { - '/': (context) => SignUp(), - '/main': (context) => App(), + // '/': (context) => SignUp(), + '/': (context) => App(), }, theme: ThemeData( primaryColor: GuamColorFamily.purpleCore, diff --git a/lib/models/boards/post.dart b/lib/models/boards/post.dart index 1689353b..b4637ae4 100644 --- a/lib/models/boards/post.dart +++ b/lib/models/boards/post.dart @@ -16,6 +16,7 @@ class Post extends ChangeNotifier { final int like; final int commentCnt; final int scrap; + final bool isAuthor; final bool isLiked; final bool isScrapped; final DateTime createdAt; @@ -32,6 +33,7 @@ class Post extends ChangeNotifier { this.like, this.commentCnt, this.scrap, + this.isAuthor, this.isLiked, this.isScrapped, this.createdAt, @@ -77,6 +79,7 @@ class Post extends ChangeNotifier { like: json['like'], commentCnt: json['commentCnt'], scrap: json['scrap'], + isAuthor: json['isAuthor'], isLiked: json['isLiked'], isScrapped: json['isScrapped'], createdAt: json['createdAt'], diff --git a/lib/providers/posts/posts.dart b/lib/providers/posts/posts.dart index 0bfb67ae..b2e7fcd4 100644 --- a/lib/providers/posts/posts.dart +++ b/lib/providers/posts/posts.dart @@ -83,6 +83,7 @@ class Posts with ChangeNotifier { ], 'commentCnt': 10, 'scrap': 10, + 'isAuthor': false, 'isLiked': true, 'isScrapped': true, 'createdAt': DateTime.now().subtract(const Duration(minutes: 1)), @@ -172,6 +173,7 @@ class Posts with ChangeNotifier { ], 'commentCnt': 30, 'scrap': 10, + 'isAuthor': false, 'isLiked': false, 'isScrapped': true, 'createdAt': DateTime.now().subtract(const Duration(minutes: 3)), @@ -227,6 +229,7 @@ class Posts with ChangeNotifier { ], 'commentCnt': 5, 'scrap': 3, + 'isAuthor': true, 'isLiked': true, 'isScrapped': false, 'createdAt': DateTime.now().subtract(const Duration(minutes: 5)), @@ -253,6 +256,7 @@ class Posts with ChangeNotifier { 'comments': [], 'commentCnt': 14, 'scrap': 10, + 'isAuthor': false, 'isLiked': false, 'isScrapped': true, 'createdAt': DateTime.now().subtract(const Duration(minutes: 6)), @@ -279,6 +283,7 @@ class Posts with ChangeNotifier { 'comments': [], 'commentCnt': 14, 'scrap': 10, + 'isAuthor': false, 'isLiked': true, 'isScrapped': true, 'createdAt': DateTime.now().subtract(const Duration(minutes: 7)), diff --git a/lib/screens/boards/comments/comment_banner.dart b/lib/screens/boards/comments/comment_banner.dart index 416d5179..4f5c974f 100644 --- a/lib/screens/boards/comments/comment_banner.dart +++ b/lib/screens/boards/comments/comment_banner.dart @@ -1,9 +1,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/commons/bottom_modal/bottom_modal_default.dart'; import 'package:guam_community_client/helpers/svg_provider.dart'; import 'package:guam_community_client/models/boards/comment.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; +import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; class CommentBanner extends StatelessWidget { final Comment comment; @@ -49,7 +51,40 @@ class CommentBanner extends StatelessWidget { 'assets/icons/more.svg', color: GuamColorFamily.grayscaleGray5, ), - onPressed: () {}, + onPressed: () => showMaterialModalBottomSheet( + context: context, + useRootNavigator: true, + backgroundColor: GuamColorFamily.grayscaleWhite, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ) + ), + builder: (context) => SingleChildScrollView( + child: Container( + padding: EdgeInsets.only(left: 24, top: 24, bottom: 21), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (!comment.isAuthor) + BottomModalDefault( + text: '쪽지보내기', + onPressed: (){}, + ), + BottomModalDefault( + text: comment.isAuthor ? '수정하기' : '신고하기', + onPressed: (){}, + ), + BottomModalDefault( + text: comment.isAuthor ? '삭제하기' : '차단하기', + onPressed: (){}, + ), + ], + ), + ), + ) + ) ), ], ), diff --git a/lib/screens/boards/posts/detail/post_detail.dart b/lib/screens/boards/posts/detail/post_detail.dart index 5e4c36b2..7a159a63 100644 --- a/lib/screens/boards/posts/detail/post_detail.dart +++ b/lib/screens/boards/posts/detail/post_detail.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:guam_community_client/commons/back.dart'; +import 'package:guam_community_client/commons/bottom_modal/bottom_modal_default.dart'; import 'package:guam_community_client/commons/common_text_field.dart'; import 'package:guam_community_client/commons/custom_app_bar.dart'; import 'package:guam_community_client/commons/custom_divider.dart'; @@ -10,6 +11,8 @@ import 'package:guam_community_client/screens/boards/posts/detail/post_detail_ba import 'package:guam_community_client/screens/boards/posts/detail/post_detail_body.dart'; import 'package:guam_community_client/screens/boards/posts/post_info.dart'; import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; +import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; class PostDetail extends StatefulWidget { final Post post; @@ -51,7 +54,40 @@ class _PostDetailState extends State { padding: EdgeInsets.zero, constraints: BoxConstraints(), icon: SvgPicture.asset('assets/icons/more.svg'), - onPressed: () {}, + onPressed: () => showMaterialModalBottomSheet( + context: context, + useRootNavigator: true, + backgroundColor: GuamColorFamily.grayscaleWhite, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ) + ), + builder: (context) => SingleChildScrollView( + child: Container( + padding: EdgeInsets.only(left: 24, top: 24, bottom: 21), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (!widget.post.isAuthor) + BottomModalDefault( + text: '쪽지 보내기', + onPressed: (){}, + ), + BottomModalDefault( + text: widget.post.isAuthor ? '수정하기' : '신고하기', + onPressed: (){}, + ), + BottomModalDefault( + text: widget.post.isAuthor ? '삭제하기' : '차단하기', + onPressed: (){}, + ), + ], + ), + ), + ) + ) ), ], ), From cbe111cf9482a568bc1d11b626df0a3bb24d8d2f Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 4 Jan 2022 11:27:05 +0900 Subject: [PATCH 078/338] design notification tab --- lib/main.dart | 4 +- lib/models/notification.dart | 42 ++++++ .../notifications/notifications.dart | 99 +++++++++++++ .../notifications/notifications_app.dart | 39 +++++- .../notifications/notifications_body.dart | 33 ++++- .../notifications/notifications_preview.dart | 132 ++++++++++++++++++ lib/styles/colors.dart | 2 + 7 files changed, 347 insertions(+), 4 deletions(-) create mode 100644 lib/models/notification.dart create mode 100644 lib/providers/notifications/notifications.dart create mode 100644 lib/screens/notifications/notifications_preview.dart diff --git a/lib/main.dart b/lib/main.dart index 034a810a..c4666d13 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -22,8 +22,8 @@ class MyApp extends StatelessWidget { debugShowCheckedModeBanner: false, initialRoute: '/', routes: { - '/': (context) => SignUp(), - '/main': (context) => App(), + // '/': (context) => SignUp(), + '/': (context) => App(), }, theme: ThemeData( primaryColor: GuamColorFamily.purpleCore, diff --git a/lib/models/notification.dart b/lib/models/notification.dart new file mode 100644 index 00000000..0636a730 --- /dev/null +++ b/lib/models/notification.dart @@ -0,0 +1,42 @@ +import 'package:guam_community_client/models/profiles/profile.dart'; + +class Notification { + final int id; + final int postId; + final int commentId; // commentId가 null이 아닌 경우 댓글에 관한 알림 + final bool isRead; + final String comment; + final String type; + final Profile otherProfile; + final DateTime createdAt; + + Notification({ + this.id, + this.postId, + this.commentId, + this.isRead, + this.comment, + this.type, + this.otherProfile, + this.createdAt, + }); + + factory Notification.fromJson(dynamic json) { + Profile otherProfile; + + if (json['otherProfile'] != null) { + otherProfile = Profile.fromJson(json['otherProfile']); + } + + return Notification( + id: json['id'], + postId: json['postId'], + commentId: json['commentId'], + isRead: json['isRead'], + comment: json['comment'], + type: json['type'], + otherProfile: otherProfile, + createdAt: json['createdAt'], + ); + } +} diff --git a/lib/providers/notifications/notifications.dart b/lib/providers/notifications/notifications.dart new file mode 100644 index 00000000..caf35531 --- /dev/null +++ b/lib/providers/notifications/notifications.dart @@ -0,0 +1,99 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/foundation.dart'; +import 'package:guam_community_client/models/notification.dart' as Notification; + +class Notifications with ChangeNotifier { + List _notifications; + bool loading = false; + + Notifications({@required String authToken}) { + fetchNotifications(authToken); + } + + List get notifications => _notifications; + + Future fetchNotifications(String authToken) async { + try { + loading = true; + + List> notifications = [ + { + 'id': 1, + 'postId': 3, + 'commentId': null, + 'isRead': true, + 'comment': null, + 'type': 'post_liked', + 'otherProfile': { + 'id': 1, + 'nickname': 'marcelko', + 'profileImg': { + 'id': 1, + 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + }, + }, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 7)), + }, + { + 'id': 2, + 'postId': 3, + 'commentId': 1, + 'isRead': false, + 'comment': '모니터 쓰실거면 13인치 추천합니다~', + 'type': 'commented', + 'otherProfile': { + 'id': 2, + 'nickname': 'jwjeong', + 'profileImg': { + 'id': 2, + 'urlPath': 'https://cdn.speconomy.com/news/photo/201705/20170514_1_bodyimg_82397.png', + }, + }, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 2)), + }, + { + 'id': 3, + 'postId': 3, + 'commentId': null, + 'isRead': false, + 'comment': null, + 'type': 'scrapped', + 'otherProfile': { + 'id': 2, + 'nickname': 'jwjeong', + 'profileImg': { + 'id': 2, + 'urlPath': 'https://cdn.speconomy.com/news/photo/201705/20170514_1_bodyimg_82397.png', + }, + }, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 2)), + }, + { + 'id': 4, + 'postId': 3, + 'commentId': 3, + 'isRead': true, + 'comment': null, + 'type': 'comment_liked', + 'otherProfile': { + 'id': 4, + 'nickname': '맨날비와', + 'profileImg': { + 'id': 4, + 'urlPath': 'https://t1.daumcdn.net/cfile/tistory/99A97E4C5D25E9C226', + }, + }, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 2)), + }, + ]; + + _notifications = notifications.map((e) => Notification.Notification.fromJson(e)).toList(); + + loading = false; + } catch (e) { + print(e); + } finally { + notifyListeners(); + } + } +} diff --git a/lib/screens/notifications/notifications_app.dart b/lib/screens/notifications/notifications_app.dart index f9c0a324..3d9f9604 100644 --- a/lib/screens/notifications/notifications_app.dart +++ b/lib/screens/notifications/notifications_app.dart @@ -1,12 +1,49 @@ import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/providers/notifications/notifications.dart'; +import 'package:guam_community_client/providers/user_auth/authenticate.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:provider/provider.dart'; import 'notifications_body.dart'; import '../../commons/custom_app_bar.dart'; class NotificationsApp extends StatelessWidget { + @override + Widget build(BuildContext context) { + return MultiProvider( + providers: [ + ChangeNotifierProvider(create: (_) => Notifications( + authToken: context.read().authToken), + ), + ], + child: NotificationsAppScaffold(), + ); + } +} + + +class NotificationsAppScaffold extends StatefulWidget { + @override + State createState() => _NotificationsAppScaffoldState(); +} + +class _NotificationsAppScaffoldState extends State { @override Widget build(BuildContext context) { return Scaffold( - appBar: CustomAppBar(title: '알림'), + backgroundColor: GuamColorFamily.grayscaleWhite, + appBar: CustomAppBar( + title: '알림', + trailing: Padding( + padding: EdgeInsets.only(right: 11), + child: IconButton( + padding: EdgeInsets.zero, + constraints: BoxConstraints(), + icon: SvgPicture.asset('assets/icons/delete_outlined.svg'), + onPressed: () {}, + ), + ) + ), body: NotificationsBody(), ); } diff --git a/lib/screens/notifications/notifications_body.dart b/lib/screens/notifications/notifications_body.dart index f26afadf..ccfc3acd 100644 --- a/lib/screens/notifications/notifications_body.dart +++ b/lib/screens/notifications/notifications_body.dart @@ -1,8 +1,39 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/providers/notifications/notifications.dart'; +import 'package:guam_community_client/screens/notifications/notifications_preview.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; +import 'package:provider/provider.dart'; class NotificationsBody extends StatelessWidget { @override Widget build(BuildContext context) { - return Container(); + final notifications = context.read().notifications; + + return Container( + color: GuamColorFamily.grayscaleWhite, + padding: EdgeInsets.only(top: 18), + child: Column( + children: [ + if (notifications.isEmpty) + Center( + child: Padding( + padding: EdgeInsets.only(top: MediaQuery.of(context).size.height * 0.1), + child: Text( + '새로운 알림이 없습니다.', + style: TextStyle( + fontSize: 16, + color: GuamColorFamily.grayscaleGray4, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + ), + ), + ), + ), + if (notifications.isNotEmpty) + ...notifications.map((noti) => NotificationsPreview(noti) + ) + ] + ), + ); } } diff --git a/lib/screens/notifications/notifications_preview.dart b/lib/screens/notifications/notifications_preview.dart new file mode 100644 index 00000000..0b3f2e5c --- /dev/null +++ b/lib/screens/notifications/notifications_preview.dart @@ -0,0 +1,132 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/custom_divider.dart'; +import 'package:guam_community_client/helpers/svg_provider.dart'; +import 'package:guam_community_client/models/notification.dart' as Notification; +import 'package:guam_community_client/screens/notifications/notifications_body.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +class NotificationsPreview extends StatelessWidget { + final Notification.Notification notification; + + NotificationsPreview(this.notification); + + @override + Widget build(BuildContext context) { + return Column( + children: [ + Padding( + padding: EdgeInsets.symmetric(horizontal: 16, vertical: 6), + child: Container( + padding: EdgeInsets.only(left: 12, top: 4, bottom: 4), + child: InkWell( + onTap: () { + Navigator.of(context).push( + MaterialPageRoute(builder: (_) => NotificationsBody( + // messages, + // messageBox.otherProfile.nickname, + )) + ); + }, + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Stack( + children: [ + Container( + width: 36, + height: 36, + decoration: BoxDecoration( + shape: BoxShape.circle, + image: DecorationImage( + fit: BoxFit.cover, + image: notification.otherProfile.profileImg != null + ? NetworkImage(notification.otherProfile.profileImg.urlPath) + : SvgProvider('assets/icons/profile_image.svg') + ), + ), + ), + if (!notification.isRead) + Positioned( + top: 0, + child: CircleAvatar( + backgroundColor: GuamColorFamily.FuschiaCore, + radius: 6, + ) + ), + ], + ), + Container( + width: MediaQuery.of(context).size.width * 0.79, + padding: EdgeInsets.only(left: 12), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + notification.otherProfile.nickname + + _typeDescription(notification.type), + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 13, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: notification.isRead + ? GuamColorFamily.grayscaleGray3 + : GuamColorFamily.grayscaleGray1, + ), + ), + if (notification.comment != null) + Text( + notification.comment, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 12, + height: 1.6, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: notification.isRead + ? GuamColorFamily.grayscaleGray4 + : GuamColorFamily.grayscaleGray3, + ), + ), + Padding( + padding: EdgeInsets.only(top: 4), + child: Text( + (DateTime.now().minute - notification.createdAt.minute).toString() + "분 전", + style: TextStyle( + fontSize: 12, + height: 1.6, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray4, + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + Padding( + padding: EdgeInsets.symmetric(horizontal: 28), + child: CustomDivider(color: GuamColorFamily.grayscaleGray7), + ) + ], + ); + } + + _typeDescription(String type) { + String description; + switch (type) { + case 'commented': description = ' 님이 댓글을 남겼습니다.'; break; + case 'scrapped': description = ' 님이 나의 게시글을 저장했습니다.'; break; + case 'post_liked': description = ' 님이 나의 게시글을 좋아합니다.'; break; + case 'comment_liked': description = ' 님이 나의 댓글을 좋아합니다.'; break; + default: break; + } + return description; + } + +} diff --git a/lib/styles/colors.dart b/lib/styles/colors.dart index 62382bff..1f55502e 100644 --- a/lib/styles/colors.dart +++ b/lib/styles/colors.dart @@ -33,4 +33,6 @@ class GuamColorFamily { static HexColor orangeCore = HexColor('#F3B962'); static HexColor redCore = HexColor('#F37462'); + + static HexColor FuschiaCore = HexColor('#EF5DA8'); } From 4ee83573fbeb5e9f8f7662484946257b2be68088 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 4 Jan 2022 11:52:13 +0900 Subject: [PATCH 079/338] make notificaions deletable --- .../notifications/notifications_app.dart | 78 ++++++++++++++++++- .../notifications/notifications_preview.dart | 9 +-- 2 files changed, 78 insertions(+), 9 deletions(-) diff --git a/lib/screens/notifications/notifications_app.dart b/lib/screens/notifications/notifications_app.dart index 3d9f9604..7b7ec762 100644 --- a/lib/screens/notifications/notifications_app.dart +++ b/lib/screens/notifications/notifications_app.dart @@ -1,8 +1,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/commons/bottom_modal/bottom_modal_default.dart'; +import 'package:guam_community_client/commons/custom_divider.dart'; import 'package:guam_community_client/providers/notifications/notifications.dart'; import 'package:guam_community_client/providers/user_auth/authenticate.dart'; import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; +import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; import 'package:provider/provider.dart'; import 'notifications_body.dart'; import '../../commons/custom_app_bar.dart'; @@ -40,10 +44,76 @@ class _NotificationsAppScaffoldState extends State { padding: EdgeInsets.zero, constraints: BoxConstraints(), icon: SvgPicture.asset('assets/icons/delete_outlined.svg'), - onPressed: () {}, - ), - ) - ), + onPressed: () => showMaterialModalBottomSheet( + context: context, + useRootNavigator: true, + backgroundColor: GuamColorFamily.grayscaleWhite, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ) + ), + builder: (context) => SingleChildScrollView( + child: Container( + padding: EdgeInsets.only(left: 24, top: 24, right: 14, bottom: 21), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + '알림을 모두 삭제하시겠어요?', + style: TextStyle( + fontSize: 18, + color: GuamColorFamily.grayscaleGray2, + ), + ), + TextButton( + child: Text( + '취소', + style: TextStyle(fontSize: 16, color: GuamColorFamily.purpleCore), + ), + style: TextButton.styleFrom( + padding: EdgeInsets.zero, + minimumSize: Size(30, 26), + alignment: Alignment.centerRight, + ), + onPressed: () => Navigator.pop(context) + ), + ], + ), + CustomDivider(color: GuamColorFamily.grayscaleGray7), + Padding( + padding: EdgeInsets.symmetric(vertical: 20), + child: Text( + '알림을 삭제하면 다시 되돌릴 수 없습니다.', + style: TextStyle( + fontSize: 14, + color: GuamColorFamily.grayscaleGray2, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + ), + ), + ), + Center( + child: TextButton( + onPressed: (){}, + child: Text( + '삭제하기', + style: TextStyle(fontSize: 16, color: GuamColorFamily.redCore), + ) + ), + ), + ], + ), + ), + ) + ) + ), + ) + ), + body: NotificationsBody(), ); } diff --git a/lib/screens/notifications/notifications_preview.dart b/lib/screens/notifications/notifications_preview.dart index 0b3f2e5c..29d174d2 100644 --- a/lib/screens/notifications/notifications_preview.dart +++ b/lib/screens/notifications/notifications_preview.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/commons/custom_divider.dart'; import 'package:guam_community_client/helpers/svg_provider.dart'; import 'package:guam_community_client/models/notification.dart' as Notification; -import 'package:guam_community_client/screens/notifications/notifications_body.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; @@ -21,12 +20,12 @@ class NotificationsPreview extends StatelessWidget { padding: EdgeInsets.only(left: 12, top: 4, bottom: 4), child: InkWell( onTap: () { - Navigator.of(context).push( - MaterialPageRoute(builder: (_) => NotificationsBody( + // Navigator.of(context).push( + // MaterialPageRoute(builder: (_) => NotificationsBody( // messages, // messageBox.otherProfile.nickname, - )) - ); + // )) + // ); }, child: Row( crossAxisAlignment: CrossAxisAlignment.start, From e5d59cb01a6a31f930f1e13532bba07044ec9d57 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 4 Jan 2022 11:55:20 +0900 Subject: [PATCH 080/338] change bottomModal into CustomModal --- lib/screens/messages/message_detail.dart | 42 +++++------------------- 1 file changed, 8 insertions(+), 34 deletions(-) diff --git a/lib/screens/messages/message_detail.dart b/lib/screens/messages/message_detail.dart index 681c34e5..a06fd218 100644 --- a/lib/screens/messages/message_detail.dart +++ b/lib/screens/messages/message_detail.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:guam_community_client/commons/back.dart'; +import 'package:guam_community_client/commons/bottom_modal/bottom_modal_default.dart'; import 'package:guam_community_client/commons/common_text_field.dart'; import 'package:guam_community_client/commons/custom_app_bar.dart'; import 'package:guam_community_client/models/messages/message.dart'; @@ -60,45 +61,18 @@ class _MessageDetailState extends State { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - TextButton( + BottomModalDefault( + text: '쪽지 삭제하기', onPressed: (){}, - child: Container( - child: Text( - '쪽지 삭제하기', - style: TextStyle( - fontSize: 16, - color: GuamColorFamily.grayscaleGray1, - fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, - ), - ), - ) ), - TextButton( + BottomModalDefault( + text: '신고하기', onPressed: (){}, - child: Container( - child: Text( - '신고하기', - style: TextStyle( - fontSize: 16, - color: GuamColorFamily.grayscaleGray1, - fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, - ), - ), - ) ), - TextButton( + BottomModalDefault( + text: '차단하기', onPressed: (){}, - child: Container( - child: Text( - '차단하기', - style: TextStyle( - fontSize: 16, - color: GuamColorFamily.grayscaleGray1, - fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, - ), - ), - ) - ) + ), ], ), ), From e3defcf9a5cae81795d245327eee66dcf347900a Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 4 Jan 2022 14:19:50 +0900 Subject: [PATCH 081/338] add bottom padding in the message box --- lib/providers/messages/messages.dart | 56 ++++++++++++++++++++++++ lib/screens/messages/message_detail.dart | 11 +++-- 2 files changed, 63 insertions(+), 4 deletions(-) diff --git a/lib/providers/messages/messages.dart b/lib/providers/messages/messages.dart index 37d3dee8..1809ad26 100644 --- a/lib/providers/messages/messages.dart +++ b/lib/providers/messages/messages.dart @@ -87,6 +87,62 @@ class Messages with ChangeNotifier { 'picture': null, 'createdAt': DateTime.now().subtract(const Duration(minutes: 1)), }, + { + 'id': 3, + 'profile': profiles[7], + 'isMe': false, + 'content': '답장', + 'picture': null, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 3)), + }, + { + 'id': 3, + 'profile': profiles[7], + 'isMe': false, + 'content': '답장', + 'picture': null, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 3)), + }, + { + 'id': 3, + 'profile': profiles[7], + 'isMe': false, + 'content': '답장', + 'picture': null, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 3)), + }, + { + 'id': 3, + 'profile': profiles[7], + 'isMe': false, + 'content': '답장', + 'picture': null, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 3)), + }, + { + 'id': 3, + 'profile': profiles[7], + 'isMe': false, + 'content': '답장', + 'picture': null, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 3)), + },{ + 'id': 3, + 'profile': profiles[7], + 'isMe': false, + 'content': '답장', + 'picture': null, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 3)), + }, + { + 'id': 3, + 'profile': profiles[7], + 'isMe': false, + 'content': '답장', + 'picture': null, + 'createdAt': DateTime.now().subtract(const Duration(minutes: 3)), + }, + ]; _messages = messages.map((e) => Message.fromJson(e)).toList(); diff --git a/lib/screens/messages/message_detail.dart b/lib/screens/messages/message_detail.dart index a06fd218..66079187 100644 --- a/lib/screens/messages/message_detail.dart +++ b/lib/screens/messages/message_detail.dart @@ -82,10 +82,13 @@ class _MessageDetailState extends State { ), ), body: SingleChildScrollView( - child: Column( - children: [ - ...widget.messages.map((msg) => MessageDetailBody(msg)) - ] + child: Padding( + padding: EdgeInsets.only(bottom: 70), + child: Column( + children: [ + ...widget.messages.map((msg) => MessageDetailBody(msg)) + ] + ), ), ), bottomSheet: Container( From cfb2bd1d4e38f8a5aedbe67c41e0fc536d185229 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 4 Jan 2022 14:28:03 +0900 Subject: [PATCH 082/338] wrap notification preview with ScrollView Widget --- .../notifications/notifications_body.dart | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/lib/screens/notifications/notifications_body.dart b/lib/screens/notifications/notifications_body.dart index ccfc3acd..96d90837 100644 --- a/lib/screens/notifications/notifications_body.dart +++ b/lib/screens/notifications/notifications_body.dart @@ -13,26 +13,28 @@ class NotificationsBody extends StatelessWidget { return Container( color: GuamColorFamily.grayscaleWhite, padding: EdgeInsets.only(top: 18), - child: Column( - children: [ - if (notifications.isEmpty) - Center( - child: Padding( - padding: EdgeInsets.only(top: MediaQuery.of(context).size.height * 0.1), - child: Text( - '새로운 알림이 없습니다.', - style: TextStyle( - fontSize: 16, - color: GuamColorFamily.grayscaleGray4, - fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + child: SingleChildScrollView( + child: Column( + children: [ + if (notifications.isEmpty) + Center( + child: Padding( + padding: EdgeInsets.only(top: MediaQuery.of(context).size.height * 0.1), + child: Text( + '새로운 알림이 없습니다.', + style: TextStyle( + fontSize: 16, + color: GuamColorFamily.grayscaleGray4, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + ), ), ), ), - ), - if (notifications.isNotEmpty) - ...notifications.map((noti) => NotificationsPreview(noti) - ) - ] + if (notifications.isNotEmpty) + ...notifications.map((noti) => NotificationsPreview(noti) + ) + ] + ), ), ); } From 5a585248bfeb8b5129244c5185155446ecac74e1 Mon Sep 17 00:00:00 2001 From: YeonghyeonKo <46114393+YeonghyeonKO@users.noreply.github.com> Date: Thu, 6 Jan 2022 16:43:15 +0900 Subject: [PATCH 083/338] Update notifications_preview.dart --- lib/screens/notifications/notifications_preview.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/screens/notifications/notifications_preview.dart b/lib/screens/notifications/notifications_preview.dart index 29d174d2..cff6b8bb 100644 --- a/lib/screens/notifications/notifications_preview.dart +++ b/lib/screens/notifications/notifications_preview.dart @@ -49,7 +49,7 @@ class NotificationsPreview extends StatelessWidget { Positioned( top: 0, child: CircleAvatar( - backgroundColor: GuamColorFamily.FuschiaCore, + backgroundColor: GuamColorFamily.fuchsiaCore, radius: 6, ) ), From 38f7c1dbcc3b4f20a92089dac58a55dbe3c225c5 Mon Sep 17 00:00:00 2001 From: YeonghyeonKo <46114393+YeonghyeonKO@users.noreply.github.com> Date: Thu, 6 Jan 2022 16:47:02 +0900 Subject: [PATCH 084/338] change FuchsiaCore name to fuchsiaCore --- lib/screens/messages/message_preview.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/screens/messages/message_preview.dart b/lib/screens/messages/message_preview.dart index 6c74b60c..c56cbf91 100644 --- a/lib/screens/messages/message_preview.dart +++ b/lib/screens/messages/message_preview.dart @@ -62,7 +62,7 @@ class MessagePreview extends StatelessWidget { Positioned( top: 0, child: CircleAvatar( - backgroundColor: GuamColorFamily.FuchsiaCore, + backgroundColor: GuamColorFamily.fuchsiaCore, radius: 6, ) ), From 3afd8c40077cc8f477b39582f9393f7a83df1b0b Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Mon, 10 Jan 2022 00:14:56 +0900 Subject: [PATCH 085/338] disable entering a messageBox when editing it --- lib/screens/messages/message_box_edit.dart | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/screens/messages/message_box_edit.dart b/lib/screens/messages/message_box_edit.dart index af4ef2af..56b8bd87 100644 --- a/lib/screens/messages/message_box_edit.dart +++ b/lib/screens/messages/message_box_edit.dart @@ -43,13 +43,13 @@ class MessageBoxEdit extends StatelessWidget { color: GuamColorFamily.grayscaleWhite, padding: EdgeInsets.only(top: 18), child: Column( - children: [ - ...messageBoxes.map((messageBox) => MessagePreview( - messageBox, - messages, - editable: true, - )) - ] + children: [ + ...messageBoxes.map((messageBox) => MessagePreview( + messageBox, + messages, + editable: true, + )) + ] ), ), ); From 8b3af5220c387cb164806a83d889c0281cd3c212 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Mon, 10 Jan 2022 00:15:32 +0900 Subject: [PATCH 086/338] change padding of message/delete icon --- lib/screens/messages/message_body.dart | 2 +- lib/screens/messages/message_box.dart | 33 ++++++++++--------- lib/screens/messages/message_preview.dart | 14 ++++---- .../notifications/notifications_app.dart | 2 +- 4 files changed, 28 insertions(+), 23 deletions(-) diff --git a/lib/screens/messages/message_body.dart b/lib/screens/messages/message_body.dart index 650d0333..2454170f 100644 --- a/lib/screens/messages/message_body.dart +++ b/lib/screens/messages/message_body.dart @@ -24,7 +24,7 @@ class MessageBody extends StatelessWidget { title: '쪽지함', leading: Back(), trailing: Padding( - padding: EdgeInsets.only(right: 11), + padding: EdgeInsets.only(right: 14), child: IconButton( padding: EdgeInsets.zero, constraints: BoxConstraints(), diff --git a/lib/screens/messages/message_box.dart b/lib/screens/messages/message_box.dart index cf5833fe..fba1cffe 100644 --- a/lib/screens/messages/message_box.dart +++ b/lib/screens/messages/message_box.dart @@ -12,22 +12,25 @@ class MessageBox extends StatelessWidget { Widget build(BuildContext context) { final messagesProvider = context.read(); - return IconButton( - icon: SvgPicture.asset( - newMessage - ? 'assets/icons/message_new.svg' - : 'assets/icons/message_default.svg' - ), - onPressed: () { - Navigator.of(context, rootNavigator: true).push( - MaterialPageRoute( - builder: (_) => MessageBody( - messagesProvider.messageBoxes, - messagesProvider.messages, + return Padding( + padding: EdgeInsets.only(right: 4), + child: IconButton( + icon: SvgPicture.asset( + newMessage + ? 'assets/icons/message_new.svg' + : 'assets/icons/message_default.svg' + ), + onPressed: () { + Navigator.of(context, rootNavigator: true).push( + MaterialPageRoute( + builder: (_) => MessageBody( + messagesProvider.messageBoxes, + messagesProvider.messages, + ) ) - ) - ); - } + ); + } + ), ); } } diff --git a/lib/screens/messages/message_preview.dart b/lib/screens/messages/message_preview.dart index c56cbf91..3dad5b39 100644 --- a/lib/screens/messages/message_preview.dart +++ b/lib/screens/messages/message_preview.dart @@ -34,12 +34,14 @@ class MessagePreview extends StatelessWidget { padding: EdgeInsets.only(left: 12, top: 6, bottom: 6), child: InkWell( onTap: () { - Navigator.of(context).push( - MaterialPageRoute(builder: (_) => MessageDetail( - messages, - messageBox.otherProfile.nickname, - ) - )); + // 쪽지함 수정 페이지에서는 쪽지 클릭 후 이동 불가능 + if (!editable) + Navigator.of(context).push( + MaterialPageRoute(builder: (_) => MessageDetail( + messages, + messageBox.otherProfile.nickname, + )) + ); }, child: Row( children: [ diff --git a/lib/screens/notifications/notifications_app.dart b/lib/screens/notifications/notifications_app.dart index f0069a9d..ee836f0a 100644 --- a/lib/screens/notifications/notifications_app.dart +++ b/lib/screens/notifications/notifications_app.dart @@ -39,7 +39,7 @@ class _NotificationsAppScaffoldState extends State { appBar: CustomAppBar( title: '알림', trailing: Padding( - padding: EdgeInsets.only(right: 11), + padding: EdgeInsets.only(right: 14), child: IconButton( padding: EdgeInsets.zero, constraints: BoxConstraints(), From 450eb76da39a6e0ac0f87f30ec0b343bc1faf406 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Mon, 10 Jan 2022 00:16:00 +0900 Subject: [PATCH 087/338] enable filtering posts by selected interests --- lib/screens/boards/posts/post_list.dart | 155 +++++++++++++++++++++++- 1 file changed, 153 insertions(+), 2 deletions(-) diff --git a/lib/screens/boards/posts/post_list.dart b/lib/screens/boards/posts/post_list.dart index 23a7b052..20c40dfd 100644 --- a/lib/screens/boards/posts/post_list.dart +++ b/lib/screens/boards/posts/post_list.dart @@ -1,4 +1,8 @@ import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:guam_community_client/commons/custom_divider.dart'; +import 'package:guam_community_client/styles/fonts.dart'; +import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; import 'package:provider/provider.dart'; import 'package:guam_community_client/commons/icon_text.dart'; import 'package:guam_community_client/providers/posts/posts.dart'; @@ -7,11 +11,35 @@ import 'package:guam_community_client/screens/boards/posts/preview/post_preview. import '../../../commons/sub_headings.dart'; -class PostList extends StatelessWidget { +class PostList extends StatefulWidget { + @override + State createState() => _PostListState(); +} + +class _PostListState extends State { + List interests = ['#개발', '#데이터분석', '#디자인', '#기획/마케팅', '#기타']; + List selectedInterests = []; + + void setInterests(String interest){ + setState(() { + selectedInterests.contains(interest) + ? selectedInterests.remove(interest) + : selectedInterests.add(interest); + }); + } + + @override + void initState() { + selectedInterests = interests; + super.initState(); + } + @override Widget build(BuildContext context) { final postsProvider = context.read(); + print(selectedInterests); + return Container( decoration: BoxDecoration(color: GuamColorFamily.purpleLight3), // background color child: Column( @@ -25,9 +53,90 @@ class PostList extends StatelessWidget { IconText( text: "관심사 설정", iconPath: 'assets/icons/setting.svg', - onPressed: (){}, iconColor: GuamColorFamily.purpleLight1, textColor: GuamColorFamily.purpleLight1, + onPressed: () => showMaterialModalBottomSheet( + context: context, + useRootNavigator: true, + isDismissible: false, + backgroundColor: GuamColorFamily.grayscaleWhite, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ) + ), + builder: (context) => StatefulBuilder( + // BottomSheet은 현재 파일의 StatefulWidget에 종속하지 않으므로 + // 새롭게 context 및 state를 지정해줘야 한다. + builder: (BuildContext context, StateSetter myState) { + return SingleChildScrollView( + child: Container( + padding: EdgeInsets.only(left: 24, top: 18, right: 18, bottom: 10), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + '관심사를 설정해주세요.', + style: TextStyle( + fontSize: 18, + color: GuamColorFamily.grayscaleGray2, + ), + ), + TextButton( + child: Text( + '전체 해제', + style: TextStyle( + fontSize: 16, + color: GuamColorFamily.purpleCore, + ), + ), + style: TextButton.styleFrom( + padding: EdgeInsets.zero, + minimumSize: Size(30, 26), + alignment: Alignment.centerRight, + ), + onPressed: () => myState(() => selectedInterests = []) + ), + ], + ), + CustomDivider(color: GuamColorFamily.grayscaleGray7), + Container( + padding: EdgeInsets.only(top: 10), + child: Column( + children: [ + _interestType(context, myState, '#개발'), + _interestType(context, myState, '#데이터분석'), + _interestType(context, myState, '#디자인'), + _interestType(context, myState, '#기획/마케팅'), + _interestType(context, myState, '#기타'), + ], + ), + ), + Center( + child: TextButton( + onPressed: (){ + Navigator.of(context).pop(); + if (selectedInterests.isEmpty){ + myState(() => selectedInterests = interests); + // 전체 해제시키고 완료하면 전체 선택했을 때 결과로 보내주기 + } + }, + child: Text( + '완료', + style: TextStyle(fontSize: 16, color: GuamColorFamily.purpleCore), + ), + ), + ), + ], + ) + ) + ); + } + ) + ), ), ], ), @@ -44,4 +153,46 @@ class PostList extends StatelessWidget { ), ); } + + Widget _interestType(BuildContext context, StateSetter myState, String interest) { + return Builder( + builder: (context) => InkWell( + onTap: () { + // setInterests(interest); + myState(() { + selectedInterests.contains(interest) + ? selectedInterests.remove(interest) + : selectedInterests.add(interest); + }); + }, + child: Padding( + padding: EdgeInsets.symmetric(vertical: 10), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + height: 26, + child: Text( + interest, + style: TextStyle( + fontSize: 16, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: selectedInterests.contains(interest) + ? GuamColorFamily.purpleCore + : GuamColorFamily.grayscaleGray3, + ) + ) + ), + if (selectedInterests.contains(interest)) + IconButton( + padding: EdgeInsets.only(right: 8), + constraints: BoxConstraints(), + icon: SvgPicture.asset('assets/icons/check.svg'), + ), + ], + ), + ), + ) + ); + } } From 69b8a1218c21a0dc577bce31644ca5cebec8921c Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Mon, 10 Jan 2022 00:18:29 +0900 Subject: [PATCH 088/338] delete unnecessary screenshots --- flutter_01.png | Bin 102734 -> 0 bytes flutter_02.png | Bin 266225 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 flutter_01.png delete mode 100644 flutter_02.png diff --git a/flutter_01.png b/flutter_01.png deleted file mode 100644 index b16363110745020816f6ce6ac1067911863b17c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102734 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 z 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 I=WqJ`FYVPEMgRZ+ diff --git a/flutter_02.png b/flutter_02.png deleted file mode 100644 index baad3577d6de0c0c0e07bd82f9f6f2d018190cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266225 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 {Uv2{A;WY#x8PKTxZ_dQeR4BYoO1gFgu76W=E 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

H9u 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%0Dn@5GfkHX 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 From 095d2f02be6199865032105c8cc54be8a4c97b96 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Mon, 10 Jan 2022 00:37:18 +0900 Subject: [PATCH 089/338] fix bug --- lib/screens/boards/posts/post_list.dart | 30 ++++++++++--------------- 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/lib/screens/boards/posts/post_list.dart b/lib/screens/boards/posts/post_list.dart index 20c40dfd..64634397 100644 --- a/lib/screens/boards/posts/post_list.dart +++ b/lib/screens/boards/posts/post_list.dart @@ -17,20 +17,18 @@ class PostList extends StatefulWidget { } class _PostListState extends State { - List interests = ['#개발', '#데이터분석', '#디자인', '#기획/마케팅', '#기타']; List selectedInterests = []; void setInterests(String interest){ - setState(() { - selectedInterests.contains(interest) - ? selectedInterests.remove(interest) - : selectedInterests.add(interest); - }); + setState(() => selectedInterests.contains(interest) + ? selectedInterests.remove(interest) + : selectedInterests.add(interest) + ); } @override void initState() { - selectedInterests = interests; + selectedInterests = ['#개발', '#데이터분석', '#디자인', '#기획/마케팅', '#기타']; super.initState(); } @@ -38,8 +36,6 @@ class _PostListState extends State { Widget build(BuildContext context) { final postsProvider = context.read(); - print(selectedInterests); - return Container( decoration: BoxDecoration(color: GuamColorFamily.purpleLight3), // background color child: Column( @@ -58,6 +54,7 @@ class _PostListState extends State { onPressed: () => showMaterialModalBottomSheet( context: context, useRootNavigator: true, + // 완료 버튼의 특수 기능을 담지 못하는 isDismissible은 비활성화시킴. isDismissible: false, backgroundColor: GuamColorFamily.grayscaleWhite, shape: RoundedRectangleBorder( @@ -120,7 +117,7 @@ class _PostListState extends State { onPressed: (){ Navigator.of(context).pop(); if (selectedInterests.isEmpty){ - myState(() => selectedInterests = interests); + myState(() => selectedInterests = ['#개발', '#데이터분석', '#디자인', '#기획/마케팅', '#기타']); // 전체 해제시키고 완료하면 전체 선택했을 때 결과로 보내주기 } }, @@ -157,14 +154,11 @@ class _PostListState extends State { Widget _interestType(BuildContext context, StateSetter myState, String interest) { return Builder( builder: (context) => InkWell( - onTap: () { - // setInterests(interest); - myState(() { - selectedInterests.contains(interest) - ? selectedInterests.remove(interest) - : selectedInterests.add(interest); - }); - }, + onTap: () => + myState(() => selectedInterests.contains(interest) + ? selectedInterests.remove(interest) + : selectedInterests.add(interest) + ), child: Padding( padding: EdgeInsets.symmetric(vertical: 10), child: Row( From cda2dfd4fac66d530b110711f82da5032f40585a Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Thu, 13 Jan 2022 12:19:15 +0900 Subject: [PATCH 090/338] show splash screen before rendering main page --- android/app/src/main/AndroidManifest.xml | 2 +- assets/backgrounds/Union_01.svg | 9 ++ assets/backgrounds/Union_01@2x.png | Bin 0 -> 259386 bytes assets/backgrounds/Union_01@3x.png | Bin 0 -> 410840 bytes assets/backgrounds/Union_02.svg | 9 ++ assets/backgrounds/Union_02@2x.png | Bin 0 -> 248729 bytes assets/backgrounds/Union_02@3x.png | Bin 0 -> 528783 bytes assets/backgrounds/splash/Subtract-0.svg | 3 + assets/backgrounds/splash/Subtract-1.svg | 3 + assets/backgrounds/splash/Subtract-2.svg | 3 + assets/backgrounds/splash/Subtract-3.svg | 3 + assets/backgrounds/splash/Subtract-4.svg | 3 + assets/backgrounds/splash/Subtract-5.svg | 3 + lib/main.dart | 60 +++++++++---- lib/screens/app/splash/splash_screen.dart | 97 ++++++++++++++++++++++ lib/screens/app/splash/splash_text.dart | 31 +++++++ lib/screens/boards/posts/post_list.dart | 2 +- lib/styles/colors.dart | 1 + pubspec.yaml | 2 + 19 files changed, 212 insertions(+), 19 deletions(-) create mode 100644 assets/backgrounds/Union_01.svg create mode 100644 assets/backgrounds/Union_01@2x.png create mode 100644 assets/backgrounds/Union_01@3x.png create mode 100644 assets/backgrounds/Union_02.svg create mode 100644 assets/backgrounds/Union_02@2x.png create mode 100644 assets/backgrounds/Union_02@3x.png create mode 100644 assets/backgrounds/splash/Subtract-0.svg create mode 100644 assets/backgrounds/splash/Subtract-1.svg create mode 100644 assets/backgrounds/splash/Subtract-2.svg create mode 100644 assets/backgrounds/splash/Subtract-3.svg create mode 100644 assets/backgrounds/splash/Subtract-4.svg create mode 100644 assets/backgrounds/splash/Subtract-5.svg create mode 100644 lib/screens/app/splash/splash_screen.dart create mode 100644 lib/screens/app/splash/splash_text.dart diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index e269dc1d..102a3538 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -13,7 +13,7 @@ + to determine the Window backgrounds behind the Flutter UI. --> + + + + + + + + diff --git a/assets/backgrounds/Union_01@2x.png b/assets/backgrounds/Union_01@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..02a1e39c01db1b0a231c990275233d7aca2a776b GIT binary patch literal 259386 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

UdU@(I@Cl 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 z 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 literal 0 HcmV?d00001 diff --git a/lib/commons/icon_text.dart b/lib/commons/icon_text.dart index 39fed368..4dfbf418 100644 --- a/lib/commons/icon_text.dart +++ b/lib/commons/icon_text.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/styles/fonts.dart'; import 'package:hexcolor/hexcolor.dart'; class IconText extends StatelessWidget { @@ -26,6 +27,7 @@ class IconText extends StatelessWidget { text, style: TextStyle( fontSize: 12, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, color: textHexColor, ), ), diff --git a/lib/main.dart b/lib/main.dart index db9933c5..6ca1c723 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:guam_community_client/styles/fonts.dart'; import 'package:hexcolor/hexcolor.dart'; import 'package:provider/provider.dart'; import 'providers/user_auth/authenticate.dart'; @@ -24,7 +25,10 @@ class MyApp extends StatelessWidget { routes: { '/': (context) => Root(), }, - theme: ThemeData(primaryColor: themeColor), + theme: ThemeData( + primaryColor: themeColor, + fontFamily: GuamFontFamily.SpoqaHanSansNeoMedium, + ), ) ); } diff --git a/lib/screens/boards/posts/post_preview.dart b/lib/screens/boards/posts/post_preview.dart index 5f0b65d8..3a522879 100644 --- a/lib/screens/boards/posts/post_preview.dart +++ b/lib/screens/boards/posts/post_preview.dart @@ -3,6 +3,7 @@ import 'package:guam_community_client/models/boards/post.dart'; import 'package:guam_community_client/providers/posts/posts.dart'; import 'package:guam_community_client/screens/boards/posts/post_preview_banner.dart'; import 'package:guam_community_client/screens/boards/posts/post_preview_info.dart'; +import 'package:guam_community_client/styles/fonts.dart'; import 'package:hexcolor/hexcolor.dart'; class PostPreview extends StatelessWidget { @@ -40,7 +41,12 @@ class PostPreview extends StatelessWidget { Padding(padding: EdgeInsets.only(top: 8)), Text( post.content, - style: TextStyle(fontSize: 12, color: HexColor('A0A0A0')), + style: TextStyle( + height: 1.4, + fontSize: 12, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: HexColor('A0A0A0'), + ), maxLines: 4, overflow: TextOverflow.ellipsis, ), diff --git a/lib/screens/boards/posts/post_preview_banner.dart b/lib/screens/boards/posts/post_preview_banner.dart index d83fa9af..1922e583 100644 --- a/lib/screens/boards/posts/post_preview_banner.dart +++ b/lib/screens/boards/posts/post_preview_banner.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/models/boards/post.dart'; +import 'package:guam_community_client/styles/fonts.dart'; import 'package:hexcolor/hexcolor.dart'; class PostPreviewBanner extends StatelessWidget { @@ -44,7 +45,11 @@ class PostPreviewBanner extends StatelessWidget { Spacer(), Text( (DateTime.now().minute - post.createdAt.minute).toString() + "분 전", - style: TextStyle(fontSize: 10, color: HexColor('#A0A0A0')), + style: TextStyle( + fontSize: 10, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: HexColor('#A0A0A0'), + ), ) ], ); diff --git a/lib/screens/boards/posts/post_preview_info.dart b/lib/screens/boards/posts/post_preview_info.dart index a032acab..1df8a4a1 100644 --- a/lib/screens/boards/posts/post_preview_info.dart +++ b/lib/screens/boards/posts/post_preview_info.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/commons/icon_text.dart'; import 'package:guam_community_client/helpers/svg_provider.dart'; import 'package:guam_community_client/models/boards/post.dart'; +import 'package:guam_community_client/styles/fonts.dart'; import 'package:hexcolor/hexcolor.dart'; class PostPreviewInfo extends StatelessWidget { @@ -33,7 +34,11 @@ class PostPreviewInfo extends StatelessWidget { ), Text( post.profile.nickname, - style: TextStyle(fontSize: 12, color: HexColor('#767676')), + style: TextStyle( + fontSize: 12, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: HexColor('#767676'), + ), ), ], ), diff --git a/lib/styles/fonts.dart b/lib/styles/fonts.dart new file mode 100644 index 00000000..43e6b6ad --- /dev/null +++ b/lib/styles/fonts.dart @@ -0,0 +1,4 @@ +class GuamFontFamily { + static const SpoqaHanSansNeoMedium = "SpoqaHanSansNeoMedium"; + static const SpoqaHanSansNeoRegular = "SpoqaHanSansNeoRegular"; +} diff --git a/pubspec.yaml b/pubspec.yaml index d3ac12a0..522dbb31 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -58,17 +58,15 @@ flutter: # "family" key with the font family name, and a "fonts" key with a # list giving the asset and other descriptors for the font. For # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 + fonts: + - family: SpoqaHanSansNeoMedium + fonts: + - asset: assets/fonts/SpoqaHanSansNeo-Medium.ttf + weight: 400 + - family: SpoqaHanSansNeoRegular + fonts: + - asset: assets/fonts/SpoqaHanSansNeo-Regular.ttf + weight: 400 # # For details regarding fonts from package dependencies, # see https://flutter.dev/custom-fonts/#from-packages From 0af2087e153d3cb8e12e03a2989db02a3a755515 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 2 Nov 2021 10:01:31 +0900 Subject: [PATCH 011/338] add picture icon for posts containing pictures --- lib/main.dart | 1 - lib/screens/boards/posts/post_list.dart | 2 +- lib/screens/boards/posts/post_preview.dart | 26 +++++++++++++++++----- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 6ca1c723..56798415 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; import 'package:guam_community_client/styles/fonts.dart'; import 'package:hexcolor/hexcolor.dart'; import 'package:provider/provider.dart'; diff --git a/lib/screens/boards/posts/post_list.dart b/lib/screens/boards/posts/post_list.dart index 04e9b41b..67cb1e26 100644 --- a/lib/screens/boards/posts/post_list.dart +++ b/lib/screens/boards/posts/post_list.dart @@ -17,7 +17,7 @@ class PostList extends StatelessWidget { child: Column( children: [ Padding( - padding: EdgeInsets.only(left: 22, right: 16), + padding: EdgeInsets.only(top: 10, left: 22, right: 16), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ diff --git a/lib/screens/boards/posts/post_preview.dart b/lib/screens/boards/posts/post_preview.dart index 3a522879..9f97207c 100644 --- a/lib/screens/boards/posts/post_preview.dart +++ b/lib/screens/boards/posts/post_preview.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:guam_community_client/models/boards/post.dart'; import 'package:guam_community_client/providers/posts/posts.dart'; import 'package:guam_community_client/screens/boards/posts/post_preview_banner.dart'; @@ -32,11 +33,26 @@ class PostPreview extends StatelessWidget { thickness: 1, color: HexColor('#F2F2F2'), ), - Text( - post.title, - style: TextStyle(fontSize: 14), - maxLines: 1, - overflow: TextOverflow.ellipsis, + Row( + children: [ + if (post.pictures.length > 0) + IconButton( + padding: EdgeInsets.zero, + constraints: BoxConstraints(), + icon: SvgPicture.asset( + 'assets/icons/picture.svg', + color: HexColor('#C5C5C5'), + width: 20, + height: 20, + ), + ), + Text( + post.title, + style: TextStyle(fontSize: 14), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ], ), Padding(padding: EdgeInsets.only(top: 8)), Text( From e9a32307501cc8b4bd1e07d337f7b25c9863aa0a Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 2 Nov 2021 11:27:40 +0900 Subject: [PATCH 012/338] change bottomNavigationBar icons --- lib/main.dart | 3 +- lib/providers/home/home_provider.dart | 38 +++++++++++++++++-- lib/screens/boards/boards_app.dart | 8 ++-- lib/screens/boards/posts/post_button.dart | 5 ++- lib/screens/boards/posts/post_list.dart | 7 ++-- lib/screens/boards/posts/post_preview.dart | 9 +++-- .../boards/posts/post_preview_banner.dart | 3 +- .../boards/posts/post_preview_info.dart | 19 +++++----- lib/screens/home/home.dart | 4 +- lib/styles/colors.dart | 27 +++++++++++++ 10 files changed, 94 insertions(+), 29 deletions(-) create mode 100644 lib/styles/colors.dart diff --git a/lib/main.dart b/lib/main.dart index 56798415..b2158b68 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; import 'package:hexcolor/hexcolor.dart'; import 'package:provider/provider.dart'; @@ -10,7 +11,7 @@ void main() { } class MyApp extends StatelessWidget { - static HexColor themeColor = HexColor('#6951FF'); + static HexColor themeColor = GuamColorFamily.purpleCore; @override Widget build(BuildContext context) { diff --git a/lib/providers/home/home_provider.dart b/lib/providers/home/home_provider.dart index b8db5f7f..dfe44be2 100644 --- a/lib/providers/home/home_provider.dart +++ b/lib/providers/home/home_provider.dart @@ -1,4 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/styles/colors.dart'; import '../../screens/boards/boards_app.dart'; import '../../screens/search/search_app.dart'; import '../../screens/notifications/notifications_app.dart'; @@ -17,19 +19,47 @@ class HomeProvider with ChangeNotifier { final List> bottomNavItems = [ { 'label': '홈', - 'icon': Icons.house_sharp, + 'selected_icon': SvgPicture.asset( + 'assets/icons/home_filled.svg', + color: GuamColorFamily.purpleCore, + ), + 'unselected_icon': SvgPicture.asset( + 'assets/icons/home_outlined.svg', + color: GuamColorFamily.grayscaleGray4, + ), }, { 'label': '검색', - 'icon': Icons.search, + 'selected_icon': SvgPicture.asset( + 'assets/icons/search.svg', + color: GuamColorFamily.purpleCore, + ), + 'unselected_icon': SvgPicture.asset( + 'assets/icons/search.svg', + color: GuamColorFamily.grayscaleGray4, + ), }, { 'label': '알림', - 'icon': Icons.notifications, + 'selected_icon': SvgPicture.asset( + 'assets/icons/notification_filled_default.svg', + color: GuamColorFamily.purpleCore, + ), + 'unselected_icon': SvgPicture.asset( + 'assets/icons/notification_outlined_default.svg', + color: GuamColorFamily.grayscaleGray4, + ), }, { 'label': '프로필', - 'icon': Icons.person, + 'selected_icon': SvgPicture.asset( + 'assets/icons/profile_filled.svg', + color: GuamColorFamily.purpleCore, + ), + 'unselected_icon': SvgPicture.asset( + 'assets/icons/profile_outlined.svg', + color: GuamColorFamily.grayscaleGray4, + ), }, ]; diff --git a/lib/screens/boards/boards_app.dart b/lib/screens/boards/boards_app.dart index 2399eacf..ff360509 100644 --- a/lib/screens/boards/boards_app.dart +++ b/lib/screens/boards/boards_app.dart @@ -3,7 +3,7 @@ import 'package:guam_community_client/providers/posts/posts.dart'; import 'package:guam_community_client/providers/user_auth/authenticate.dart'; import 'package:guam_community_client/screens/boards/posts/post_button.dart'; import 'package:guam_community_client/screens/messages/message.dart'; -import 'package:hexcolor/hexcolor.dart'; +import 'package:guam_community_client/styles/colors.dart'; import 'package:provider/provider.dart'; import '../../commons/custom_app_bar.dart'; import 'boards_feed.dart'; @@ -39,9 +39,9 @@ class _BoardsAppScaffoldState extends State { bottom: TabBar( isScrollable: true, physics: BouncingScrollPhysics(), - labelColor: HexColor('#1D1D1D'), - unselectedLabelColor: HexColor('#A0A0A0'), - indicatorColor: HexColor('#1D1D1D'), + labelColor: GuamColorFamily.grayscaleGray1, + unselectedLabelColor: GuamColorFamily.grayscaleGray4, + indicatorColor: GuamColorFamily.grayscaleGray1, indicatorWeight: 2, tabs: [ Tab(child: Text('피드')), diff --git a/lib/screens/boards/posts/post_button.dart b/lib/screens/boards/posts/post_button.dart index d7739118..c9d4b921 100644 --- a/lib/screens/boards/posts/post_button.dart +++ b/lib/screens/boards/posts/post_button.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/styles/colors.dart'; import 'package:hexcolor/hexcolor.dart'; class PostButton extends StatelessWidget { @@ -11,11 +12,11 @@ class PostButton extends StatelessWidget { child: FittedBox( child: FloatingActionButton( onPressed: () {}, - backgroundColor: HexColor('#6951FF'), + backgroundColor: GuamColorFamily.purpleCore, child: IconButton( icon: SvgPicture.asset( 'assets/icons/write.svg', - color: Colors.white, + color: GuamColorFamily.grayscaleWhite, width: 30, height: 30, ), diff --git a/lib/screens/boards/posts/post_list.dart b/lib/screens/boards/posts/post_list.dart index 67cb1e26..8b0453cd 100644 --- a/lib/screens/boards/posts/post_list.dart +++ b/lib/screens/boards/posts/post_list.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/commons/icon_text.dart'; +import 'package:guam_community_client/styles/colors.dart'; import 'package:hexcolor/hexcolor.dart'; import 'package:provider/provider.dart'; import 'package:guam_community_client/providers/posts/posts.dart'; @@ -13,7 +14,7 @@ class PostList extends StatelessWidget { final postsProvider = context.read(); return Container( - decoration: BoxDecoration(color: HexColor('#F9F8FF')), // background color + decoration: BoxDecoration(color: GuamColorFamily.purpleLight3), // background color child: Column( children: [ Padding( @@ -26,8 +27,8 @@ class PostList extends StatelessWidget { text: "관심사 설정", iconPath: 'assets/icons/setting.svg', onPressed: (){}, - iconHexColor: HexColor('#9F8FFF'), - textHexColor: HexColor('#9F8FFF'), + iconHexColor: GuamColorFamily.purpleLight1, + textHexColor: GuamColorFamily.purpleLight1, ), ], ), diff --git a/lib/screens/boards/posts/post_preview.dart b/lib/screens/boards/posts/post_preview.dart index 9f97207c..aee9ea7c 100644 --- a/lib/screens/boards/posts/post_preview.dart +++ b/lib/screens/boards/posts/post_preview.dart @@ -4,6 +4,7 @@ import 'package:guam_community_client/models/boards/post.dart'; import 'package:guam_community_client/providers/posts/posts.dart'; import 'package:guam_community_client/screens/boards/posts/post_preview_banner.dart'; import 'package:guam_community_client/screens/boards/posts/post_preview_info.dart'; +import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; import 'package:hexcolor/hexcolor.dart'; @@ -20,7 +21,7 @@ class PostPreview extends StatelessWidget { child: Container( padding: EdgeInsets.only(left: 24, right: 24, top: 12), decoration: BoxDecoration( - color: HexColor('#FFFFFF'), + color: GuamColorFamily.grayscaleWhite, borderRadius: BorderRadius.circular(24) ), child: InkWell( @@ -31,7 +32,7 @@ class PostPreview extends StatelessWidget { PostPreviewBanner(post), Divider( thickness: 1, - color: HexColor('#F2F2F2'), + color: GuamColorFamily.grayscaleGray7, ), Row( children: [ @@ -41,7 +42,7 @@ class PostPreview extends StatelessWidget { constraints: BoxConstraints(), icon: SvgPicture.asset( 'assets/icons/picture.svg', - color: HexColor('#C5C5C5'), + color: GuamColorFamily.grayscaleGray5, width: 20, height: 20, ), @@ -61,7 +62,7 @@ class PostPreview extends StatelessWidget { height: 1.4, fontSize: 12, fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, - color: HexColor('A0A0A0'), + color: GuamColorFamily.grayscaleGray4, ), maxLines: 4, overflow: TextOverflow.ellipsis, diff --git a/lib/screens/boards/posts/post_preview_banner.dart b/lib/screens/boards/posts/post_preview_banner.dart index 1922e583..66f31ddf 100644 --- a/lib/screens/boards/posts/post_preview_banner.dart +++ b/lib/screens/boards/posts/post_preview_banner.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/models/boards/post.dart'; +import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; import 'package:hexcolor/hexcolor.dart'; @@ -48,7 +49,7 @@ class PostPreviewBanner extends StatelessWidget { style: TextStyle( fontSize: 10, fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, - color: HexColor('#A0A0A0'), + color: GuamColorFamily.grayscaleGray4, ), ) ], diff --git a/lib/screens/boards/posts/post_preview_info.dart b/lib/screens/boards/posts/post_preview_info.dart index 1df8a4a1..ef5bf8c5 100644 --- a/lib/screens/boards/posts/post_preview_info.dart +++ b/lib/screens/boards/posts/post_preview_info.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/commons/icon_text.dart'; import 'package:guam_community_client/helpers/svg_provider.dart'; import 'package:guam_community_client/models/boards/post.dart'; +import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; import 'package:hexcolor/hexcolor.dart'; @@ -37,7 +38,7 @@ class PostPreviewInfo extends StatelessWidget { style: TextStyle( fontSize: 12, fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, - color: HexColor('#767676'), + color: GuamColorFamily.grayscaleGray3, ), ), ], @@ -52,15 +53,15 @@ class PostPreviewInfo extends StatelessWidget { : 'assets/icons/like_outlined.svg', onPressed: (){}, iconHexColor: post.isLiked - ? HexColor('#F37462') - : HexColor('#C5C5C5'), - textHexColor: HexColor('#C5C5C5'), + ? GuamColorFamily.redCore + : GuamColorFamily.grayscaleGray5, + textHexColor: GuamColorFamily.grayscaleGray5, ), IconText( text: post.commentCnt.toString(), iconPath: 'assets/icons/comment.svg', - iconHexColor: HexColor('#C5C5C5'), - textHexColor: HexColor('#C5C5C5'), + iconHexColor: GuamColorFamily.grayscaleGray5, + textHexColor: GuamColorFamily.grayscaleGray5, ), IconText( text: post.scrap.toString(), @@ -69,9 +70,9 @@ class PostPreviewInfo extends StatelessWidget { : 'assets/icons/scrap_outlined.svg', onPressed: (){}, iconHexColor: post.isScrapped - ? HexColor('##6951FF') - : HexColor('#C5C5C5'), - textHexColor: HexColor('#C5C5C5'), + ? GuamColorFamily.purpleCore + : GuamColorFamily.grayscaleGray5, + textHexColor: GuamColorFamily.grayscaleGray5, ), ], ), diff --git a/lib/screens/home/home.dart b/lib/screens/home/home.dart index f6dc5a8b..c80bd49b 100644 --- a/lib/screens/home/home.dart +++ b/lib/screens/home/home.dart @@ -18,7 +18,9 @@ class Home extends StatelessWidget { items: homeProvider.bottomNavItems.map((e) => BottomNavigationBarItem( label: e['label'], - icon: Icon(e['icon']), + icon: homeProvider.idx == homeProvider.bottomNavItems.indexOf(e) + ? e['selected_icon'] + : e['unselected_icon'], ) ).toList(), ), diff --git a/lib/styles/colors.dart b/lib/styles/colors.dart new file mode 100644 index 00000000..a422d4d5 --- /dev/null +++ b/lib/styles/colors.dart @@ -0,0 +1,27 @@ +import 'package:hexcolor/hexcolor.dart'; + +class GuamColorFamily { + static HexColor grayscaleGray1 = HexColor('#1D1D1D'); + static HexColor grayscaleGray2 = HexColor('#4E4E4E'); + static HexColor grayscaleGray3 = HexColor('#767676'); + static HexColor grayscaleGray4 = HexColor('#A0A0A0'); + static HexColor grayscaleGray5 = HexColor('#C5C5C5'); + static HexColor grayscaleGray6 = HexColor('#E1E1E1'); + static HexColor grayscaleGray7 = HexColor('#F2F2F2'); + static HexColor grayscaleWhite = HexColor('#FFFFFF'); + + static HexColor purpleCore = HexColor('#6951FF'); + static HexColor purpleLight1 = HexColor('#9F8FFF'); + static HexColor purpleLight2 = HexColor('#E5E1FF'); + static HexColor purpleLight3 = HexColor('#F9F8FF'); + + static HexColor blueCore = HexColor('#5483F1'); + + static HexColor pinkCore = HexColor('#E874F2'); + + static HexColor greenCore = HexColor('#75D973'); + + static HexColor orangeCore = HexColor('#F3B962'); + + static HexColor redCore = HexColor('#F37462'); +} From 2381697337d9ddc3d4a8fec588a1eab5681d9f37 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 2 Nov 2021 13:18:46 +0900 Subject: [PATCH 013/338] delete unnecessary imported libraries --- lib/screens/boards/posts/post_button.dart | 1 - lib/screens/boards/posts/post_list.dart | 1 - lib/screens/boards/posts/post_preview.dart | 1 - lib/screens/boards/posts/post_preview_banner.dart | 14 +++++++------- lib/screens/boards/posts/post_preview_info.dart | 1 - 5 files changed, 7 insertions(+), 11 deletions(-) diff --git a/lib/screens/boards/posts/post_button.dart b/lib/screens/boards/posts/post_button.dart index c9d4b921..f1dcdb4d 100644 --- a/lib/screens/boards/posts/post_button.dart +++ b/lib/screens/boards/posts/post_button.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:guam_community_client/styles/colors.dart'; -import 'package:hexcolor/hexcolor.dart'; class PostButton extends StatelessWidget { @override diff --git a/lib/screens/boards/posts/post_list.dart b/lib/screens/boards/posts/post_list.dart index 8b0453cd..5ff4df77 100644 --- a/lib/screens/boards/posts/post_list.dart +++ b/lib/screens/boards/posts/post_list.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/commons/icon_text.dart'; import 'package:guam_community_client/styles/colors.dart'; -import 'package:hexcolor/hexcolor.dart'; import 'package:provider/provider.dart'; import 'package:guam_community_client/providers/posts/posts.dart'; import 'package:guam_community_client/screens/boards/posts/post_preview.dart'; diff --git a/lib/screens/boards/posts/post_preview.dart b/lib/screens/boards/posts/post_preview.dart index aee9ea7c..827c417c 100644 --- a/lib/screens/boards/posts/post_preview.dart +++ b/lib/screens/boards/posts/post_preview.dart @@ -6,7 +6,6 @@ import 'package:guam_community_client/screens/boards/posts/post_preview_banner.d import 'package:guam_community_client/screens/boards/posts/post_preview_info.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; -import 'package:hexcolor/hexcolor.dart'; class PostPreview extends StatelessWidget { final Post post; diff --git a/lib/screens/boards/posts/post_preview_banner.dart b/lib/screens/boards/posts/post_preview_banner.dart index 66f31ddf..60bc6723 100644 --- a/lib/screens/boards/posts/post_preview_banner.dart +++ b/lib/screens/boards/posts/post_preview_banner.dart @@ -10,14 +10,14 @@ class PostPreviewBanner extends StatelessWidget { PostPreviewBanner(this.post); colorOfInterest(String interest) { - String textColor; + HexColor textColor; switch (interest) { - case '개발': textColor = '#6951FF'; break; - case '데이터분석': textColor = '#75D973'; break; - case '디자인': textColor = '#E874F2'; break; - case '기획/마케팅': textColor = '#5483F1'; break; - default: textColor = '#F3B962'; break; + case '개발': textColor = GuamColorFamily.purpleCore; break; + case '데이터분석': textColor = GuamColorFamily.greenCore; break; + case '디자인': textColor = GuamColorFamily.pinkCore; break; + case '기획/마케팅': textColor = GuamColorFamily.blueCore; break; + default: textColor = GuamColorFamily.orangeCore; break; } return textColor; } @@ -34,7 +34,7 @@ class PostPreviewBanner extends StatelessWidget { "#" + post.interest, style: TextStyle( fontSize: 12, - color: HexColor(colorOfInterest(post.interest)), + color: colorOfInterest(post.interest), ), ), style: TextButton.styleFrom( diff --git a/lib/screens/boards/posts/post_preview_info.dart b/lib/screens/boards/posts/post_preview_info.dart index ef5bf8c5..04c75412 100644 --- a/lib/screens/boards/posts/post_preview_info.dart +++ b/lib/screens/boards/posts/post_preview_info.dart @@ -4,7 +4,6 @@ import 'package:guam_community_client/helpers/svg_provider.dart'; import 'package:guam_community_client/models/boards/post.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; -import 'package:hexcolor/hexcolor.dart'; class PostPreviewInfo extends StatelessWidget { final Post post; From ee592f84f7dedd9a1bb79ccd3b8f78048441fe9b Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sat, 6 Nov 2021 23:36:50 +0900 Subject: [PATCH 014/338] finish post detail view --- lib/commons/back.dart | 18 +++ lib/commons/closable_image_expanded.dart | 28 +++++ lib/commons/color_of_interest.dart | 15 +++ lib/commons/custom_app_bar.dart | 4 +- lib/commons/icon_text.dart | 50 ++++---- lib/commons/image_container.dart | 44 +++++++ lib/commons/image_expanded.dart | 26 +++++ .../boards/posts/detail/post_detail.dart | 86 ++++++++++++++ .../posts/detail/post_detail_banner.dart | 109 ++++++++++++++++++ .../boards/posts/detail/post_detail_body.dart | 53 +++++++++ lib/screens/boards/posts/post_image.dart | 49 ++++++++ lib/screens/boards/posts/post_info.dart | 94 +++++++++++++++ lib/screens/boards/posts/post_list.dart | 19 +-- .../boards/posts/post_preview_info.dart | 81 ------------- .../posts/{ => preview}/post_preview.dart | 72 +++++++----- .../{ => preview}/post_preview_banner.dart | 15 +-- 16 files changed, 605 insertions(+), 158 deletions(-) create mode 100644 lib/commons/back.dart create mode 100644 lib/commons/closable_image_expanded.dart create mode 100644 lib/commons/color_of_interest.dart create mode 100644 lib/commons/image_container.dart create mode 100644 lib/commons/image_expanded.dart create mode 100644 lib/screens/boards/posts/detail/post_detail.dart create mode 100644 lib/screens/boards/posts/detail/post_detail_banner.dart create mode 100644 lib/screens/boards/posts/detail/post_detail_body.dart create mode 100644 lib/screens/boards/posts/post_image.dart create mode 100644 lib/screens/boards/posts/post_info.dart delete mode 100644 lib/screens/boards/posts/post_preview_info.dart rename lib/screens/boards/posts/{ => preview}/post_preview.dart (50%) rename lib/screens/boards/posts/{ => preview}/post_preview_banner.dart (70%) diff --git a/lib/commons/back.dart b/lib/commons/back.dart new file mode 100644 index 00000000..29c6b5fb --- /dev/null +++ b/lib/commons/back.dart @@ -0,0 +1,18 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/styles/colors.dart'; + +class Back extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Card( + elevation: 0, + color: GuamColorFamily.grayscaleWhite, + margin: EdgeInsets.zero, + child: IconButton( + icon: SvgPicture.asset('assets/icons/back.svg'), + onPressed: () => Navigator.maybePop(context) + ), + ); + } +} diff --git a/lib/commons/closable_image_expanded.dart b/lib/commons/closable_image_expanded.dart new file mode 100644 index 00000000..122d79d9 --- /dev/null +++ b/lib/commons/closable_image_expanded.dart @@ -0,0 +1,28 @@ +import 'package:flutter/material.dart'; +import 'custom_app_bar.dart'; +import 'image_expanded.dart'; + +class ClosableImageExpanded extends StatelessWidget { + final Widget image; + final String imagePath; + + ClosableImageExpanded({this.image, this.imagePath}); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + trailing: IconButton( + icon: Icon(Icons.close), + color: Colors.grey, + onPressed: () => Navigator.of(context).pop(), + ), + backgroundColor: Colors.black, + ), + body: ImageExpanded( + image: image ?? null, + imagePath: imagePath ?? null, + ), + ); + } +} diff --git a/lib/commons/color_of_interest.dart b/lib/commons/color_of_interest.dart new file mode 100644 index 00000000..dd9628cf --- /dev/null +++ b/lib/commons/color_of_interest.dart @@ -0,0 +1,15 @@ +import 'package:guam_community_client/styles/colors.dart'; +import 'package:hexcolor/hexcolor.dart'; + +colorOfInterest(String interest) { + HexColor textColor; + + switch (interest) { + case '개발': textColor = GuamColorFamily.purpleCore; break; + case '데이터분석': textColor = GuamColorFamily.greenCore; break; + case '디자인': textColor = GuamColorFamily.pinkCore; break; + case '기획/마케팅': textColor = GuamColorFamily.blueCore; break; + default: textColor = GuamColorFamily.orangeCore; break; + } + return textColor; +} diff --git a/lib/commons/custom_app_bar.dart b/lib/commons/custom_app_bar.dart index 854662d2..517d8169 100644 --- a/lib/commons/custom_app_bar.dart +++ b/lib/commons/custom_app_bar.dart @@ -28,7 +28,7 @@ class CustomAppBar extends StatelessWidget with PreferredSizeWidget { style: TextStyle(color: textColor), ), ), - leading: trailing != null + leading: leading != null ? Material(color: Colors.transparent, child: leading) : null, bottom: bottom, @@ -50,7 +50,7 @@ class CustomAppBar extends StatelessWidget with PreferredSizeWidget { ), ), ), - leading: trailing != null + leading: leading != null ? Material(color: Colors.transparent, child: leading) : null, bottom: bottom, diff --git a/lib/commons/icon_text.dart b/lib/commons/icon_text.dart index 4dfbf418..3ce1a4c8 100644 --- a/lib/commons/icon_text.dart +++ b/lib/commons/icon_text.dart @@ -4,40 +4,40 @@ import 'package:guam_community_client/styles/fonts.dart'; import 'package:hexcolor/hexcolor.dart'; class IconText extends StatelessWidget { - final double size; + final double iconSize; + final double fontSize; final String text; final String iconPath; final Function onPressed; - final HexColor iconHexColor; - final HexColor textHexColor; + final HexColor iconColor; + final HexColor textColor; - IconText({this.size=20, this.text, this.iconPath, this.onPressed, this.iconHexColor, this.textHexColor}); + IconText({this.iconSize=20, this.fontSize=12, this.text="", this.iconPath, this.onPressed, this.iconColor, this.textColor}); @override Widget build(BuildContext context) { - return Container( - child: TextButton.icon( - onPressed: onPressed, - style: TextButton.styleFrom( - padding: EdgeInsets.zero, - minimumSize: Size(50, 30), - alignment: Alignment.centerLeft, - ), - label: Text( - text, - style: TextStyle( - fontSize: 12, - fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, - color: textHexColor, - ), - ), - icon: SvgPicture.asset( - iconPath, - color: iconHexColor, - width: size, - height: size, + return TextButton.icon( + onPressed: onPressed, + style: TextButton.styleFrom( + padding: EdgeInsets.only(right: 10), + minimumSize: Size.zero, + alignment: Alignment.centerLeft, + tapTargetSize: MaterialTapTargetSize.shrinkWrap, + ), + label: Text( + text, + style: TextStyle( + color: textColor, + fontSize: fontSize, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, ), ), + icon: SvgPicture.asset( + iconPath, + color: iconColor, + width: iconSize, + height: iconSize, + ), ); } } diff --git a/lib/commons/image_container.dart b/lib/commons/image_container.dart new file mode 100644 index 00000000..6c25dfa4 --- /dev/null +++ b/lib/commons/image_container.dart @@ -0,0 +1,44 @@ +import 'package:flutter/material.dart'; +import 'package:transparent_image/transparent_image.dart'; +import 'closable_image_expanded.dart'; + +class ImageThumbnail extends StatelessWidget { + /* + * image: for uploaded native image file via ImagePicker, etc., + * imagePath: for network image path (S3) + * IMPORTANT: only 1 of above should be passed to parameter + * */ + final Widget image; + final String imagePath; + final double height; + final double width; + + ImageThumbnail({this.image, this.imagePath, this.height, this.width}); + + @override + Widget build(BuildContext context) { + return GestureDetector( + child: Container( + height: height, + width: width, + child: ClipRRect( + borderRadius: BorderRadius.circular(8), + child: image ?? FadeInImage( + placeholder: MemoryImage(kTransparentImage), + image: NetworkImage(imagePath), + fit: BoxFit.cover, + ), + ), + ), + onTap: () => Navigator.push( + context, + MaterialPageRoute( + builder: (_) => ClosableImageExpanded( + image: image ?? null, + imagePath: imagePath ?? null + ) + ) + ) + ); + } +} diff --git a/lib/commons/image_expanded.dart b/lib/commons/image_expanded.dart new file mode 100644 index 00000000..be9b6201 --- /dev/null +++ b/lib/commons/image_expanded.dart @@ -0,0 +1,26 @@ +import 'package:flutter/material.dart'; +import 'package:transparent_image/transparent_image.dart'; +import '../helpers/http_request.dart'; + +class ImageExpanded extends StatelessWidget{ + final Widget image; + final String imagePath; + + ImageExpanded({this.image, this.imagePath}); + + @override + Widget build(BuildContext context) { + return Container( + color: Colors.black, + width: double.infinity, + height: double.infinity, + child: InteractiveViewer( + child: image ?? FadeInImage( + placeholder: MemoryImage(kTransparentImage), + image: NetworkImage(HttpRequest().s3BaseAuthority + imagePath), + fit: BoxFit.fitWidth, + ) + ), + ); + } +} diff --git a/lib/screens/boards/posts/detail/post_detail.dart b/lib/screens/boards/posts/detail/post_detail.dart new file mode 100644 index 00000000..3beabb10 --- /dev/null +++ b/lib/screens/boards/posts/detail/post_detail.dart @@ -0,0 +1,86 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/commons/back.dart'; +import 'package:guam_community_client/commons/custom_app_bar.dart'; +import 'package:guam_community_client/models/boards/post.dart'; +import 'package:guam_community_client/screens/boards/comments/comment_banner.dart'; +import 'package:guam_community_client/screens/boards/comments/comment_body.dart'; +import 'package:guam_community_client/screens/boards/comments/comments.dart'; +import 'package:guam_community_client/screens/boards/posts/detail/post_detail_banner.dart'; +import 'package:guam_community_client/screens/boards/posts/detail/post_detail_body.dart'; +import 'package:guam_community_client/screens/boards/posts/post_info.dart'; +import 'package:guam_community_client/styles/colors.dart'; + +class PostDetail extends StatelessWidget { + final int maxRenderImgCnt = 4; + final Post post; + + PostDetail(this.post); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + leading: Back(), + trailing: Padding( + padding: EdgeInsets.only(right: 11), + child: Row( + children: [ + IconButton( + padding: EdgeInsets.symmetric(vertical: 10, horizontal: 10), + constraints: BoxConstraints(), + icon: SvgPicture.asset('assets/icons/scrap_outlined.svg'), + onPressed: () {}, + ), + IconButton( + padding: EdgeInsets.zero, + constraints: BoxConstraints(), + icon: SvgPicture.asset('assets/icons/more.svg'), + onPressed: () {}, + ), + ], + ), + ), + ), + body: SingleChildScrollView( + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 24), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + PostDetailBanner(post), + Padding( + padding: EdgeInsets.only(top: 8, bottom: 20), + child: Divider( + height: 1, + thickness: 1, + color: GuamColorFamily.grayscaleGray7, + ), + ), + PostDetailBody(post), + Padding( + padding: EdgeInsets.only(top: 14, bottom: 8), + child: PostInfo( + post: post, + iconSize: 24, + showProfile: false, + iconColor: GuamColorFamily.grayscaleGray4, + ), + ), + Divider( + height: 1, + thickness: 1, + color: GuamColorFamily.grayscaleGray7, + ), + Column( + children: [ + ...post.comments.map((comment) => Comments(comment: comment)) + ] + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/screens/boards/posts/detail/post_detail_banner.dart b/lib/screens/boards/posts/detail/post_detail_banner.dart new file mode 100644 index 00000000..0615d79a --- /dev/null +++ b/lib/screens/boards/posts/detail/post_detail_banner.dart @@ -0,0 +1,109 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/color_of_interest.dart'; +import 'package:guam_community_client/helpers/svg_provider.dart'; +import 'package:guam_community_client/models/boards/post.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; +import 'package:intl/intl.dart'; + +class PostDetailBanner extends StatelessWidget { + final Post post; + + PostDetailBanner(this.post); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + TextButton( + onPressed: () {}, + child: Text( + "#" + post.interest, + style: TextStyle( + fontSize: 16, + color: colorOfInterest(post.interest), + ), + ), + style: TextButton.styleFrom( + minimumSize: Size.zero, + padding: EdgeInsets.only(top: 24), + alignment: Alignment.centerLeft, + ), + ), + Padding( + padding: EdgeInsets.only(left: 8), + child: TextButton( + onPressed: () {}, + child: Text( + post.boardType, + style: TextStyle( + fontSize: 12, + color: colorOfInterest(post.interest), + ), + ), + style: TextButton.styleFrom( + minimumSize: Size.zero, + padding: EdgeInsets.only(top: 24), + alignment: Alignment.centerLeft, + ), + ), + ), + ], + ), + Container( + padding: EdgeInsets.only( top: 8), + child: Text( + post.title, + style: TextStyle(fontSize: 18), + ) + ), + Row( + children: [ + Padding( + padding: EdgeInsets.only(top: 8, right: 8), + child: Container( + height: 24, + width: 24, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + fit: BoxFit.cover, + image: post.profile.profileImageUrl != null + ? NetworkImage(post.profile.profileImageUrl) + : SvgProvider('assets/icons/profile_image.svg'), + ), + ), + ), + ), + Padding( + padding: EdgeInsets.only(top: 8), + child: Text( + post.profile.nickname, + style: TextStyle( + fontSize: 12, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray3, + ), + ), + ), + Spacer(), + Padding( + padding: EdgeInsets.only(top: 8), + child: Text( + DateFormat('yyyy.MM.dd HH:mm').format(post.createdAt), + style: TextStyle( + fontSize: 12, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray5, + ), + ), + ), + ], + ), + ] + ); + } +} diff --git a/lib/screens/boards/posts/detail/post_detail_body.dart b/lib/screens/boards/posts/detail/post_detail_body.dart new file mode 100644 index 00000000..9ccce779 --- /dev/null +++ b/lib/screens/boards/posts/detail/post_detail_body.dart @@ -0,0 +1,53 @@ +import 'dart:math'; + +import 'package:flutter/material.dart'; +import 'package:guam_community_client/models/boards/post.dart'; +import 'package:guam_community_client/screens/boards/posts/post_image.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +class PostDetailBody extends StatelessWidget { + final int maxRenderImgCnt = 4; + final Post post; + + PostDetailBody(this.post); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + padding: EdgeInsets.only(bottom: 64), + child: Text( + post.content, + style: TextStyle( + height: 1.6, + color: GuamColorFamily.grayscaleGray2, + fontSize: 14, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular + ), + ) + ), + if (post.pictures.isNotEmpty) + GridView.builder( + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: min(post.pictures.length, maxRenderImgCnt), + crossAxisSpacing: 10, + childAspectRatio: 1, + ), + shrinkWrap: true, + itemCount: min(post.pictures.length, maxRenderImgCnt), + itemBuilder: (_, idx) => InkWell( + child: PostImage( + picture: post.pictures[idx], + blur: post.pictures.length > maxRenderImgCnt && idx == maxRenderImgCnt - 1, + hiddenImgCnt: post.pictures.length - maxRenderImgCnt, + ), + onTap: () {}, + ), + ), + ], + ); + } +} diff --git a/lib/screens/boards/posts/post_image.dart b/lib/screens/boards/posts/post_image.dart new file mode 100644 index 00000000..a69ae357 --- /dev/null +++ b/lib/screens/boards/posts/post_image.dart @@ -0,0 +1,49 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/image_container.dart'; +import 'package:guam_community_client/models/picture.dart'; +import 'package:guam_community_client/styles/colors.dart'; + +class PostImage extends StatelessWidget { + final Picture picture; + final bool blur; + final int hiddenImgCnt; + + PostImage({this.picture, this.blur, this.hiddenImgCnt}); + + @override + Widget build(BuildContext context) { + return Stack( + children: [ + Container( + height: double.infinity, + width: double.infinity, + child: IgnorePointer( + ignoring: true, + child: ImageThumbnail( + imagePath: picture.urlPath, + height: 100, + width: 100, + ), + ), + ), + if (blur) + Container( + decoration: BoxDecoration( + color: Color.fromRGBO(120, 120, 120, 0.5), + borderRadius: BorderRadius.circular(8), + ), + ), + if (blur) + Center( + child: Text( + "+ $hiddenImgCnt", + style: TextStyle( + fontSize: 12, + color: GuamColorFamily.grayscaleWhite, + ), + ), + ) + ], + ); + } +} diff --git a/lib/screens/boards/posts/post_info.dart b/lib/screens/boards/posts/post_info.dart new file mode 100644 index 00000000..957ac002 --- /dev/null +++ b/lib/screens/boards/posts/post_info.dart @@ -0,0 +1,94 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/icon_text.dart'; +import 'package:guam_community_client/helpers/svg_provider.dart'; +import 'package:guam_community_client/models/boards/post.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; +import 'package:hexcolor/hexcolor.dart'; + +class PostInfo extends StatelessWidget { + final Post post; + final double iconSize; + final bool showProfile; + final HexColor iconColor; + + PostInfo({ + this.post, + this.iconSize = 20, + this.showProfile = true, + this.iconColor, + }); + + @override + Widget build(BuildContext context) { + return Row( + children: [ + if (showProfile) + Row( + children: [ + Padding( + padding: EdgeInsets.only(top: 12, bottom: 8, right: 8), + child: Container( + height: 24, + width: 24, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + fit: BoxFit.cover, + image: post.profile.profileImageUrl != null + ? NetworkImage(post.profile.profileImageUrl) + : SvgProvider('assets/icons/profile_image.svg') + ), + ), + ), + ), + Text( + post.profile.nickname, + style: TextStyle( + fontSize: 12, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray3, + ), + ), + ], + ), + if (showProfile) Spacer(), + Row( + children: [ + IconText( + iconSize: iconSize, + text: post.like.toString(), + iconPath: post.isLiked + ? 'assets/icons/like_filled.svg' + : 'assets/icons/like_outlined.svg', + onPressed: (){}, + iconColor: post.isLiked + ? GuamColorFamily.redCore + : iconColor, + textColor: iconColor, + ), + IconText( + iconSize: iconSize, + text: post.commentCnt.toString(), + iconPath: 'assets/icons/comment.svg', + iconColor: iconColor, + textColor: iconColor, + ), + IconText( + iconSize: iconSize, + text: post.scrap.toString(), + iconPath: post.isScrapped + ? 'assets/icons/scrap_filled.svg' + : 'assets/icons/scrap_outlined.svg', + onPressed: (){}, + iconColor: post.isScrapped + ? GuamColorFamily.purpleCore + : iconColor, + textColor: iconColor, + ), + ], + ), + ], + ); + } +} diff --git a/lib/screens/boards/posts/post_list.dart b/lib/screens/boards/posts/post_list.dart index 5ff4df77..14c68e38 100644 --- a/lib/screens/boards/posts/post_list.dart +++ b/lib/screens/boards/posts/post_list.dart @@ -3,7 +3,7 @@ import 'package:guam_community_client/commons/icon_text.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:provider/provider.dart'; import 'package:guam_community_client/providers/posts/posts.dart'; -import 'package:guam_community_client/screens/boards/posts/post_preview.dart'; +import 'package:guam_community_client/screens/boards/posts/preview/post_preview.dart'; import '../../../commons/sub_headings.dart'; @@ -17,7 +17,7 @@ class PostList extends StatelessWidget { child: Column( children: [ Padding( - padding: EdgeInsets.only(top: 10, left: 22, right: 16), + padding: EdgeInsets.only(top: 24, left: 22, right: 10, bottom: 12), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -26,16 +26,19 @@ class PostList extends StatelessWidget { text: "관심사 설정", iconPath: 'assets/icons/setting.svg', onPressed: (){}, - iconHexColor: GuamColorFamily.purpleLight1, - textHexColor: GuamColorFamily.purpleLight1, + iconColor: GuamColorFamily.purpleLight1, + textColor: GuamColorFamily.purpleLight1, ), ], ), ), - Column( - children: [ - ...postsProvider.posts.map((post) => PostPreview(post, postsProvider)) - ] + Padding( + padding: EdgeInsets.only(bottom: 10), + child: Column( + children: [ + ...postsProvider.posts.map((post) => PostPreview(post, postsProvider)) + ] + ), ) ], ), diff --git a/lib/screens/boards/posts/post_preview_info.dart b/lib/screens/boards/posts/post_preview_info.dart deleted file mode 100644 index 04c75412..00000000 --- a/lib/screens/boards/posts/post_preview_info.dart +++ /dev/null @@ -1,81 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:guam_community_client/commons/icon_text.dart'; -import 'package:guam_community_client/helpers/svg_provider.dart'; -import 'package:guam_community_client/models/boards/post.dart'; -import 'package:guam_community_client/styles/colors.dart'; -import 'package:guam_community_client/styles/fonts.dart'; - -class PostPreviewInfo extends StatelessWidget { - final Post post; - - PostPreviewInfo(this.post); - - @override - Widget build(BuildContext context) { - return Row( - children: [ - Row( - children: [ - Padding( - padding: EdgeInsets.only(top: 12, bottom: 8, right: 8), - child: Container( - height: 24, - width: 24, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10), - image: DecorationImage( - fit: BoxFit.cover, - image: post.profile.profileImageUrl != null - ? NetworkImage(post.profile.profileImageUrl) - : SvgProvider('assets/icons/profile_image.svg') - ), - ), - ), - ), - Text( - post.profile.nickname, - style: TextStyle( - fontSize: 12, - fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, - color: GuamColorFamily.grayscaleGray3, - ), - ), - ], - ), - Spacer(), - Row( - children: [ - IconText( - text: post.like.toString(), - iconPath: post.isLiked - ? 'assets/icons/like_filled.svg' - : 'assets/icons/like_outlined.svg', - onPressed: (){}, - iconHexColor: post.isLiked - ? GuamColorFamily.redCore - : GuamColorFamily.grayscaleGray5, - textHexColor: GuamColorFamily.grayscaleGray5, - ), - IconText( - text: post.commentCnt.toString(), - iconPath: 'assets/icons/comment.svg', - iconHexColor: GuamColorFamily.grayscaleGray5, - textHexColor: GuamColorFamily.grayscaleGray5, - ), - IconText( - text: post.scrap.toString(), - iconPath: post.isScrapped - ? 'assets/icons/scrap_filled.svg' - : 'assets/icons/scrap_outlined.svg', - onPressed: (){}, - iconHexColor: post.isScrapped - ? GuamColorFamily.purpleCore - : GuamColorFamily.grayscaleGray5, - textHexColor: GuamColorFamily.grayscaleGray5, - ), - ], - ), - ], - ); - } -} diff --git a/lib/screens/boards/posts/post_preview.dart b/lib/screens/boards/posts/preview/post_preview.dart similarity index 50% rename from lib/screens/boards/posts/post_preview.dart rename to lib/screens/boards/posts/preview/post_preview.dart index 827c417c..3a6ef8c2 100644 --- a/lib/screens/boards/posts/post_preview.dart +++ b/lib/screens/boards/posts/preview/post_preview.dart @@ -2,10 +2,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:guam_community_client/models/boards/post.dart'; import 'package:guam_community_client/providers/posts/posts.dart'; -import 'package:guam_community_client/screens/boards/posts/post_preview_banner.dart'; -import 'package:guam_community_client/screens/boards/posts/post_preview_info.dart'; +import 'package:guam_community_client/screens/boards/posts/detail/post_detail.dart'; +import 'package:guam_community_client/screens/boards/posts/preview/post_preview_banner.dart'; +import 'package:guam_community_client/screens/boards/posts/post_info.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; +import 'package:provider/provider.dart'; class PostPreview extends StatelessWidget { final Post post; @@ -21,10 +23,19 @@ class PostPreview extends StatelessWidget { padding: EdgeInsets.only(left: 24, right: 24, top: 12), decoration: BoxDecoration( color: GuamColorFamily.grayscaleWhite, - borderRadius: BorderRadius.circular(24) + borderRadius: BorderRadius.circular(24), ), child: InkWell( - onTap: () {}, + onTap: () { + Navigator.of(context).push( + MaterialPageRoute( + builder: (_) => ChangeNotifierProvider.value( + value: context.read(), + child: PostDetail(post), + ) + ) + ); + }, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -33,40 +44,45 @@ class PostPreview extends StatelessWidget { thickness: 1, color: GuamColorFamily.grayscaleGray7, ), - Row( - children: [ - if (post.pictures.length > 0) - IconButton( - padding: EdgeInsets.zero, - constraints: BoxConstraints(), - icon: SvgPicture.asset( - 'assets/icons/picture.svg', - color: GuamColorFamily.grayscaleGray5, - width: 20, - height: 20, + Padding( + padding: EdgeInsets.only(bottom: 8.0), + child: Row( + children: [ + if (post.pictures.length > 0) + IconButton( + padding: EdgeInsets.only(right: 4), + constraints: BoxConstraints(), + icon: SvgPicture.asset( + 'assets/icons/picture.svg', + color: GuamColorFamily.grayscaleGray5, + width: 20, + height: 20, + ), ), - ), - Text( - post.title, - style: TextStyle(fontSize: 14), - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - ], + Text( + post.title, + style: TextStyle(fontSize: 14), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ], + ), ), - Padding(padding: EdgeInsets.only(top: 8)), Text( post.content, + maxLines: 4, + overflow: TextOverflow.ellipsis, style: TextStyle( - height: 1.4, + height: 1.6, fontSize: 12, fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, color: GuamColorFamily.grayscaleGray4, ), - maxLines: 4, - overflow: TextOverflow.ellipsis, ), - PostPreviewInfo(post) + PostInfo( + post: post, + iconColor: GuamColorFamily.grayscaleGray5, + ) ], ), ), diff --git a/lib/screens/boards/posts/post_preview_banner.dart b/lib/screens/boards/posts/preview/post_preview_banner.dart similarity index 70% rename from lib/screens/boards/posts/post_preview_banner.dart rename to lib/screens/boards/posts/preview/post_preview_banner.dart index 60bc6723..c5fc6cf2 100644 --- a/lib/screens/boards/posts/post_preview_banner.dart +++ b/lib/screens/boards/posts/preview/post_preview_banner.dart @@ -1,27 +1,14 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/color_of_interest.dart'; import 'package:guam_community_client/models/boards/post.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; -import 'package:hexcolor/hexcolor.dart'; class PostPreviewBanner extends StatelessWidget { final Post post; PostPreviewBanner(this.post); - colorOfInterest(String interest) { - HexColor textColor; - - switch (interest) { - case '개발': textColor = GuamColorFamily.purpleCore; break; - case '데이터분석': textColor = GuamColorFamily.greenCore; break; - case '디자인': textColor = GuamColorFamily.pinkCore; break; - case '기획/마케팅': textColor = GuamColorFamily.blueCore; break; - default: textColor = GuamColorFamily.orangeCore; break; - } - return textColor; - } - @override Widget build(BuildContext context) { return Row( From 8fe34c862aef7a89447624b817a1fec06a6dc830 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sat, 6 Nov 2021 23:37:03 +0900 Subject: [PATCH 015/338] finish comment view --- lib/models/boards/comment.dart | 15 ++++ lib/models/boards/post.dart | 20 +++++ lib/providers/posts/posts.dart | 88 +++++++++++++++++++ .../boards/comments/comment_banner.dart | 58 ++++++++++++ lib/screens/boards/comments/comment_body.dart | 48 ++++++++++ lib/screens/boards/comments/comments.dart | 21 +++++ lib/screens/messages/message.dart | 14 ++- pubspec.lock | 7 ++ pubspec.yaml | 1 + 9 files changed, 264 insertions(+), 8 deletions(-) create mode 100644 lib/screens/boards/comments/comment_banner.dart create mode 100644 lib/screens/boards/comments/comment_body.dart create mode 100644 lib/screens/boards/comments/comments.dart diff --git a/lib/models/boards/comment.dart b/lib/models/boards/comment.dart index 9264cfb4..3ba0653c 100644 --- a/lib/models/boards/comment.dart +++ b/lib/models/boards/comment.dart @@ -1,25 +1,37 @@ import 'package:flutter/material.dart'; import 'package:flutter/foundation.dart'; import 'package:guam_community_client/models/picture.dart'; +import 'package:guam_community_client/models/profile.dart'; class Comment extends ChangeNotifier { final int id; + final Profile profile; final String comment; + final bool isAuthor; + final bool isLiked; final List pictures; final int like; final DateTime createdAt; Comment({ @required this.id, + @required this.profile, @required this.comment, + this.isAuthor, + this.isLiked, this.pictures, this.like, this.createdAt, }); factory Comment.fromJson(Map json) { + Profile profile; List pictures; + if (json['profile'] != null) { + profile = Profile.fromJson(json['profile']); + } + if (json['pictures'] != null) { pictures = [...json['pictures'].map((picture) => Picture.fromJson({ 'id': picture['id'], @@ -28,7 +40,10 @@ class Comment extends ChangeNotifier { } return Comment( id: json['id'], + profile: profile, comment: json['comment'], + isAuthor: json['isAuthor'], + isLiked: json['isLiked'], pictures: pictures, like: json['like'], createdAt: json['createdAt'], diff --git a/lib/models/boards/post.dart b/lib/models/boards/post.dart index c0c07680..60187109 100644 --- a/lib/models/boards/post.dart +++ b/lib/models/boards/post.dart @@ -1,15 +1,18 @@ import 'package:flutter/material.dart'; import 'package:flutter/foundation.dart'; +import 'package:guam_community_client/models/boards/comment.dart'; import 'package:guam_community_client/models/picture.dart'; import '../profile.dart'; class Post extends ChangeNotifier { final int id; final Profile profile; + final String boardType; final String title; final String content; final String interest; final List pictures; + final List comments; final int like; final int commentCnt; final int scrap; @@ -20,10 +23,12 @@ class Post extends ChangeNotifier { Post({ this.id, this.profile, + this.boardType, this.title, this.content, this.interest, this.pictures, + this.comments, this.like, this.commentCnt, this.scrap, @@ -35,6 +40,7 @@ class Post extends ChangeNotifier { factory Post.fromJson(Map json) { Profile profile; List pictures; + List comments; if (json['profile'] != null) { profile = Profile.fromJson(json['profile']); @@ -47,13 +53,27 @@ class Post extends ChangeNotifier { }))]; } + if (json['comments'] != null) { + comments = [...json['comments'].map((comment) => Comment.fromJson({ + 'id': comment['id'], + 'profile': comment['profile'], + 'comment': comment['comment'], + 'pictures': comment['pictures'], + 'isAuthor': comment['isAuthor'], + 'isLiked': comment['isLiked'], + 'like': comment['like'], + }))]; + } + return Post( id: json['id'], profile: profile, + boardType: json['boardType'], title: json['title'], content: json['content'], interest: json['interest'], pictures: pictures, + comments: comments, like: json['like'], commentCnt: json['commentCnt'], scrap: json['scrap'], diff --git a/lib/providers/posts/posts.dart b/lib/providers/posts/posts.dart index 0ffd6d99..4ef712d5 100644 --- a/lib/providers/posts/posts.dart +++ b/lib/providers/posts/posts.dart @@ -19,6 +19,7 @@ class Posts with ChangeNotifier { List> posts = [ { 'id': 1, + 'boardType': '자유게시판', 'profile': { 'id': 1, 'nickname': 'marcelko', @@ -34,6 +35,44 @@ class Posts with ChangeNotifier { 'interest': '개발', 'pictures': [], 'like': 31, + 'comments': [ + { + 'id': 1, + 'profile': { + 'id': 3, + 'nickname': 'bluesky', + 'profileImageUrl': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', + }, + 'isAuthor': false, + 'isLiked': true, + 'comment': '저도 궁금하네요 ㅎㅎ', + 'like': 3, + }, + { + 'id': 2, + 'profile': { + 'id': 6, + 'nickname': 'jhkang', + // 'profileImageUrl': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', + }, + 'isAuthor': false, + 'isLiked': true, + 'comment': '안녕하세요. 혹시 과외하실 생각 있으시면 저한테 쪽지 보내주세요! 제 프로필에 정보 나와있습니다.', + 'like': 2, + }, + { + 'id': 3, + 'profile': { + 'id': 1, + 'nickname': 'marcelko', + // 'profileImageUrl': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', + }, + 'isAuthor': true, + 'isLiked': false, + 'comment': '@jhkang 쪽지 드렸습니다!🙏', + 'like': 0, + } + ], 'commentCnt': 10, 'scrap': 10, 'isLiked': true, @@ -43,6 +82,7 @@ class Posts with ChangeNotifier { { 'id': 2, + 'boardType': '자유게시판', 'profile': { 'id': 2, 'nickname': 'jwjeong', @@ -60,8 +100,25 @@ class Posts with ChangeNotifier { 'id': 1, 'urlPath': 'https://blog.kakaocdn.net/dn/K8Wt1/btq3otTvVJq/i1bXW8koOEg7Sy6azhWuLK/img.png', }, + { + 'id': 2, + 'urlPath': 'http://img.danawa.com/prod_img/500000/030/472/img/4472030_1.jpg?shrink=330:330&_v=20160923121953', + }, + { + 'id': 3, + 'urlPath': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', + }, + { + 'id': 4, + 'urlPath': 'https://t1.daumcdn.net/cfile/tistory/99A97E4C5D25E9C226', + }, + { + 'id': 5, + 'urlPath': 'https://t1.daumcdn.net/cfile/tistory/241F824757B095710E', + } ], 'like': 87, + 'comments': [], 'commentCnt': 30, 'scrap': 10, 'isLiked': false, @@ -70,6 +127,7 @@ class Posts with ChangeNotifier { }, { 'id': 3, + 'boardType': '자유게시판', 'profile': { 'id': 3, 'nickname': 'bluesky', @@ -84,6 +142,32 @@ class Posts with ChangeNotifier { 'interest': '디자인', 'pictures': [], 'like': 10, + 'comments': [ + { + 'id': 4, + 'profile': { + 'id': 7, + 'nickname': 'anthony', + // 'profileImageUrl': '', + }, + 'isAuthor': false, + 'isLiked': false, + 'comment': '모니터 쓰실거면 13인치 추천합니다~', + 'like': 2, + }, + { + 'id': 8, + 'profile': { + 'id': 6, + 'nickname': 'dsnkim', + // 'profileImageUrl': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', + }, + 'isAuthor': false, + 'isLiked': false, + 'comment': '저는 좀 기다리셔서 16인치요. 13인치 가벼워서 좋은데 모니터 너무 작아서 후회하고 있어요 ㅠㅠ', + 'like': 1, + }, + ], 'commentCnt': 5, 'scrap': 3, 'isLiked': true, @@ -92,6 +176,7 @@ class Posts with ChangeNotifier { }, { 'id': 4, + 'boardType': '자유게시판', 'profile': { 'id': 4, 'nickname': '맨날비와', @@ -106,6 +191,7 @@ class Posts with ChangeNotifier { 'interest': '기획/마케팅', 'pictures': [], 'like': 23, + 'comments': [], 'commentCnt': 14, 'scrap': 10, 'isLiked': false, @@ -114,6 +200,7 @@ class Posts with ChangeNotifier { }, { 'id': 5, + 'boardType': '자유게시판', 'profile': { 'id': 5, 'nickname': '해피언니', @@ -128,6 +215,7 @@ class Posts with ChangeNotifier { 'interest': '기타', 'pictures': [], 'like': 23, + 'comments': [], 'commentCnt': 14, 'scrap': 10, 'isLiked': true, diff --git a/lib/screens/boards/comments/comment_banner.dart b/lib/screens/boards/comments/comment_banner.dart new file mode 100644 index 00000000..ae46c28d --- /dev/null +++ b/lib/screens/boards/comments/comment_banner.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/helpers/svg_provider.dart'; +import 'package:guam_community_client/models/boards/comment.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +class CommentBanner extends StatelessWidget { + final Comment comment; + + CommentBanner(this.comment); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.only(top: 18), + child: Row( + children: [ + Container( + height: 24, + width: 24, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + fit: BoxFit.cover, + image: comment.profile.profileImageUrl != null + ? NetworkImage(comment.profile.profileImageUrl) + : SvgProvider('assets/icons/profile_image.svg'), + ), + ), + ), + Padding( + padding: EdgeInsets.only(left: 8), + child: Text( + comment.profile.nickname, + style: TextStyle( + fontSize: 12, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray3, + ), + ), + ), + Spacer(), + IconButton( + iconSize: 20, + padding: EdgeInsets.zero, + constraints: BoxConstraints(), + icon: SvgPicture.asset( + 'assets/icons/more.svg', + color: GuamColorFamily.grayscaleGray5, + ), + onPressed: () {}, + ), + ], + ), + ); + } +} diff --git a/lib/screens/boards/comments/comment_body.dart b/lib/screens/boards/comments/comment_body.dart new file mode 100644 index 00000000..10cc4983 --- /dev/null +++ b/lib/screens/boards/comments/comment_body.dart @@ -0,0 +1,48 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/icon_text.dart'; +import 'package:guam_community_client/models/boards/comment.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +class CommentBody extends StatelessWidget { + final Comment comment; + + CommentBody(this.comment); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: EdgeInsets.only(left: 32, top: 3, right: 12), + child: Text( + comment.comment, + style: TextStyle( + fontSize: 12, + height: 1.6, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray2, + ), + ), + ), + Padding( + padding: EdgeInsets.only(left: 32, top: 4), + child: IconText( + iconSize: 18, + fontSize: 10, + text: comment.like.toString(), + iconPath: comment.isLiked + ? 'assets/icons/like_filled.svg' + : 'assets/icons/like_outlined.svg', + onPressed: (){}, + iconColor: comment.isLiked + ? GuamColorFamily.redCore + : GuamColorFamily.grayscaleGray5, + textColor: GuamColorFamily.grayscaleGray5, + ), + ), + ], + ); + } +} diff --git a/lib/screens/boards/comments/comments.dart b/lib/screens/boards/comments/comments.dart new file mode 100644 index 00000000..eb6e3630 --- /dev/null +++ b/lib/screens/boards/comments/comments.dart @@ -0,0 +1,21 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/models/boards/comment.dart'; +import 'comment_banner.dart'; +import 'comment_body.dart'; + +class Comments extends StatelessWidget { + final Comment comment; + + Comments({this.comment}); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + CommentBanner(comment), + CommentBody(comment), + ], + ); + } +} diff --git a/lib/screens/messages/message.dart b/lib/screens/messages/message.dart index 749909de..88ef8654 100644 --- a/lib/screens/messages/message.dart +++ b/lib/screens/messages/message.dart @@ -7,14 +7,12 @@ class Message extends StatelessWidget { @override Widget build(BuildContext context) { return IconButton( - icon: SvgPicture.asset( - newMessage - ? 'assets/icons/message_new.svg' - : 'assets/icons/message_default.svg', - width: 24, - height: 24, - ), - onPressed: () {} + icon: SvgPicture.asset( + newMessage + ? 'assets/icons/message_new.svg' + : 'assets/icons/message_default.svg' + ), + onPressed: () {} ); } } diff --git a/pubspec.lock b/pubspec.lock index 802ab58d..8385ee6c 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -362,6 +362,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.4.2" + transparent_image: + dependency: "direct main" + description: + name: transparent_image + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" typed_data: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 522dbb31..7a595b60 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,6 +34,7 @@ dependencies: intl: ^0.17.0 flutter_svg: ^0.21.0+1 bot_toast: ^4.0.1 + transparent_image: ^2.0.0 dev_dependencies: flutter_test: From 6aced781ca389d28f648e47ef68fa62508c5618d Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Wed, 10 Nov 2021 01:54:27 +0900 Subject: [PATCH 016/338] always fix nav bar --- lib/main.dart | 4 +- lib/providers/home/home_provider.dart | 12 --- lib/screens/app/app.dart | 75 +++++++++++++++++++ lib/screens/app/bottom_navigation.dart | 35 +++++++++ lib/screens/app/tab_item.dart | 8 ++ lib/screens/app/tab_navigator.dart | 40 ++++++++++ .../boards/posts/detail/post_detail.dart | 2 - lib/screens/home/home.dart | 29 ------- lib/screens/home/root.dart | 14 ---- lib/styles/colors.dart | 9 +++ 10 files changed, 169 insertions(+), 59 deletions(-) create mode 100644 lib/screens/app/app.dart create mode 100644 lib/screens/app/bottom_navigation.dart create mode 100644 lib/screens/app/tab_item.dart create mode 100644 lib/screens/app/tab_navigator.dart delete mode 100644 lib/screens/home/home.dart delete mode 100644 lib/screens/home/root.dart diff --git a/lib/main.dart b/lib/main.dart index b2158b68..5b5ff4a7 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -4,7 +4,7 @@ import 'package:guam_community_client/styles/fonts.dart'; import 'package:hexcolor/hexcolor.dart'; import 'package:provider/provider.dart'; import 'providers/user_auth/authenticate.dart'; -import 'screens/home/root.dart'; +import 'screens/app/app.dart'; void main() { runApp(MyApp()); @@ -23,7 +23,7 @@ class MyApp extends StatelessWidget { debugShowCheckedModeBanner: false, initialRoute: '/', routes: { - '/': (context) => Root(), + '/': (context) => App(), }, theme: ThemeData( primaryColor: themeColor, diff --git a/lib/providers/home/home_provider.dart b/lib/providers/home/home_provider.dart index dfe44be2..5eca888d 100644 --- a/lib/providers/home/home_provider.dart +++ b/lib/providers/home/home_provider.dart @@ -1,21 +1,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:guam_community_client/styles/colors.dart'; -import '../../screens/boards/boards_app.dart'; -import '../../screens/search/search_app.dart'; -import '../../screens/notifications/notifications_app.dart'; -import '../../screens/profiles/profiles_app.dart'; class HomeProvider with ChangeNotifier { int _idx = 0; - final List bodyItems = [ - BoardsApp(), - SearchApp(), - NotificationsApp(), - ProfilesApp() - ]; - final List> bottomNavItems = [ { 'label': '홈', @@ -70,6 +59,5 @@ class HomeProvider with ChangeNotifier { notifyListeners(); } - Widget get bodyItem => bodyItems[_idx]; Map get bottomNavItem => bottomNavItems[_idx]; } diff --git a/lib/screens/app/app.dart b/lib/screens/app/app.dart new file mode 100644 index 00000000..4113f5e7 --- /dev/null +++ b/lib/screens/app/app.dart @@ -0,0 +1,75 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/providers/home/home_provider.dart'; +import 'package:provider/provider.dart'; +import 'bottom_navigation.dart'; +import 'tab_item.dart'; +import 'tab_navigator.dart'; + +class App extends StatefulWidget { + @override + State createState() => AppState(); +} + +class AppState extends State { + var _currentTab = TabItem.home; + final _navigatorKeys = { + TabItem.home: GlobalKey(), + TabItem.search: GlobalKey(), + TabItem.notification: GlobalKey(), + TabItem.profile: GlobalKey(), + }; + + void _selectTab(TabItem tabItem) { + if (tabItem == _currentTab) { + // pop to first route + _navigatorKeys[tabItem].currentState.popUntil((route) => route.isFirst); + } else { + setState(() => _currentTab = tabItem); + } + } + + @override + Widget build(BuildContext context) { + return ChangeNotifierProvider( + create: (_) => HomeProvider(), + child: WillPopScope( + onWillPop: () async { + final isFirstRouteInCurrentTab = await _navigatorKeys[_currentTab].currentState.maybePop(); + if (isFirstRouteInCurrentTab) { + // if not on the 'main' tab + if (_currentTab != TabItem.home) { + // select 'main' tab + _selectTab(TabItem.home); + // back button handled by app + return false; + } + } + // let system handle back button if we're on the first route + return isFirstRouteInCurrentTab; + }, + child: Scaffold( + body: Stack(children: [ + _buildOffstageNavigator(TabItem.home), + _buildOffstageNavigator(TabItem.search), + _buildOffstageNavigator(TabItem.notification), + _buildOffstageNavigator(TabItem.profile), + ]), + bottomNavigationBar: BottomNavigation( + currentTab: _currentTab, + onSelectTab: _selectTab, + ), + ), + ), + ); + } + + Widget _buildOffstageNavigator(TabItem tabItem) { + return Offstage( + offstage: _currentTab != tabItem, + child: TabNavigator( + navigatorKey: _navigatorKeys[tabItem], + tabItem: tabItem, + ), + ); + } +} \ No newline at end of file diff --git a/lib/screens/app/bottom_navigation.dart b/lib/screens/app/bottom_navigation.dart new file mode 100644 index 00000000..75d68f0e --- /dev/null +++ b/lib/screens/app/bottom_navigation.dart @@ -0,0 +1,35 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/providers/home/home_provider.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:provider/provider.dart'; +import 'tab_item.dart'; + +class BottomNavigation extends StatelessWidget { + BottomNavigation({@required this.currentTab, @required this.onSelectTab}); + + final TabItem currentTab; + final ValueChanged onSelectTab; + + @override + Widget build(BuildContext context) { + final homeProvider = context.watch(); + + return BottomNavigationBar( + items: homeProvider.bottomNavItems.map((e) => + BottomNavigationBarItem( + label: e['label'], + icon: currentTab.index == homeProvider.bottomNavItems.indexOf(e) + ? e['selected_icon'] + : e['unselected_icon'], + ) + ).toList(), + selectedFontSize: 10, + unselectedFontSize: 10, + currentIndex: currentTab.index, + type: BottomNavigationBarType.fixed, + selectedItemColor: GuamColorFamily.purpleCore, + unselectedItemColor: GuamColorFamily.grayscaleGray4, + onTap: (index) => onSelectTab(TabItem.values[index]), + ); + } +} diff --git a/lib/screens/app/tab_item.dart b/lib/screens/app/tab_item.dart new file mode 100644 index 00000000..b324d3fc --- /dev/null +++ b/lib/screens/app/tab_item.dart @@ -0,0 +1,8 @@ +enum TabItem { home, search, notification, profile } + +const Map tabName = { + TabItem.home: '홈', + TabItem.search: '검색', + TabItem.notification: '알림', + TabItem.profile: '프로필', +}; diff --git a/lib/screens/app/tab_navigator.dart b/lib/screens/app/tab_navigator.dart new file mode 100644 index 00000000..db416838 --- /dev/null +++ b/lib/screens/app/tab_navigator.dart @@ -0,0 +1,40 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/screens/boards/boards_app.dart'; +import 'package:guam_community_client/screens/app/tab_item.dart'; +import 'package:guam_community_client/screens/notifications/notifications_app.dart'; +import 'package:guam_community_client/screens/profiles/profiles_app.dart'; +import 'package:guam_community_client/screens/search/search_app.dart'; + +class TabNavigatorRoutes { + static const String root = '/'; +} + +class TabNavigator extends StatelessWidget { + + TabNavigator({@required this.navigatorKey, @required this.tabItem}); + final GlobalKey navigatorKey; + final TabItem tabItem; + + Map _routeBuilders(BuildContext context) { + switch(tabItem){ + case TabItem.home: return {TabNavigatorRoutes.root: (context) => BoardsApp()}; + case TabItem.search: return {TabNavigatorRoutes.root: (context) => SearchApp()}; + case TabItem.notification: return {TabNavigatorRoutes.root: (context) => NotificationsApp()}; + case TabItem.profile: return {TabNavigatorRoutes.root: (context) => ProfilesApp()}; + } + } + + @override + Widget build(BuildContext context) { + final routeBuilders = _routeBuilders(context); + return Navigator( + key: navigatorKey, + initialRoute: TabNavigatorRoutes.root, + onGenerateRoute: (routeSettings) { + return MaterialPageRoute( + builder: (context) => routeBuilders[routeSettings.name](context), + ); + }, + ); + } +} diff --git a/lib/screens/boards/posts/detail/post_detail.dart b/lib/screens/boards/posts/detail/post_detail.dart index 3beabb10..0a77b6eb 100644 --- a/lib/screens/boards/posts/detail/post_detail.dart +++ b/lib/screens/boards/posts/detail/post_detail.dart @@ -3,8 +3,6 @@ import 'package:flutter_svg/flutter_svg.dart'; import 'package:guam_community_client/commons/back.dart'; import 'package:guam_community_client/commons/custom_app_bar.dart'; import 'package:guam_community_client/models/boards/post.dart'; -import 'package:guam_community_client/screens/boards/comments/comment_banner.dart'; -import 'package:guam_community_client/screens/boards/comments/comment_body.dart'; import 'package:guam_community_client/screens/boards/comments/comments.dart'; import 'package:guam_community_client/screens/boards/posts/detail/post_detail_banner.dart'; import 'package:guam_community_client/screens/boards/posts/detail/post_detail_body.dart'; diff --git a/lib/screens/home/home.dart b/lib/screens/home/home.dart deleted file mode 100644 index c80bd49b..00000000 --- a/lib/screens/home/home.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:guam_community_client/main.dart'; -import 'package:provider/provider.dart'; -import '../../providers/home/home_provider.dart'; - -class Home extends StatelessWidget { - @override - Widget build(BuildContext context) { - final homeProvider = context.watch(); - - return Scaffold( - body: homeProvider.bodyItem, - bottomNavigationBar: BottomNavigationBar( - selectedItemColor: MyApp.themeColor, - type: BottomNavigationBarType.fixed, - onTap: (idx) => homeProvider.idx = idx, - currentIndex: homeProvider.idx, - items: homeProvider.bottomNavItems.map((e) => - BottomNavigationBarItem( - label: e['label'], - icon: homeProvider.idx == homeProvider.bottomNavItems.indexOf(e) - ? e['selected_icon'] - : e['unselected_icon'], - ) - ).toList(), - ), - ); - } -} diff --git a/lib/screens/home/root.dart b/lib/screens/home/root.dart deleted file mode 100644 index fe287eca..00000000 --- a/lib/screens/home/root.dart +++ /dev/null @@ -1,14 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; -import '../../providers/home/home_provider.dart'; -import 'home.dart'; - -class Root extends StatelessWidget { - @override - Widget build(BuildContext context) { - return ChangeNotifierProvider( - create: (_) => HomeProvider(), - child: Home(), - ); - } -} diff --git a/lib/styles/colors.dart b/lib/styles/colors.dart index a422d4d5..62382bff 100644 --- a/lib/styles/colors.dart +++ b/lib/styles/colors.dart @@ -1,5 +1,14 @@ +import 'dart:ui'; + import 'package:hexcolor/hexcolor.dart'; +class HexColorToColor extends Color { + static int _getColorFromHex(String hexColor) { + return int.parse(hexColor, radix: 16); + } + HexColorToColor(final String hexColor) : super(_getColorFromHex(hexColor)); +} + class GuamColorFamily { static HexColor grayscaleGray1 = HexColor('#1D1D1D'); static HexColor grayscaleGray2 = HexColor('#4E4E4E'); From db3022ecba7fb2973b45810d0bb6153615cc5866 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Thu, 11 Nov 2021 15:20:46 +0900 Subject: [PATCH 017/338] Init profile model --- lib/models/boards/comment.dart | 2 +- lib/models/boards/post.dart | 2 +- lib/models/{ => profiles}/profile.dart | 30 +++++++++++-------- lib/providers/user_auth/authenticate.dart | 2 +- .../boards/comments/comment_banner.dart | 4 +-- .../posts/detail/post_detail_banner.dart | 4 +-- lib/screens/boards/posts/post_info.dart | 4 +-- lib/screens/profiles/profiles_app.dart | 2 +- pubspec.lock | 14 ++++----- 9 files changed, 35 insertions(+), 29 deletions(-) rename lib/models/{ => profiles}/profile.dart (80%) diff --git a/lib/models/boards/comment.dart b/lib/models/boards/comment.dart index 3ba0653c..172dfca2 100644 --- a/lib/models/boards/comment.dart +++ b/lib/models/boards/comment.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/foundation.dart'; import 'package:guam_community_client/models/picture.dart'; -import 'package:guam_community_client/models/profile.dart'; +import 'package:guam_community_client/models/profiles/profile.dart'; class Comment extends ChangeNotifier { final int id; diff --git a/lib/models/boards/post.dart b/lib/models/boards/post.dart index 60187109..1689353b 100644 --- a/lib/models/boards/post.dart +++ b/lib/models/boards/post.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/foundation.dart'; import 'package:guam_community_client/models/boards/comment.dart'; import 'package:guam_community_client/models/picture.dart'; -import '../profile.dart'; +import '../profiles/profile.dart'; class Post extends ChangeNotifier { final int id; diff --git a/lib/models/profile.dart b/lib/models/profiles/profile.dart similarity index 80% rename from lib/models/profile.dart rename to lib/models/profiles/profile.dart index 536ed413..d1ef8194 100644 --- a/lib/models/profile.dart +++ b/lib/models/profiles/profile.dart @@ -2,16 +2,16 @@ import 'package:flutter/material.dart'; import 'package:flutter/foundation.dart'; import 'package:guam_community_client/models/boards/post.dart'; import 'package:guam_community_client/models/boards/comment.dart'; +import '../picture.dart'; class Profile extends ChangeNotifier { final int id; final String nickname; - final String introduction; - final String profileImageUrl; - final String githubUrl; + final String intro; + final Picture profileImg; + final String githubId; final String blogUrl; final List skillSet; - final List interests; final List myPosts; final List scrappedPosts; final List myComments; @@ -19,22 +19,29 @@ class Profile extends ChangeNotifier { Profile({ this.id, this.nickname, - this.introduction, - this.profileImageUrl, - this.githubUrl, + this.intro, + this.profileImg, + this.githubId, this.blogUrl, this.skillSet, - this.interests, this.myPosts, this.scrappedPosts, this.myComments, }); factory Profile.fromJson(Map json) { + Picture profileImg; List myPosts; List scrappedPosts; List myComments; + if (json["profileImg"] != null) { + profileImg = Picture.fromJson({ + "id": json["profileImg"]["id"], + "urlPath": json["profileImg"]["urlPath"], + }); + } + if (json['myPosts'] != null) { myPosts = [...json['myPosts'].map((post) => Post.fromJson({ 'id': post['id'], @@ -69,12 +76,11 @@ class Profile extends ChangeNotifier { return Profile( id: json['id'], nickname: json['nickname'], - introduction: json['introduction'], - profileImageUrl: json['profileImageUrl'], - githubUrl: json['githubUrl'], + intro: json['intro'], + profileImg: profileImg, + githubId: json['githubId'], blogUrl: json['blogUrl'], skillSet: json['skillSet'], - interests: json['interests'], myPosts: myPosts, scrappedPosts: scrappedPosts, myComments: myComments, diff --git a/lib/providers/user_auth/authenticate.dart b/lib/providers/user_auth/authenticate.dart index 9094c5c5..25ddad16 100644 --- a/lib/providers/user_auth/authenticate.dart +++ b/lib/providers/user_auth/authenticate.dart @@ -42,7 +42,7 @@ class Authenticate with ChangeNotifier { //유저 로그인/회원가입 서버 개발 전 임시방편 코드 Future signIn({Map params}) async { List tempUsers = [ - { "email": "gajagajago@naver.com", "password": "daniel1004" }, + { "email": "gajagajago@naver.com", "password": "1234" }, { "email": "khko", "password": "123456" }, ]; print(params); diff --git a/lib/screens/boards/comments/comment_banner.dart b/lib/screens/boards/comments/comment_banner.dart index ae46c28d..03918fc1 100644 --- a/lib/screens/boards/comments/comment_banner.dart +++ b/lib/screens/boards/comments/comment_banner.dart @@ -23,8 +23,8 @@ class CommentBanner extends StatelessWidget { borderRadius: BorderRadius.circular(10), image: DecorationImage( fit: BoxFit.cover, - image: comment.profile.profileImageUrl != null - ? NetworkImage(comment.profile.profileImageUrl) + image: comment.profile.profileImg != null + ? NetworkImage(comment.profile.profileImg.urlPath) : SvgProvider('assets/icons/profile_image.svg'), ), ), diff --git a/lib/screens/boards/posts/detail/post_detail_banner.dart b/lib/screens/boards/posts/detail/post_detail_banner.dart index 0615d79a..9cca0b58 100644 --- a/lib/screens/boards/posts/detail/post_detail_banner.dart +++ b/lib/screens/boards/posts/detail/post_detail_banner.dart @@ -71,8 +71,8 @@ class PostDetailBanner extends StatelessWidget { borderRadius: BorderRadius.circular(10), image: DecorationImage( fit: BoxFit.cover, - image: post.profile.profileImageUrl != null - ? NetworkImage(post.profile.profileImageUrl) + image: post.profile.profileImg != null + ? NetworkImage(post.profile.profileImg.urlPath) : SvgProvider('assets/icons/profile_image.svg'), ), ), diff --git a/lib/screens/boards/posts/post_info.dart b/lib/screens/boards/posts/post_info.dart index 957ac002..45896a69 100644 --- a/lib/screens/boards/posts/post_info.dart +++ b/lib/screens/boards/posts/post_info.dart @@ -35,8 +35,8 @@ class PostInfo extends StatelessWidget { borderRadius: BorderRadius.circular(10), image: DecorationImage( fit: BoxFit.cover, - image: post.profile.profileImageUrl != null - ? NetworkImage(post.profile.profileImageUrl) + image: post.profile.profileImg != null + ? NetworkImage(post.profile.profileImg.urlPath) : SvgProvider('assets/icons/profile_image.svg') ), ), diff --git a/lib/screens/profiles/profiles_app.dart b/lib/screens/profiles/profiles_app.dart index 1f5dc26b..02faf610 100644 --- a/lib/screens/profiles/profiles_app.dart +++ b/lib/screens/profiles/profiles_app.dart @@ -12,7 +12,7 @@ class ProfilesApp extends StatelessWidget { title: '프로필', trailing: Message(), ), - body: ProfilesBody() + body: ProfilesBody() ); } } diff --git a/pubspec.lock b/pubspec.lock index 8385ee6c..63a8f511 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,7 +7,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.8.1" + version: "2.6.1" boolean_selector: dependency: transitive description: @@ -35,7 +35,7 @@ packages: name: charcode url: "https://pub.dartlang.org" source: hosted - version: "1.3.1" + version: "1.2.0" clock: dependency: transitive description: @@ -63,7 +63,7 @@ packages: name: cupertino_icons url: "https://pub.dartlang.org" source: hosted - version: "1.0.3" + version: "1.0.4" fake_async: dependency: transitive description: @@ -96,7 +96,7 @@ packages: name: flutter_form_builder url: "https://pub.dartlang.org" source: hosted - version: "6.1.0+1" + version: "6.2.0" flutter_localizations: dependency: transitive description: flutter @@ -174,7 +174,7 @@ packages: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.7.0" + version: "1.3.0" modal_bottom_sheet: dependency: "direct main" description: @@ -361,7 +361,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.4.2" + version: "0.3.0" transparent_image: dependency: "direct main" description: @@ -389,7 +389,7 @@ packages: name: win32 url: "https://pub.dartlang.org" source: hosted - version: "2.2.9" + version: "2.2.10" xdg_directories: dependency: transitive description: From a2c96d42e507522434af34450723d2abddb5d03e Mon Sep 17 00:00:00 2001 From: gajagajago Date: Thu, 11 Nov 2021 17:02:19 +0900 Subject: [PATCH 018/338] Profile top --- .../profiles/buttons/profile_edit_button.dart | 15 +++++++ lib/screens/profiles/buttons/web_button.dart | 20 +++++++++ lib/screens/profiles/profile/profile_img.dart | 39 ++++++++++++++++++ .../profiles/profile/profile_intro.dart | 23 +++++++++++ .../profiles/profile/profile_nickname.dart | 26 ++++++++++++ .../profiles/profile/profile_skillset.dart | 0 .../profiles/profile/profile_web_buttons.dart | 24 +++++++++++ lib/screens/profiles/profiles_app.dart | 4 +- lib/screens/profiles/profiles_body.dart | 41 ++++++++++++++++++- 9 files changed, 190 insertions(+), 2 deletions(-) create mode 100644 lib/screens/profiles/buttons/profile_edit_button.dart create mode 100644 lib/screens/profiles/buttons/web_button.dart create mode 100644 lib/screens/profiles/profile/profile_img.dart create mode 100644 lib/screens/profiles/profile/profile_intro.dart create mode 100644 lib/screens/profiles/profile/profile_nickname.dart create mode 100644 lib/screens/profiles/profile/profile_skillset.dart create mode 100644 lib/screens/profiles/profile/profile_web_buttons.dart diff --git a/lib/screens/profiles/buttons/profile_edit_button.dart b/lib/screens/profiles/buttons/profile_edit_button.dart new file mode 100644 index 00000000..e2e67500 --- /dev/null +++ b/lib/screens/profiles/buttons/profile_edit_button.dart @@ -0,0 +1,15 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/icon_text.dart'; +import 'package:guam_community_client/styles/colors.dart'; + +class ProfileEditButton extends StatelessWidget { + @override + Widget build(BuildContext context) { + return IconText( + iconSize: 18, + iconPath: 'assets/icons/write.svg', + iconColor: GuamColorFamily.purpleLight1, + onPressed: () {}, + ); + } +} \ No newline at end of file diff --git a/lib/screens/profiles/buttons/web_button.dart b/lib/screens/profiles/buttons/web_button.dart new file mode 100644 index 00000000..102915a4 --- /dev/null +++ b/lib/screens/profiles/buttons/web_button.dart @@ -0,0 +1,20 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import '../../../commons/icon_text.dart'; + +class WebButton extends StatelessWidget { + final String url; + final String iconPath; + + WebButton(this.url, this.iconPath); + + @override + Widget build(BuildContext context) { + return IconText( + iconSize: 24, + iconPath: iconPath, + iconColor: GuamColorFamily.grayscaleGray6, + onPressed: () {}, + ); + } +} \ No newline at end of file diff --git a/lib/screens/profiles/profile/profile_img.dart b/lib/screens/profiles/profile/profile_img.dart new file mode 100644 index 00000000..1b0985ed --- /dev/null +++ b/lib/screens/profiles/profile/profile_img.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/closable_image_expanded.dart'; +import 'package:guam_community_client/helpers/svg_provider.dart'; +import 'package:guam_community_client/models/picture.dart'; +import 'package:transparent_image/transparent_image.dart'; + +class ProfileImg extends StatelessWidget { + final Picture profileImg; + + ProfileImg(this.profileImg); + + @override + Widget build(BuildContext context) { + return Container( + height: 120, + width: 120, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: profileImg != null ? Colors.transparent : Colors.grey, + ), + child: ClipOval( + child: profileImg.urlPath != null + ? InkWell( + child: FadeInImage( + placeholder: MemoryImage(kTransparentImage), + image: NetworkImage(profileImg.urlPath), + fit: BoxFit.cover + ), + onTap: () { + Navigator.push( + context, + MaterialPageRoute(builder: (_) => ClosableImageExpanded(imagePath: profileImg.urlPath)) + ); + } + ) : Image(image: SvgProvider('assets/icons/profile_image.svg')) + ), + ); + } +} \ No newline at end of file diff --git a/lib/screens/profiles/profile/profile_intro.dart b/lib/screens/profiles/profile/profile_intro.dart new file mode 100644 index 00000000..60c2fa93 --- /dev/null +++ b/lib/screens/profiles/profile/profile_intro.dart @@ -0,0 +1,23 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +class ProfileIntro extends StatelessWidget { + final String intro; + + ProfileIntro(this.intro); + + @override + Widget build(BuildContext context) { + return Text( + intro, + textAlign: TextAlign.center, + style: TextStyle( + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + fontSize: 14, + color: GuamColorFamily.grayscaleGray3, + height: 22.4/14 + ), + ); + } +} \ No newline at end of file diff --git a/lib/screens/profiles/profile/profile_nickname.dart b/lib/screens/profiles/profile/profile_nickname.dart new file mode 100644 index 00000000..591d00ba --- /dev/null +++ b/lib/screens/profiles/profile/profile_nickname.dart @@ -0,0 +1,26 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +class ProfileNickname extends StatelessWidget { + final String nickname; + + ProfileNickname(this.nickname); + + @override + Widget build(BuildContext context) { + return Padding( + child: Text( + nickname, + textAlign: TextAlign.center, + style: TextStyle( + fontFamily: GuamFontFamily.SpoqaHanSansNeoMedium, + fontSize: 18, + color: GuamColorFamily.grayscaleGray2, + height: 28.8/18 + ), + ), + padding: EdgeInsets.fromLTRB((36+8).toDouble(), 16, 8, 16), // left 36 to align nickname at center + ); + } +} \ No newline at end of file diff --git a/lib/screens/profiles/profile/profile_skillset.dart b/lib/screens/profiles/profile/profile_skillset.dart new file mode 100644 index 00000000..e69de29b diff --git a/lib/screens/profiles/profile/profile_web_buttons.dart b/lib/screens/profiles/profile/profile_web_buttons.dart new file mode 100644 index 00000000..9334004a --- /dev/null +++ b/lib/screens/profiles/profile/profile_web_buttons.dart @@ -0,0 +1,24 @@ +import 'package:flutter/material.dart'; +import '../buttons/web_button.dart'; + +class ProfileWebButtons extends StatelessWidget { + final String githubId; + final String blogUrl; + + ProfileWebButtons({this.githubId, this.blogUrl}); + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.fromLTRB(0, 5, 0, 24), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + // crossAxisAlignment: CrossAxisAlignment., + children: [ + WebButton(githubId, 'assets/icons/github.svg'), + WebButton(blogUrl, 'assets/icons/blog.svg'), + ], + ), + ); + } +} \ No newline at end of file diff --git a/lib/screens/profiles/profiles_app.dart b/lib/screens/profiles/profiles_app.dart index 02faf610..0bbd5145 100644 --- a/lib/screens/profiles/profiles_app.dart +++ b/lib/screens/profiles/profiles_app.dart @@ -12,7 +12,9 @@ class ProfilesApp extends StatelessWidget { title: '프로필', trailing: Message(), ), - body: ProfilesBody() + body: SingleChildScrollView( + child: ProfilesBody(), + ) ); } } diff --git a/lib/screens/profiles/profiles_body.dart b/lib/screens/profiles/profiles_body.dart index 12620c9e..5eece813 100644 --- a/lib/screens/profiles/profiles_body.dart +++ b/lib/screens/profiles/profiles_body.dart @@ -1,8 +1,47 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/models/picture.dart'; +import 'package:guam_community_client/screens/profiles/profile/profile_img.dart'; +import 'package:guam_community_client/screens/profiles/profile/profile_intro.dart'; +import 'package:guam_community_client/screens/profiles/profile/profile_nickname.dart'; +import 'package:guam_community_client/screens/profiles/profile/profile_web_buttons.dart'; +import '../../models/profiles/profile.dart'; +import 'buttons/profile_edit_button.dart'; class ProfilesBody extends StatelessWidget { + final Profile dummy = Profile( + id: 1, + profileImg: Picture( + id: 1, + urlPath: "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + ), + nickname: "bluesky", + intro: "🦋 N년차 프로덕트 디자이너\n🐶 강아지 몽무와 동거 중\n✉️ abcd@abcd.com\n📷 @abcddesign", + githubId: "abcddesign111", + blogUrl: "tistory.abcddesign", + skillSet: [1,2,3], + ); + @override Widget build(BuildContext context) { - return Container(); + return Container( + width: double.infinity, + padding: EdgeInsets.fromLTRB(24, 40, 24, 24), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + ProfileImg(dummy.profileImg), + Row( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + ProfileNickname(dummy.nickname), + ProfileEditButton(), + ], + ), + ProfileIntro(dummy.intro), + ProfileWebButtons(githubId: dummy.githubId, blogUrl: dummy.blogUrl), + ], + ), + ); } } From 6d466792670c2ca4901e50d26d68e96ccf903a17 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Sat, 13 Nov 2021 10:06:43 +0900 Subject: [PATCH 019/338] =?UTF-8?q?Icon=20text=20=EC=95=BD=EA=B0=84=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/commons/icon_text.dart | 5 +++-- lib/screens/profiles/buttons/profile_edit_button.dart | 1 + lib/screens/profiles/buttons/web_button.dart | 1 + lib/screens/profiles/profile/profile_nickname.dart | 3 ++- lib/screens/profiles/profile/profile_web_buttons.dart | 2 +- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/commons/icon_text.dart b/lib/commons/icon_text.dart index 3ce1a4c8..1d8e7e7b 100644 --- a/lib/commons/icon_text.dart +++ b/lib/commons/icon_text.dart @@ -6,20 +6,21 @@ import 'package:hexcolor/hexcolor.dart'; class IconText extends StatelessWidget { final double iconSize; final double fontSize; + final double paddingBtw; final String text; final String iconPath; final Function onPressed; final HexColor iconColor; final HexColor textColor; - IconText({this.iconSize=20, this.fontSize=12, this.text="", this.iconPath, this.onPressed, this.iconColor, this.textColor}); + IconText({this.iconSize=20, this.fontSize=12, this.paddingBtw=10, this.text="", this.iconPath, this.onPressed, this.iconColor, this.textColor}); @override Widget build(BuildContext context) { return TextButton.icon( onPressed: onPressed, style: TextButton.styleFrom( - padding: EdgeInsets.only(right: 10), + padding: EdgeInsets.only(right: paddingBtw), minimumSize: Size.zero, alignment: Alignment.centerLeft, tapTargetSize: MaterialTapTargetSize.shrinkWrap, diff --git a/lib/screens/profiles/buttons/profile_edit_button.dart b/lib/screens/profiles/buttons/profile_edit_button.dart index e2e67500..26371894 100644 --- a/lib/screens/profiles/buttons/profile_edit_button.dart +++ b/lib/screens/profiles/buttons/profile_edit_button.dart @@ -9,6 +9,7 @@ class ProfileEditButton extends StatelessWidget { iconSize: 18, iconPath: 'assets/icons/write.svg', iconColor: GuamColorFamily.purpleLight1, + paddingBtw: 0, onPressed: () {}, ); } diff --git a/lib/screens/profiles/buttons/web_button.dart b/lib/screens/profiles/buttons/web_button.dart index 102915a4..bb5e6e2d 100644 --- a/lib/screens/profiles/buttons/web_button.dart +++ b/lib/screens/profiles/buttons/web_button.dart @@ -14,6 +14,7 @@ class WebButton extends StatelessWidget { iconSize: 24, iconPath: iconPath, iconColor: GuamColorFamily.grayscaleGray6, + paddingBtw: 0, onPressed: () {}, ); } diff --git a/lib/screens/profiles/profile/profile_nickname.dart b/lib/screens/profiles/profile/profile_nickname.dart index 591d00ba..e4c8181c 100644 --- a/lib/screens/profiles/profile/profile_nickname.dart +++ b/lib/screens/profiles/profile/profile_nickname.dart @@ -20,7 +20,8 @@ class ProfileNickname extends StatelessWidget { height: 28.8/18 ), ), - padding: EdgeInsets.fromLTRB((36+8).toDouble(), 16, 8, 16), // left 36 to align nickname at center + // left 26 of icon text width to align nickname at center + padding: EdgeInsets.fromLTRB((26+8).toDouble(), 16, 8, 16), ); } } \ No newline at end of file diff --git a/lib/screens/profiles/profile/profile_web_buttons.dart b/lib/screens/profiles/profile/profile_web_buttons.dart index 9334004a..cb538d61 100644 --- a/lib/screens/profiles/profile/profile_web_buttons.dart +++ b/lib/screens/profiles/profile/profile_web_buttons.dart @@ -10,7 +10,7 @@ class ProfileWebButtons extends StatelessWidget { @override Widget build(BuildContext context) { return Padding( - padding: EdgeInsets.fromLTRB(0, 5, 0, 24), + padding: EdgeInsets.fromLTRB(8, 5, 0, 24), child: Row( mainAxisAlignment: MainAxisAlignment.center, // crossAxisAlignment: CrossAxisAlignment., From 5002b122a8050023fc1b33ad5d7ed23bbc9c2d68 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Sat, 13 Nov 2021 10:55:51 +0900 Subject: [PATCH 020/338] Profile Chips --- .../buttons/profile_skill_button.dart | 29 +++++++++++++++++++ .../profiles/profile/profile_skillset.dart | 18 ++++++++++++ lib/screens/profiles/profiles_body.dart | 4 ++- 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 lib/screens/profiles/buttons/profile_skill_button.dart diff --git a/lib/screens/profiles/buttons/profile_skill_button.dart b/lib/screens/profiles/buttons/profile_skill_button.dart new file mode 100644 index 00000000..babee29e --- /dev/null +++ b/lib/screens/profiles/buttons/profile_skill_button.dart @@ -0,0 +1,29 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +class ProfileSkillButton extends StatelessWidget { + final String skill; + final bool deletable; + + ProfileSkillButton(this.skill, {this.deletable = false}); + + @override + Widget build(BuildContext context) { + return Chip( + label: Text(skill), + labelStyle: TextStyle( + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + fontSize: 12, + color: GuamColorFamily.grayscaleGray4, + height: 19.2/12, + ), + onDeleted: deletable ? () {} : null, + materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, + backgroundColor: Colors.transparent, + side: BorderSide(color: GuamColorFamily.grayscaleGray6), + padding: EdgeInsets.all(4), + ); + } + +} \ No newline at end of file diff --git a/lib/screens/profiles/profile/profile_skillset.dart b/lib/screens/profiles/profile/profile_skillset.dart index e69de29b..8c199ab4 100644 --- a/lib/screens/profiles/profile/profile_skillset.dart +++ b/lib/screens/profiles/profile/profile_skillset.dart @@ -0,0 +1,18 @@ +import 'package:flutter/material.dart'; +import '../buttons/profile_skill_button.dart'; + +class ProfileSkillSet extends StatelessWidget { + final List skillSet; + + ProfileSkillSet(this.skillSet); + + @override + Widget build(BuildContext context) { + return Wrap( + alignment: WrapAlignment.center, + spacing: 8, + runSpacing: 5, + children: [...skillSet.map((skill) => ProfileSkillButton(skill))], + ); + } +} \ No newline at end of file diff --git a/lib/screens/profiles/profiles_body.dart b/lib/screens/profiles/profiles_body.dart index 5eece813..70f5c524 100644 --- a/lib/screens/profiles/profiles_body.dart +++ b/lib/screens/profiles/profiles_body.dart @@ -6,6 +6,7 @@ import 'package:guam_community_client/screens/profiles/profile/profile_nickname. import 'package:guam_community_client/screens/profiles/profile/profile_web_buttons.dart'; import '../../models/profiles/profile.dart'; import 'buttons/profile_edit_button.dart'; +import 'profile/profile_skillset.dart'; class ProfilesBody extends StatelessWidget { final Profile dummy = Profile( @@ -18,7 +19,7 @@ class ProfilesBody extends StatelessWidget { intro: "🦋 N년차 프로덕트 디자이너\n🐶 강아지 몽무와 동거 중\n✉️ abcd@abcd.com\n📷 @abcddesign", githubId: "abcddesign111", blogUrl: "tistory.abcddesign", - skillSet: [1,2,3], + skillSet: ["figma","photoshop","illustrator","adobe xd","primere pro","aftereffect","cinema4D", "zeplin", "sketch"], ); @override @@ -40,6 +41,7 @@ class ProfilesBody extends StatelessWidget { ), ProfileIntro(dummy.intro), ProfileWebButtons(githubId: dummy.githubId, blogUrl: dummy.blogUrl), + ProfileSkillSet(dummy.skillSet), ], ), ); From b4f86cdabe2127be065d9edcbc1e8c85da761ac2 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sat, 13 Nov 2021 11:16:19 +0900 Subject: [PATCH 021/338] comment text field --- ...tton_size_circular_progress_indicator.dart | 12 + lib/commons/common_icon_button.dart | 21 ++ lib/commons/common_text_field.dart | 205 ++++++++++++++++++ lib/commons/custom_app_bar.dart | 60 ++--- lib/commons/image_thumbnail.dart | 45 ++++ lib/helpers/pick_image.dart | 17 ++ lib/providers/posts/posts.dart | 2 +- .../boards/comments/comment_banner.dart | 2 +- lib/screens/boards/comments/comment_body.dart | 2 +- .../boards/posts/detail/post_detail.dart | 16 +- lib/screens/search/search_app.dart | 2 +- pubspec.lock | 28 +++ pubspec.yaml | 3 + 13 files changed, 367 insertions(+), 48 deletions(-) create mode 100644 lib/commons/button_size_circular_progress_indicator.dart create mode 100644 lib/commons/common_icon_button.dart create mode 100644 lib/commons/common_text_field.dart create mode 100644 lib/commons/image_thumbnail.dart create mode 100644 lib/helpers/pick_image.dart diff --git a/lib/commons/button_size_circular_progress_indicator.dart b/lib/commons/button_size_circular_progress_indicator.dart new file mode 100644 index 00000000..09b21d5c --- /dev/null +++ b/lib/commons/button_size_circular_progress_indicator.dart @@ -0,0 +1,12 @@ +import 'package:flutter/material.dart'; + +class ButtonSizeCircularProgressIndicator extends StatelessWidget { + @override + Widget build(BuildContext context) { + return SizedBox ( + width: 20, + height: 20, + child: CircularProgressIndicator(), + ); + } +} diff --git a/lib/commons/common_icon_button.dart b/lib/commons/common_icon_button.dart new file mode 100644 index 00000000..0810a667 --- /dev/null +++ b/lib/commons/common_icon_button.dart @@ -0,0 +1,21 @@ +import 'package:flutter/material.dart'; + +class CommonIconButton extends StatelessWidget { + final IconData icon; + final Function onPressed; + final Color iconColor; + + CommonIconButton({@required this.icon, @required this.onPressed, this.iconColor}); + + @override + Widget build(BuildContext context) { + return IconButton( + icon: Icon(icon, color: iconColor), + padding: EdgeInsets.zero, + constraints: BoxConstraints( + maxWidth: 24, maxHeight: 24 + ), + onPressed: onPressed + ); + } +} diff --git a/lib/commons/common_text_field.dart b/lib/commons/common_text_field.dart new file mode 100644 index 00000000..18cf8749 --- /dev/null +++ b/lib/commons/common_text_field.dart @@ -0,0 +1,205 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:flutter/foundation.dart'; +import 'dart:io'; +import '../helpers/pick_image.dart'; +import 'image_thumbnail.dart'; +import 'common_icon_button.dart'; +import 'button_size_circular_progress_indicator.dart'; + +class CommonTextField extends StatefulWidget { + final Function onTap; + final dynamic editTarget; + final bool allowImages; + + CommonTextField({@required this.onTap, this.editTarget, this.allowImages = true}); + + @override + State createState() => _CommonTextFieldState(); +} + +class _CommonTextFieldState extends State { + final _threadTextFieldController = TextEditingController(); + final double maxImgSize = 80; + final double deleteImgButtonRadius = 12; + List imageFileList = []; + bool sending = false; + + @override + void dispose() { + imageFileList.clear(); + _threadTextFieldController.dispose(); + super.dispose(); + } + + void setImageFile(PickedFile val) { + setState(() { + if (val != null) imageFileList.add(val); + }); + } + + void deleteImageFile(int idx) { + setState(() { + imageFileList.removeAt(idx); + }); + } + + void toggleSending() { + setState(() { + sending = !sending; + }); + } + + @override + Widget build(BuildContext context) { + bool isEdit = widget.editTarget != null; + _threadTextFieldController.text = isEdit ? widget.editTarget.content : null; + + Future send() async { + toggleSending(); + + try { + if (isEdit) { + await widget.onTap( + id: widget.editTarget.id, + fields: {"content": _threadTextFieldController.text}, + ).then((successful) { + if (successful) { + _threadTextFieldController.clear(); + FocusScope.of(context).unfocus(); + } + }); + } else { + await widget.onTap( + files: [...imageFileList.map((e) => File(e.path))], + fields: {"content": _threadTextFieldController.text}, + ).then((successful) { + if (successful) { + imageFileList.clear(); + _threadTextFieldController.clear(); + FocusScope.of(context).unfocus(); + } + }); + } + } catch (e) { + print(e); + } finally { + toggleSending(); + } + } + + return DecoratedBox( + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.05), + blurRadius: 4, + offset: Offset(0, -2), // changes position of shadow + ), + ], + ), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Row( + children: [ + if (!isEdit && widget.allowImages) Padding( + padding: EdgeInsets.symmetric(horizontal: 16), + child: IconButton( + iconSize: 24, + padding: EdgeInsets.zero, + constraints: BoxConstraints(), + icon: SvgPicture.asset('assets/icons/camera.svg'), + onPressed: !sending + ? () { + pickImage(type: 'gallery').then((img) => + setImageFile(img)); + } + : null, + ), + ), + ], + ), + Expanded( + child: Column( + children: [ + if (imageFileList.isNotEmpty) Container( + constraints: BoxConstraints(maxHeight: maxImgSize + deleteImgButtonRadius), + margin: EdgeInsets.only(bottom: 10), + child: ListView.builder( + scrollDirection: Axis.horizontal, + itemCount: imageFileList.length, + itemBuilder: (_, idx) => + Stack( + children: [ + Container( + margin: EdgeInsets.only( + top: deleteImgButtonRadius, + right: deleteImgButtonRadius, + ), + child: ImageThumbnail( + width: maxImgSize, + height: maxImgSize, + image: Image( + image: FileImage(File(imageFileList[idx].path)), + fit: BoxFit.fill, + ), + ), + ), + Positioned( + top: 0, + right: 0, + child: CommonIconButton( + icon: Icons.remove_circle, + iconColor: Colors.red, + onPressed: () => deleteImageFile(idx), + ), + ) + ], + ), + ), + ), + Expanded( + child: TextField( + controller: _threadTextFieldController, + maxLines: null, + style: TextStyle(fontSize: 14), + decoration: InputDecoration( + hintText: "댓글을 남겨주세요.", + hintStyle: TextStyle(fontSize: 14, color: GuamColorFamily.grayscaleGray5), + border: InputBorder.none, + focusedBorder: InputBorder.none, + enabledBorder: InputBorder.none, + errorBorder: InputBorder.none, + disabledBorder: InputBorder.none, + contentPadding: EdgeInsets.only(top: 18, bottom: 15), + ), + ), + ), + ], + ), + ), + !sending ? TextButton( + // autofocus: true, + onPressed: () {}, + style: ButtonStyle( + padding: MaterialStateProperty.all( + EdgeInsets.symmetric(vertical: 15, horizontal: 16)), + ), + child: Text( + '등록', + style: TextStyle( + color: GuamColorFamily.purpleCore, + fontSize: 16, + ), + ), + ) + : ButtonSizeCircularProgressIndicator() + ], + ), + ); + } +} diff --git a/lib/commons/custom_app_bar.dart b/lib/commons/custom_app_bar.dart index 517d8169..3f828d66 100644 --- a/lib/commons/custom_app_bar.dart +++ b/lib/commons/custom_app_bar.dart @@ -1,6 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter/cupertino.dart'; -import 'dart:io' show Platform; class CustomAppBar extends StatelessWidget with PreferredSizeWidget { final String title; @@ -18,44 +16,24 @@ class CustomAppBar extends StatelessWidget with PreferredSizeWidget { Widget build(BuildContext context) { var textColor = Colors.black; var iconColor = Colors.black; - - if (Platform.isAndroid) { - return AppBar( - elevation: 1, - title: Center( - child: Text( - title ?? "", - style: TextStyle(color: textColor), - ), - ), - leading: leading != null - ? Material(color: Colors.transparent, child: leading) - : null, - bottom: bottom, - actions: trailing == null - ? [] - : [Material(color: Colors.transparent, child: trailing)], - backgroundColor: backgroundColor ?? Colors.white, - iconTheme: IconThemeData( - color: iconColor, - ), - ); - } else { - return AppBar( - title: Center( - child: Text( - title ?? "", - style: TextStyle( - color: textColor, - ), - ), - ), - leading: leading != null - ? Material(color: Colors.transparent, child: leading) - : null, - bottom: bottom, - backgroundColor: backgroundColor ?? Colors.transparent, - ); - } + return AppBar( + centerTitle: true, + elevation: 1, + title: Text( + title ?? "", + style: TextStyle(color: textColor), + ), + leading: leading != null + ? Material(color: Colors.transparent, child: leading) + : null, + bottom: bottom, + actions: trailing == null + ? [] + : [Material(color: Colors.transparent, child: trailing)], + backgroundColor: backgroundColor ?? Colors.white, + iconTheme: IconThemeData( + color: iconColor, + ), + ); } } diff --git a/lib/commons/image_thumbnail.dart b/lib/commons/image_thumbnail.dart new file mode 100644 index 00000000..64e10ac6 --- /dev/null +++ b/lib/commons/image_thumbnail.dart @@ -0,0 +1,45 @@ +import 'package:flutter/material.dart'; +import 'package:transparent_image/transparent_image.dart'; +import '../helpers/http_request.dart'; +import 'closable_image_expanded.dart'; + +class ImageThumbnail extends StatelessWidget { + /* + * image: for uploaded native image file via ImagePicker, etc., + * imagePath: for network image path (S3) + * IMPORTANT: only 1 of above should be passed to parameter + * */ + final Widget image; + final String imagePath; + final double height; + final double width; + + ImageThumbnail({this.image, this.imagePath, this.height, this.width}); + + @override + Widget build(BuildContext context) { + return GestureDetector( + child: Container( + height: height, + width: width, + child: ClipRRect( + borderRadius: BorderRadius.circular(5), + child: image ?? FadeInImage( + placeholder: MemoryImage(kTransparentImage), + image: NetworkImage(HttpRequest().s3BaseAuthority + imagePath), + fit: BoxFit.cover, + ), + ), + ), + onTap: () => Navigator.push( + context, + MaterialPageRoute( + builder: (_) => ClosableImageExpanded( + image: image ?? null, + imagePath: imagePath ?? null + ) + ) + ) + ); + } +} diff --git a/lib/helpers/pick_image.dart b/lib/helpers/pick_image.dart new file mode 100644 index 00000000..518c24fc --- /dev/null +++ b/lib/helpers/pick_image.dart @@ -0,0 +1,17 @@ +import 'package:flutter/material.dart'; +import 'package:image_picker/image_picker.dart'; + +Future pickImage({@required type}) async { + final ImagePicker picker = ImagePicker(); + switch (type) { + case 'gallery': + return await picker.getImage(source: ImageSource.gallery); + break; + case 'camera': + return await picker.getImage(source: ImageSource.camera); + break; + default: + print("We can pick images from either gallery or camera."); + return null; + } +} diff --git a/lib/providers/posts/posts.dart b/lib/providers/posts/posts.dart index 4ef712d5..1f64e409 100644 --- a/lib/providers/posts/posts.dart +++ b/lib/providers/posts/posts.dart @@ -71,7 +71,7 @@ class Posts with ChangeNotifier { 'isLiked': false, 'comment': '@jhkang 쪽지 드렸습니다!🙏', 'like': 0, - } + }, ], 'commentCnt': 10, 'scrap': 10, diff --git a/lib/screens/boards/comments/comment_banner.dart b/lib/screens/boards/comments/comment_banner.dart index ae46c28d..b353d674 100644 --- a/lib/screens/boards/comments/comment_banner.dart +++ b/lib/screens/boards/comments/comment_banner.dart @@ -13,7 +13,7 @@ class CommentBanner extends StatelessWidget { @override Widget build(BuildContext context) { return Padding( - padding: EdgeInsets.only(top: 18), + padding: EdgeInsets.only(top: 10), child: Row( children: [ Container( diff --git a/lib/screens/boards/comments/comment_body.dart b/lib/screens/boards/comments/comment_body.dart index 10cc4983..21c9024e 100644 --- a/lib/screens/boards/comments/comment_body.dart +++ b/lib/screens/boards/comments/comment_body.dart @@ -27,7 +27,7 @@ class CommentBody extends StatelessWidget { ), ), Padding( - padding: EdgeInsets.only(left: 32, top: 4), + padding: EdgeInsets.only(left: 32, top: 4, bottom: 8), child: IconText( iconSize: 18, fontSize: 10, diff --git a/lib/screens/boards/posts/detail/post_detail.dart b/lib/screens/boards/posts/detail/post_detail.dart index 0a77b6eb..d4724919 100644 --- a/lib/screens/boards/posts/detail/post_detail.dart +++ b/lib/screens/boards/posts/detail/post_detail.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:guam_community_client/commons/back.dart'; +import 'package:guam_community_client/commons/common_text_field.dart'; import 'package:guam_community_client/commons/custom_app_bar.dart'; import 'package:guam_community_client/models/boards/post.dart'; import 'package:guam_community_client/screens/boards/comments/comments.dart'; @@ -42,7 +43,7 @@ class PostDetail extends StatelessWidget { ), body: SingleChildScrollView( child: Padding( - padding: EdgeInsets.symmetric(horizontal: 24), + padding: EdgeInsets.only(left: 24, right: 24, bottom: 56), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -71,14 +72,23 @@ class PostDetail extends StatelessWidget { color: GuamColorFamily.grayscaleGray7, ), Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - ...post.comments.map((comment) => Comments(comment: comment)) - ] + Column( + children: [ + ...post.comments.map((comment) => Comments(comment: comment)) + ] + ), + ], ), ], ), ), ), + bottomSheet: SizedBox( + height: 56, + child: CommonTextField(onTap: null, editTarget: null), + ), ); } } diff --git a/lib/screens/search/search_app.dart b/lib/screens/search/search_app.dart index cea4d941..78f2c0db 100644 --- a/lib/screens/search/search_app.dart +++ b/lib/screens/search/search_app.dart @@ -5,7 +5,7 @@ class SearchApp extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( - appBar: CustomAppBar(title: '검색') + appBar: CustomAppBar(title: '검색'), ); } } diff --git a/pubspec.lock b/pubspec.lock index 8385ee6c..a643172a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -102,6 +102,13 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.4" flutter_session: dependency: "direct main" description: @@ -147,6 +154,27 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "4.0.0" + image_picker: + dependency: "direct main" + description: + name: image_picker + url: "https://pub.dartlang.org" + source: hosted + version: "0.7.5+4" + image_picker_for_web: + dependency: transitive + description: + name: image_picker_for_web + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" + image_picker_platform_interface: + dependency: transitive + description: + name: image_picker_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0" intl: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 7a595b60..80eb770b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,7 +34,10 @@ dependencies: intl: ^0.17.0 flutter_svg: ^0.21.0+1 bot_toast: ^4.0.1 + + # Image transparent_image: ^2.0.0 + image_picker: ^0.7.4 dev_dependencies: flutter_test: From 17558547da29568a7ed76953c5e4bae0e4340c09 Mon Sep 17 00:00:00 2001 From: YeonghyeonKo <46114393+YeonghyeonKO@users.noreply.github.com> Date: Sat, 13 Nov 2021 11:20:35 +0900 Subject: [PATCH 022/338] Update custom_app_bar.dart - make centerTitle true --- lib/commons/custom_app_bar.dart | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/lib/commons/custom_app_bar.dart b/lib/commons/custom_app_bar.dart index 517d8169..8b847ca1 100644 --- a/lib/commons/custom_app_bar.dart +++ b/lib/commons/custom_app_bar.dart @@ -21,12 +21,11 @@ class CustomAppBar extends StatelessWidget with PreferredSizeWidget { if (Platform.isAndroid) { return AppBar( + centerTitle: true, elevation: 1, - title: Center( - child: Text( - title ?? "", - style: TextStyle(color: textColor), - ), + title: Text( + title ?? "", + style: TextStyle(color: textColor), ), leading: leading != null ? Material(color: Colors.transparent, child: leading) @@ -42,13 +41,11 @@ class CustomAppBar extends StatelessWidget with PreferredSizeWidget { ); } else { return AppBar( - title: Center( - child: Text( - title ?? "", - style: TextStyle( - color: textColor, - ), - ), + centerTitle: true, + elevation: 1, + title: Text( + title ?? "", + style: TextStyle(color: textColor), ), leading: leading != null ? Material(color: Colors.transparent, child: leading) From 850f81d49048aa71862c5fde6ff3c18c04461618 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Sat, 13 Nov 2021 11:28:49 +0900 Subject: [PATCH 023/338] botton buttons --- .../buttons/profile_bottom_button.dart | 43 +++++++++++++++++++ .../profile/profile_bottom_buttons.dart | 20 +++++++++ lib/screens/profiles/profiles_body.dart | 2 + 3 files changed, 65 insertions(+) create mode 100644 lib/screens/profiles/buttons/profile_bottom_button.dart create mode 100644 lib/screens/profiles/profile/profile_bottom_buttons.dart diff --git a/lib/screens/profiles/buttons/profile_bottom_button.dart b/lib/screens/profiles/buttons/profile_bottom_button.dart new file mode 100644 index 00000000..3139da49 --- /dev/null +++ b/lib/screens/profiles/buttons/profile_bottom_button.dart @@ -0,0 +1,43 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/icon_text.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +class ProfileBottomButton extends StatelessWidget { + final String label; + final Function onPressed; + + ProfileBottomButton(this.label, this.onPressed); + + @override + Widget build(BuildContext context) { + return TextButton( + style: TextButton.styleFrom( + padding: EdgeInsets.symmetric(vertical: 20, horizontal: 15), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), + side: BorderSide(color: GuamColorFamily.grayscaleGray6), + backgroundColor: Colors.transparent, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + label, + style: TextStyle( + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + fontSize: 14, + color: GuamColorFamily.grayscaleGray2, + ) + ), + IconText( + iconSize: 18, + iconColor: GuamColorFamily.grayscaleGray5, + paddingBtw: 0, + iconPath: 'assets/icons/right.svg', + ) + ], + ), + onPressed: onPressed, + ); + } +} \ No newline at end of file diff --git a/lib/screens/profiles/profile/profile_bottom_buttons.dart b/lib/screens/profiles/profile/profile_bottom_buttons.dart new file mode 100644 index 00000000..81d6cea3 --- /dev/null +++ b/lib/screens/profiles/profile/profile_bottom_buttons.dart @@ -0,0 +1,20 @@ +import 'package:flutter/material.dart'; +import '../buttons/profile_bottom_button.dart'; + +class ProfileBottomButtons extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsets.only(top: 24), + child: Column( + children: [ + ProfileBottomButton('내가 쓴 글', () {}), + Padding(padding: EdgeInsets.only(bottom: 12)), + ProfileBottomButton('저장한 글', () {}), + Padding(padding: EdgeInsets.only(bottom: 12)), + ProfileBottomButton('계정 설정', () {}), + ], + ), + ); + } +} \ No newline at end of file diff --git a/lib/screens/profiles/profiles_body.dart b/lib/screens/profiles/profiles_body.dart index 70f5c524..1a699b0a 100644 --- a/lib/screens/profiles/profiles_body.dart +++ b/lib/screens/profiles/profiles_body.dart @@ -7,6 +7,7 @@ import 'package:guam_community_client/screens/profiles/profile/profile_web_butto import '../../models/profiles/profile.dart'; import 'buttons/profile_edit_button.dart'; import 'profile/profile_skillset.dart'; +import 'profile/profile_bottom_buttons.dart'; class ProfilesBody extends StatelessWidget { final Profile dummy = Profile( @@ -42,6 +43,7 @@ class ProfilesBody extends StatelessWidget { ProfileIntro(dummy.intro), ProfileWebButtons(githubId: dummy.githubId, blogUrl: dummy.blogUrl), ProfileSkillSet(dummy.skillSet), + ProfileBottomButtons(), ], ), ); From 75075194efa32caeadb09452d1f228d9e1b2c5f5 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Mon, 15 Nov 2021 22:58:18 +0900 Subject: [PATCH 024/338] update pub and fix willpopscope algorithm --- ios/Podfile 2.lock | 28 ++++++++++++++++++++++++++++ lib/screens/app/app.dart | 13 ++++++++++++- pubspec.lock | 25 +++++++++---------------- pubspec.yaml | 2 +- 4 files changed, 50 insertions(+), 18 deletions(-) create mode 100644 ios/Podfile 2.lock diff --git a/ios/Podfile 2.lock b/ios/Podfile 2.lock new file mode 100644 index 00000000..be7eea29 --- /dev/null +++ b/ios/Podfile 2.lock @@ -0,0 +1,28 @@ +PODS: + - Flutter (1.0.0) + - hexcolor (0.0.1): + - Flutter + - shared_preferences (0.0.1): + - Flutter + +DEPENDENCIES: + - Flutter (from `Flutter`) + - hexcolor (from `.symlinks/plugins/hexcolor/ios`) + - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) + +EXTERNAL SOURCES: + Flutter: + :path: Flutter + hexcolor: + :path: ".symlinks/plugins/hexcolor/ios" + shared_preferences: + :path: ".symlinks/plugins/shared_preferences/ios" + +SPEC CHECKSUMS: + Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a + hexcolor: fdfb9c4258ad96e949c2dbcdf790a62194b8aa89 + shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d + +PODFILE CHECKSUM: a75497545d4391e2d394c3668e20cfb1c2bbd4aa + +COCOAPODS: 1.11.2 diff --git a/lib/screens/app/app.dart b/lib/screens/app/app.dart index 4113f5e7..3a653c6f 100644 --- a/lib/screens/app/app.dart +++ b/lib/screens/app/app.dart @@ -30,6 +30,8 @@ class AppState extends State { @override Widget build(BuildContext context) { + DateTime currentBackPressTime; + return ChangeNotifierProvider( create: (_) => HomeProvider(), child: WillPopScope( @@ -37,13 +39,22 @@ class AppState extends State { final isFirstRouteInCurrentTab = await _navigatorKeys[_currentTab].currentState.maybePop(); if (isFirstRouteInCurrentTab) { // if not on the 'main' tab - if (_currentTab != TabItem.home) { + if (_currentTab == TabItem.home) { // select 'main' tab _selectTab(TabItem.home); // back button handled by app return false; } } + DateTime now = DateTime.now(); + if (currentBackPressTime == null || + now.difference(currentBackPressTime) > Duration(seconds: 2)) { + currentBackPressTime = now; + // 토스트 넣을 때 '뒤로가기를 한번 더 누르면 앱이 종료 됩니다.' 처리하기 + // Fluttertoast.showToast(msg: exit_warning); + return Future.value(false); + } + return Future.value(true); // let system handle back button if we're on the first route return isFirstRouteInCurrentTab; }, diff --git a/pubspec.lock b/pubspec.lock index a643172a..3d376c94 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -63,7 +63,7 @@ packages: name: cupertino_icons url: "https://pub.dartlang.org" source: hosted - version: "1.0.3" + version: "1.0.4" fake_async: dependency: transitive description: @@ -96,7 +96,7 @@ packages: name: flutter_form_builder url: "https://pub.dartlang.org" source: hosted - version: "6.1.0+1" + version: "6.2.0" flutter_localizations: dependency: transitive description: flutter @@ -122,7 +122,7 @@ packages: name: flutter_svg url: "https://pub.dartlang.org" source: hosted - version: "0.21.0+1" + version: "0.23.0+1" flutter_test: dependency: "direct dev" description: flutter @@ -146,7 +146,7 @@ packages: name: http url: "https://pub.dartlang.org" source: hosted - version: "0.13.3" + version: "0.13.4" http_parser: dependency: transitive description: @@ -259,20 +259,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.0.5" - pedantic: - dependency: transitive - description: - name: pedantic - url: "https://pub.dartlang.org" - source: hosted - version: "1.11.1" petitparser: dependency: transitive description: name: petitparser url: "https://pub.dartlang.org" source: hosted - version: "4.1.0" + version: "4.4.0" platform: dependency: transitive description: @@ -293,7 +286,7 @@ packages: name: process url: "https://pub.dartlang.org" source: hosted - version: "4.2.3" + version: "4.2.4" provider: dependency: "direct main" description: @@ -417,7 +410,7 @@ packages: name: win32 url: "https://pub.dartlang.org" source: hosted - version: "2.2.9" + version: "2.3.0" xdg_directories: dependency: transitive description: @@ -431,7 +424,7 @@ packages: name: xml url: "https://pub.dartlang.org" source: hosted - version: "5.1.2" + version: "5.3.1" sdks: - dart: ">=2.13.0 <3.0.0" + dart: ">=2.14.0 <3.0.0" flutter: ">=2.0.1" diff --git a/pubspec.yaml b/pubspec.yaml index 80eb770b..91af65d4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -32,10 +32,10 @@ dependencies: conditional_builder: ^1.0.2 flutter_form_builder: ^6.0.0-nullsafety.1 intl: ^0.17.0 - flutter_svg: ^0.21.0+1 bot_toast: ^4.0.1 # Image + flutter_svg: ^0.23.0+1 transparent_image: ^2.0.0 image_picker: ^0.7.4 From 8024bb7655f2dd0fee616c797091614c024dc1fd Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Mon, 15 Nov 2021 23:13:03 +0900 Subject: [PATCH 025/338] setting for ios --- ios/Podfile 2.lock | 28 ---------------------------- ios/Podfile.lock | 6 ++++++ 2 files changed, 6 insertions(+), 28 deletions(-) delete mode 100644 ios/Podfile 2.lock diff --git a/ios/Podfile 2.lock b/ios/Podfile 2.lock deleted file mode 100644 index be7eea29..00000000 --- a/ios/Podfile 2.lock +++ /dev/null @@ -1,28 +0,0 @@ -PODS: - - Flutter (1.0.0) - - hexcolor (0.0.1): - - Flutter - - shared_preferences (0.0.1): - - Flutter - -DEPENDENCIES: - - Flutter (from `Flutter`) - - hexcolor (from `.symlinks/plugins/hexcolor/ios`) - - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) - -EXTERNAL SOURCES: - Flutter: - :path: Flutter - hexcolor: - :path: ".symlinks/plugins/hexcolor/ios" - shared_preferences: - :path: ".symlinks/plugins/shared_preferences/ios" - -SPEC CHECKSUMS: - Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a - hexcolor: fdfb9c4258ad96e949c2dbcdf790a62194b8aa89 - shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d - -PODFILE CHECKSUM: a75497545d4391e2d394c3668e20cfb1c2bbd4aa - -COCOAPODS: 1.11.2 diff --git a/ios/Podfile.lock b/ios/Podfile.lock index be7eea29..e8c1be1b 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -2,12 +2,15 @@ PODS: - Flutter (1.0.0) - hexcolor (0.0.1): - Flutter + - image_picker (0.0.1): + - Flutter - shared_preferences (0.0.1): - Flutter DEPENDENCIES: - Flutter (from `Flutter`) - hexcolor (from `.symlinks/plugins/hexcolor/ios`) + - image_picker (from `.symlinks/plugins/image_picker/ios`) - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) EXTERNAL SOURCES: @@ -15,12 +18,15 @@ EXTERNAL SOURCES: :path: Flutter hexcolor: :path: ".symlinks/plugins/hexcolor/ios" + image_picker: + :path: ".symlinks/plugins/image_picker/ios" shared_preferences: :path: ".symlinks/plugins/shared_preferences/ios" SPEC CHECKSUMS: Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a hexcolor: fdfb9c4258ad96e949c2dbcdf790a62194b8aa89 + image_picker: 50e7c7ff960e5f58faa4d1f4af84a771c671bc4a shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d PODFILE CHECKSUM: a75497545d4391e2d394c3668e20cfb1c2bbd4aa From b8cf3e7172130c8248027798cf5ac7d181f34920 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sat, 20 Nov 2021 16:06:38 +0900 Subject: [PATCH 026/338] upgrade ios version of simulator --- ios/Runner.xcodeproj/project.pbxproj | 42 +++++++++++++++++++--------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index dacc9b1d..0fcbd4fd 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 55; objects = { /* Begin PBXBuildFile section */ @@ -68,7 +68,6 @@ 5209EB4C39EFB1D9572AC4B7 /* Pods-Runner.release.xcconfig */, B3D6DB9771001E387EC483AD /* Pods-Runner.profile.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; @@ -93,6 +92,7 @@ 9D4158351043250378431FC0 /* Frameworks */, ); sourceTree = ""; + usesTabs = 0; }; 97C146EF1CF9000F007C117D /* Products */ = { isa = PBXGroup; @@ -166,7 +166,7 @@ }; }; buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -340,7 +340,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -356,10 +356,15 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = ZP42A55SVA; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.wafflestudio.guam.guamCommunityClient; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.wafflestudio.guam; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; @@ -414,7 +419,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -463,11 +468,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -480,10 +486,15 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = ZP42A55SVA; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.wafflestudio.guam.guamCommunityClient; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.wafflestudio.guam; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -499,10 +510,15 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = ZP42A55SVA; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.wafflestudio.guam.guamCommunityClient; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.wafflestudio.guam; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; From 4b1441aa5dc31a357d9cdbe149465c6db43becd1 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sat, 20 Nov 2021 16:07:24 +0900 Subject: [PATCH 027/338] upgrade image picker --- ios/Podfile.lock | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index be7eea29..e8c1be1b 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -2,12 +2,15 @@ PODS: - Flutter (1.0.0) - hexcolor (0.0.1): - Flutter + - image_picker (0.0.1): + - Flutter - shared_preferences (0.0.1): - Flutter DEPENDENCIES: - Flutter (from `Flutter`) - hexcolor (from `.symlinks/plugins/hexcolor/ios`) + - image_picker (from `.symlinks/plugins/image_picker/ios`) - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) EXTERNAL SOURCES: @@ -15,12 +18,15 @@ EXTERNAL SOURCES: :path: Flutter hexcolor: :path: ".symlinks/plugins/hexcolor/ios" + image_picker: + :path: ".symlinks/plugins/image_picker/ios" shared_preferences: :path: ".symlinks/plugins/shared_preferences/ios" SPEC CHECKSUMS: Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a hexcolor: fdfb9c4258ad96e949c2dbcdf790a62194b8aa89 + image_picker: 50e7c7ff960e5f58faa4d1f4af84a771c671bc4a shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d PODFILE CHECKSUM: a75497545d4391e2d394c3668e20cfb1c2bbd4aa From 83b9e739791c0e9dcd11c1c06b6642c00cadc337 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sat, 20 Nov 2021 21:32:12 +0900 Subject: [PATCH 028/338] resolve conflicts --- ios/Runner.xcodeproj/project.pbxproj | 42 +++++++++++++++++++--------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index dacc9b1d..0fcbd4fd 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 55; objects = { /* Begin PBXBuildFile section */ @@ -68,7 +68,6 @@ 5209EB4C39EFB1D9572AC4B7 /* Pods-Runner.release.xcconfig */, B3D6DB9771001E387EC483AD /* Pods-Runner.profile.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; @@ -93,6 +92,7 @@ 9D4158351043250378431FC0 /* Frameworks */, ); sourceTree = ""; + usesTabs = 0; }; 97C146EF1CF9000F007C117D /* Products */ = { isa = PBXGroup; @@ -166,7 +166,7 @@ }; }; buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; + compatibilityVersion = "Xcode 13.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -340,7 +340,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -356,10 +356,15 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = ZP42A55SVA; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.wafflestudio.guam.guamCommunityClient; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.wafflestudio.guam; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; @@ -414,7 +419,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -463,11 +468,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -480,10 +486,15 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = ZP42A55SVA; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.wafflestudio.guam.guamCommunityClient; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.wafflestudio.guam; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -499,10 +510,15 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = ZP42A55SVA; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.wafflestudio.guam.guamCommunityClient; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.wafflestudio.guam; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; From 37d01bb5484626b60d73c49d8f45738c03af9568 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sun, 21 Nov 2021 22:58:22 +0900 Subject: [PATCH 029/338] add cancel_outlined icon --- assets/icons/cancel_filled.svg | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 assets/icons/cancel_filled.svg diff --git a/assets/icons/cancel_filled.svg b/assets/icons/cancel_filled.svg new file mode 100644 index 00000000..409cee00 --- /dev/null +++ b/assets/icons/cancel_filled.svg @@ -0,0 +1,3 @@ + + + From e6b25dbbf77c700102ec520e9b00d532cb9c124b Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sun, 21 Nov 2021 23:45:34 +0900 Subject: [PATCH 030/338] finish comment text field --- lib/commons/common_image_field.dart | 83 ++++++ lib/commons/common_text_field.dart | 256 +++++++++--------- lib/providers/posts/posts.dart | 39 ++- .../boards/posts/detail/post_detail.dart | 5 +- 4 files changed, 244 insertions(+), 139 deletions(-) create mode 100644 lib/commons/common_image_field.dart diff --git a/lib/commons/common_image_field.dart b/lib/commons/common_image_field.dart new file mode 100644 index 00000000..5e950516 --- /dev/null +++ b/lib/commons/common_image_field.dart @@ -0,0 +1,83 @@ +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:image_picker/image_picker.dart'; + +import 'common_icon_button.dart'; +import 'image_thumbnail.dart'; + +class CommonImageField extends StatefulWidget { + + @override + _CommonImageFieldState createState() => _CommonImageFieldState(); +} + +class _CommonImageFieldState extends State { + final double maxImgSize = 80; + final double deleteImgButtonRadius = 12; + List imageFileList = []; + + @override + void dispose() { + imageFileList.clear(); + super.dispose(); + } + + void setImageFile(PickedFile val) { + setState(() { + if (val != null) imageFileList.add(val); + }); + } + + void deleteImageFile(int idx) { + setState(() => imageFileList.removeAt(idx)); + } + + @override + Widget build(BuildContext context) { + print(imageFileList); + return Padding( + padding: const EdgeInsets.all(8.0), + child: + imageFileList.isNotEmpty ? + Container( + // color: Colors.transparent, + constraints: BoxConstraints(maxHeight: maxImgSize + deleteImgButtonRadius), + margin: EdgeInsets.only(bottom: 10), + child: ListView.builder( + scrollDirection: Axis.horizontal, + itemCount: imageFileList.length, + itemBuilder: (_, idx) => + Stack( + children: [ + Container( + margin: EdgeInsets.only( + top: deleteImgButtonRadius, + right: deleteImgButtonRadius, + ), + child: ImageThumbnail( + width: maxImgSize, + height: maxImgSize, + image: Image( + image: FileImage(File(imageFileList[idx].path)), + fit: BoxFit.fill, + ), + ), + ), + Positioned( + top: 0, + right: 0, + child: CommonIconButton( + icon: Icons.remove_circle, + iconColor: Colors.red, + onPressed: () => deleteImageFile(idx), + ), + ) + ], + ), + ), + ) + : Container(), + ); + } +} diff --git a/lib/commons/common_text_field.dart b/lib/commons/common_text_field.dart index 18cf8749..ce6b5c21 100644 --- a/lib/commons/common_text_field.dart +++ b/lib/commons/common_text_field.dart @@ -6,31 +6,28 @@ import 'package:flutter/foundation.dart'; import 'dart:io'; import '../helpers/pick_image.dart'; import 'image_thumbnail.dart'; -import 'common_icon_button.dart'; import 'button_size_circular_progress_indicator.dart'; class CommonTextField extends StatefulWidget { final Function onTap; final dynamic editTarget; - final bool allowImages; - CommonTextField({@required this.onTap, this.editTarget, this.allowImages = true}); + CommonTextField({@required this.onTap, this.editTarget}); @override State createState() => _CommonTextFieldState(); } class _CommonTextFieldState extends State { - final _threadTextFieldController = TextEditingController(); + final _commentTextFieldController = TextEditingController(); final double maxImgSize = 80; - final double deleteImgButtonRadius = 12; - List imageFileList = []; bool sending = false; + List imageFileList = []; @override void dispose() { imageFileList.clear(); - _threadTextFieldController.dispose(); + _commentTextFieldController.dispose(); super.dispose(); } @@ -41,130 +38,125 @@ class _CommonTextFieldState extends State { } void deleteImageFile(int idx) { - setState(() { - imageFileList.removeAt(idx); - }); + setState(() => imageFileList.removeAt(idx)); } void toggleSending() { - setState(() { - sending = !sending; - }); + setState(() => sending = !sending); } @override Widget build(BuildContext context) { bool isEdit = widget.editTarget != null; - _threadTextFieldController.text = isEdit ? widget.editTarget.content : null; - - Future send() async { - toggleSending(); + _commentTextFieldController.text = isEdit ? widget.editTarget.content : null; - try { - if (isEdit) { - await widget.onTap( - id: widget.editTarget.id, - fields: {"content": _threadTextFieldController.text}, - ).then((successful) { - if (successful) { - _threadTextFieldController.clear(); - FocusScope.of(context).unfocus(); - } - }); - } else { - await widget.onTap( - files: [...imageFileList.map((e) => File(e.path))], - fields: {"content": _threadTextFieldController.text}, - ).then((successful) { - if (successful) { - imageFileList.clear(); - _threadTextFieldController.clear(); - FocusScope.of(context).unfocus(); - } - }); - } - } catch (e) { - print(e); - } finally { - toggleSending(); - } - } + // Future send() async { + // toggleSending(); + // + // try { + // if (isEdit) { + // await widget.onTap( + // id: widget.editTarget.id, + // fields: {"content": _commentTextFieldController.text}, + // ).then((successful) { + // if (successful) { + // _commentTextFieldController.clear(); + // FocusScope.of(context).unfocus(); + // } + // }); + // } else { + // await widget.onTap( + // files: [...imageFileList.map((e) => File(e.path))], + // fields: {"content": _commentTextFieldController.text}, + // ).then((successful) { + // if (successful) { + // imageFileList.clear(); + // _commentTextFieldController.clear(); + // FocusScope.of(context).unfocus(); + // } + // }); + // } + // } catch (e) { + // print(e); + // } finally { + // toggleSending(); + // } + // } - return DecoratedBox( - decoration: BoxDecoration( - color: Colors.white, - boxShadow: [ - BoxShadow( - color: Colors.grey.withOpacity(0.05), - blurRadius: 4, - offset: Offset(0, -2), // changes position of shadow - ), - ], - ), - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Row( - children: [ - if (!isEdit && widget.allowImages) Padding( - padding: EdgeInsets.symmetric(horizontal: 16), - child: IconButton( - iconSize: 24, - padding: EdgeInsets.zero, - constraints: BoxConstraints(), - icon: SvgPicture.asset('assets/icons/camera.svg'), - onPressed: !sending - ? () { - pickImage(type: 'gallery').then((img) => - setImageFile(img)); - } - : null, - ), - ), - ], - ), - Expanded( - child: Column( - children: [ - if (imageFileList.isNotEmpty) Container( - constraints: BoxConstraints(maxHeight: maxImgSize + deleteImgButtonRadius), - margin: EdgeInsets.only(bottom: 10), - child: ListView.builder( - scrollDirection: Axis.horizontal, - itemCount: imageFileList.length, - itemBuilder: (_, idx) => - Stack( - children: [ - Container( - margin: EdgeInsets.only( - top: deleteImgButtonRadius, - right: deleteImgButtonRadius, - ), - child: ImageThumbnail( - width: maxImgSize, - height: maxImgSize, - image: Image( - image: FileImage(File(imageFileList[idx].path)), - fit: BoxFit.fill, - ), - ), + return SizedBox( + height: imageFileList.isNotEmpty + ? 152 // 96 + 56 + : 56, + child: DecoratedBox( + decoration: BoxDecoration( + color: GuamColorFamily.grayscaleWhite, + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.05), + blurRadius: 4, + offset: Offset(0, -2), // changes position of shadow + ), + ], + ), + child: Column( + children: [ + imageFileList.isNotEmpty + ? Container( + color: GuamColorFamily.grayscaleGray1.withOpacity(0.4), + padding: EdgeInsets.only(left: 23, top: 8, bottom: 8), + constraints: BoxConstraints(maxHeight: maxImgSize + 15), + child: ListView.builder( + scrollDirection: Axis.horizontal, + itemCount: imageFileList.length, + itemBuilder: (_, idx) => + Stack( + children: [ + Container( + padding: EdgeInsets.only(right: 14.87), + child: ImageThumbnail( + width: maxImgSize, + height: maxImgSize, + image: Image( + image: FileImage(File(imageFileList[idx].path)), + fit: BoxFit.fill, ), - Positioned( - top: 0, - right: 0, - child: CommonIconButton( - icon: Icons.remove_circle, - iconColor: Colors.red, - onPressed: () => deleteImageFile(idx), - ), - ) - ], + ), ), + Positioned( + top: 4, + right: 18, + child: IconButton( + iconSize: 18, + padding: EdgeInsets.zero, + constraints: BoxConstraints(), + icon: SvgPicture.asset('assets/icons/cancel_filled.svg'), + onPressed: () => deleteImageFile(idx), + ), + ) + ], + ), + ), + ) + : Container(), + Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + if (!isEdit) Padding( + padding: EdgeInsets.symmetric(horizontal: 16), + child: IconButton( + iconSize: 24, + padding: EdgeInsets.zero, + constraints: BoxConstraints(), + icon: SvgPicture.asset('assets/icons/camera.svg'), + onPressed: !sending + ? () => pickImage(type: 'gallery').then((img) => + setImageFile(img)) + : null, ), ), Expanded( child: TextField( - controller: _threadTextFieldController, + controller: _commentTextFieldController, maxLines: null, style: TextStyle(fontSize: 14), decoration: InputDecoration( @@ -175,30 +167,26 @@ class _CommonTextFieldState extends State { enabledBorder: InputBorder.none, errorBorder: InputBorder.none, disabledBorder: InputBorder.none, - contentPadding: EdgeInsets.only(top: 18, bottom: 15), + contentPadding: EdgeInsets.only(top: 18, bottom: 20), ), ), ), + !sending + ? TextButton( + onPressed: () {}, + child: Text( + '등록', + style: TextStyle( + color: GuamColorFamily.purpleCore, + fontSize: 16, + ), + ), + ) + : ButtonSizeCircularProgressIndicator() ], ), - ), - !sending ? TextButton( - // autofocus: true, - onPressed: () {}, - style: ButtonStyle( - padding: MaterialStateProperty.all( - EdgeInsets.symmetric(vertical: 15, horizontal: 16)), - ), - child: Text( - '등록', - style: TextStyle( - color: GuamColorFamily.purpleCore, - fontSize: 16, - ), - ), - ) - : ButtonSizeCircularProgressIndicator() - ], + ], + ), ), ); } diff --git a/lib/providers/posts/posts.dart b/lib/providers/posts/posts.dart index 1f64e409..b5d0e7a2 100644 --- a/lib/providers/posts/posts.dart +++ b/lib/providers/posts/posts.dart @@ -118,7 +118,44 @@ class Posts with ChangeNotifier { } ], 'like': 87, - 'comments': [], + 'comments': [ + { + 'id': 4, + 'profile': { + 'id': 3, + 'nickname': 'bluesky', + 'profileImageUrl': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', + }, + 'isAuthor': false, + 'isLiked': true, + 'comment': '모든 문제 다 풀으셨나요?', + 'like': 3, + }, + { + 'id': 5, + 'profile': { + 'id': 6, + 'nickname': 'jhkang', + // 'profileImageUrl': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', + }, + 'isAuthor': false, + 'isLiked': true, + 'comment': '안녕하세요. 혹시 과외하실 생각 있으시면 저한테 쪽지 보내주세요! 제 프로필에 정보 나와있습니다.', + 'like': 2, + }, + { + 'id': 6, + 'profile': { + 'id': 2, + 'nickname': 'jwjeong', + 'profileImageUrl': 'https://cdn.speconomy.com/news/photo/201705/20170514_1_bodyimg_82397.png', + }, + 'isAuthor': true, + 'isLiked': false, + 'comment': '@bluesky 어우 당연하죠 엄청 쉽던데요? \n @jhkang 쪽지 드렸습니다!🙏', + 'like': 0, + }, + ], 'commentCnt': 30, 'scrap': 10, 'isLiked': false, diff --git a/lib/screens/boards/posts/detail/post_detail.dart b/lib/screens/boards/posts/detail/post_detail.dart index d4724919..fab0f5fa 100644 --- a/lib/screens/boards/posts/detail/post_detail.dart +++ b/lib/screens/boards/posts/detail/post_detail.dart @@ -85,10 +85,7 @@ class PostDetail extends StatelessWidget { ), ), ), - bottomSheet: SizedBox( - height: 56, - child: CommonTextField(onTap: null, editTarget: null), - ), + bottomSheet: CommonTextField(onTap: null, editTarget: null), ); } } From edd9b00eb8b9dc3193dc0ae51b608b4e6523fdbe Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Thu, 25 Nov 2021 00:49:49 +0900 Subject: [PATCH 031/338] render the last comment by padding when an image of comment has been added --- .../bottom_modal/bottom_modal_functions.dart | 60 +++++++++++++++++ lib/commons/bottom_modal/bottom_modals.dart | 45 +++++++++++++ lib/commons/common_confirm_dialog.dart | 65 +++++++++++++++++++ lib/commons/common_text_field.dart | 24 +++++-- .../{ => image}/closable_image_expanded.dart | 2 +- .../{ => image}/common_image_field.dart | 4 +- lib/commons/{ => image}/image_container.dart | 0 lib/commons/{ => image}/image_expanded.dart | 12 ++-- lib/commons/{ => image}/image_thumbnail.dart | 2 +- .../boards/posts/detail/post_detail.dart | 43 +++++++++--- lib/screens/boards/posts/post_image.dart | 2 +- 11 files changed, 234 insertions(+), 25 deletions(-) create mode 100644 lib/commons/bottom_modal/bottom_modal_functions.dart create mode 100644 lib/commons/bottom_modal/bottom_modals.dart create mode 100644 lib/commons/common_confirm_dialog.dart rename lib/commons/{ => image}/closable_image_expanded.dart (95%) rename lib/commons/{ => image}/common_image_field.dart (96%) rename lib/commons/{ => image}/image_container.dart (100%) rename lib/commons/{ => image}/image_expanded.dart (64%) rename lib/commons/{ => image}/image_thumbnail.dart (96%) diff --git a/lib/commons/bottom_modal/bottom_modal_functions.dart b/lib/commons/bottom_modal/bottom_modal_functions.dart new file mode 100644 index 00000000..bd95afd7 --- /dev/null +++ b/lib/commons/bottom_modal/bottom_modal_functions.dart @@ -0,0 +1,60 @@ +import 'package:flutter/material.dart'; +import '../common_confirm_dialog.dart'; + +class BottomModalFunctions extends StatelessWidget { + final Function customFunction; + final IconData iconData; + final String text; + final String detailText; + final Color iconColor; + final Color textColor; + final Color defaultColor = Colors.black; + final bool requireConfirm; + + BottomModalFunctions({this.customFunction, this.iconData, this.text,this.detailText, this.iconColor, this.textColor, this.requireConfirm = false}); + + @override + Widget build(BuildContext context) { + + Future _showMyDialog() async { + return showDialog( + context: context, + barrierDismissible: false, + builder: (_) { + return CommonConfirmDialog( + dialogText: detailText, + onPressConfirm: customFunction, + ); + }, + ); + } + + return InkWell( + onTap: requireConfirm ? _showMyDialog : customFunction, + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 10, vertical: 10), + child: Row( + children: [ + Container( + margin: EdgeInsets.only(right: 13), + height: 30, + width: 30, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(30), + color: Colors.white + ), + child: Icon(iconData, color: iconColor ?? defaultColor), + ), + Text( + text, + style: TextStyle( + fontSize: 14, + color: textColor ?? defaultColor + ), + ) + ], + ), + ), + ); + } +} diff --git a/lib/commons/bottom_modal/bottom_modals.dart b/lib/commons/bottom_modal/bottom_modals.dart new file mode 100644 index 00000000..fae7de1d --- /dev/null +++ b/lib/commons/bottom_modal/bottom_modals.dart @@ -0,0 +1,45 @@ +import 'package:flutter/material.dart'; +import 'bottom_modal_functions.dart'; + +class BottomModalContent extends StatelessWidget { + final IconData setIcon; + final String setText; + final String setDetailText; + final String editText; + final String deleteText; + final String deleteDetailText; + final Function setFunc; + final Function editFunc; + final Function deleteFunc; + final bool setRequireConfirm; + final bool deleteRequireConfirm; + + BottomModalContent({ + this.setIcon = Icons.push_pin_outlined, + this.setText, this.setDetailText, this.editText, this.deleteText, this.deleteDetailText, + this.setFunc, this.editFunc, this.deleteFunc, + this.setRequireConfirm = false, this.deleteRequireConfirm = false + }); + + @override + Widget build(BuildContext context) { + return Wrap( + children: [ + Material( + child: Container( + padding: EdgeInsets.symmetric(vertical: 10), + color: Color.fromRGBO(54, 54, 54, 1), + width: double.infinity, + child: Column( + children: [ + if (setFunc != null) BottomModalFunctions(iconData: setIcon, text: setText, detailText: setDetailText, iconColor: Colors.blue, textColor: Colors.blue, customFunction: setFunc, requireConfirm: setRequireConfirm), + if (editFunc != null) BottomModalFunctions(iconData: Icons.edit_outlined, text: editText, textColor: Colors.white, customFunction: editFunc), + if (deleteFunc != null) BottomModalFunctions(iconData: Icons.delete_outlined, text: deleteText, detailText: deleteDetailText, iconColor: Colors.red, textColor: Colors.red, customFunction: deleteFunc, requireConfirm: deleteRequireConfirm), + ], + ), + ), + ) + ], + ); + } +} diff --git a/lib/commons/common_confirm_dialog.dart b/lib/commons/common_confirm_dialog.dart new file mode 100644 index 00000000..8766340a --- /dev/null +++ b/lib/commons/common_confirm_dialog.dart @@ -0,0 +1,65 @@ +import 'package:flutter/material.dart'; + +class CommonConfirmDialog extends StatelessWidget { + final String dialogText; + final String confirmText; + final String declineText; + final Function onPressConfirm; + final Function onPressDecline; + + CommonConfirmDialog({@required this.dialogText, confirmText = "확인", + declineText = "취소", this.onPressConfirm, this.onPressDecline}) + : this.confirmText = confirmText, this.declineText = declineText; + + @override + Widget build(BuildContext context) { + return AlertDialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all(Radius.circular(10)) + ), + titlePadding: EdgeInsets.all(0), + title: Container( + padding: EdgeInsets.all(10), + child: Row( + children: [ + Icon(Icons.notifications_none, size: 16), + Text(" 알림", style: TextStyle(fontSize: 12)) + ] + ) + ), + contentPadding: EdgeInsets.all(10), + content: Text( + dialogText, + textAlign: TextAlign.center, + style: TextStyle(fontSize: 14, color: Colors.black) + ), + actions: [ + TextButton( + child: Text( + confirmText, + style: TextStyle( + fontSize: 14, + color: Color.fromRGBO(85, 88, 255, 1), + ) + ), + onPressed: () { + // 일단은 dialog 2개 연달아 띄우는 tutorial을 위해 순서 유지 + Navigator.of(context).pop(); + if (onPressConfirm != null) onPressConfirm(); + }, + ), + TextButton( + child: Text( + declineText, + style: TextStyle(fontSize: 14, color: Colors.red) + ), + onPressed: () { + // 일단은 dialog 2개 연달아 띄우는 tutorial을 위해 순서 유지 + Navigator.of(context).pop(); + if (onPressDecline != null) onPressDecline(); + }, + ), + ], + ); + } +} diff --git a/lib/commons/common_text_field.dart b/lib/commons/common_text_field.dart index ce6b5c21..e41267eb 100644 --- a/lib/commons/common_text_field.dart +++ b/lib/commons/common_text_field.dart @@ -5,14 +5,16 @@ import 'package:image_picker/image_picker.dart'; import 'package:flutter/foundation.dart'; import 'dart:io'; import '../helpers/pick_image.dart'; -import 'image_thumbnail.dart'; +import 'image/image_thumbnail.dart'; import 'button_size_circular_progress_indicator.dart'; class CommonTextField extends StatefulWidget { final Function onTap; + final Function addCommentImage; + final Function removeCommentImage; final dynamic editTarget; - CommonTextField({@required this.onTap, this.editTarget}); + CommonTextField({@required this.onTap, this.addCommentImage, this.removeCommentImage, this.editTarget}); @override State createState() => _CommonTextFieldState(); @@ -50,6 +52,11 @@ class _CommonTextFieldState extends State { bool isEdit = widget.editTarget != null; _commentTextFieldController.text = isEdit ? widget.editTarget.content : null; + // if (imageFileList.isNotEmpty) { + // widget.addCommentImage(); + // } else { + // widget.removeCommentImage(); + // } // Future send() async { // toggleSending(); // @@ -92,7 +99,7 @@ class _CommonTextFieldState extends State { color: GuamColorFamily.grayscaleWhite, boxShadow: [ BoxShadow( - color: Colors.grey.withOpacity(0.05), + color: Colors.grey.withOpacity(0.1), blurRadius: 4, offset: Offset(0, -2), // changes position of shadow ), @@ -130,7 +137,10 @@ class _CommonTextFieldState extends State { padding: EdgeInsets.zero, constraints: BoxConstraints(), icon: SvgPicture.asset('assets/icons/cancel_filled.svg'), - onPressed: () => deleteImageFile(idx), + onPressed: () { + deleteImageFile(idx); + if (imageFileList.isEmpty) widget.removeCommentImage(); + }, ), ) ], @@ -149,8 +159,10 @@ class _CommonTextFieldState extends State { constraints: BoxConstraints(), icon: SvgPicture.asset('assets/icons/camera.svg'), onPressed: !sending - ? () => pickImage(type: 'gallery').then((img) => - setImageFile(img)) + ? () => pickImage(type: 'gallery').then((img) { + setImageFile(img); + widget.addCommentImage(); + }) : null, ), ), diff --git a/lib/commons/closable_image_expanded.dart b/lib/commons/image/closable_image_expanded.dart similarity index 95% rename from lib/commons/closable_image_expanded.dart rename to lib/commons/image/closable_image_expanded.dart index 122d79d9..638f9246 100644 --- a/lib/commons/closable_image_expanded.dart +++ b/lib/commons/image/closable_image_expanded.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'custom_app_bar.dart'; +import '../custom_app_bar.dart'; import 'image_expanded.dart'; class ClosableImageExpanded extends StatelessWidget { diff --git a/lib/commons/common_image_field.dart b/lib/commons/image/common_image_field.dart similarity index 96% rename from lib/commons/common_image_field.dart rename to lib/commons/image/common_image_field.dart index 5e950516..f3df8d26 100644 --- a/lib/commons/common_image_field.dart +++ b/lib/commons/image/common_image_field.dart @@ -3,7 +3,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:image_picker/image_picker.dart'; -import 'common_icon_button.dart'; +import '../common_icon_button.dart'; import 'image_thumbnail.dart'; class CommonImageField extends StatefulWidget { @@ -37,7 +37,7 @@ class _CommonImageFieldState extends State { Widget build(BuildContext context) { print(imageFileList); return Padding( - padding: const EdgeInsets.all(8.0), + padding: EdgeInsets.all(8), child: imageFileList.isNotEmpty ? Container( diff --git a/lib/commons/image_container.dart b/lib/commons/image/image_container.dart similarity index 100% rename from lib/commons/image_container.dart rename to lib/commons/image/image_container.dart diff --git a/lib/commons/image_expanded.dart b/lib/commons/image/image_expanded.dart similarity index 64% rename from lib/commons/image_expanded.dart rename to lib/commons/image/image_expanded.dart index be9b6201..ee23a6f6 100644 --- a/lib/commons/image_expanded.dart +++ b/lib/commons/image/image_expanded.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:transparent_image/transparent_image.dart'; -import '../helpers/http_request.dart'; +import '../../helpers/http_request.dart'; class ImageExpanded extends StatelessWidget{ final Widget image; @@ -15,11 +15,11 @@ class ImageExpanded extends StatelessWidget{ width: double.infinity, height: double.infinity, child: InteractiveViewer( - child: image ?? FadeInImage( - placeholder: MemoryImage(kTransparentImage), - image: NetworkImage(HttpRequest().s3BaseAuthority + imagePath), - fit: BoxFit.fitWidth, - ) + child: image ?? FadeInImage( + placeholder: MemoryImage(kTransparentImage), + image: NetworkImage(HttpRequest().s3BaseAuthority + imagePath), + fit: BoxFit.fitWidth, + ) ), ); } diff --git a/lib/commons/image_thumbnail.dart b/lib/commons/image/image_thumbnail.dart similarity index 96% rename from lib/commons/image_thumbnail.dart rename to lib/commons/image/image_thumbnail.dart index 64e10ac6..08d7d672 100644 --- a/lib/commons/image_thumbnail.dart +++ b/lib/commons/image/image_thumbnail.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:transparent_image/transparent_image.dart'; -import '../helpers/http_request.dart'; +import '../../helpers/http_request.dart'; import 'closable_image_expanded.dart'; class ImageThumbnail extends StatelessWidget { diff --git a/lib/screens/boards/posts/detail/post_detail.dart b/lib/screens/boards/posts/detail/post_detail.dart index fab0f5fa..c2b48454 100644 --- a/lib/screens/boards/posts/detail/post_detail.dart +++ b/lib/screens/boards/posts/detail/post_detail.dart @@ -10,12 +10,27 @@ import 'package:guam_community_client/screens/boards/posts/detail/post_detail_bo import 'package:guam_community_client/screens/boards/posts/post_info.dart'; import 'package:guam_community_client/styles/colors.dart'; -class PostDetail extends StatelessWidget { - final int maxRenderImgCnt = 4; +class PostDetail extends StatefulWidget { final Post post; PostDetail(this.post); + @override + State createState() => _PostDetailState(); +} + +class _PostDetailState extends State { + final int maxRenderImgCnt = 4; + bool commentImageExist = false; + + void addCommentImage() { + setState(() => commentImageExist = true); + } + + void removeCommentImage() { + setState(() => commentImageExist = false); + } + @override Widget build(BuildContext context) { return Scaffold( @@ -43,11 +58,15 @@ class PostDetail extends StatelessWidget { ), body: SingleChildScrollView( child: Padding( - padding: EdgeInsets.only(left: 24, right: 24, bottom: 56), + padding: EdgeInsets.only( + left: 24, + right: 24, + bottom: commentImageExist ? 156 : 56, + ), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - PostDetailBanner(post), + PostDetailBanner(widget.post), Padding( padding: EdgeInsets.only(top: 8, bottom: 20), child: Divider( @@ -56,11 +75,11 @@ class PostDetail extends StatelessWidget { color: GuamColorFamily.grayscaleGray7, ), ), - PostDetailBody(post), + PostDetailBody(widget.post), Padding( padding: EdgeInsets.only(top: 14, bottom: 8), child: PostInfo( - post: post, + post: widget.post, iconSize: 24, showProfile: false, iconColor: GuamColorFamily.grayscaleGray4, @@ -76,7 +95,7 @@ class PostDetail extends StatelessWidget { children: [ Column( children: [ - ...post.comments.map((comment) => Comments(comment: comment)) + ...widget.post.comments.map((comment) => Comments(comment: comment)) ] ), ], @@ -85,7 +104,15 @@ class PostDetail extends StatelessWidget { ), ), ), - bottomSheet: CommonTextField(onTap: null, editTarget: null), + bottomSheet: Container( + color: Colors.black.withOpacity(0.3), + child: CommonTextField( + onTap: null, + addCommentImage: addCommentImage, + removeCommentImage: removeCommentImage, + editTarget: null, + ), + ), ); } } diff --git a/lib/screens/boards/posts/post_image.dart b/lib/screens/boards/posts/post_image.dart index a69ae357..8fed5e3a 100644 --- a/lib/screens/boards/posts/post_image.dart +++ b/lib/screens/boards/posts/post_image.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:guam_community_client/commons/image_container.dart'; +import 'package:guam_community_client/commons/image/image_container.dart'; import 'package:guam_community_client/models/picture.dart'; import 'package:guam_community_client/styles/colors.dart'; From 15de10640ca821e0eea730b5b78f1247c238ce2a Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sat, 27 Nov 2021 01:28:24 +0900 Subject: [PATCH 032/338] edit ios permission info.plist for opening camera/gallery --- ios/Runner/Info.plist | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 12d96fc9..0e3f889e 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -22,6 +22,12 @@ $(FLUTTER_BUILD_NUMBER) LSRequiresIPhoneOS + NSCameraUsageDescription + To take an avatar photo + NSMicrophoneUsageDescription + To upload an image + NSPhotoLibraryUsageDescription + To choose an avatar UILaunchStoryboardName LaunchScreen UIMainStoryboardFile From 260c36697d062bb6b0f56d66742d16f139660158 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Sat, 27 Nov 2021 11:00:51 +0900 Subject: [PATCH 033/338] Resolve conflicts --- lib/screens/profiles/profile/profile_img.dart | 4 ++-- pubspec.lock | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/screens/profiles/profile/profile_img.dart b/lib/screens/profiles/profile/profile_img.dart index 1b0985ed..506df8f8 100644 --- a/lib/screens/profiles/profile/profile_img.dart +++ b/lib/screens/profiles/profile/profile_img.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:guam_community_client/commons/closable_image_expanded.dart'; +import 'package:guam_community_client/commons/image/closable_image_expanded.dart'; import 'package:guam_community_client/helpers/svg_provider.dart'; import 'package:guam_community_client/models/picture.dart'; import 'package:transparent_image/transparent_image.dart'; @@ -36,4 +36,4 @@ class ProfileImg extends StatelessWidget { ), ); } -} \ No newline at end of file +} diff --git a/pubspec.lock b/pubspec.lock index 407b2e05..4378ffdf 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -108,7 +108,7 @@ packages: name: flutter_plugin_android_lifecycle url: "https://pub.dartlang.org" source: hosted - version: "2.0.4" + version: "2.0.5" flutter_session: dependency: "direct main" description: From e41a1852265138efad2c17a92273f5b7ab4a8f99 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Sat, 27 Nov 2021 11:32:08 +0900 Subject: [PATCH 034/338] Profile edit base --- lib/commons/common_text_button.dart | 33 +++++++++++++++++++ lib/commons/icon_text.dart | 4 +-- .../profiles/buttons/profile_edit_button.dart | 9 +++-- lib/screens/profiles/profiles_edit.dart | 28 ++++++++++++++++ pubspec.lock | 8 ++--- 5 files changed, 74 insertions(+), 8 deletions(-) create mode 100644 lib/commons/common_text_button.dart create mode 100644 lib/screens/profiles/profiles_edit.dart diff --git a/lib/commons/common_text_button.dart b/lib/commons/common_text_button.dart new file mode 100644 index 00000000..43cb9af8 --- /dev/null +++ b/lib/commons/common_text_button.dart @@ -0,0 +1,33 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; +import 'package:hexcolor/hexcolor.dart'; + +class CommonTextButton extends StatelessWidget { + final double fontSize; + final String text; + final Function onPressed; + final HexColor textColor; + final String fontFamily; + + CommonTextButton({this.text, this.fontSize, this.fontFamily, this.textColor, this.onPressed}); + + @override + Widget build(BuildContext context) { + return TextButton( + child: Text( + text, + style: TextStyle( + fontSize: fontSize, + fontFamily: fontFamily, + color: textColor + ), + ), + style: TextButton.styleFrom( + minimumSize: Size.zero, + alignment: Alignment.centerLeft, + tapTargetSize: MaterialTapTargetSize.shrinkWrap, + ), + ); + } +} diff --git a/lib/commons/icon_text.dart b/lib/commons/icon_text.dart index 1d8e7e7b..11b0c4ae 100644 --- a/lib/commons/icon_text.dart +++ b/lib/commons/icon_text.dart @@ -33,12 +33,12 @@ class IconText extends StatelessWidget { fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, ), ), - icon: SvgPicture.asset( + icon: iconPath != null ? SvgPicture.asset( iconPath, color: iconColor, width: iconSize, height: iconSize, - ), + ) : null, ); } } diff --git a/lib/screens/profiles/buttons/profile_edit_button.dart b/lib/screens/profiles/buttons/profile_edit_button.dart index 26371894..51ab65f5 100644 --- a/lib/screens/profiles/buttons/profile_edit_button.dart +++ b/lib/screens/profiles/buttons/profile_edit_button.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/commons/icon_text.dart'; import 'package:guam_community_client/styles/colors.dart'; +import '../profiles_edit.dart'; class ProfileEditButton extends StatelessWidget { @override @@ -10,7 +11,11 @@ class ProfileEditButton extends StatelessWidget { iconPath: 'assets/icons/write.svg', iconColor: GuamColorFamily.purpleLight1, paddingBtw: 0, - onPressed: () {}, + onPressed: () => Navigator.of(context).push( + MaterialPageRoute( + builder: (_) => ProfilesEdit() + ) + ), ); } -} \ No newline at end of file +} diff --git a/lib/screens/profiles/profiles_edit.dart b/lib/screens/profiles/profiles_edit.dart new file mode 100644 index 00000000..0397e579 --- /dev/null +++ b/lib/screens/profiles/profiles_edit.dart @@ -0,0 +1,28 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/back.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; +import '../../commons/custom_app_bar.dart'; +import '../../commons/common_text_button.dart'; + +class ProfilesEdit extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + leading: Back(), + title: '프로필 수정', + trailing: CommonTextButton( + text: '완료', + fontSize: 16, + fontFamily: GuamFontFamily.SpoqaHanSansNeoMedium, + textColor: GuamColorFamily.purpleCore, + onPressed: () {}, + ), + ), + body: SingleChildScrollView( + // child: ProfilesBody(), + ) + ); + } +} diff --git a/pubspec.lock b/pubspec.lock index 4378ffdf..572f5cb3 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,7 +7,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.6.1" + version: "2.8.1" boolean_selector: dependency: transitive description: @@ -35,7 +35,7 @@ packages: name: charcode url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.3.1" clock: dependency: transitive description: @@ -202,7 +202,7 @@ packages: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.7.0" modal_bottom_sheet: dependency: "direct main" description: @@ -389,7 +389,7 @@ packages: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.3.0" + version: "0.4.2" transparent_image: dependency: "direct main" description: From 847b22bd5158c8bfccc26076939d776d32cbd40c Mon Sep 17 00:00:00 2001 From: gajagajago Date: Sat, 27 Nov 2021 16:04:54 +0900 Subject: [PATCH 035/338] Edit nickname, intro --- .../buttons/profile_img_edit_button.dart | 17 +++++++ .../profiles/edit/profile_edit_intro.dart | 25 ++++++++++ .../profiles/edit/profile_edit_label.dart | 25 ++++++++++ .../profiles/edit/profile_edit_nickname.dart | 19 ++++++++ .../profiles/edit/profile_edit_optional.dart | 8 ++++ .../profiles/edit/profile_edit_textfield.dart | 46 +++++++++++++++++++ lib/screens/profiles/profile/profile_img.dart | 8 ++-- lib/screens/profiles/profiles_body.dart | 2 +- lib/screens/profiles/profiles_edit.dart | 35 +++++++++++++- 9 files changed, 180 insertions(+), 5 deletions(-) create mode 100644 lib/screens/profiles/buttons/profile_img_edit_button.dart create mode 100644 lib/screens/profiles/edit/profile_edit_intro.dart create mode 100644 lib/screens/profiles/edit/profile_edit_label.dart create mode 100644 lib/screens/profiles/edit/profile_edit_nickname.dart create mode 100644 lib/screens/profiles/edit/profile_edit_optional.dart create mode 100644 lib/screens/profiles/edit/profile_edit_textfield.dart diff --git a/lib/screens/profiles/buttons/profile_img_edit_button.dart b/lib/screens/profiles/buttons/profile_img_edit_button.dart new file mode 100644 index 00000000..9d46ea95 --- /dev/null +++ b/lib/screens/profiles/buttons/profile_img_edit_button.dart @@ -0,0 +1,17 @@ +import 'package:flutter/material.dart'; +import '../../../commons/common_text_button.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +class ProfileImgEditButton extends StatelessWidget { + @override + Widget build(BuildContext context) { + return CommonTextButton( + text: '프로필 사진 변경', + fontSize: 12, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + textColor: GuamColorFamily.purpleCore, + onPressed: () {}, + ); + } +} diff --git a/lib/screens/profiles/edit/profile_edit_intro.dart b/lib/screens/profiles/edit/profile_edit_intro.dart new file mode 100644 index 00000000..25e0ed87 --- /dev/null +++ b/lib/screens/profiles/edit/profile_edit_intro.dart @@ -0,0 +1,25 @@ +import 'package:flutter/material.dart'; +import 'profile_edit_label.dart'; +import 'profile_edit_textfield.dart'; + +class ProfileEditIntro extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Container( + width: double.infinity, + padding: EdgeInsets.only(bottom: 44), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + ProfileEditLabel('소개'), + Padding(padding: EdgeInsets.only(bottom: 16)), + Row( // Essential to fit in the whole space + children: [ + ProfileEditTextField(maxLength: 150) + ], + ) + ], + ), + ); + } +} diff --git a/lib/screens/profiles/edit/profile_edit_label.dart b/lib/screens/profiles/edit/profile_edit_label.dart new file mode 100644 index 00000000..04e253cd --- /dev/null +++ b/lib/screens/profiles/edit/profile_edit_label.dart @@ -0,0 +1,25 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +class ProfileEditLabel extends StatelessWidget { + final String label; + + ProfileEditLabel(this.label); + + @override + Widget build(BuildContext context) { + return SizedBox( + width: 84, + child: Text( + label, + style: TextStyle( + fontSize: 14, + height: 22/14, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray1, + ), + ), + ); + } +} diff --git a/lib/screens/profiles/edit/profile_edit_nickname.dart b/lib/screens/profiles/edit/profile_edit_nickname.dart new file mode 100644 index 00000000..b517f4d6 --- /dev/null +++ b/lib/screens/profiles/edit/profile_edit_nickname.dart @@ -0,0 +1,19 @@ +import 'package:flutter/material.dart'; +import 'profile_edit_label.dart'; +import 'profile_edit_textfield.dart'; + +class ProfileEditNickname extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Container( + padding: EdgeInsets.fromLTRB(0, 24, 0, 44), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + ProfileEditLabel('이름'), + ProfileEditTextField(maxLength: 10) + ], + ), + ); + } +} diff --git a/lib/screens/profiles/edit/profile_edit_optional.dart b/lib/screens/profiles/edit/profile_edit_optional.dart new file mode 100644 index 00000000..7c7d6683 --- /dev/null +++ b/lib/screens/profiles/edit/profile_edit_optional.dart @@ -0,0 +1,8 @@ +import 'package:flutter/material.dart'; + +class ProfileEditOptional extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Container(); + } +} diff --git a/lib/screens/profiles/edit/profile_edit_textfield.dart b/lib/screens/profiles/edit/profile_edit_textfield.dart new file mode 100644 index 00000000..02444e60 --- /dev/null +++ b/lib/screens/profiles/edit/profile_edit_textfield.dart @@ -0,0 +1,46 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +class ProfileEditTextField extends StatelessWidget { + final int maxLength; // Give value only when needed + + ProfileEditTextField({this.maxLength}); + + @override + Widget build(BuildContext context) { + return Expanded( + child: TextField( + maxLength: maxLength, + maxLines: null, + style: TextStyle( + fontSize: 14, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray1, + height: 22.4/14 + ), + cursorColor: GuamColorFamily.purpleCore, + decoration: InputDecoration( + counterStyle: TextStyle( + color: GuamColorFamily.purpleCore, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + fontSize: 12 + ), + border: UnderlineInputBorder( + borderSide: BorderSide(color: GuamColorFamily.purpleLight2) + ), + focusedBorder: UnderlineInputBorder( + borderSide: BorderSide(color: GuamColorFamily.purpleLight2) + ), + enabledBorder: UnderlineInputBorder( + borderSide: BorderSide(color: GuamColorFamily.purpleLight2) + ), + errorBorder: InputBorder.none, + disabledBorder: InputBorder.none, + isDense: true, + contentPadding: EdgeInsets.only(bottom: 8), + ), + ) + ); + } +} diff --git a/lib/screens/profiles/profile/profile_img.dart b/lib/screens/profiles/profile/profile_img.dart index 506df8f8..4c41cf8d 100644 --- a/lib/screens/profiles/profile/profile_img.dart +++ b/lib/screens/profiles/profile/profile_img.dart @@ -6,14 +6,16 @@ import 'package:transparent_image/transparent_image.dart'; class ProfileImg extends StatelessWidget { final Picture profileImg; + final double height; + final double width; - ProfileImg(this.profileImg); + ProfileImg({this.profileImg, this.height, this.width}); @override Widget build(BuildContext context) { return Container( - height: 120, - width: 120, + height: height, + width: width, decoration: BoxDecoration( shape: BoxShape.circle, color: profileImg != null ? Colors.transparent : Colors.grey, diff --git a/lib/screens/profiles/profiles_body.dart b/lib/screens/profiles/profiles_body.dart index 1a699b0a..c51bd081 100644 --- a/lib/screens/profiles/profiles_body.dart +++ b/lib/screens/profiles/profiles_body.dart @@ -31,7 +31,7 @@ class ProfilesBody extends StatelessWidget { child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ - ProfileImg(dummy.profileImg), + ProfileImg(profileImg: dummy.profileImg, height: 144, width: 144), Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, diff --git a/lib/screens/profiles/profiles_edit.dart b/lib/screens/profiles/profiles_edit.dart index 0397e579..c1e42044 100644 --- a/lib/screens/profiles/profiles_edit.dart +++ b/lib/screens/profiles/profiles_edit.dart @@ -1,11 +1,31 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/commons/back.dart'; +import 'package:guam_community_client/models/profiles/profile.dart'; +import 'package:guam_community_client/screens/profiles/buttons/profile_img_edit_button.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; import '../../commons/custom_app_bar.dart'; import '../../commons/common_text_button.dart'; +import 'profile/profile_img.dart'; +import 'package:guam_community_client/models/picture.dart'; +import 'edit/profile_edit_nickname.dart'; +import 'edit/profile_edit_intro.dart'; +import 'edit/profile_edit_optional.dart'; class ProfilesEdit extends StatelessWidget { + final Profile dummy = Profile( + id: 1, + profileImg: Picture( + id: 1, + urlPath: "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + ), + nickname: "bluesky", + intro: "🦋 N년차 프로덕트 디자이너\n🐶 강아지 몽무와 동거 중\n✉️ abcd@abcd.com\n📷 @abcddesign", + githubId: "abcddesign111", + blogUrl: "tistory.abcddesign", + skillSet: ["figma","photoshop","illustrator","adobe xd","primere pro","aftereffect","cinema4D", "zeplin", "sketch"], + ); + @override Widget build(BuildContext context) { return Scaffold( @@ -21,7 +41,20 @@ class ProfilesEdit extends StatelessWidget { ), ), body: SingleChildScrollView( - // child: ProfilesBody(), + child: Container( + width: double.infinity, + padding: EdgeInsets.all(24), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + ProfileImg(profileImg: dummy.profileImg, height: 96, width: 96), + ProfileImgEditButton(), + ProfileEditNickname(), + ProfileEditIntro(), + ProfileEditOptional(), + ], + ), + ), ) ); } From b74640e898852bef1950df79d8abdf37f6c35bbd Mon Sep 17 00:00:00 2001 From: gajagajago Date: Sat, 27 Nov 2021 17:58:39 +0900 Subject: [PATCH 036/338] Edit skillset --- lib/commons/next.dart | 18 +++++++++++++ .../profiles/edit/profile_edit_blog.dart | 19 +++++++++++++ .../profiles/edit/profile_edit_github.dart | 19 +++++++++++++ .../profiles/edit/profile_edit_label.dart | 6 +++-- .../profiles/edit/profile_edit_optional.dart | 19 ++++++++++++- .../profiles/edit/profile_edit_skillset.dart | 27 +++++++++++++++++++ 6 files changed, 105 insertions(+), 3 deletions(-) create mode 100644 lib/commons/next.dart create mode 100644 lib/screens/profiles/edit/profile_edit_blog.dart create mode 100644 lib/screens/profiles/edit/profile_edit_github.dart create mode 100644 lib/screens/profiles/edit/profile_edit_skillset.dart diff --git a/lib/commons/next.dart b/lib/commons/next.dart new file mode 100644 index 00000000..e3d31dd1 --- /dev/null +++ b/lib/commons/next.dart @@ -0,0 +1,18 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/styles/colors.dart'; + +class Next extends StatelessWidget { + final Function onPressed; + + Next({@required this.onPressed}); + + @override + Widget build(BuildContext context) { + return IconButton( + icon: SvgPicture.asset('assets/icons/right.svg'), + onPressed: onPressed, + color: GuamColorFamily.grayscaleGray5, + ); + } +} diff --git a/lib/screens/profiles/edit/profile_edit_blog.dart b/lib/screens/profiles/edit/profile_edit_blog.dart new file mode 100644 index 00000000..8fdfdd1f --- /dev/null +++ b/lib/screens/profiles/edit/profile_edit_blog.dart @@ -0,0 +1,19 @@ +import 'package:flutter/material.dart'; +import 'profile_edit_label.dart'; +import 'profile_edit_textfield.dart'; + +class ProfileEditBlog extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Container( + padding: EdgeInsets.only(bottom: 24), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + ProfileEditLabel('블로그'), + ProfileEditTextField() + ], + ), + ); + } +} diff --git a/lib/screens/profiles/edit/profile_edit_github.dart b/lib/screens/profiles/edit/profile_edit_github.dart new file mode 100644 index 00000000..c97d3a54 --- /dev/null +++ b/lib/screens/profiles/edit/profile_edit_github.dart @@ -0,0 +1,19 @@ +import 'package:flutter/material.dart'; +import 'profile_edit_label.dart'; +import 'profile_edit_textfield.dart'; + +class ProfileEditGithub extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Container( + padding: EdgeInsets.only(bottom: 24), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + ProfileEditLabel('github ID'), + ProfileEditTextField() + ], + ), + ); + } +} diff --git a/lib/screens/profiles/edit/profile_edit_label.dart b/lib/screens/profiles/edit/profile_edit_label.dart index 04e253cd..06b1aff7 100644 --- a/lib/screens/profiles/edit/profile_edit_label.dart +++ b/lib/screens/profiles/edit/profile_edit_label.dart @@ -1,11 +1,13 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; +import 'package:hexcolor/hexcolor.dart'; class ProfileEditLabel extends StatelessWidget { final String label; + final HexColor textColor; - ProfileEditLabel(this.label); + ProfileEditLabel(this.label, {this.textColor}); @override Widget build(BuildContext context) { @@ -17,7 +19,7 @@ class ProfileEditLabel extends StatelessWidget { fontSize: 14, height: 22/14, fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, - color: GuamColorFamily.grayscaleGray1, + color: textColor == null ? GuamColorFamily.grayscaleGray1 : textColor, ), ), ); diff --git a/lib/screens/profiles/edit/profile_edit_optional.dart b/lib/screens/profiles/edit/profile_edit_optional.dart index 7c7d6683..9166517d 100644 --- a/lib/screens/profiles/edit/profile_edit_optional.dart +++ b/lib/screens/profiles/edit/profile_edit_optional.dart @@ -1,8 +1,25 @@ import 'package:flutter/material.dart'; +import 'profile_edit_label.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'profile_edit_github.dart'; +import 'profile_edit_blog.dart'; +import 'profile_edit_skillset.dart'; class ProfileEditOptional extends StatelessWidget { @override Widget build(BuildContext context) { - return Container(); + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + ProfileEditLabel( + '선택사항', + textColor: GuamColorFamily.purpleCore, + ), + Padding(padding: EdgeInsets.only(bottom: 8)), + ProfileEditGithub(), + ProfileEditBlog(), + ProfileEditSkillSet() + ], + ); } } diff --git a/lib/screens/profiles/edit/profile_edit_skillset.dart b/lib/screens/profiles/edit/profile_edit_skillset.dart new file mode 100644 index 00000000..30bae5aa --- /dev/null +++ b/lib/screens/profiles/edit/profile_edit_skillset.dart @@ -0,0 +1,27 @@ +import 'package:flutter/material.dart'; +import 'profile_edit_label.dart'; +import '../../../commons/next.dart'; +import '../profile/profile_skillset.dart'; + +class ProfileEditSkillSet extends StatelessWidget { + final List dummySkillset = ["figma","photoshop","illustrator", + "adobe xd","primere pro","aftereffect","cinema4D", "zeplin", "sketch"]; + + @override + Widget build(BuildContext context) { + return Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + ProfileEditLabel('기술 스택'), + Next(onPressed: null), + ], + ), + if (dummySkillset.isNotEmpty) + Padding(padding: EdgeInsets.only(bottom: 8)), + ProfileSkillSet(dummySkillset) + ], + ); + } +} From fc1c63ed24c3c888a7e340647ac2f185dbabdd03 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Sat, 27 Nov 2021 18:05:52 +0900 Subject: [PATCH 037/338] Profile Edit skillset detail page base --- .../profiles/edit/profile_edit_skillset.dart | 7 ++++- .../edit/profile_edit_skillset_detail.dart | 26 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 lib/screens/profiles/edit/profile_edit_skillset_detail.dart diff --git a/lib/screens/profiles/edit/profile_edit_skillset.dart b/lib/screens/profiles/edit/profile_edit_skillset.dart index 30bae5aa..a3aea21c 100644 --- a/lib/screens/profiles/edit/profile_edit_skillset.dart +++ b/lib/screens/profiles/edit/profile_edit_skillset.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'profile_edit_label.dart'; import '../../../commons/next.dart'; import '../profile/profile_skillset.dart'; +import 'profile_edit_skillset_detail.dart'; class ProfileEditSkillSet extends StatelessWidget { final List dummySkillset = ["figma","photoshop","illustrator", @@ -15,7 +16,11 @@ class ProfileEditSkillSet extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ ProfileEditLabel('기술 스택'), - Next(onPressed: null), + Next(onPressed: () => Navigator.of(context).push( + MaterialPageRoute( + builder: (_) => ProfileEditSkillSetDetail() + ) + )), ], ), if (dummySkillset.isNotEmpty) diff --git a/lib/screens/profiles/edit/profile_edit_skillset_detail.dart b/lib/screens/profiles/edit/profile_edit_skillset_detail.dart new file mode 100644 index 00000000..5a436d10 --- /dev/null +++ b/lib/screens/profiles/edit/profile_edit_skillset_detail.dart @@ -0,0 +1,26 @@ +import 'package:flutter/material.dart'; +import '../../../commons/custom_app_bar.dart'; +import 'package:guam_community_client/commons/back.dart'; + +class ProfileEditSkillSetDetail extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + leading: Back(), + title: '프로필 수정', + ), + body: SingleChildScrollView( + child: Container( + width: double.infinity, + padding: EdgeInsets.all(24), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + ], + ), + ), + ) + ); + } +} From 759d6a7588792b2df137cce3debcb502384e9ea9 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sat, 4 Dec 2021 11:10:35 +0900 Subject: [PATCH 038/338] edit textfield form --- assets/icons/cancel_outlined.svg | 3 + ...tton_size_circular_progress_indicator.dart | 12 +- lib/commons/common_text_field.dart | 40 +++++- .../image/closable_image_expanded.dart | 22 +++- lib/commons/image/common_image_field.dart | 83 ------------- lib/commons/image/image_carousel.dart | 117 ++++++++++++++++++ lib/commons/image/image_expanded.dart | 23 ++-- lib/main.dart | 30 +++-- .../boards/posts/detail/post_detail_body.dart | 23 +++- pubspec.lock | 7 ++ pubspec.yaml | 1 + 11 files changed, 238 insertions(+), 123 deletions(-) create mode 100644 assets/icons/cancel_outlined.svg delete mode 100644 lib/commons/image/common_image_field.dart create mode 100644 lib/commons/image/image_carousel.dart diff --git a/assets/icons/cancel_outlined.svg b/assets/icons/cancel_outlined.svg new file mode 100644 index 00000000..399572b3 --- /dev/null +++ b/assets/icons/cancel_outlined.svg @@ -0,0 +1,3 @@ + + + diff --git a/lib/commons/button_size_circular_progress_indicator.dart b/lib/commons/button_size_circular_progress_indicator.dart index 09b21d5c..52abe552 100644 --- a/lib/commons/button_size_circular_progress_indicator.dart +++ b/lib/commons/button_size_circular_progress_indicator.dart @@ -1,12 +1,16 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; class ButtonSizeCircularProgressIndicator extends StatelessWidget { @override Widget build(BuildContext context) { - return SizedBox ( - width: 20, - height: 20, - child: CircularProgressIndicator(), + return Padding( + padding: EdgeInsets.symmetric(horizontal: 18), + child: SizedBox ( + width: 20, + height: 20, + child: CircularProgressIndicator(color: GuamColorFamily.purpleCore), + ), ); } } diff --git a/lib/commons/common_text_field.dart b/lib/commons/common_text_field.dart index e41267eb..60489f7d 100644 --- a/lib/commons/common_text_field.dart +++ b/lib/commons/common_text_field.dart @@ -1,3 +1,5 @@ +import 'dart:ui'; + import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:guam_community_client/styles/colors.dart'; @@ -23,6 +25,8 @@ class CommonTextField extends StatefulWidget { class _CommonTextFieldState extends State { final _commentTextFieldController = TextEditingController(); final double maxImgSize = 80; + final double imgSheetHeight = 96; + double bottomSheetHeight = 56; bool sending = false; List imageFileList = []; @@ -49,8 +53,24 @@ class _CommonTextFieldState extends State { @override Widget build(BuildContext context) { - bool isEdit = widget.editTarget != null; - _commentTextFieldController.text = isEdit ? widget.editTarget.content : null; + + // count the number of TextField lines for controlling a bottom Sheet + final span=TextSpan(text:_commentTextFieldController.text); + final tp =TextPainter(text:span,maxLines: 1,textDirection: TextDirection.ltr); + tp.layout(maxWidth: MediaQuery.of(context).size.width - (56 + 62)); + List lines = tp.computeLineMetrics(); + int numberOfLines = lines.length; + + void heightOfBottomSheet(int numberOfLines){ + setState(() { + if (numberOfLines == 2) bottomSheetHeight = 73; + if (numberOfLines == 3) bottomSheetHeight = 90; + if (numberOfLines == 4) bottomSheetHeight = 107; + }); + } + + // bool isEdit = widget.editTarget != null; + // _commentTextFieldController.text = isEdit ? widget.editTarget.content : null; // if (imageFileList.isNotEmpty) { // widget.addCommentImage(); @@ -92,8 +112,8 @@ class _CommonTextFieldState extends State { return SizedBox( height: imageFileList.isNotEmpty - ? 152 // 96 + 56 - : 56, + ? imgSheetHeight + bottomSheetHeight + : bottomSheetHeight, // 56 .. 73 .. 90 .. 107 child: DecoratedBox( decoration: BoxDecoration( color: GuamColorFamily.grayscaleWhite, @@ -151,7 +171,7 @@ class _CommonTextFieldState extends State { Row( crossAxisAlignment: CrossAxisAlignment.center, children: [ - if (!isEdit) Padding( + Padding( padding: EdgeInsets.symmetric(horizontal: 16), child: IconButton( iconSize: 24, @@ -168,9 +188,12 @@ class _CommonTextFieldState extends State { ), Expanded( child: TextField( + keyboardType: TextInputType.multiline, controller: _commentTextFieldController, - maxLines: null, + maxLines: 4, + minLines: 1, style: TextStyle(fontSize: 14), + onChanged: (e) => heightOfBottomSheet(numberOfLines), decoration: InputDecoration( hintText: "댓글을 남겨주세요.", hintStyle: TextStyle(fontSize: 14, color: GuamColorFamily.grayscaleGray5), @@ -186,6 +209,11 @@ class _CommonTextFieldState extends State { !sending ? TextButton( onPressed: () {}, + style: TextButton.styleFrom( + padding: EdgeInsets.symmetric(horizontal: 12), + minimumSize: Size(30, 26), + alignment: Alignment.center, + ), child: Text( '등록', style: TextStyle( diff --git a/lib/commons/image/closable_image_expanded.dart b/lib/commons/image/closable_image_expanded.dart index 638f9246..b0010dd9 100644 --- a/lib/commons/image/closable_image_expanded.dart +++ b/lib/commons/image/closable_image_expanded.dart @@ -1,4 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/styles/colors.dart'; import '../custom_app_bar.dart'; import 'image_expanded.dart'; @@ -12,17 +14,31 @@ class ClosableImageExpanded extends StatelessWidget { Widget build(BuildContext context) { return Scaffold( appBar: CustomAppBar( + backgroundColor: Colors.black, trailing: IconButton( - icon: Icon(Icons.close), - color: Colors.grey, + padding: EdgeInsets.only(right: 12), + constraints: BoxConstraints(), onPressed: () => Navigator.of(context).pop(), + icon: SvgPicture.asset( + 'assets/icons/cancel_outlined.svg', + color: GuamColorFamily.grayscaleWhite, + width: 32, + height: 32, + ), ), - backgroundColor: Colors.black, ), body: ImageExpanded( image: image ?? null, imagePath: imagePath ?? null, ), + bottomNavigationBar: Container( + color: Colors.black, + height: 20, + ), + bottomSheet: Container( + color: Colors.red, + height: 20, + ), ); } } diff --git a/lib/commons/image/common_image_field.dart b/lib/commons/image/common_image_field.dart deleted file mode 100644 index f3df8d26..00000000 --- a/lib/commons/image/common_image_field.dart +++ /dev/null @@ -1,83 +0,0 @@ -import 'dart:io'; - -import 'package:flutter/material.dart'; -import 'package:image_picker/image_picker.dart'; - -import '../common_icon_button.dart'; -import 'image_thumbnail.dart'; - -class CommonImageField extends StatefulWidget { - - @override - _CommonImageFieldState createState() => _CommonImageFieldState(); -} - -class _CommonImageFieldState extends State { - final double maxImgSize = 80; - final double deleteImgButtonRadius = 12; - List imageFileList = []; - - @override - void dispose() { - imageFileList.clear(); - super.dispose(); - } - - void setImageFile(PickedFile val) { - setState(() { - if (val != null) imageFileList.add(val); - }); - } - - void deleteImageFile(int idx) { - setState(() => imageFileList.removeAt(idx)); - } - - @override - Widget build(BuildContext context) { - print(imageFileList); - return Padding( - padding: EdgeInsets.all(8), - child: - imageFileList.isNotEmpty ? - Container( - // color: Colors.transparent, - constraints: BoxConstraints(maxHeight: maxImgSize + deleteImgButtonRadius), - margin: EdgeInsets.only(bottom: 10), - child: ListView.builder( - scrollDirection: Axis.horizontal, - itemCount: imageFileList.length, - itemBuilder: (_, idx) => - Stack( - children: [ - Container( - margin: EdgeInsets.only( - top: deleteImgButtonRadius, - right: deleteImgButtonRadius, - ), - child: ImageThumbnail( - width: maxImgSize, - height: maxImgSize, - image: Image( - image: FileImage(File(imageFileList[idx].path)), - fit: BoxFit.fill, - ), - ), - ), - Positioned( - top: 0, - right: 0, - child: CommonIconButton( - icon: Icons.remove_circle, - iconColor: Colors.red, - onPressed: () => deleteImageFile(idx), - ), - ) - ], - ), - ), - ) - : Container(), - ); - } -} diff --git a/lib/commons/image/image_carousel.dart b/lib/commons/image/image_carousel.dart new file mode 100644 index 00000000..d47952a4 --- /dev/null +++ b/lib/commons/image/image_carousel.dart @@ -0,0 +1,117 @@ +import 'package:flutter/material.dart'; +import 'package:carousel_slider/carousel_slider.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/models/picture.dart'; +import 'package:guam_community_client/styles/colors.dart'; +// import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; +import '../custom_app_bar.dart'; +import 'image_expanded.dart'; +// import 'bottom_modal/bottom_modal_content.dart'; +import 'dart:math'; +import 'dart:io' show Platform; + +class ImageCarousel extends StatefulWidget { + final List pictures; + final int initialPage; + + // Actions for trailing + final bool showImageActions; + final Function deleteFunc; + + ImageCarousel({@required this.pictures, this.initialPage, + @required this.showImageActions, this.deleteFunc}); + + @override + State createState() => ImageCarouselState(); +} + +class ImageCarouselState extends State { + List picturesState; + int currPage; + + @override + void initState() { + super.initState(); + picturesState = widget.pictures; + currPage = widget.initialPage ?? 0; + } + + void afterDelete() { + setState(() { + picturesState.removeAt(currPage); + currPage = max(currPage - 1, 0); + if (picturesState.isEmpty) Navigator.of(context).pop(); // pop when delete last image + }); + } + + void switchPage(int idx) => setState(() {currPage = idx;}); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + backgroundColor: Colors.black, + trailing: IconButton( + padding: EdgeInsets.only(right: 12), + constraints: BoxConstraints(), + onPressed: () => Navigator.of(context).pop(), + icon: SvgPicture.asset( + 'assets/icons/cancel_outlined.svg', + color: GuamColorFamily.grayscaleWhite, + width: 32, + height: 32, + ), + ), + // trailing: widget.showImageActions ? IconButton( + // icon: Icon(Icons.more_vert), + // color: Colors.grey, + // onPressed: () { + // if (Platform.isAndroid) { + // showMaterialModalBottomSheet( + // context: context, + // builder: (_) => BottomModalContent( + // deleteText: "이미지 삭제", + // deleteFunc: () async { + // await widget.deleteFunc(imageId: picturesState[currPage].id) + // .then((successful) { + // if (successful) { + // Navigator.of(context).pop(); // pop Modal Bottom Content + // afterDelete(); + // } + // }); + // } + // ) + // ); + // } else { + // showCupertinoModalBottomSheet( + // context: context, + // builder: (_) => BottomModalContent( + // deleteText: "이미지 삭제", + // deleteFunc: () async { + // await widget.deleteFunc(imageId: picturesState[currPage].id) + // .then((successful) { + // if (successful) { + // Navigator.of(context).pop(); // pop Modal Bottom Content + // afterDelete(); + // } + // }); + // } + // ) + // ); + // } + // }, + // ) : null, + ), + body: CarouselSlider( + options: CarouselOptions( + height: double.infinity, + viewportFraction: 1, + enableInfiniteScroll: false, + initialPage: currPage, + onPageChanged: (idx, _) => switchPage(idx) + ), + items: [...picturesState.map((e) => ImageExpanded(imagePath: e.urlPath))] + ), + ); + } +} diff --git a/lib/commons/image/image_expanded.dart b/lib/commons/image/image_expanded.dart index ee23a6f6..0b45794b 100644 --- a/lib/commons/image/image_expanded.dart +++ b/lib/commons/image/image_expanded.dart @@ -10,16 +10,19 @@ class ImageExpanded extends StatelessWidget{ @override Widget build(BuildContext context) { - return Container( - color: Colors.black, - width: double.infinity, - height: double.infinity, - child: InteractiveViewer( - child: image ?? FadeInImage( - placeholder: MemoryImage(kTransparentImage), - image: NetworkImage(HttpRequest().s3BaseAuthority + imagePath), - fit: BoxFit.fitWidth, - ) + return Center( + child: Container( + // color: Colors.black, + // width: double.infinity, + // height: double.infinity, + child: InteractiveViewer( + child: image ?? FadeInImage( + placeholder: MemoryImage(kTransparentImage), + image: NetworkImage(imagePath), // 추후 storage 연결하면 바꿀 예정 + // image: NetworkImage(HttpRequest().s3BaseAuthority + imagePath), + fit: BoxFit.fitWidth, + ) + ), ), ); } diff --git a/lib/main.dart b/lib/main.dart index 5b5ff4a7..3962830f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -11,25 +11,23 @@ void main() { } class MyApp extends StatelessWidget { - static HexColor themeColor = GuamColorFamily.purpleCore; - @override Widget build(BuildContext context) { return MultiProvider( - providers: [ - ChangeNotifierProvider(create: (_) => Authenticate()), - ], - child: MaterialApp( - debugShowCheckedModeBanner: false, - initialRoute: '/', - routes: { - '/': (context) => App(), - }, - theme: ThemeData( - primaryColor: themeColor, - fontFamily: GuamFontFamily.SpoqaHanSansNeoMedium, - ), - ) + providers: [ + ChangeNotifierProvider(create: (_) => Authenticate()), + ], + child: MaterialApp( + debugShowCheckedModeBanner: false, + initialRoute: '/', + routes: { + '/': (context) => App(), + }, + theme: ThemeData( + primaryColor: GuamColorFamily.purpleCore, + fontFamily: GuamFontFamily.SpoqaHanSansNeoMedium, + ), + ) ); } } diff --git a/lib/screens/boards/posts/detail/post_detail_body.dart b/lib/screens/boards/posts/detail/post_detail_body.dart index 9ccce779..823e9f57 100644 --- a/lib/screens/boards/posts/detail/post_detail_body.dart +++ b/lib/screens/boards/posts/detail/post_detail_body.dart @@ -1,10 +1,13 @@ import 'dart:math'; import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/image/image_carousel.dart'; import 'package:guam_community_client/models/boards/post.dart'; +import 'package:guam_community_client/providers/posts/posts.dart'; import 'package:guam_community_client/screens/boards/posts/post_image.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; +import 'package:provider/provider.dart'; class PostDetailBody extends StatelessWidget { final int maxRenderImgCnt = 4; @@ -44,7 +47,25 @@ class PostDetailBody extends StatelessWidget { blur: post.pictures.length > maxRenderImgCnt && idx == maxRenderImgCnt - 1, hiddenImgCnt: post.pictures.length - maxRenderImgCnt, ), - onTap: () {}, + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (_) => ChangeNotifierProvider.value( + value: context.read(), // necessary? + child: ImageCarousel( + pictures: [...this.post.pictures], + initialPage: idx, + showImageActions: true, + // showImageActions: creatorId != null && context.read().isMe(creatorId), + // deleteFunc: threadId != null ? deleteThreadImage + // : commentId != null ? deleteCommentImage + // : null, + ), + ) + ) + ); + }, ), ), ], diff --git a/pubspec.lock b/pubspec.lock index 3d376c94..d60ce29e 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -22,6 +22,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "4.0.1" + carousel_slider: + dependency: "direct main" + description: + name: carousel_slider + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.0" characters: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 91af65d4..1bc76706 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -38,6 +38,7 @@ dependencies: flutter_svg: ^0.23.0+1 transparent_image: ^2.0.0 image_picker: ^0.7.4 + carousel_slider: ^4.0.0 dev_dependencies: flutter_test: From 7d36c4bb7f9a0d3565557e2069ec9623ce4e5da6 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sat, 4 Dec 2021 11:17:28 +0900 Subject: [PATCH 039/338] =?UTF-8?q?hotfix/change=20padding=20of=20'?= =?UTF-8?q?=EB=93=B1=EB=A1=9D'=20button?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/commons/common_text_field.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/commons/common_text_field.dart b/lib/commons/common_text_field.dart index 60489f7d..6ce3bd8f 100644 --- a/lib/commons/common_text_field.dart +++ b/lib/commons/common_text_field.dart @@ -63,6 +63,7 @@ class _CommonTextFieldState extends State { void heightOfBottomSheet(int numberOfLines){ setState(() { + if (numberOfLines == 1) bottomSheetHeight = 56; if (numberOfLines == 2) bottomSheetHeight = 73; if (numberOfLines == 3) bottomSheetHeight = 90; if (numberOfLines == 4) bottomSheetHeight = 107; @@ -210,7 +211,7 @@ class _CommonTextFieldState extends State { ? TextButton( onPressed: () {}, style: TextButton.styleFrom( - padding: EdgeInsets.symmetric(horizontal: 12), + padding: EdgeInsets.only(right: 6), minimumSize: Size(30, 26), alignment: Alignment.center, ), From 0303861695bd82aa99526f8c7acc676d40c60932 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Sat, 4 Dec 2021 12:01:40 +0900 Subject: [PATCH 040/338] dependency upgrade --- pubspec.lock | 46 ++++++++++++++++++++++++++++++++++++++++++++-- pubspec.yaml | 1 + 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index d60ce29e..c2bd4e14 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -279,7 +279,7 @@ packages: name: platform url: "https://pub.dartlang.org" source: hosted - version: "3.0.2" + version: "3.1.0" plugin_platform_interface: dependency: transitive description: @@ -404,6 +404,48 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.3.0" + url_launcher: + dependency: "direct main" + description: + name: url_launcher + url: "https://pub.dartlang.org" + source: hosted + version: "6.0.5" + url_launcher_linux: + dependency: transitive + description: + name: url_launcher_linux + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.2" + url_launcher_macos: + dependency: transitive + description: + name: url_launcher_macos + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.2" + url_launcher_platform_interface: + dependency: transitive + description: + name: url_launcher_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + url_launcher_web: + dependency: transitive + description: + name: url_launcher_web + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.5" + url_launcher_windows: + dependency: transitive + description: + name: url_launcher_windows + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.2" vector_math: dependency: transitive description: @@ -417,7 +459,7 @@ packages: name: win32 url: "https://pub.dartlang.org" source: hosted - version: "2.3.0" + version: "2.3.1" xdg_directories: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 1bc76706..33daf51d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -33,6 +33,7 @@ dependencies: flutter_form_builder: ^6.0.0-nullsafety.1 intl: ^0.17.0 bot_toast: ^4.0.1 + url_launcher: ^6.0.5 # Image flutter_svg: ^0.23.0+1 From 62726a395c1df2d9d419753ff66e374983e44bd5 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Sat, 4 Dec 2021 12:02:47 +0900 Subject: [PATCH 041/338] Dependency upgrade & Merge develp --- assets/icons/cancel_outlined.svg | 3 + ...tton_size_circular_progress_indicator.dart | 12 +- lib/commons/common_text_field.dart | 41 +++++- .../image/closable_image_expanded.dart | 22 +++- lib/commons/image/common_image_field.dart | 83 ------------- lib/commons/image/image_carousel.dart | 117 ++++++++++++++++++ lib/commons/image/image_expanded.dart | 23 ++-- lib/main.dart | 30 +++-- .../boards/posts/detail/post_detail_body.dart | 23 +++- pubspec.lock | 55 +++++++- pubspec.yaml | 2 + 11 files changed, 285 insertions(+), 126 deletions(-) create mode 100644 assets/icons/cancel_outlined.svg delete mode 100644 lib/commons/image/common_image_field.dart create mode 100644 lib/commons/image/image_carousel.dart diff --git a/assets/icons/cancel_outlined.svg b/assets/icons/cancel_outlined.svg new file mode 100644 index 00000000..399572b3 --- /dev/null +++ b/assets/icons/cancel_outlined.svg @@ -0,0 +1,3 @@ + + + diff --git a/lib/commons/button_size_circular_progress_indicator.dart b/lib/commons/button_size_circular_progress_indicator.dart index 09b21d5c..52abe552 100644 --- a/lib/commons/button_size_circular_progress_indicator.dart +++ b/lib/commons/button_size_circular_progress_indicator.dart @@ -1,12 +1,16 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; class ButtonSizeCircularProgressIndicator extends StatelessWidget { @override Widget build(BuildContext context) { - return SizedBox ( - width: 20, - height: 20, - child: CircularProgressIndicator(), + return Padding( + padding: EdgeInsets.symmetric(horizontal: 18), + child: SizedBox ( + width: 20, + height: 20, + child: CircularProgressIndicator(color: GuamColorFamily.purpleCore), + ), ); } } diff --git a/lib/commons/common_text_field.dart b/lib/commons/common_text_field.dart index e41267eb..6ce3bd8f 100644 --- a/lib/commons/common_text_field.dart +++ b/lib/commons/common_text_field.dart @@ -1,3 +1,5 @@ +import 'dart:ui'; + import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:guam_community_client/styles/colors.dart'; @@ -23,6 +25,8 @@ class CommonTextField extends StatefulWidget { class _CommonTextFieldState extends State { final _commentTextFieldController = TextEditingController(); final double maxImgSize = 80; + final double imgSheetHeight = 96; + double bottomSheetHeight = 56; bool sending = false; List imageFileList = []; @@ -49,8 +53,25 @@ class _CommonTextFieldState extends State { @override Widget build(BuildContext context) { - bool isEdit = widget.editTarget != null; - _commentTextFieldController.text = isEdit ? widget.editTarget.content : null; + + // count the number of TextField lines for controlling a bottom Sheet + final span=TextSpan(text:_commentTextFieldController.text); + final tp =TextPainter(text:span,maxLines: 1,textDirection: TextDirection.ltr); + tp.layout(maxWidth: MediaQuery.of(context).size.width - (56 + 62)); + List lines = tp.computeLineMetrics(); + int numberOfLines = lines.length; + + void heightOfBottomSheet(int numberOfLines){ + setState(() { + if (numberOfLines == 1) bottomSheetHeight = 56; + if (numberOfLines == 2) bottomSheetHeight = 73; + if (numberOfLines == 3) bottomSheetHeight = 90; + if (numberOfLines == 4) bottomSheetHeight = 107; + }); + } + + // bool isEdit = widget.editTarget != null; + // _commentTextFieldController.text = isEdit ? widget.editTarget.content : null; // if (imageFileList.isNotEmpty) { // widget.addCommentImage(); @@ -92,8 +113,8 @@ class _CommonTextFieldState extends State { return SizedBox( height: imageFileList.isNotEmpty - ? 152 // 96 + 56 - : 56, + ? imgSheetHeight + bottomSheetHeight + : bottomSheetHeight, // 56 .. 73 .. 90 .. 107 child: DecoratedBox( decoration: BoxDecoration( color: GuamColorFamily.grayscaleWhite, @@ -151,7 +172,7 @@ class _CommonTextFieldState extends State { Row( crossAxisAlignment: CrossAxisAlignment.center, children: [ - if (!isEdit) Padding( + Padding( padding: EdgeInsets.symmetric(horizontal: 16), child: IconButton( iconSize: 24, @@ -168,9 +189,12 @@ class _CommonTextFieldState extends State { ), Expanded( child: TextField( + keyboardType: TextInputType.multiline, controller: _commentTextFieldController, - maxLines: null, + maxLines: 4, + minLines: 1, style: TextStyle(fontSize: 14), + onChanged: (e) => heightOfBottomSheet(numberOfLines), decoration: InputDecoration( hintText: "댓글을 남겨주세요.", hintStyle: TextStyle(fontSize: 14, color: GuamColorFamily.grayscaleGray5), @@ -186,6 +210,11 @@ class _CommonTextFieldState extends State { !sending ? TextButton( onPressed: () {}, + style: TextButton.styleFrom( + padding: EdgeInsets.only(right: 6), + minimumSize: Size(30, 26), + alignment: Alignment.center, + ), child: Text( '등록', style: TextStyle( diff --git a/lib/commons/image/closable_image_expanded.dart b/lib/commons/image/closable_image_expanded.dart index 638f9246..b0010dd9 100644 --- a/lib/commons/image/closable_image_expanded.dart +++ b/lib/commons/image/closable_image_expanded.dart @@ -1,4 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/styles/colors.dart'; import '../custom_app_bar.dart'; import 'image_expanded.dart'; @@ -12,17 +14,31 @@ class ClosableImageExpanded extends StatelessWidget { Widget build(BuildContext context) { return Scaffold( appBar: CustomAppBar( + backgroundColor: Colors.black, trailing: IconButton( - icon: Icon(Icons.close), - color: Colors.grey, + padding: EdgeInsets.only(right: 12), + constraints: BoxConstraints(), onPressed: () => Navigator.of(context).pop(), + icon: SvgPicture.asset( + 'assets/icons/cancel_outlined.svg', + color: GuamColorFamily.grayscaleWhite, + width: 32, + height: 32, + ), ), - backgroundColor: Colors.black, ), body: ImageExpanded( image: image ?? null, imagePath: imagePath ?? null, ), + bottomNavigationBar: Container( + color: Colors.black, + height: 20, + ), + bottomSheet: Container( + color: Colors.red, + height: 20, + ), ); } } diff --git a/lib/commons/image/common_image_field.dart b/lib/commons/image/common_image_field.dart deleted file mode 100644 index f3df8d26..00000000 --- a/lib/commons/image/common_image_field.dart +++ /dev/null @@ -1,83 +0,0 @@ -import 'dart:io'; - -import 'package:flutter/material.dart'; -import 'package:image_picker/image_picker.dart'; - -import '../common_icon_button.dart'; -import 'image_thumbnail.dart'; - -class CommonImageField extends StatefulWidget { - - @override - _CommonImageFieldState createState() => _CommonImageFieldState(); -} - -class _CommonImageFieldState extends State { - final double maxImgSize = 80; - final double deleteImgButtonRadius = 12; - List imageFileList = []; - - @override - void dispose() { - imageFileList.clear(); - super.dispose(); - } - - void setImageFile(PickedFile val) { - setState(() { - if (val != null) imageFileList.add(val); - }); - } - - void deleteImageFile(int idx) { - setState(() => imageFileList.removeAt(idx)); - } - - @override - Widget build(BuildContext context) { - print(imageFileList); - return Padding( - padding: EdgeInsets.all(8), - child: - imageFileList.isNotEmpty ? - Container( - // color: Colors.transparent, - constraints: BoxConstraints(maxHeight: maxImgSize + deleteImgButtonRadius), - margin: EdgeInsets.only(bottom: 10), - child: ListView.builder( - scrollDirection: Axis.horizontal, - itemCount: imageFileList.length, - itemBuilder: (_, idx) => - Stack( - children: [ - Container( - margin: EdgeInsets.only( - top: deleteImgButtonRadius, - right: deleteImgButtonRadius, - ), - child: ImageThumbnail( - width: maxImgSize, - height: maxImgSize, - image: Image( - image: FileImage(File(imageFileList[idx].path)), - fit: BoxFit.fill, - ), - ), - ), - Positioned( - top: 0, - right: 0, - child: CommonIconButton( - icon: Icons.remove_circle, - iconColor: Colors.red, - onPressed: () => deleteImageFile(idx), - ), - ) - ], - ), - ), - ) - : Container(), - ); - } -} diff --git a/lib/commons/image/image_carousel.dart b/lib/commons/image/image_carousel.dart new file mode 100644 index 00000000..d47952a4 --- /dev/null +++ b/lib/commons/image/image_carousel.dart @@ -0,0 +1,117 @@ +import 'package:flutter/material.dart'; +import 'package:carousel_slider/carousel_slider.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/models/picture.dart'; +import 'package:guam_community_client/styles/colors.dart'; +// import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; +import '../custom_app_bar.dart'; +import 'image_expanded.dart'; +// import 'bottom_modal/bottom_modal_content.dart'; +import 'dart:math'; +import 'dart:io' show Platform; + +class ImageCarousel extends StatefulWidget { + final List pictures; + final int initialPage; + + // Actions for trailing + final bool showImageActions; + final Function deleteFunc; + + ImageCarousel({@required this.pictures, this.initialPage, + @required this.showImageActions, this.deleteFunc}); + + @override + State createState() => ImageCarouselState(); +} + +class ImageCarouselState extends State { + List picturesState; + int currPage; + + @override + void initState() { + super.initState(); + picturesState = widget.pictures; + currPage = widget.initialPage ?? 0; + } + + void afterDelete() { + setState(() { + picturesState.removeAt(currPage); + currPage = max(currPage - 1, 0); + if (picturesState.isEmpty) Navigator.of(context).pop(); // pop when delete last image + }); + } + + void switchPage(int idx) => setState(() {currPage = idx;}); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + backgroundColor: Colors.black, + trailing: IconButton( + padding: EdgeInsets.only(right: 12), + constraints: BoxConstraints(), + onPressed: () => Navigator.of(context).pop(), + icon: SvgPicture.asset( + 'assets/icons/cancel_outlined.svg', + color: GuamColorFamily.grayscaleWhite, + width: 32, + height: 32, + ), + ), + // trailing: widget.showImageActions ? IconButton( + // icon: Icon(Icons.more_vert), + // color: Colors.grey, + // onPressed: () { + // if (Platform.isAndroid) { + // showMaterialModalBottomSheet( + // context: context, + // builder: (_) => BottomModalContent( + // deleteText: "이미지 삭제", + // deleteFunc: () async { + // await widget.deleteFunc(imageId: picturesState[currPage].id) + // .then((successful) { + // if (successful) { + // Navigator.of(context).pop(); // pop Modal Bottom Content + // afterDelete(); + // } + // }); + // } + // ) + // ); + // } else { + // showCupertinoModalBottomSheet( + // context: context, + // builder: (_) => BottomModalContent( + // deleteText: "이미지 삭제", + // deleteFunc: () async { + // await widget.deleteFunc(imageId: picturesState[currPage].id) + // .then((successful) { + // if (successful) { + // Navigator.of(context).pop(); // pop Modal Bottom Content + // afterDelete(); + // } + // }); + // } + // ) + // ); + // } + // }, + // ) : null, + ), + body: CarouselSlider( + options: CarouselOptions( + height: double.infinity, + viewportFraction: 1, + enableInfiniteScroll: false, + initialPage: currPage, + onPageChanged: (idx, _) => switchPage(idx) + ), + items: [...picturesState.map((e) => ImageExpanded(imagePath: e.urlPath))] + ), + ); + } +} diff --git a/lib/commons/image/image_expanded.dart b/lib/commons/image/image_expanded.dart index ee23a6f6..0b45794b 100644 --- a/lib/commons/image/image_expanded.dart +++ b/lib/commons/image/image_expanded.dart @@ -10,16 +10,19 @@ class ImageExpanded extends StatelessWidget{ @override Widget build(BuildContext context) { - return Container( - color: Colors.black, - width: double.infinity, - height: double.infinity, - child: InteractiveViewer( - child: image ?? FadeInImage( - placeholder: MemoryImage(kTransparentImage), - image: NetworkImage(HttpRequest().s3BaseAuthority + imagePath), - fit: BoxFit.fitWidth, - ) + return Center( + child: Container( + // color: Colors.black, + // width: double.infinity, + // height: double.infinity, + child: InteractiveViewer( + child: image ?? FadeInImage( + placeholder: MemoryImage(kTransparentImage), + image: NetworkImage(imagePath), // 추후 storage 연결하면 바꿀 예정 + // image: NetworkImage(HttpRequest().s3BaseAuthority + imagePath), + fit: BoxFit.fitWidth, + ) + ), ), ); } diff --git a/lib/main.dart b/lib/main.dart index 5b5ff4a7..3962830f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -11,25 +11,23 @@ void main() { } class MyApp extends StatelessWidget { - static HexColor themeColor = GuamColorFamily.purpleCore; - @override Widget build(BuildContext context) { return MultiProvider( - providers: [ - ChangeNotifierProvider(create: (_) => Authenticate()), - ], - child: MaterialApp( - debugShowCheckedModeBanner: false, - initialRoute: '/', - routes: { - '/': (context) => App(), - }, - theme: ThemeData( - primaryColor: themeColor, - fontFamily: GuamFontFamily.SpoqaHanSansNeoMedium, - ), - ) + providers: [ + ChangeNotifierProvider(create: (_) => Authenticate()), + ], + child: MaterialApp( + debugShowCheckedModeBanner: false, + initialRoute: '/', + routes: { + '/': (context) => App(), + }, + theme: ThemeData( + primaryColor: GuamColorFamily.purpleCore, + fontFamily: GuamFontFamily.SpoqaHanSansNeoMedium, + ), + ) ); } } diff --git a/lib/screens/boards/posts/detail/post_detail_body.dart b/lib/screens/boards/posts/detail/post_detail_body.dart index 9ccce779..823e9f57 100644 --- a/lib/screens/boards/posts/detail/post_detail_body.dart +++ b/lib/screens/boards/posts/detail/post_detail_body.dart @@ -1,10 +1,13 @@ import 'dart:math'; import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/image/image_carousel.dart'; import 'package:guam_community_client/models/boards/post.dart'; +import 'package:guam_community_client/providers/posts/posts.dart'; import 'package:guam_community_client/screens/boards/posts/post_image.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; +import 'package:provider/provider.dart'; class PostDetailBody extends StatelessWidget { final int maxRenderImgCnt = 4; @@ -44,7 +47,25 @@ class PostDetailBody extends StatelessWidget { blur: post.pictures.length > maxRenderImgCnt && idx == maxRenderImgCnt - 1, hiddenImgCnt: post.pictures.length - maxRenderImgCnt, ), - onTap: () {}, + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (_) => ChangeNotifierProvider.value( + value: context.read(), // necessary? + child: ImageCarousel( + pictures: [...this.post.pictures], + initialPage: idx, + showImageActions: true, + // showImageActions: creatorId != null && context.read().isMe(creatorId), + // deleteFunc: threadId != null ? deleteThreadImage + // : commentId != null ? deleteCommentImage + // : null, + ), + ) + ) + ); + }, ), ), ], diff --git a/pubspec.lock b/pubspec.lock index 572f5cb3..6020e981 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -22,6 +22,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "4.0.1" + carousel_slider: + dependency: "direct main" + description: + name: carousel_slider + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.0" characters: dependency: transitive description: @@ -279,7 +286,7 @@ packages: name: platform url: "https://pub.dartlang.org" source: hosted - version: "3.0.2" + version: "3.1.0" plugin_platform_interface: dependency: transitive description: @@ -404,6 +411,48 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.3.0" + url_launcher: + dependency: "direct main" + description: + name: url_launcher + url: "https://pub.dartlang.org" + source: hosted + version: "6.0.5" + url_launcher_linux: + dependency: transitive + description: + name: url_launcher_linux + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.2" + url_launcher_macos: + dependency: transitive + description: + name: url_launcher_macos + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.2" + url_launcher_platform_interface: + dependency: transitive + description: + name: url_launcher_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + url_launcher_web: + dependency: transitive + description: + name: url_launcher_web + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.5" + url_launcher_windows: + dependency: transitive + description: + name: url_launcher_windows + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.2" vector_math: dependency: transitive description: @@ -417,7 +466,7 @@ packages: name: win32 url: "https://pub.dartlang.org" source: hosted - version: "2.2.10" + version: "2.3.1" xdg_directories: dependency: transitive description: @@ -433,5 +482,5 @@ packages: source: hosted version: "5.1.2" sdks: - dart: ">=2.13.0 <3.0.0" + dart: ">=2.14.0 <3.0.0" flutter: ">=2.0.1" diff --git a/pubspec.yaml b/pubspec.yaml index 91af65d4..33daf51d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -33,11 +33,13 @@ dependencies: flutter_form_builder: ^6.0.0-nullsafety.1 intl: ^0.17.0 bot_toast: ^4.0.1 + url_launcher: ^6.0.5 # Image flutter_svg: ^0.23.0+1 transparent_image: ^2.0.0 image_picker: ^0.7.4 + carousel_slider: ^4.0.0 dev_dependencies: flutter_test: From ddb76844988d3d7fabf7fe95ef0c85dce11a42b9 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Sat, 4 Dec 2021 12:20:32 +0900 Subject: [PATCH 042/338] Web button url launcher --- ios/Podfile.lock | 6 ++++++ lib/screens/profiles/buttons/web_button.dart | 7 ++++++- lib/screens/profiles/profile/profile_web_buttons.dart | 3 ++- lib/screens/profiles/profiles_body.dart | 4 ++-- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index e8c1be1b..998e54e0 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -6,12 +6,15 @@ PODS: - Flutter - shared_preferences (0.0.1): - Flutter + - url_launcher (0.0.1): + - Flutter DEPENDENCIES: - Flutter (from `Flutter`) - hexcolor (from `.symlinks/plugins/hexcolor/ios`) - image_picker (from `.symlinks/plugins/image_picker/ios`) - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) + - url_launcher (from `.symlinks/plugins/url_launcher/ios`) EXTERNAL SOURCES: Flutter: @@ -22,12 +25,15 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/image_picker/ios" shared_preferences: :path: ".symlinks/plugins/shared_preferences/ios" + url_launcher: + :path: ".symlinks/plugins/url_launcher/ios" SPEC CHECKSUMS: Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a hexcolor: fdfb9c4258ad96e949c2dbcdf790a62194b8aa89 image_picker: 50e7c7ff960e5f58faa4d1f4af84a771c671bc4a shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d + url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef PODFILE CHECKSUM: a75497545d4391e2d394c3668e20cfb1c2bbd4aa diff --git a/lib/screens/profiles/buttons/web_button.dart b/lib/screens/profiles/buttons/web_button.dart index bb5e6e2d..d1039ee9 100644 --- a/lib/screens/profiles/buttons/web_button.dart +++ b/lib/screens/profiles/buttons/web_button.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:url_launcher/url_launcher.dart'; import 'package:guam_community_client/styles/colors.dart'; import '../../../commons/icon_text.dart'; @@ -15,7 +16,11 @@ class WebButton extends StatelessWidget { iconPath: iconPath, iconColor: GuamColorFamily.grayscaleGray6, paddingBtw: 0, - onPressed: () {}, + onPressed: _launchURL, ); } + + void _launchURL() async { + if (!await launch(url)) throw 'Could not launch $url'; + } } \ No newline at end of file diff --git a/lib/screens/profiles/profile/profile_web_buttons.dart b/lib/screens/profiles/profile/profile_web_buttons.dart index cb538d61..9fa19353 100644 --- a/lib/screens/profiles/profile/profile_web_buttons.dart +++ b/lib/screens/profiles/profile/profile_web_buttons.dart @@ -4,6 +4,7 @@ import '../buttons/web_button.dart'; class ProfileWebButtons extends StatelessWidget { final String githubId; final String blogUrl; + static const String githubUrl = 'https://github.com/'; ProfileWebButtons({this.githubId, this.blogUrl}); @@ -15,7 +16,7 @@ class ProfileWebButtons extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.center, // crossAxisAlignment: CrossAxisAlignment., children: [ - WebButton(githubId, 'assets/icons/github.svg'), + WebButton(githubUrl+githubId, 'assets/icons/github.svg'), WebButton(blogUrl, 'assets/icons/blog.svg'), ], ), diff --git a/lib/screens/profiles/profiles_body.dart b/lib/screens/profiles/profiles_body.dart index c51bd081..5b197fb0 100644 --- a/lib/screens/profiles/profiles_body.dart +++ b/lib/screens/profiles/profiles_body.dart @@ -18,8 +18,8 @@ class ProfilesBody extends StatelessWidget { ), nickname: "bluesky", intro: "🦋 N년차 프로덕트 디자이너\n🐶 강아지 몽무와 동거 중\n✉️ abcd@abcd.com\n📷 @abcddesign", - githubId: "abcddesign111", - blogUrl: "tistory.abcddesign", + githubId: "gajagajago", + blogUrl: "https://blog.naver.com/witchyoli", skillSet: ["figma","photoshop","illustrator","adobe xd","primere pro","aftereffect","cinema4D", "zeplin", "sketch"], ); From 0dce40b5146073bbe1a7b56ff099abfe02b476f2 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Sat, 4 Dec 2021 13:03:17 +0900 Subject: [PATCH 043/338] Skillset edit textfield --- lib/commons/common_text_field.dart | 1 + .../profiles/edit/profile_edit_optional.dart | 2 +- .../edit/profile_edit_skillset_detail.dart | 26 ------- .../{ => skillset}/profile_edit_skillset.dart | 6 +- .../profile_edit_skillset_detail.dart | 41 ++++++++++ .../skillset/profile_edit_skillset_label.dart | 42 ++++++++++ .../profile_edit_skillset_textfield.dart | 77 +++++++++++++++++++ 7 files changed, 165 insertions(+), 30 deletions(-) delete mode 100644 lib/screens/profiles/edit/profile_edit_skillset_detail.dart rename lib/screens/profiles/edit/{ => skillset}/profile_edit_skillset.dart (87%) create mode 100644 lib/screens/profiles/edit/skillset/profile_edit_skillset_detail.dart create mode 100644 lib/screens/profiles/edit/skillset/profile_edit_skillset_label.dart create mode 100644 lib/screens/profiles/edit/skillset/profile_edit_skillset_textfield.dart diff --git a/lib/commons/common_text_field.dart b/lib/commons/common_text_field.dart index 6ce3bd8f..5f9b7ebb 100644 --- a/lib/commons/common_text_field.dart +++ b/lib/commons/common_text_field.dart @@ -194,6 +194,7 @@ class _CommonTextFieldState extends State { maxLines: 4, minLines: 1, style: TextStyle(fontSize: 14), + cursorColor: GuamColorFamily.purpleCore, onChanged: (e) => heightOfBottomSheet(numberOfLines), decoration: InputDecoration( hintText: "댓글을 남겨주세요.", diff --git a/lib/screens/profiles/edit/profile_edit_optional.dart b/lib/screens/profiles/edit/profile_edit_optional.dart index 9166517d..5737ab0e 100644 --- a/lib/screens/profiles/edit/profile_edit_optional.dart +++ b/lib/screens/profiles/edit/profile_edit_optional.dart @@ -3,7 +3,7 @@ import 'profile_edit_label.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'profile_edit_github.dart'; import 'profile_edit_blog.dart'; -import 'profile_edit_skillset.dart'; +import 'skillset/profile_edit_skillset.dart'; class ProfileEditOptional extends StatelessWidget { @override diff --git a/lib/screens/profiles/edit/profile_edit_skillset_detail.dart b/lib/screens/profiles/edit/profile_edit_skillset_detail.dart deleted file mode 100644 index 5a436d10..00000000 --- a/lib/screens/profiles/edit/profile_edit_skillset_detail.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:flutter/material.dart'; -import '../../../commons/custom_app_bar.dart'; -import 'package:guam_community_client/commons/back.dart'; - -class ProfileEditSkillSetDetail extends StatelessWidget { - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: CustomAppBar( - leading: Back(), - title: '프로필 수정', - ), - body: SingleChildScrollView( - child: Container( - width: double.infinity, - padding: EdgeInsets.all(24), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - ], - ), - ), - ) - ); - } -} diff --git a/lib/screens/profiles/edit/profile_edit_skillset.dart b/lib/screens/profiles/edit/skillset/profile_edit_skillset.dart similarity index 87% rename from lib/screens/profiles/edit/profile_edit_skillset.dart rename to lib/screens/profiles/edit/skillset/profile_edit_skillset.dart index a3aea21c..33b93a70 100644 --- a/lib/screens/profiles/edit/profile_edit_skillset.dart +++ b/lib/screens/profiles/edit/skillset/profile_edit_skillset.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; -import 'profile_edit_label.dart'; -import '../../../commons/next.dart'; -import '../profile/profile_skillset.dart'; +import '../profile_edit_label.dart'; +import '../../../../commons/next.dart'; +import '../../profile/profile_skillset.dart'; import 'profile_edit_skillset_detail.dart'; class ProfileEditSkillSet extends StatelessWidget { diff --git a/lib/screens/profiles/edit/skillset/profile_edit_skillset_detail.dart b/lib/screens/profiles/edit/skillset/profile_edit_skillset_detail.dart new file mode 100644 index 00000000..4195f6df --- /dev/null +++ b/lib/screens/profiles/edit/skillset/profile_edit_skillset_detail.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/screens/profiles/buttons/profile_skill_button.dart'; +import 'package:guam_community_client/screens/profiles/edit/skillset/profile_edit_skillset_label.dart'; +import 'package:guam_community_client/screens/profiles/edit/skillset/profile_edit_skillset_textfield.dart'; +import '../../../../commons/custom_app_bar.dart'; +import 'package:guam_community_client/commons/back.dart'; + +class ProfileEditSkillSetDetail extends StatelessWidget { + final List skillSet = ["figma","photoshop","illustrator","adobe xd", + "primere pro","aftereffect","cinema4D", "zeplin", "sketch"]; + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + leading: Back(), + title: '프로필 수정', + ), + body: SingleChildScrollView( + child: Container( + width: double.infinity, + padding: EdgeInsets.all(24), + child: Column( + // mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + ProfileEditSkillSetLabel(skillSet.length), + ProfileEditSkillSetTextField(), + Wrap( + alignment: WrapAlignment.center, + spacing: 8, + runSpacing: 5, + children: [...skillSet.map((skill) => ProfileSkillButton(skill))], + ) + ], + ), + ), + ) + ); + } +} diff --git a/lib/screens/profiles/edit/skillset/profile_edit_skillset_label.dart b/lib/screens/profiles/edit/skillset/profile_edit_skillset_label.dart new file mode 100644 index 00000000..4610fdcb --- /dev/null +++ b/lib/screens/profiles/edit/skillset/profile_edit_skillset_label.dart @@ -0,0 +1,42 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; +import 'package:hexcolor/hexcolor.dart'; + +class ProfileEditSkillSetLabel extends StatelessWidget { + final int nSkillSet; + + ProfileEditSkillSetLabel(this.nSkillSet); + + @override + Widget build(BuildContext context) { + return Container( + padding: EdgeInsets.only(bottom: 12), + child: Row( + crossAxisAlignment: CrossAxisAlignment.baseline, + textBaseline: TextBaseline.alphabetic, + children: [ + Text( + '내 기술 스택', + style: TextStyle( + fontSize: 16, + height: 25.6/16, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray1, + ), + ), + Padding(padding: EdgeInsets.only(right: 4)), + Text( + '$nSkillSet', + style: TextStyle( + fontSize: 12, + height: 19.2/12, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.purpleCore, + ), + ), + ], + ), + ); + } +} diff --git a/lib/screens/profiles/edit/skillset/profile_edit_skillset_textfield.dart b/lib/screens/profiles/edit/skillset/profile_edit_skillset_textfield.dart new file mode 100644 index 00000000..40d8b7d9 --- /dev/null +++ b/lib/screens/profiles/edit/skillset/profile_edit_skillset_textfield.dart @@ -0,0 +1,77 @@ +import 'dart:ui'; + +import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +import '../../../../commons/button_size_circular_progress_indicator.dart'; + +class ProfileEditSkillSetTextField extends StatefulWidget { + @override + State createState() => ProfileEditSkillSetTextFieldState(); +} + +class ProfileEditSkillSetTextFieldState extends State { + bool sending = false; + + void toggleSending() { + setState(() => sending = !sending); + } + + @override + Widget build(BuildContext context) { + return Container( + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Expanded( + child: TextField( + keyboardType: TextInputType.multiline, + maxLines: 1, + style: TextStyle( + fontSize: 14, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray1, + height: 22.4/14 + ), + cursorColor: GuamColorFamily.purpleCore, + decoration: InputDecoration( + hintText: "스택을 입력해주세요", + hintStyle: TextStyle(fontSize: 14, color: GuamColorFamily.grayscaleGray5), + border: InputBorder.none, + focusedBorder: InputBorder.none, + enabledBorder: InputBorder.none, + errorBorder: InputBorder.none, + disabledBorder: InputBorder.none, + contentPadding: EdgeInsets.symmetric(vertical: 15, horizontal: 16), + ), + ), + ), + !sending ? TextButton( + onPressed: () {}, + style: TextButton.styleFrom( + padding: EdgeInsets.only(right: 6), + minimumSize: Size(30, 26), + alignment: Alignment.center, + ), + child: Text( + '등록', + style: TextStyle( + color: GuamColorFamily.purpleCore, + fontSize: 14, + ), + ), + ) : ButtonSizeCircularProgressIndicator() + ], + ), + decoration: BoxDecoration( + border: Border.all( + color: GuamColorFamily.grayscaleGray6, + width: 1, + ), + borderRadius: BorderRadius.circular(5) + ), + margin: EdgeInsets.only(bottom: 12), + ); + } +} From 9d98862bcf17ec08812f6d994358c79513d84b35 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sun, 5 Dec 2021 17:16:46 +0900 Subject: [PATCH 044/338] boardType selection --- assets/icons/check.svg | 3 + lib/commons/custom_app_bar.dart | 7 +- lib/commons/custom_divider.dart | 23 +++ .../image/closable_image_expanded.dart | 8 - lib/commons/image/image_container.dart | 3 +- lib/commons/image/image_thumbnail.dart | 5 +- .../boards/posts/creation/post_creation.dart | 83 ++++++++++ .../posts/creation/post_creation_board.dart | 155 ++++++++++++++++++ .../posts/creation/post_creation_content.dart | 31 ++++ .../posts/creation/post_creation_image.dart | 31 ++++ .../creation/post_creation_interest.dart | 31 ++++ .../posts/creation/post_creation_title.dart | 31 ++++ .../boards/posts/detail/post_detail.dart | 13 +- lib/screens/boards/posts/post_button.dart | 10 +- .../boards/posts/preview/post_preview.dart | 7 +- 15 files changed, 411 insertions(+), 30 deletions(-) create mode 100644 assets/icons/check.svg create mode 100644 lib/commons/custom_divider.dart create mode 100644 lib/screens/boards/posts/creation/post_creation.dart create mode 100644 lib/screens/boards/posts/creation/post_creation_board.dart create mode 100644 lib/screens/boards/posts/creation/post_creation_content.dart create mode 100644 lib/screens/boards/posts/creation/post_creation_image.dart create mode 100644 lib/screens/boards/posts/creation/post_creation_interest.dart create mode 100644 lib/screens/boards/posts/creation/post_creation_title.dart diff --git a/assets/icons/check.svg b/assets/icons/check.svg new file mode 100644 index 00000000..82a1e3e0 --- /dev/null +++ b/assets/icons/check.svg @@ -0,0 +1,3 @@ + + + diff --git a/lib/commons/custom_app_bar.dart b/lib/commons/custom_app_bar.dart index 3f828d66..941cdc28 100644 --- a/lib/commons/custom_app_bar.dart +++ b/lib/commons/custom_app_bar.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; class CustomAppBar extends StatelessWidget with PreferredSizeWidget { final String title; @@ -14,8 +15,8 @@ class CustomAppBar extends StatelessWidget with PreferredSizeWidget { @override Widget build(BuildContext context) { - var textColor = Colors.black; - var iconColor = Colors.black; + var textColor = GuamColorFamily.grayscaleGray1; + var iconColor = GuamColorFamily.grayscaleGray1; return AppBar( centerTitle: true, elevation: 1, @@ -30,7 +31,7 @@ class CustomAppBar extends StatelessWidget with PreferredSizeWidget { actions: trailing == null ? [] : [Material(color: Colors.transparent, child: trailing)], - backgroundColor: backgroundColor ?? Colors.white, + backgroundColor: backgroundColor ?? GuamColorFamily.grayscaleWhite, iconTheme: IconThemeData( color: iconColor, ), diff --git a/lib/commons/custom_divider.dart b/lib/commons/custom_divider.dart new file mode 100644 index 00000000..d39ac66d --- /dev/null +++ b/lib/commons/custom_divider.dart @@ -0,0 +1,23 @@ +import 'package:flutter/material.dart'; +import 'package:hexcolor/hexcolor.dart'; + +class CustomDivider extends StatelessWidget { + final double height; + final double thickness; + final HexColor color; + + CustomDivider({ + this.height = 1, + this.thickness=1, + this.color, + }); + + @override + Widget build(BuildContext context) { + return Divider( + height: height, + thickness: thickness, + color: color, + ); + } +} diff --git a/lib/commons/image/closable_image_expanded.dart b/lib/commons/image/closable_image_expanded.dart index b0010dd9..b1915edd 100644 --- a/lib/commons/image/closable_image_expanded.dart +++ b/lib/commons/image/closable_image_expanded.dart @@ -31,14 +31,6 @@ class ClosableImageExpanded extends StatelessWidget { image: image ?? null, imagePath: imagePath ?? null, ), - bottomNavigationBar: Container( - color: Colors.black, - height: 20, - ), - bottomSheet: Container( - color: Colors.red, - height: 20, - ), ); } } diff --git a/lib/commons/image/image_container.dart b/lib/commons/image/image_container.dart index 6c25dfa4..33d96c33 100644 --- a/lib/commons/image/image_container.dart +++ b/lib/commons/image/image_container.dart @@ -30,8 +30,7 @@ class ImageThumbnail extends StatelessWidget { ), ), ), - onTap: () => Navigator.push( - context, + onTap: () => Navigator.of(context, rootNavigator: true).push( MaterialPageRoute( builder: (_) => ClosableImageExpanded( image: image ?? null, diff --git a/lib/commons/image/image_thumbnail.dart b/lib/commons/image/image_thumbnail.dart index 08d7d672..578f307d 100644 --- a/lib/commons/image/image_thumbnail.dart +++ b/lib/commons/image/image_thumbnail.dart @@ -23,7 +23,7 @@ class ImageThumbnail extends StatelessWidget { height: height, width: width, child: ClipRRect( - borderRadius: BorderRadius.circular(5), + borderRadius: BorderRadius.circular(8), child: image ?? FadeInImage( placeholder: MemoryImage(kTransparentImage), image: NetworkImage(HttpRequest().s3BaseAuthority + imagePath), @@ -31,8 +31,7 @@ class ImageThumbnail extends StatelessWidget { ), ), ), - onTap: () => Navigator.push( - context, + onTap: () => Navigator.of(context, rootNavigator: true).push( MaterialPageRoute( builder: (_) => ClosableImageExpanded( image: image ?? null, diff --git a/lib/screens/boards/posts/creation/post_creation.dart b/lib/screens/boards/posts/creation/post_creation.dart new file mode 100644 index 00000000..0589c290 --- /dev/null +++ b/lib/screens/boards/posts/creation/post_creation.dart @@ -0,0 +1,83 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/back.dart'; +import 'package:guam_community_client/commons/custom_app_bar.dart'; +import 'package:guam_community_client/commons/custom_divider.dart'; +import 'package:guam_community_client/screens/boards/posts/creation/post_creation_board.dart'; +import 'package:guam_community_client/screens/boards/posts/creation/post_creation_content.dart'; +import 'package:guam_community_client/screens/boards/posts/creation/post_creation_image.dart'; +import 'package:guam_community_client/screens/boards/posts/creation/post_creation_interest.dart'; +import 'package:guam_community_client/screens/boards/posts/creation/post_creation_title.dart'; +import 'package:guam_community_client/styles/colors.dart'; + +class PostCreation extends StatefulWidget { + @override + State createState() => _PostCreationState(); +} + +class _PostCreationState extends State { + Map input = { + 'title': '', + 'content': '', + 'boardType': '', + 'interest': '', + 'images': [], + }; + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + leading: Back(), + trailing: Padding( + padding: EdgeInsets.only(right: 11), + child: TextButton( + onPressed: () { + print(input); + }, + style: TextButton.styleFrom( + minimumSize: Size(30, 26), + alignment: Alignment.center, + ), + child: Text( + '등록', + style: TextStyle( + color: GuamColorFamily.purpleCore, + fontSize: 16, + ), + ), + ) + ), + ), + body: SingleChildScrollView( + child: Column( + children: [ + Container( + color: GuamColorFamily.grayscaleWhite, + padding: EdgeInsets.only(left: 24, right: 24), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + PostCreationBoard(input), + PostCreationTitle(input), + CustomDivider(color: GuamColorFamily.grayscaleGray7), + PostCreationContent(input), + ], + ), + ), + CustomDivider( + height: 12, + thickness: 12, + color: GuamColorFamily.purpleLight3, + ), + Column( + children: [ + PostCreationInterest(input), + PostCreationImage(input) + ], + ), + ], + ), + ), + ); + } +} diff --git a/lib/screens/boards/posts/creation/post_creation_board.dart b/lib/screens/boards/posts/creation/post_creation_board.dart new file mode 100644 index 00000000..23c989ae --- /dev/null +++ b/lib/screens/boards/posts/creation/post_creation_board.dart @@ -0,0 +1,155 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/commons/custom_divider.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; +import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; + +class PostCreationBoard extends StatefulWidget { + final Map input; + + PostCreationBoard(this.input); + + @override + _PostCreationBoardState createState() => _PostCreationBoardState(); +} + +class _PostCreationBoardState extends State { + @override + void initState() { + super.initState(); + } + + void setBoardType(String boardType){ + setState(() => widget.input['boardType'] = boardType); + } + + @override + Widget build(BuildContext context) { + return Container( + child: TextButton( + child: Row( + children: [ + Text( + widget.input['boardType'] == '' + ? '게시판을 선택해주세요.' + : widget.input['boardType'], + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 14, + color: widget.input['boardType'] == '' + ? GuamColorFamily.grayscaleGray3 + : GuamColorFamily.purpleCore, + ), + ), + IconButton( + padding: EdgeInsets.only(left: 4), + constraints: BoxConstraints(), + icon: SvgPicture.asset( + 'assets/icons/down.svg', + color: widget.input['boardType'] == '' + ? GuamColorFamily.grayscaleGray3 + : GuamColorFamily.purpleCore, + width: 20, + height: 20, + ), + ), + ], + ), + style: TextButton.styleFrom(padding: EdgeInsets.zero, minimumSize: Size(136, 23)), + onPressed: () => showMaterialModalBottomSheet( + context: context, + useRootNavigator: true, + backgroundColor: GuamColorFamily.grayscaleWhite, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ) + ), + builder: (context) => SingleChildScrollView( + child: Container( + padding: EdgeInsets.only(left: 24, top: 18, right: 18), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + '게시판을 선택해주세요.', + style: TextStyle(fontSize: 18, color: GuamColorFamily.grayscaleGray2), + ), + TextButton( + child: Text( + '완료', + style: TextStyle(fontSize: 16, color: GuamColorFamily.purpleCore), + ), + style: TextButton.styleFrom( + padding: EdgeInsets.zero, + minimumSize: Size(30, 26), + alignment: Alignment.centerRight, + ), + onPressed: () => Navigator.pop(context) + ), + ], + ), + CustomDivider(color: GuamColorFamily.grayscaleGray7), + Container( + padding: EdgeInsets.only(top: 10, bottom: 20), + child: Column( + children: [ + _boardType('익명게시판'), + _boardType('자유게시판'), + _boardType('구인게시판'), + _boardType('정보공유게시판'), + _boardType('홍보게시판'), + ], + ), + ), + ], + ), + ), + ) + ) + ) + ); + } + + Widget _boardType(String boardType) { + return Builder( + builder: (context) => InkWell( + onTap: () { + setBoardType(boardType); + Navigator.pop(context); + }, + child: Padding( + padding: EdgeInsets.symmetric(vertical: 10), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + height: 20, + child: Text( + boardType, + style: TextStyle( + fontSize: 16, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: boardType == widget.input['boardType'] + ? GuamColorFamily.purpleCore + : GuamColorFamily.grayscaleGray3, + ) + ) + ), + if (boardType == widget.input['boardType']) + IconButton( + padding: EdgeInsets.only(right: 8), + constraints: BoxConstraints(), + icon: SvgPicture.asset('assets/icons/check.svg'), + ), + ], + ), + ), + ) + ); + } +} diff --git a/lib/screens/boards/posts/creation/post_creation_content.dart b/lib/screens/boards/posts/creation/post_creation_content.dart new file mode 100644 index 00000000..c34b4c21 --- /dev/null +++ b/lib/screens/boards/posts/creation/post_creation_content.dart @@ -0,0 +1,31 @@ +import 'package:flutter/material.dart'; + +class PostCreationContent extends StatefulWidget { + final Map input; + + PostCreationContent(this.input); + + @override + _PostCreationContentState createState() => _PostCreationContentState(); +} + +class _PostCreationContentState extends State { + String content; + + @override + void initState() { + super.initState(); + } + + void setBoardType(){ + setState(() { + content = '하이~~~~~~~ 반가워요'; + }); + } + + @override + Widget build(BuildContext context) { + print(widget.input); + return Container(); + } +} diff --git a/lib/screens/boards/posts/creation/post_creation_image.dart b/lib/screens/boards/posts/creation/post_creation_image.dart new file mode 100644 index 00000000..eb621094 --- /dev/null +++ b/lib/screens/boards/posts/creation/post_creation_image.dart @@ -0,0 +1,31 @@ +import 'package:flutter/material.dart'; + +class PostCreationImage extends StatefulWidget { + final Map input; + + PostCreationImage(this.input); + + @override + _PostCreationImageState createState() => _PostCreationImageState(); +} + +class _PostCreationImageState extends State { + List image; + + @override + void initState() { + super.initState(); + } + + void setBoardType(){ + setState(() { + image = []; + }); + } + + @override + Widget build(BuildContext context) { + print(widget.input); + return Container(); + } +} diff --git a/lib/screens/boards/posts/creation/post_creation_interest.dart b/lib/screens/boards/posts/creation/post_creation_interest.dart new file mode 100644 index 00000000..1be177bf --- /dev/null +++ b/lib/screens/boards/posts/creation/post_creation_interest.dart @@ -0,0 +1,31 @@ +import 'package:flutter/material.dart'; + +class PostCreationInterest extends StatefulWidget { + final Map input; + + PostCreationInterest(this.input); + + @override + _PostCreationInterestState createState() => _PostCreationInterestState(); +} + +class _PostCreationInterestState extends State { + String interest; + + @override + void initState() { + super.initState(); + } + + void setBoardType(){ + setState(() { + interest = '데이터분석'; + }); + } + + @override + Widget build(BuildContext context) { + print(widget.input); + return Container(); + } +} diff --git a/lib/screens/boards/posts/creation/post_creation_title.dart b/lib/screens/boards/posts/creation/post_creation_title.dart new file mode 100644 index 00000000..b9941bd6 --- /dev/null +++ b/lib/screens/boards/posts/creation/post_creation_title.dart @@ -0,0 +1,31 @@ +import 'package:flutter/material.dart'; + +class PostCreationTitle extends StatefulWidget { + final Map input; + + PostCreationTitle(this.input); + + @override + _PostCreationTitleState createState() => _PostCreationTitleState(); +} + +class _PostCreationTitleState extends State { + String title; + + @override + void initState() { + super.initState(); + } + + void setBoardType(){ + setState(() { + title = '안녕하세요. 반가워요'; + }); + } + + @override + Widget build(BuildContext context) { + print(widget.input); + return Container(); + } +} diff --git a/lib/screens/boards/posts/detail/post_detail.dart b/lib/screens/boards/posts/detail/post_detail.dart index c2b48454..5e4c36b2 100644 --- a/lib/screens/boards/posts/detail/post_detail.dart +++ b/lib/screens/boards/posts/detail/post_detail.dart @@ -3,6 +3,7 @@ import 'package:flutter_svg/flutter_svg.dart'; import 'package:guam_community_client/commons/back.dart'; import 'package:guam_community_client/commons/common_text_field.dart'; import 'package:guam_community_client/commons/custom_app_bar.dart'; +import 'package:guam_community_client/commons/custom_divider.dart'; import 'package:guam_community_client/models/boards/post.dart'; import 'package:guam_community_client/screens/boards/comments/comments.dart'; import 'package:guam_community_client/screens/boards/posts/detail/post_detail_banner.dart'; @@ -69,11 +70,7 @@ class _PostDetailState extends State { PostDetailBanner(widget.post), Padding( padding: EdgeInsets.only(top: 8, bottom: 20), - child: Divider( - height: 1, - thickness: 1, - color: GuamColorFamily.grayscaleGray7, - ), + child: CustomDivider(color: GuamColorFamily.grayscaleGray7), ), PostDetailBody(widget.post), Padding( @@ -85,11 +82,7 @@ class _PostDetailState extends State { iconColor: GuamColorFamily.grayscaleGray4, ), ), - Divider( - height: 1, - thickness: 1, - color: GuamColorFamily.grayscaleGray7, - ), + CustomDivider(color: GuamColorFamily.grayscaleGray7), Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ diff --git a/lib/screens/boards/posts/post_button.dart b/lib/screens/boards/posts/post_button.dart index f1dcdb4d..d9e6100f 100644 --- a/lib/screens/boards/posts/post_button.dart +++ b/lib/screens/boards/posts/post_button.dart @@ -2,6 +2,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:guam_community_client/styles/colors.dart'; +import 'creation/post_creation.dart'; + class PostButton extends StatelessWidget { @override Widget build(BuildContext context) { @@ -19,7 +21,13 @@ class PostButton extends StatelessWidget { width: 30, height: 30, ), - onPressed: () {} + onPressed: () { + Navigator.of(context).push( + MaterialPageRoute( + builder: (_) => PostCreation() + ) + ); + } ), ), ), diff --git a/lib/screens/boards/posts/preview/post_preview.dart b/lib/screens/boards/posts/preview/post_preview.dart index 3a6ef8c2..92cf3e0f 100644 --- a/lib/screens/boards/posts/preview/post_preview.dart +++ b/lib/screens/boards/posts/preview/post_preview.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/commons/custom_divider.dart'; import 'package:guam_community_client/models/boards/post.dart'; import 'package:guam_community_client/providers/posts/posts.dart'; import 'package:guam_community_client/screens/boards/posts/detail/post_detail.dart'; @@ -40,9 +41,9 @@ class PostPreview extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ PostPreviewBanner(post), - Divider( - thickness: 1, - color: GuamColorFamily.grayscaleGray7, + Padding( + padding: EdgeInsets.symmetric(vertical: 8), + child: CustomDivider(color: GuamColorFamily.grayscaleGray7), ), Padding( padding: EdgeInsets.only(bottom: 8.0), From 1bee5bcbfcafa8acd166fb2c1bbed855aceb9e23 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sun, 5 Dec 2021 19:00:31 +0900 Subject: [PATCH 045/338] title and content container --- lib/commons/custom_divider.dart | 2 +- .../boards/posts/creation/post_creation.dart | 18 +++++++---- .../posts/creation/post_creation_board.dart | 6 +++- .../posts/creation/post_creation_content.dart | 31 ++++++++++++++----- .../posts/creation/post_creation_image.dart | 25 +++++++++++---- .../creation/post_creation_interest.dart | 19 ++++++++++-- .../posts/creation/post_creation_title.dart | 26 +++++++++++++--- 7 files changed, 99 insertions(+), 28 deletions(-) diff --git a/lib/commons/custom_divider.dart b/lib/commons/custom_divider.dart index d39ac66d..323b6386 100644 --- a/lib/commons/custom_divider.dart +++ b/lib/commons/custom_divider.dart @@ -8,7 +8,7 @@ class CustomDivider extends StatelessWidget { CustomDivider({ this.height = 1, - this.thickness=1, + this.thickness = 1, this.color, }); diff --git a/lib/screens/boards/posts/creation/post_creation.dart b/lib/screens/boards/posts/creation/post_creation.dart index 0589c290..fbf408e4 100644 --- a/lib/screens/boards/posts/creation/post_creation.dart +++ b/lib/screens/boards/posts/creation/post_creation.dart @@ -53,7 +53,7 @@ class _PostCreationState extends State { children: [ Container( color: GuamColorFamily.grayscaleWhite, - padding: EdgeInsets.only(left: 24, right: 24), + padding: EdgeInsets.only(left: 24, top: 10, right: 24), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -69,11 +69,17 @@ class _PostCreationState extends State { thickness: 12, color: GuamColorFamily.purpleLight3, ), - Column( - children: [ - PostCreationInterest(input), - PostCreationImage(input) - ], + Container( + color: GuamColorFamily.grayscaleWhite, + width: double.infinity, + padding: EdgeInsets.only(left: 24, top: 16, right: 24), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + PostCreationInterest(input), + PostCreationImage(input) + ], + ), ), ], ), diff --git a/lib/screens/boards/posts/creation/post_creation_board.dart b/lib/screens/boards/posts/creation/post_creation_board.dart index 23c989ae..cf73ca2b 100644 --- a/lib/screens/boards/posts/creation/post_creation_board.dart +++ b/lib/screens/boards/posts/creation/post_creation_board.dart @@ -37,6 +37,7 @@ class _PostCreationBoardState extends State { overflow: TextOverflow.ellipsis, style: TextStyle( fontSize: 14, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, color: widget.input['boardType'] == '' ? GuamColorFamily.grayscaleGray3 : GuamColorFamily.purpleCore, @@ -77,7 +78,10 @@ class _PostCreationBoardState extends State { children: [ Text( '게시판을 선택해주세요.', - style: TextStyle(fontSize: 18, color: GuamColorFamily.grayscaleGray2), + style: TextStyle( + fontSize: 18, + color: GuamColorFamily.grayscaleGray2, + ), ), TextButton( child: Text( diff --git a/lib/screens/boards/posts/creation/post_creation_content.dart b/lib/screens/boards/posts/creation/post_creation_content.dart index c34b4c21..d2fd0e22 100644 --- a/lib/screens/boards/posts/creation/post_creation_content.dart +++ b/lib/screens/boards/posts/creation/post_creation_content.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; class PostCreationContent extends StatefulWidget { final Map input; @@ -10,22 +11,38 @@ class PostCreationContent extends StatefulWidget { } class _PostCreationContentState extends State { - String content; + final _contentTextFieldController = TextEditingController(); @override void initState() { super.initState(); } - void setBoardType(){ - setState(() { - content = '하이~~~~~~~ 반가워요'; - }); + void setContent(){ + setState(() => widget.input['content'] = _contentTextFieldController.text); } @override Widget build(BuildContext context) { - print(widget.input); - return Container(); + return Container( + height: MediaQuery.of(context).size.height * 0.5, + child: TextField( + keyboardType: TextInputType.multiline, + controller: _contentTextFieldController, + onChanged: (e) => setContent(), + maxLines: 1, + style: TextStyle(fontSize: 14), + decoration: InputDecoration( + hintText: "내용을 입력해주세요.", + hintStyle: TextStyle(fontSize: 14, color: GuamColorFamily.grayscaleGray5), + border: InputBorder.none, + focusedBorder: InputBorder.none, + enabledBorder: InputBorder.none, + errorBorder: InputBorder.none, + disabledBorder: InputBorder.none, + contentPadding: EdgeInsets.only(top: 20), + ), + ), + ); } } diff --git a/lib/screens/boards/posts/creation/post_creation_image.dart b/lib/screens/boards/posts/creation/post_creation_image.dart index eb621094..25691d2f 100644 --- a/lib/screens/boards/posts/creation/post_creation_image.dart +++ b/lib/screens/boards/posts/creation/post_creation_image.dart @@ -1,4 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; class PostCreationImage extends StatefulWidget { final Map input; @@ -10,22 +12,33 @@ class PostCreationImage extends StatefulWidget { } class _PostCreationImageState extends State { - List image; - @override void initState() { super.initState(); } - void setBoardType(){ + void setImages(){ setState(() { - image = []; + widget.input['images'] = []; }); } @override Widget build(BuildContext context) { - print(widget.input); - return Container(); + return Column( + children: [ + Container( + padding: EdgeInsets.only(bottom: 10), + child: Text( + '사진을 첨부해보세요.', + style: TextStyle( + fontSize: 14, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray3, + ) + ), + ), + ], + ); } } diff --git a/lib/screens/boards/posts/creation/post_creation_interest.dart b/lib/screens/boards/posts/creation/post_creation_interest.dart index 1be177bf..6afed769 100644 --- a/lib/screens/boards/posts/creation/post_creation_interest.dart +++ b/lib/screens/boards/posts/creation/post_creation_interest.dart @@ -1,4 +1,6 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; class PostCreationInterest extends StatefulWidget { final Map input; @@ -25,7 +27,20 @@ class _PostCreationInterestState extends State { @override Widget build(BuildContext context) { - print(widget.input); - return Container(); + return Column( + children: [ + Container( + padding: EdgeInsets.only(bottom: 10), + child: Text( + '태그를 선택해주세요.', + style: TextStyle( + fontSize: 14, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray3, + ) + ), + ), + ], + ); } } diff --git a/lib/screens/boards/posts/creation/post_creation_title.dart b/lib/screens/boards/posts/creation/post_creation_title.dart index b9941bd6..15b20328 100644 --- a/lib/screens/boards/posts/creation/post_creation_title.dart +++ b/lib/screens/boards/posts/creation/post_creation_title.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; class PostCreationTitle extends StatefulWidget { final Map input; @@ -10,22 +11,37 @@ class PostCreationTitle extends StatefulWidget { } class _PostCreationTitleState extends State { - String title; + final _titleTextFieldController = TextEditingController(); @override void initState() { super.initState(); } - void setBoardType(){ + void setTitle(){ setState(() { - title = '안녕하세요. 반가워요'; + widget.input['title'] = _titleTextFieldController.text; }); } @override Widget build(BuildContext context) { - print(widget.input); - return Container(); + return TextField( + keyboardType: TextInputType.multiline, + controller: _titleTextFieldController, + onChanged: (e) => setTitle(), + maxLines: 1, + style: TextStyle(fontSize: 18), + decoration: InputDecoration( + hintText: "제목을 입력해주세요.", + hintStyle: TextStyle(fontSize: 18, color: GuamColorFamily.grayscaleGray5), + border: InputBorder.none, + focusedBorder: InputBorder.none, + enabledBorder: InputBorder.none, + errorBorder: InputBorder.none, + disabledBorder: InputBorder.none, + contentPadding: EdgeInsets.only(top: 10, bottom: 8), + ), + ); } } From aa2de6f906355d64014d2947f5ed77c81be47f34 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sun, 5 Dec 2021 23:05:38 +0900 Subject: [PATCH 046/338] interest tag --- .../boards/posts/creation/post_creation.dart | 2 +- .../posts/creation/post_creation_image.dart | 15 +-- .../creation/post_creation_interest.dart | 92 +++++++++++++++---- .../posts/creation/post_creation_title.dart | 1 - 4 files changed, 85 insertions(+), 25 deletions(-) diff --git a/lib/screens/boards/posts/creation/post_creation.dart b/lib/screens/boards/posts/creation/post_creation.dart index fbf408e4..1b06d696 100644 --- a/lib/screens/boards/posts/creation/post_creation.dart +++ b/lib/screens/boards/posts/creation/post_creation.dart @@ -72,7 +72,7 @@ class _PostCreationState extends State { Container( color: GuamColorFamily.grayscaleWhite, width: double.infinity, - padding: EdgeInsets.only(left: 24, top: 16, right: 24), + padding: EdgeInsets.only(left: 24, top: 20, right: 24), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ diff --git a/lib/screens/boards/posts/creation/post_creation_image.dart b/lib/screens/boards/posts/creation/post_creation_image.dart index 25691d2f..994a7383 100644 --- a/lib/screens/boards/posts/creation/post_creation_image.dart +++ b/lib/screens/boards/posts/creation/post_creation_image.dart @@ -28,14 +28,15 @@ class _PostCreationImageState extends State { return Column( children: [ Container( - padding: EdgeInsets.only(bottom: 10), + padding: EdgeInsets.only(top: 16, bottom: 10), child: Text( - '사진을 첨부해보세요.', - style: TextStyle( - fontSize: 14, - fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, - color: GuamColorFamily.grayscaleGray3, - ) + '사진을 첨부해보세요.', + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 14, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray3, + ) ), ), ], diff --git a/lib/screens/boards/posts/creation/post_creation_interest.dart b/lib/screens/boards/posts/creation/post_creation_interest.dart index 6afed769..59ef26a8 100644 --- a/lib/screens/boards/posts/creation/post_creation_interest.dart +++ b/lib/screens/boards/posts/creation/post_creation_interest.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; @@ -12,35 +13,94 @@ class PostCreationInterest extends StatefulWidget { } class _PostCreationInterestState extends State { - String interest; - @override void initState() { super.initState(); } - void setBoardType(){ - setState(() { - interest = '데이터분석'; - }); + void setInterest(String interest){ + setState(() => widget.input['interest'] = interest); + } + + void initInterest(){ + setState(() => widget.input['interest'] = ''); } @override Widget build(BuildContext context) { return Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ - Container( - padding: EdgeInsets.only(bottom: 10), - child: Text( - '태그를 선택해주세요.', - style: TextStyle( - fontSize: 14, - fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, - color: GuamColorFamily.grayscaleGray3, - ) - ), + Text( + '태그를 선택해주세요.', + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 14, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray3, + ) ), + if (widget.input['interest'] == '') + SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + children: [ + _interestChip('개발'), + _interestChip('데이터분석'), + _interestChip('디자인'), + _interestChip('기획/마케팅'), + _interestChip('기타'), + ], + ), + ), + if (widget.input['interest'] != '') + TextButton( + onPressed: () => initInterest(), + style: TextButton.styleFrom( + minimumSize: Size(109, 26), + padding: EdgeInsets.zero, + alignment: Alignment.centerLeft, + ), + child: Row( + children: [ + Text( + "#" + widget.input['interest'], + style: TextStyle(fontSize: 16, color: GuamColorFamily.blueCore), + ), + IconButton( + padding: EdgeInsets.zero, + constraints: BoxConstraints(), + icon: SvgPicture.asset( + 'assets/icons/cancel_outlined.svg', + color: GuamColorFamily.blueCore, + width: 20, + height: 20, + ), + ) + ], + ), + ), ], ); } + + Widget _interestChip(String interest) { + return Padding( + padding: EdgeInsets.only(top: 4, right: 8), + child: ChoiceChip( + selected: false, + pressElevation: 2, + labelPadding: EdgeInsets.symmetric(horizontal: 4), + backgroundColor: GuamColorFamily.purpleLight3, + onSelected: (e) => setInterest(interest), + label: Text( + "#" + interest, + style: TextStyle( + fontSize: 14, + color: GuamColorFamily.purpleLight1, + ), + ), + ), + ); + } } diff --git a/lib/screens/boards/posts/creation/post_creation_title.dart b/lib/screens/boards/posts/creation/post_creation_title.dart index 15b20328..9dfa650c 100644 --- a/lib/screens/boards/posts/creation/post_creation_title.dart +++ b/lib/screens/boards/posts/creation/post_creation_title.dart @@ -40,7 +40,6 @@ class _PostCreationTitleState extends State { enabledBorder: InputBorder.none, errorBorder: InputBorder.none, disabledBorder: InputBorder.none, - contentPadding: EdgeInsets.only(top: 10, bottom: 8), ), ); } From 18095d22e330c21b84f206c703bdec52a0b023a3 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Wed, 8 Dec 2021 00:29:29 +0900 Subject: [PATCH 047/338] able to append images --- .../boards/posts/creation/post_creation.dart | 18 ++- .../posts/creation/post_creation_board.dart | 8 +- .../posts/creation/post_creation_content.dart | 2 +- .../posts/creation/post_creation_image.dart | 106 +++++++++++++++- .../creation/post_creation_interest.dart | 113 +++++++++--------- pubspec.lock | 7 ++ pubspec.yaml | 1 + 7 files changed, 192 insertions(+), 63 deletions(-) diff --git a/lib/screens/boards/posts/creation/post_creation.dart b/lib/screens/boards/posts/creation/post_creation.dart index 1b06d696..631ef6e1 100644 --- a/lib/screens/boards/posts/creation/post_creation.dart +++ b/lib/screens/boards/posts/creation/post_creation.dart @@ -23,6 +23,18 @@ class _PostCreationState extends State { 'images': [], }; + bool isBoardAnonymous = false; + + void setBoardAnonymous(String boardType){ + setState(() { + if (boardType == '익명게시판'){ + isBoardAnonymous = true; + } else { + isBoardAnonymous = false; + } + }); + } + @override Widget build(BuildContext context) { return Scaffold( @@ -57,7 +69,7 @@ class _PostCreationState extends State { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - PostCreationBoard(input), + PostCreationBoard(input, setBoardAnonymous), PostCreationTitle(input), CustomDivider(color: GuamColorFamily.grayscaleGray7), PostCreationContent(input), @@ -72,11 +84,11 @@ class _PostCreationState extends State { Container( color: GuamColorFamily.grayscaleWhite, width: double.infinity, - padding: EdgeInsets.only(left: 24, top: 20, right: 24), + padding: EdgeInsets.only(left: 24, top: 20, right: 0, bottom: 42), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - PostCreationInterest(input), + PostCreationInterest(input, isBoardAnonymous), PostCreationImage(input) ], ), diff --git a/lib/screens/boards/posts/creation/post_creation_board.dart b/lib/screens/boards/posts/creation/post_creation_board.dart index cf73ca2b..4eecfa36 100644 --- a/lib/screens/boards/posts/creation/post_creation_board.dart +++ b/lib/screens/boards/posts/creation/post_creation_board.dart @@ -7,8 +7,9 @@ import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; class PostCreationBoard extends StatefulWidget { final Map input; + final Function setBoardAnonymous; - PostCreationBoard(this.input); + PostCreationBoard(this.input, this.setBoardAnonymous); @override _PostCreationBoardState createState() => _PostCreationBoardState(); @@ -21,7 +22,10 @@ class _PostCreationBoardState extends State { } void setBoardType(String boardType){ - setState(() => widget.input['boardType'] = boardType); + setState(() { + widget.input['boardType'] = boardType; + widget.setBoardAnonymous(boardType); + }); } @override diff --git a/lib/screens/boards/posts/creation/post_creation_content.dart b/lib/screens/boards/posts/creation/post_creation_content.dart index d2fd0e22..6012b2a1 100644 --- a/lib/screens/boards/posts/creation/post_creation_content.dart +++ b/lib/screens/boards/posts/creation/post_creation_content.dart @@ -25,7 +25,7 @@ class _PostCreationContentState extends State { @override Widget build(BuildContext context) { return Container( - height: MediaQuery.of(context).size.height * 0.5, + height: MediaQuery.of(context).size.height * 0.45, child: TextField( keyboardType: TextInputType.multiline, controller: _contentTextFieldController, diff --git a/lib/screens/boards/posts/creation/post_creation_image.dart b/lib/screens/boards/posts/creation/post_creation_image.dart index 994a7383..d1018cb3 100644 --- a/lib/screens/boards/posts/creation/post_creation_image.dart +++ b/lib/screens/boards/posts/creation/post_creation_image.dart @@ -1,6 +1,13 @@ +import 'dart:io'; + +import 'package:dotted_border/dotted_border.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/commons/image/image_thumbnail.dart'; +import 'package:guam_community_client/helpers/pick_image.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; +import 'package:image_picker/image_picker.dart'; class PostCreationImage extends StatefulWidget { final Map input; @@ -12,23 +19,42 @@ class PostCreationImage extends StatefulWidget { } class _PostCreationImageState extends State { + final double maxImgSize = 80; + final double imgSheetHeight = 96; + bool sending = false; + @override void initState() { super.initState(); } - void setImages(){ + @override + void dispose() { + widget.input['images'].clear(); + super.dispose(); + } + + void setImageFile(PickedFile val) { setState(() { - widget.input['images'] = []; + if (val != null) widget.input['images'].add(val); }); } + void deleteImageFile(int idx) { + setState(() => widget.input['images'].removeAt(idx)); + } + + void toggleSending() { + setState(() => sending = !sending); + } + @override Widget build(BuildContext context) { return Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( - padding: EdgeInsets.only(top: 16, bottom: 10), + padding: EdgeInsets.only(bottom: 10), child: Text( '사진을 첨부해보세요.', overflow: TextOverflow.ellipsis, @@ -39,6 +65,80 @@ class _PostCreationImageState extends State { ) ), ), + SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + children: [ + InkWell( + onTap: !sending + ? () => pickImage(type: 'gallery').then((img) => setImageFile(img)) + : null, + child: SizedBox( + height: 80, + width: 80, + child: DottedBorder( + strokeWidth: 1, + dashPattern: [4, 5], + borderType: BorderType.RRect, + radius: Radius.circular(12), + color: GuamColorFamily.purpleLight2, + child: Center( + child: IconButton( + iconSize: 24, + padding: EdgeInsets.zero, + constraints: BoxConstraints(), + icon: SvgPicture.asset( + 'assets/icons/plus.svg', + color: GuamColorFamily.purpleLight1, + ), + onPressed: !sending + ? () => pickImage(type: 'gallery').then((img) => setImageFile(img)) + : null, + ), + ), + ), + ), + ), + widget.input['images'].isNotEmpty + ? SizedBox( + height: maxImgSize, + width: (maxImgSize + 14.87) * widget.input['images'].length, + child: ListView.builder( + scrollDirection: Axis.horizontal, + itemCount: widget.input['images'].length, + itemBuilder: (_, idx) => + Stack( + children: [ + Container( + padding: EdgeInsets.only(left: 14.87), + child: ImageThumbnail( + width: maxImgSize, + height: maxImgSize, + image: Image( + image: FileImage(File(widget.input['images'][idx].path)), + fit: BoxFit.fill, + ), + ), + ), + Positioned( + top: 4, + right: 4, + child: IconButton( + iconSize: 18, + padding: EdgeInsets.zero, + constraints: BoxConstraints(), + icon: SvgPicture.asset('assets/icons/cancel_filled.svg'), + onPressed: () => deleteImageFile(idx), + ), + ) + ], + ), + ), + ) + : Container(), + ], + ), + ), ], ); } diff --git a/lib/screens/boards/posts/creation/post_creation_interest.dart b/lib/screens/boards/posts/creation/post_creation_interest.dart index 59ef26a8..58e0ee45 100644 --- a/lib/screens/boards/posts/creation/post_creation_interest.dart +++ b/lib/screens/boards/posts/creation/post_creation_interest.dart @@ -5,8 +5,9 @@ import 'package:guam_community_client/styles/fonts.dart'; class PostCreationInterest extends StatefulWidget { final Map input; + final bool isBoardAnonymous; - PostCreationInterest(this.input); + PostCreationInterest(this.input, this.isBoardAnonymous); @override _PostCreationInterestState createState() => _PostCreationInterestState(); @@ -28,65 +29,69 @@ class _PostCreationInterestState extends State { @override Widget build(BuildContext context) { - return Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - '태그를 선택해주세요.', - overflow: TextOverflow.ellipsis, - style: TextStyle( - fontSize: 14, - fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, - color: GuamColorFamily.grayscaleGray3, - ) - ), - if (widget.input['interest'] == '') - SingleChildScrollView( - scrollDirection: Axis.horizontal, - child: Row( - children: [ - _interestChip('개발'), - _interestChip('데이터분석'), - _interestChip('디자인'), - _interestChip('기획/마케팅'), - _interestChip('기타'), - ], - ), - ), - if (widget.input['interest'] != '') - TextButton( - onPressed: () => initInterest(), - style: TextButton.styleFrom( - minimumSize: Size(109, 26), - padding: EdgeInsets.zero, - alignment: Alignment.centerLeft, - ), - child: Row( - children: [ - Text( - "#" + widget.input['interest'], - style: TextStyle(fontSize: 16, color: GuamColorFamily.blueCore), - ), - IconButton( - padding: EdgeInsets.zero, - constraints: BoxConstraints(), - icon: SvgPicture.asset( - 'assets/icons/cancel_outlined.svg', - color: GuamColorFamily.blueCore, - width: 20, - height: 20, - ), + if (!widget.isBoardAnonymous) { + return Padding( + padding: EdgeInsets.only(bottom: 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + '태그를 선택해주세요.', + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 14, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray3, ) - ], ), - ), - ], - ); + if (widget.input['interest'] == '') + SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + children: [ + _interestChip('개발'), + _interestChip('데이터분석'), + _interestChip('디자인'), + _interestChip('기획/마케팅'), + _interestChip('기타'), + ], + ), + ), + if (widget.input['interest'] != '') + Padding( + padding: EdgeInsets.only(top: 8), + child: Row( + children: [ + Text( + "#" + widget.input['interest'], + style: TextStyle( + fontSize: 16, color: GuamColorFamily.blueCore), + ), + IconButton( + padding: EdgeInsets.zero, + constraints: BoxConstraints(), + onPressed: () => initInterest(), + icon: SvgPicture.asset( + 'assets/icons/cancel_outlined.svg', + color: GuamColorFamily.blueCore, + width: 20, + height: 20, + ), + ) + ], + ), + ), + ], + ), + ); + } else { + return Container(); + } } Widget _interestChip(String interest) { return Padding( - padding: EdgeInsets.only(top: 4, right: 8), + padding: EdgeInsets.only(right: 8), child: ChoiceChip( selected: false, pressElevation: 2, diff --git a/pubspec.lock b/pubspec.lock index d60ce29e..1e445533 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -71,6 +71,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.4" + dotted_border: + dependency: "direct main" + description: + name: dotted_border + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.0+1" fake_async: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 1bc76706..00680cc5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -33,6 +33,7 @@ dependencies: flutter_form_builder: ^6.0.0-nullsafety.1 intl: ^0.17.0 bot_toast: ^4.0.1 + dotted_border: ^2.0.0+1 # Image flutter_svg: ^0.23.0+1 From a25b529cd3e94fb43a1512c17c585dde029e0637 Mon Sep 17 00:00:00 2001 From: YeonghyeonKo <46114393+YeonghyeonKO@users.noreply.github.com> Date: Wed, 8 Dec 2021 22:30:59 +0900 Subject: [PATCH 048/338] Create LICENSE --- LICENSE | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..fdddb29a --- /dev/null +++ b/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to From 3f7c443b24fdd9e9ca0994f29d50d989dfe25076 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sat, 18 Dec 2021 10:54:02 +0900 Subject: [PATCH 049/338] show (currentPage / totalPage) on each image --- lib/commons/image/image_carousel.dart | 40 ++++++++++++++----- lib/commons/image/image_expanded.dart | 27 +++++++------ .../boards/posts/detail/post_detail_body.dart | 29 +++++++------- 3 files changed, 59 insertions(+), 37 deletions(-) diff --git a/lib/commons/image/image_carousel.dart b/lib/commons/image/image_carousel.dart index d47952a4..41f8b8ab 100644 --- a/lib/commons/image/image_carousel.dart +++ b/lib/commons/image/image_carousel.dart @@ -3,10 +3,8 @@ import 'package:carousel_slider/carousel_slider.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:guam_community_client/models/picture.dart'; import 'package:guam_community_client/styles/colors.dart'; -// import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; import '../custom_app_bar.dart'; import 'image_expanded.dart'; -// import 'bottom_modal/bottom_modal_content.dart'; import 'dart:math'; import 'dart:io' show Platform; @@ -102,15 +100,37 @@ class ImageCarouselState extends State { // }, // ) : null, ), - body: CarouselSlider( - options: CarouselOptions( - height: double.infinity, - viewportFraction: 1, - enableInfiniteScroll: false, - initialPage: currPage, - onPageChanged: (idx, _) => switchPage(idx) + body: Stack( + children: [ + CarouselSlider( + options: CarouselOptions( + height: double.infinity, + viewportFraction: 1, + enableInfiniteScroll: false, + initialPage: currPage, + onPageChanged: (idx, _) => switchPage(idx) + ), + items: [...picturesState.map((e) => ImageExpanded(imagePath: e.urlPath))] ), - items: [...picturesState.map((e) => ImageExpanded(imagePath: e.urlPath))] + Center( + child: Padding( + padding: EdgeInsets.only(top: MediaQuery.of(context).size.height*0.65), + child: Container( + width: 49, + height: 25, + decoration: BoxDecoration( + color: GuamColorFamily.grayscaleGray3, + borderRadius: BorderRadius.circular(10), + ), + padding: EdgeInsets.only(left: 12, top: 5, right: 12, bottom: 2), + child: Text( + '${currPage+1} / ${picturesState.length}', + style: TextStyle(color: Colors.white, fontSize: 12), + ), + ), + ), + ) + ], ), ); } diff --git a/lib/commons/image/image_expanded.dart b/lib/commons/image/image_expanded.dart index 0b45794b..69ba92d5 100644 --- a/lib/commons/image/image_expanded.dart +++ b/lib/commons/image/image_expanded.dart @@ -10,18 +10,21 @@ class ImageExpanded extends StatelessWidget{ @override Widget build(BuildContext context) { - return Center( - child: Container( - // color: Colors.black, - // width: double.infinity, - // height: double.infinity, - child: InteractiveViewer( - child: image ?? FadeInImage( - placeholder: MemoryImage(kTransparentImage), - image: NetworkImage(imagePath), // 추후 storage 연결하면 바꿀 예정 - // image: NetworkImage(HttpRequest().s3BaseAuthority + imagePath), - fit: BoxFit.fitWidth, - ) + return Container( + padding: EdgeInsets.only(bottom: 72), + height: MediaQuery.of(context).size.height, + color: Colors.black, + child: Center( + child: Container( + width: double.infinity, + child: InteractiveViewer( + child: image ?? FadeInImage( + placeholder: MemoryImage(kTransparentImage), + image: NetworkImage(imagePath), // 추후 storage 연결하면 바꿀 예정 + // image: NetworkImage(HttpRequest().s3BaseAuthority + imagePath), + fit: BoxFit.fitWidth, + ) + ), ), ), ); diff --git a/lib/screens/boards/posts/detail/post_detail_body.dart b/lib/screens/boards/posts/detail/post_detail_body.dart index 823e9f57..ad8c82ff 100644 --- a/lib/screens/boards/posts/detail/post_detail_body.dart +++ b/lib/screens/boards/posts/detail/post_detail_body.dart @@ -48,22 +48,21 @@ class PostDetailBody extends StatelessWidget { hiddenImgCnt: post.pictures.length - maxRenderImgCnt, ), onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (_) => ChangeNotifierProvider.value( - value: context.read(), // necessary? - child: ImageCarousel( - pictures: [...this.post.pictures], - initialPage: idx, - showImageActions: true, - // showImageActions: creatorId != null && context.read().isMe(creatorId), - // deleteFunc: threadId != null ? deleteThreadImage - // : commentId != null ? deleteCommentImage - // : null, - ), - ) + Navigator.of(context, rootNavigator: true).push( + MaterialPageRoute( + builder: (_) => ChangeNotifierProvider.value( + value: context.read(), // necessary? + child: ImageCarousel( + pictures: [...this.post.pictures], + initialPage: idx, + showImageActions: true, + // showImageActions: creatorId != null && context.read().isMe(creatorId), + // deleteFunc: threadId != null ? deleteThreadImage + // : commentId != null ? deleteCommentImage + // : null, + ), ) + ) ); }, ), From 2960ba25724f24a267f67ba8872bb51f576a4c11 Mon Sep 17 00:00:00 2001 From: YeonghyeonKo <46114393+YeonghyeonKO@users.noreply.github.com> Date: Mon, 27 Dec 2021 10:56:54 +0900 Subject: [PATCH 050/338] Add padding right after the last image --- lib/screens/boards/posts/creation/post_creation_image.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/screens/boards/posts/creation/post_creation_image.dart b/lib/screens/boards/posts/creation/post_creation_image.dart index d1018cb3..118ab144 100644 --- a/lib/screens/boards/posts/creation/post_creation_image.dart +++ b/lib/screens/boards/posts/creation/post_creation_image.dart @@ -136,6 +136,7 @@ class _PostCreationImageState extends State { ), ) : Container(), + Padding(padding: EdgeInsets.only(right: 14.87)), ], ), ), From 9fa17ef2d0ab84f2297f3574a4a2b1ef631352e9 Mon Sep 17 00:00:00 2001 From: YeonghyeonKo <46114393+YeonghyeonKO@users.noreply.github.com> Date: Mon, 27 Dec 2021 11:04:46 +0900 Subject: [PATCH 051/338] Change elevation of AppBar --- lib/commons/custom_app_bar.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/commons/custom_app_bar.dart b/lib/commons/custom_app_bar.dart index 941cdc28..4300377e 100644 --- a/lib/commons/custom_app_bar.dart +++ b/lib/commons/custom_app_bar.dart @@ -19,7 +19,7 @@ class CustomAppBar extends StatelessWidget with PreferredSizeWidget { var iconColor = GuamColorFamily.grayscaleGray1; return AppBar( centerTitle: true, - elevation: 1, + elevation: 0.7, title: Text( title ?? "", style: TextStyle(color: textColor), From cb81d0b27ab52815eff04dc85bcff64dbda114f6 Mon Sep 17 00:00:00 2001 From: YeonghyeonKo <46114393+YeonghyeonKO@users.noreply.github.com> Date: Mon, 27 Dec 2021 11:06:16 +0900 Subject: [PATCH 052/338] Change backgroundColor of BottomNavigationBar --- lib/screens/app/bottom_navigation.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/screens/app/bottom_navigation.dart b/lib/screens/app/bottom_navigation.dart index 75d68f0e..c85425a3 100644 --- a/lib/screens/app/bottom_navigation.dart +++ b/lib/screens/app/bottom_navigation.dart @@ -28,6 +28,7 @@ class BottomNavigation extends StatelessWidget { currentIndex: currentTab.index, type: BottomNavigationBarType.fixed, selectedItemColor: GuamColorFamily.purpleCore, + backgroundColor: GuamColorFamily.grayscaleWhite, unselectedItemColor: GuamColorFamily.grayscaleGray4, onTap: (index) => onSelectTab(TabItem.values[index]), ); From d62a51914ebf0243a7e6766a7ccd75b7671e88d5 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 28 Dec 2021 00:05:24 +0900 Subject: [PATCH 053/338] elementary structure of signup --- assets/icons/baloon.svg | 3 + flutter_01.png | Bin 0 -> 102734 bytes ios/Podfile.lock | 6 ++ lib/commons/next_button.dart | 41 ++++++++ lib/main.dart | 4 +- lib/screens/login/signup/signup.dart | 55 +++++++++++ lib/screens/login/signup/signup_interest.dart | 55 +++++++++++ lib/screens/login/signup/signup_nickname.dart | 90 ++++++++++++++++++ 8 files changed, 253 insertions(+), 1 deletion(-) create mode 100644 assets/icons/baloon.svg create mode 100644 flutter_01.png create mode 100644 lib/commons/next_button.dart create mode 100644 lib/screens/login/signup/signup.dart create mode 100644 lib/screens/login/signup/signup_interest.dart create mode 100644 lib/screens/login/signup/signup_nickname.dart diff --git a/assets/icons/baloon.svg b/assets/icons/baloon.svg new file mode 100644 index 00000000..a065269c --- /dev/null +++ b/assets/icons/baloon.svg @@ -0,0 +1,3 @@ + + + diff --git a/flutter_01.png b/flutter_01.png new file mode 100644 index 0000000000000000000000000000000000000000..b16363110745020816f6ce6ac1067911863b17c3 GIT binary patch literal 102734 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 z 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 I=WqJ`FYVPEMgRZ+ literal 0 HcmV?d00001 diff --git a/ios/Podfile.lock b/ios/Podfile.lock index e8c1be1b..998e54e0 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -6,12 +6,15 @@ PODS: - Flutter - shared_preferences (0.0.1): - Flutter + - url_launcher (0.0.1): + - Flutter DEPENDENCIES: - Flutter (from `Flutter`) - hexcolor (from `.symlinks/plugins/hexcolor/ios`) - image_picker (from `.symlinks/plugins/image_picker/ios`) - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) + - url_launcher (from `.symlinks/plugins/url_launcher/ios`) EXTERNAL SOURCES: Flutter: @@ -22,12 +25,15 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/image_picker/ios" shared_preferences: :path: ".symlinks/plugins/shared_preferences/ios" + url_launcher: + :path: ".symlinks/plugins/url_launcher/ios" SPEC CHECKSUMS: Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a hexcolor: fdfb9c4258ad96e949c2dbcdf790a62194b8aa89 image_picker: 50e7c7ff960e5f58faa4d1f4af84a771c671bc4a shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d + url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef PODFILE CHECKSUM: a75497545d4391e2d394c3668e20cfb1c2bbd4aa diff --git a/lib/commons/next_button.dart b/lib/commons/next_button.dart new file mode 100644 index 00000000..12e8385e --- /dev/null +++ b/lib/commons/next_button.dart @@ -0,0 +1,41 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; + +class NextButton extends StatelessWidget { + final String label; + final Function onTap; + final bool btnEnabled; + + NextButton({ + @required this.label, + @required this.onTap, + this.btnEnabled = false, + }); + + @override + Widget build(BuildContext context) { + return Container( + padding: EdgeInsets.fromLTRB(5, 60, 5, 20), + child: InkWell( + onTap: onTap, + child: Container( + alignment: Alignment.center, + height: 56, + width: MediaQuery.of(context).size.width * 0.9, + decoration: BoxDecoration( + color: GuamColorFamily.purpleCore, + borderRadius: BorderRadius.all(Radius.circular(16)), + ), + child: Text( + label, + style: TextStyle( + color: GuamColorFamily.grayscaleWhite, + fontSize: 16, + ), + ), + ) + ) + ); + } +} + diff --git a/lib/main.dart b/lib/main.dart index 3962830f..034a810a 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/screens/login/signup/signup.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; import 'package:hexcolor/hexcolor.dart'; @@ -21,7 +22,8 @@ class MyApp extends StatelessWidget { debugShowCheckedModeBanner: false, initialRoute: '/', routes: { - '/': (context) => App(), + '/': (context) => SignUp(), + '/main': (context) => App(), }, theme: ThemeData( primaryColor: GuamColorFamily.purpleCore, diff --git a/lib/screens/login/signup/signup.dart b/lib/screens/login/signup/signup.dart new file mode 100644 index 00000000..70d25f3e --- /dev/null +++ b/lib/screens/login/signup/signup.dart @@ -0,0 +1,55 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/next_button.dart'; +import 'package:guam_community_client/screens/login/signup/signup_interest.dart'; +import 'package:guam_community_client/screens/login/signup/signup_nickname.dart'; +import 'package:guam_community_client/styles/colors.dart'; + +class SignUp extends StatefulWidget { + @override + _SignUpState createState() => _SignUpState(); +} + +class _SignUpState extends State { + Map input = {'nickname': '', 'interest': []}; + bool btnEnabled = false; + int page = 1; + + void _nextButton() => setState(() { + if (input['nickname'] != '') { + page++; + btnEnabled = true; + } + }); + + void _startButton() => setState(() {}); + + @override + Widget build(BuildContext context) { + Size size = MediaQuery.of(context).size; + return Scaffold( + body: SingleChildScrollView( + child: Container( + width: double.infinity, + height: size.height, + color: GuamColorFamily.grayscaleWhite, + padding: EdgeInsets.only(left: 16, top: size.height*0.11, right: 16), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + if (page==1) SignupNickname(input, _nextButton), + if (page==2) SignupInterest(input, _startButton), + Padding( + padding: EdgeInsets.only(bottom: 40), + child: NextButton( + label: page==1 ? '다음' : '시작', + onTap: _nextButton, + btnEnabled: btnEnabled, + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/screens/login/signup/signup_interest.dart b/lib/screens/login/signup/signup_interest.dart new file mode 100644 index 00000000..2383e922 --- /dev/null +++ b/lib/screens/login/signup/signup_interest.dart @@ -0,0 +1,55 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +class SignupInterest extends StatefulWidget { + final Map input; + final Function startButton; + + SignupInterest(this.input, this.startButton); + + @override + State createState() => _SignupInterestState(); +} + +class _SignupInterestState extends State { + void _setInterest(String interest) => setState(() => widget.input['interest'] = interest); + + @override + Widget build(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + IconButton( + padding: EdgeInsets.all(4.67), + constraints: BoxConstraints(), + icon: SvgPicture.asset('assets/icons/baloon.svg'), + ), + Padding( + padding: EdgeInsets.only(top: 10), + child: Text( + '관심사를 모두 선택해주세요.', + style: TextStyle( + height: 1.6, + fontSize: 24, + color: GuamColorFamily.grayscaleGray1, + ), + ), + ), + Padding( + padding: EdgeInsets.only(top: 8), + child: Text( + '맞춤형 피드를 위해 관심사를 알려주세요.', + style: TextStyle( + height: 1.6, + fontSize: 18, + color: GuamColorFamily.grayscaleGray3, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + ), + ), + ), + ], + ); + } +} diff --git a/lib/screens/login/signup/signup_nickname.dart b/lib/screens/login/signup/signup_nickname.dart new file mode 100644 index 00000000..12005162 --- /dev/null +++ b/lib/screens/login/signup/signup_nickname.dart @@ -0,0 +1,90 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +class SignupNickname extends StatefulWidget { + final Map input; + final Function nextButton; + + SignupNickname(this.input, this.nextButton); + + @override + State createState() => _SignupNicknameState(); +} + +class _SignupNicknameState extends State { + final _nicknameTextFieldController = TextEditingController(); + + void _setNickname(String nickname) => + setState(() => widget.input['nickname'] = nickname); + + @override + Widget build(BuildContext context) { + Size size = MediaQuery.of(context).size; + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + IconButton( + padding: EdgeInsets.all(4.67), + constraints: BoxConstraints(), + icon: SvgPicture.asset('assets/icons/baloon.svg'), + ), + Padding( + padding: EdgeInsets.only(top: 10), + child: Text( + 'IT인들의 괌에\n오신 것을 환영합니다!', + style: TextStyle( + height: 1.6, + fontSize: 24, + color: GuamColorFamily.grayscaleGray1, + ), + ), + ), + Padding( + padding: EdgeInsets.only(top: 8), + child: Text( + '사용하실 닉네임을\n10자 이내로 입력해주세요.', + style: TextStyle( + height: 1.6, + fontSize: 18, + color: GuamColorFamily.grayscaleGray3, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + ), + ), + ), + TextField( + style: TextStyle(fontSize: 16), + keyboardType: TextInputType.name, + controller: _nicknameTextFieldController, + minLines: 1, + maxLength: widget.input['nickname'] == '' ? null : 10, + onChanged: (e) { + _setNickname(_nicknameTextFieldController.text); + // _checkButtonEnable(); + }, + cursorColor: GuamColorFamily.purpleCore, + decoration: InputDecoration( + hintText: "ex) 크로플보다와플", + hintStyle: TextStyle( + fontSize: 16, + color: GuamColorFamily.grayscaleGray4, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + ), + counterStyle: TextStyle( + color: GuamColorFamily.purpleCore, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + fontSize: 12, + ), + errorBorder: InputBorder.none, + disabledBorder: InputBorder.none, + border: UnderlineInputBorder(borderSide: BorderSide(color: GuamColorFamily.purpleCore)), + focusedBorder: UnderlineInputBorder(borderSide: BorderSide(color: GuamColorFamily.purpleCore)), + enabledBorder: UnderlineInputBorder(borderSide: BorderSide(color: GuamColorFamily.grayscaleGray5)), + contentPadding: EdgeInsets.only(left: 14, top: 77, bottom: 13), + ), + ), + ], + ); + } +} From 7f0d85db59bca7f3efe6d039dda544a622d1773d Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Tue, 28 Dec 2021 00:39:13 +0900 Subject: [PATCH 054/338] change cancel_filled icon --- assets/icons/cancel_filled.svg | 20 +++++++++++++++++-- ios/Podfile.lock | 6 ++++++ lib/commons/common_text_field.dart | 6 +++--- lib/commons/image/image_carousel.dart | 17 ++++++++-------- lib/screens/boards/boards_app.dart | 2 ++ .../posts/creation/post_creation_image.dart | 6 +++--- 6 files changed, 41 insertions(+), 16 deletions(-) diff --git a/assets/icons/cancel_filled.svg b/assets/icons/cancel_filled.svg index 409cee00..f951c498 100644 --- a/assets/icons/cancel_filled.svg +++ b/assets/icons/cancel_filled.svg @@ -1,3 +1,19 @@ - - + + + + + + + + + + + + + + + + + + diff --git a/ios/Podfile.lock b/ios/Podfile.lock index e8c1be1b..998e54e0 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -6,12 +6,15 @@ PODS: - Flutter - shared_preferences (0.0.1): - Flutter + - url_launcher (0.0.1): + - Flutter DEPENDENCIES: - Flutter (from `Flutter`) - hexcolor (from `.symlinks/plugins/hexcolor/ios`) - image_picker (from `.symlinks/plugins/image_picker/ios`) - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) + - url_launcher (from `.symlinks/plugins/url_launcher/ios`) EXTERNAL SOURCES: Flutter: @@ -22,12 +25,15 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/image_picker/ios" shared_preferences: :path: ".symlinks/plugins/shared_preferences/ios" + url_launcher: + :path: ".symlinks/plugins/url_launcher/ios" SPEC CHECKSUMS: Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a hexcolor: fdfb9c4258ad96e949c2dbcdf790a62194b8aa89 image_picker: 50e7c7ff960e5f58faa4d1f4af84a771c671bc4a shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d + url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef PODFILE CHECKSUM: a75497545d4391e2d394c3668e20cfb1c2bbd4aa diff --git a/lib/commons/common_text_field.dart b/lib/commons/common_text_field.dart index 6ce3bd8f..cdb60623 100644 --- a/lib/commons/common_text_field.dart +++ b/lib/commons/common_text_field.dart @@ -151,10 +151,10 @@ class _CommonTextFieldState extends State { ), ), Positioned( - top: 4, - right: 18, + top: 2, + right: 14, child: IconButton( - iconSize: 18, + iconSize: 23, padding: EdgeInsets.zero, constraints: BoxConstraints(), icon: SvgPicture.asset('assets/icons/cancel_filled.svg'), diff --git a/lib/commons/image/image_carousel.dart b/lib/commons/image/image_carousel.dart index 41f8b8ab..e627e487 100644 --- a/lib/commons/image/image_carousel.dart +++ b/lib/commons/image/image_carousel.dart @@ -103,14 +103,15 @@ class ImageCarouselState extends State { body: Stack( children: [ CarouselSlider( - options: CarouselOptions( - height: double.infinity, - viewportFraction: 1, - enableInfiniteScroll: false, - initialPage: currPage, - onPageChanged: (idx, _) => switchPage(idx) - ), - items: [...picturesState.map((e) => ImageExpanded(imagePath: e.urlPath))] + options: CarouselOptions( + height: double.infinity, + viewportFraction: 1, + enableInfiniteScroll: false, + scrollPhysics: ClampingScrollPhysics(), + initialPage: currPage, + onPageChanged: (idx, _) => switchPage(idx) + ), + items: [...picturesState.map((e) => ImageExpanded(imagePath: e.urlPath))] ), Center( child: Padding( diff --git a/lib/screens/boards/boards_app.dart b/lib/screens/boards/boards_app.dart index ff360509..173b359c 100644 --- a/lib/screens/boards/boards_app.dart +++ b/lib/screens/boards/boards_app.dart @@ -31,6 +31,7 @@ class _BoardsAppScaffoldState extends State { return DefaultTabController( length: 6, child: Scaffold( + backgroundColor: GuamColorFamily.purpleLight3, appBar: PreferredSize( preferredSize: Size.fromHeight(100), child: CustomAppBar( @@ -55,6 +56,7 @@ class _BoardsAppScaffoldState extends State { ), ), body: TabBarView( + physics: BouncingScrollPhysics(), children: [ BoardsFeed(), BoardsFeed(), diff --git a/lib/screens/boards/posts/creation/post_creation_image.dart b/lib/screens/boards/posts/creation/post_creation_image.dart index 118ab144..740c1b60 100644 --- a/lib/screens/boards/posts/creation/post_creation_image.dart +++ b/lib/screens/boards/posts/creation/post_creation_image.dart @@ -121,10 +121,10 @@ class _PostCreationImageState extends State { ), ), Positioned( - top: 4, - right: 4, + top: 2, + right: 2, child: IconButton( - iconSize: 18, + iconSize: 23, padding: EdgeInsets.zero, constraints: BoxConstraints(), icon: SvgPicture.asset('assets/icons/cancel_filled.svg'), From 22132a7b2d74c79ad4699c2cfbb3356d150da194 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Wed, 29 Dec 2021 02:28:31 +0900 Subject: [PATCH 055/338] Edit profile img modal --- lib/commons/common_text_button.dart | 1 + .../buttons/profile_img_edit_button.dart | 23 +++++++++- .../profiles/edit/profile_edit_img_modal.dart | 45 +++++++++++++++++++ 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 lib/screens/profiles/edit/profile_edit_img_modal.dart diff --git a/lib/commons/common_text_button.dart b/lib/commons/common_text_button.dart index 43cb9af8..905e7206 100644 --- a/lib/commons/common_text_button.dart +++ b/lib/commons/common_text_button.dart @@ -28,6 +28,7 @@ class CommonTextButton extends StatelessWidget { alignment: Alignment.centerLeft, tapTargetSize: MaterialTapTargetSize.shrinkWrap, ), + onPressed: onPressed, ); } } diff --git a/lib/screens/profiles/buttons/profile_img_edit_button.dart b/lib/screens/profiles/buttons/profile_img_edit_button.dart index 9d46ea95..2df421c7 100644 --- a/lib/screens/profiles/buttons/profile_img_edit_button.dart +++ b/lib/screens/profiles/buttons/profile_img_edit_button.dart @@ -2,6 +2,9 @@ import 'package:flutter/material.dart'; import '../../../commons/common_text_button.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; +import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; +import 'dart:io' show Platform; +import '../edit/profile_edit_img_modal.dart'; class ProfileImgEditButton extends StatelessWidget { @override @@ -11,7 +14,25 @@ class ProfileImgEditButton extends StatelessWidget { fontSize: 12, fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, textColor: GuamColorFamily.purpleCore, - onPressed: () {}, + onPressed: () { + if (Platform.isAndroid) { + showMaterialModalBottomSheet( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.only( + topLeft: const Radius.circular(20), + topRight: const Radius.circular(20), + ) + ), + context: context, + builder: (_) => ProfileEditImgModal() + ); + } else { + showCupertinoModalBottomSheet( + context: context, + builder: (_) => ProfileEditImgModal() + ); + } + }, ); } } diff --git a/lib/screens/profiles/edit/profile_edit_img_modal.dart b/lib/screens/profiles/edit/profile_edit_img_modal.dart new file mode 100644 index 00000000..d2755b66 --- /dev/null +++ b/lib/screens/profiles/edit/profile_edit_img_modal.dart @@ -0,0 +1,45 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; +import 'package:guam_community_client/commons/common_text_button.dart'; + +class ProfileEditImgModal extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Wrap( + children: [ + Container( + padding: const EdgeInsets.all(24), + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.only( + topLeft: const Radius.circular(20), + topRight: const Radius.circular(20), + ), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + CommonTextButton( + text: '사진 가져오기', + fontSize: 16, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + textColor: GuamColorFamily.grayscaleGray1, + onPressed: () {}, + ), + Padding(padding: EdgeInsets.only(bottom: 20)), + CommonTextButton( + text: '기본 사진으로 설정', + fontSize: 16, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + textColor: GuamColorFamily.grayscaleGray1, + onPressed: () { + }, + ), + ], + ), + ) + ], + ); + } +} From 9a0e088b7628921321b7127cc2f08f84248dfb9c Mon Sep 17 00:00:00 2001 From: gajagajago Date: Wed, 29 Dec 2021 02:54:32 +0900 Subject: [PATCH 056/338] Settings --- ...le_bottom_button.dart => long_button.dart} | 6 +-- .../profiles/buttons/profile_edit_button.dart | 2 +- .../profiles/pages/blacklist_edit.dart | 18 +++++++ .../profiles/pages/interests_edit.dart | 18 +++++++ lib/screens/profiles/pages/my_posts.dart | 18 +++++++ .../profiles/{ => pages}/profiles_edit.dart | 12 ++--- lib/screens/profiles/pages/saved_posts.dart | 18 +++++++ lib/screens/profiles/pages/settings.dart | 50 +++++++++++++++++++ .../profile/profile_bottom_buttons.dart | 42 +++++++++++++--- 9 files changed, 166 insertions(+), 18 deletions(-) rename lib/screens/profiles/buttons/{profile_bottom_button.dart => long_button.dart} (92%) create mode 100644 lib/screens/profiles/pages/blacklist_edit.dart create mode 100644 lib/screens/profiles/pages/interests_edit.dart create mode 100644 lib/screens/profiles/pages/my_posts.dart rename lib/screens/profiles/{ => pages}/profiles_edit.dart (88%) create mode 100644 lib/screens/profiles/pages/saved_posts.dart create mode 100644 lib/screens/profiles/pages/settings.dart diff --git a/lib/screens/profiles/buttons/profile_bottom_button.dart b/lib/screens/profiles/buttons/long_button.dart similarity index 92% rename from lib/screens/profiles/buttons/profile_bottom_button.dart rename to lib/screens/profiles/buttons/long_button.dart index 3139da49..6090988d 100644 --- a/lib/screens/profiles/buttons/profile_bottom_button.dart +++ b/lib/screens/profiles/buttons/long_button.dart @@ -3,11 +3,11 @@ import 'package:guam_community_client/commons/icon_text.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; -class ProfileBottomButton extends StatelessWidget { +class LongButton extends StatelessWidget { final String label; final Function onPressed; - ProfileBottomButton(this.label, this.onPressed); + LongButton({this.label, this.onPressed}); @override Widget build(BuildContext context) { @@ -40,4 +40,4 @@ class ProfileBottomButton extends StatelessWidget { onPressed: onPressed, ); } -} \ No newline at end of file +} diff --git a/lib/screens/profiles/buttons/profile_edit_button.dart b/lib/screens/profiles/buttons/profile_edit_button.dart index 51ab65f5..56f6eaa9 100644 --- a/lib/screens/profiles/buttons/profile_edit_button.dart +++ b/lib/screens/profiles/buttons/profile_edit_button.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/commons/icon_text.dart'; import 'package:guam_community_client/styles/colors.dart'; -import '../profiles_edit.dart'; +import '../pages/profiles_edit.dart'; class ProfileEditButton extends StatelessWidget { @override diff --git a/lib/screens/profiles/pages/blacklist_edit.dart b/lib/screens/profiles/pages/blacklist_edit.dart new file mode 100644 index 00000000..9e2406ad --- /dev/null +++ b/lib/screens/profiles/pages/blacklist_edit.dart @@ -0,0 +1,18 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/back.dart'; +import '../../../commons/custom_app_bar.dart'; + +class BlackListEdit extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + leading: Back(), + title: '차단 목록 관리', + ), + body: SingleChildScrollView( + child: Column(), + ) + ); + } +} diff --git a/lib/screens/profiles/pages/interests_edit.dart b/lib/screens/profiles/pages/interests_edit.dart new file mode 100644 index 00000000..e3d553b5 --- /dev/null +++ b/lib/screens/profiles/pages/interests_edit.dart @@ -0,0 +1,18 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/back.dart'; +import '../../../commons/custom_app_bar.dart'; + +class InterestsEdit extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + leading: Back(), + title: '관심사 관리', + ), + body: SingleChildScrollView( + child: Column(), + ) + ); + } +} diff --git a/lib/screens/profiles/pages/my_posts.dart b/lib/screens/profiles/pages/my_posts.dart new file mode 100644 index 00000000..190872c0 --- /dev/null +++ b/lib/screens/profiles/pages/my_posts.dart @@ -0,0 +1,18 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/back.dart'; +import '../../../commons/custom_app_bar.dart'; + +class MyPosts extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + leading: Back(), + title: '내가 쓴 글', + ), + body: SingleChildScrollView( + child: Column(), + ) + ); + } +} diff --git a/lib/screens/profiles/profiles_edit.dart b/lib/screens/profiles/pages/profiles_edit.dart similarity index 88% rename from lib/screens/profiles/profiles_edit.dart rename to lib/screens/profiles/pages/profiles_edit.dart index c1e42044..6afde2f8 100644 --- a/lib/screens/profiles/profiles_edit.dart +++ b/lib/screens/profiles/pages/profiles_edit.dart @@ -4,13 +4,13 @@ import 'package:guam_community_client/models/profiles/profile.dart'; import 'package:guam_community_client/screens/profiles/buttons/profile_img_edit_button.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; -import '../../commons/custom_app_bar.dart'; -import '../../commons/common_text_button.dart'; -import 'profile/profile_img.dart'; +import '../../../commons/custom_app_bar.dart'; +import '../../../commons/common_text_button.dart'; +import '../profile/profile_img.dart'; import 'package:guam_community_client/models/picture.dart'; -import 'edit/profile_edit_nickname.dart'; -import 'edit/profile_edit_intro.dart'; -import 'edit/profile_edit_optional.dart'; +import '../edit/profile_edit_nickname.dart'; +import '../edit/profile_edit_intro.dart'; +import '../edit/profile_edit_optional.dart'; class ProfilesEdit extends StatelessWidget { final Profile dummy = Profile( diff --git a/lib/screens/profiles/pages/saved_posts.dart b/lib/screens/profiles/pages/saved_posts.dart new file mode 100644 index 00000000..e40401f7 --- /dev/null +++ b/lib/screens/profiles/pages/saved_posts.dart @@ -0,0 +1,18 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/back.dart'; +import '../../../commons/custom_app_bar.dart'; + +class SavedPosts extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + leading: Back(), + title: '저장한 글', + ), + body: SingleChildScrollView( + child: Column(), + ) + ); + } +} diff --git a/lib/screens/profiles/pages/settings.dart b/lib/screens/profiles/pages/settings.dart new file mode 100644 index 00000000..422659a1 --- /dev/null +++ b/lib/screens/profiles/pages/settings.dart @@ -0,0 +1,50 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/commons/back.dart'; +import '../../../commons/custom_app_bar.dart'; +import '../buttons/long_button.dart'; +import 'blacklist_edit.dart'; +import 'interests_edit.dart'; + +class Settings extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + leading: Back(), + title: '계정 설정', + ), + body: SingleChildScrollView( + child: Padding( + padding: EdgeInsets.all(24), + child: Wrap( + runSpacing: 12, + children: [ + LongButton( + label: '차단 목록 관리', + onPressed: () => Navigator.push( + context, + MaterialPageRoute( + builder: (_) => BlackListEdit() + ) + ) + ), + LongButton( + label: '관심사 관리', + onPressed: () => Navigator.push( + context, + MaterialPageRoute( + builder: (_) => InterestsEdit() + ) + ) + ), + LongButton( + label: '로그아웃', + onPressed: () {} + ), + ], + ), + ), + ) + ); + } +} diff --git a/lib/screens/profiles/profile/profile_bottom_buttons.dart b/lib/screens/profiles/profile/profile_bottom_buttons.dart index 81d6cea3..0e35cc75 100644 --- a/lib/screens/profiles/profile/profile_bottom_buttons.dart +++ b/lib/screens/profiles/profile/profile_bottom_buttons.dart @@ -1,20 +1,46 @@ import 'package:flutter/material.dart'; -import '../buttons/profile_bottom_button.dart'; +import '../buttons/long_button.dart'; +import '../pages/my_posts.dart'; +import '../pages/saved_posts.dart'; +import '../pages/settings.dart'; class ProfileBottomButtons extends StatelessWidget { @override Widget build(BuildContext context) { return Padding( padding: EdgeInsets.only(top: 24), - child: Column( + child: Wrap( + runSpacing: 12, children: [ - ProfileBottomButton('내가 쓴 글', () {}), - Padding(padding: EdgeInsets.only(bottom: 12)), - ProfileBottomButton('저장한 글', () {}), - Padding(padding: EdgeInsets.only(bottom: 12)), - ProfileBottomButton('계정 설정', () {}), + LongButton( + label: '내가 쓴 글', + onPressed: () => Navigator.push( + context, + MaterialPageRoute( + builder: (_) => MyPosts() + ) + ) + ), + LongButton( + label: '저장한 글', + onPressed: () => Navigator.push( + context, + MaterialPageRoute( + builder: (_) => SavedPosts() + ) + ) + ), + LongButton( + label: '계정 설정', + onPressed: () => Navigator.push( + context, + MaterialPageRoute( + builder: (_) => Settings() + ) + ) + ), ], ), ); } -} \ No newline at end of file +} From ec673d713e2595481ce89833b20e394ae28b3656 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Wed, 29 Dec 2021 11:48:01 +0900 Subject: [PATCH 057/338] New Module: common_img_nickname --- lib/commons/common_img_nickname.dart | 43 +++++++++++++++++++++++++ lib/screens/boards/posts/post_info.dart | 31 +++--------------- 2 files changed, 47 insertions(+), 27 deletions(-) create mode 100644 lib/commons/common_img_nickname.dart diff --git a/lib/commons/common_img_nickname.dart b/lib/commons/common_img_nickname.dart new file mode 100644 index 00000000..c7065be8 --- /dev/null +++ b/lib/commons/common_img_nickname.dart @@ -0,0 +1,43 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/helpers/svg_provider.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +class CommonImgNickname extends StatelessWidget { + final String imgUrl; + final String nickname; + + CommonImgNickname({this.imgUrl, this.nickname}); + + @override + Widget build(BuildContext context) { + return Row( + children: [ + Padding( + padding: EdgeInsets.only(top: 12, bottom: 8, right: 8), + child: Container( + height: 24, + width: 24, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + image: DecorationImage( + fit: BoxFit.cover, + image: imgUrl != null + ? NetworkImage(imgUrl) + : SvgProvider('assets/icons/profile_image.svg') + ), + ), + ), + ), + Text( + nickname, + style: TextStyle( + fontSize: 12, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray3, + ), + ), + ], + ); + } +} diff --git a/lib/screens/boards/posts/post_info.dart b/lib/screens/boards/posts/post_info.dart index 45896a69..7d11ddcf 100644 --- a/lib/screens/boards/posts/post_info.dart +++ b/lib/screens/boards/posts/post_info.dart @@ -5,6 +5,7 @@ import 'package:guam_community_client/models/boards/post.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; import 'package:hexcolor/hexcolor.dart'; +import '../../../commons/common_img_nickname.dart'; class PostInfo extends StatelessWidget { final Post post; @@ -24,33 +25,9 @@ class PostInfo extends StatelessWidget { return Row( children: [ if (showProfile) - Row( - children: [ - Padding( - padding: EdgeInsets.only(top: 12, bottom: 8, right: 8), - child: Container( - height: 24, - width: 24, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10), - image: DecorationImage( - fit: BoxFit.cover, - image: post.profile.profileImg != null - ? NetworkImage(post.profile.profileImg.urlPath) - : SvgProvider('assets/icons/profile_image.svg') - ), - ), - ), - ), - Text( - post.profile.nickname, - style: TextStyle( - fontSize: 12, - fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, - color: GuamColorFamily.grayscaleGray3, - ), - ), - ], + CommonImgNickname( + imgUrl: post.profile.profileImg.urlPath, + nickname: post.profile.nickname, ), if (showProfile) Spacer(), Row( From 7e62ef9fecca069b89feb9ca61a8fb98d700e234 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Wed, 29 Dec 2021 12:05:09 +0900 Subject: [PATCH 058/338] Edit. PostInfo to standard profile fmt --- lib/providers/posts/posts.dart | 72 ++++++++++++++++++++++------------ 1 file changed, 48 insertions(+), 24 deletions(-) diff --git a/lib/providers/posts/posts.dart b/lib/providers/posts/posts.dart index b5d0e7a2..0bfb67ae 100644 --- a/lib/providers/posts/posts.dart +++ b/lib/providers/posts/posts.dart @@ -23,8 +23,10 @@ class Posts with ChangeNotifier { 'profile': { 'id': 1, 'nickname': 'marcelko', - // 일부러 profileImageUrl = null 만듦 - // 'profileImageUrl': 'http://img.danawa.com/prod_img/500000/030/472/img/4472030_1.jpg?shrink=330:330&_v=20160923121953', + 'profileImg': { + 'id': 1, + 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + }, 'githubUrl': 'https://github.com/yeonghyeonKO', 'blogUrl': 'https://newstellar.tistory.com', 'skillSet': ['Flutter, Django, React', 'pyTorch'], @@ -41,8 +43,10 @@ class Posts with ChangeNotifier { 'profile': { 'id': 3, 'nickname': 'bluesky', - 'profileImageUrl': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', - }, + 'profileImg': { + 'id': 1, + 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + }, }, 'isAuthor': false, 'isLiked': true, 'comment': '저도 궁금하네요 ㅎㅎ', @@ -53,8 +57,10 @@ class Posts with ChangeNotifier { 'profile': { 'id': 6, 'nickname': 'jhkang', - // 'profileImageUrl': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', - }, + 'profileImg': { + 'id': 1, + 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + }, }, 'isAuthor': false, 'isLiked': true, 'comment': '안녕하세요. 혹시 과외하실 생각 있으시면 저한테 쪽지 보내주세요! 제 프로필에 정보 나와있습니다.', @@ -65,8 +71,10 @@ class Posts with ChangeNotifier { 'profile': { 'id': 1, 'nickname': 'marcelko', - // 'profileImageUrl': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', - }, + 'profileImg': { + 'id': 1, + 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + }, }, 'isAuthor': true, 'isLiked': false, 'comment': '@jhkang 쪽지 드렸습니다!🙏', @@ -86,8 +94,10 @@ class Posts with ChangeNotifier { 'profile': { 'id': 2, 'nickname': 'jwjeong', - 'profileImageUrl': 'https://cdn.speconomy.com/news/photo/201705/20170514_1_bodyimg_82397.png', - 'githubUrl': 'https://github.com/yeonghyeonKO', + 'profileImg': { + 'id': 1, + 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + }, 'githubUrl': 'https://github.com/yeonghyeonKO', 'blogUrl': 'https://newstellar.tistory.com', 'skillSet': ['Flutter, Django, React', 'pyTorch'], 'interests': ['개발', '디자인'], @@ -124,8 +134,10 @@ class Posts with ChangeNotifier { 'profile': { 'id': 3, 'nickname': 'bluesky', - 'profileImageUrl': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', - }, + 'profileImg': { + 'id': 1, + 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + }, }, 'isAuthor': false, 'isLiked': true, 'comment': '모든 문제 다 풀으셨나요?', @@ -136,8 +148,10 @@ class Posts with ChangeNotifier { 'profile': { 'id': 6, 'nickname': 'jhkang', - // 'profileImageUrl': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', - }, + 'profileImg': { + 'id': 1, + 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + }, }, 'isAuthor': false, 'isLiked': true, 'comment': '안녕하세요. 혹시 과외하실 생각 있으시면 저한테 쪽지 보내주세요! 제 프로필에 정보 나와있습니다.', @@ -168,8 +182,10 @@ class Posts with ChangeNotifier { 'profile': { 'id': 3, 'nickname': 'bluesky', - 'profileImageUrl': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', - 'githubUrl': 'https://github.com/yeonghyeonKO', + 'profileImg': { + 'id': 1, + 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + }, 'githubUrl': 'https://github.com/yeonghyeonKO', 'blogUrl': 'https://newstellar.tistory.com', 'skillSet': ['Flutter, Django, React', 'pyTorch'], 'interests': ['개발', '디자인'], @@ -185,8 +201,10 @@ class Posts with ChangeNotifier { 'profile': { 'id': 7, 'nickname': 'anthony', - // 'profileImageUrl': '', - }, + 'profileImg': { + 'id': 1, + 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + }, }, 'isAuthor': false, 'isLiked': false, 'comment': '모니터 쓰실거면 13인치 추천합니다~', @@ -197,8 +215,10 @@ class Posts with ChangeNotifier { 'profile': { 'id': 6, 'nickname': 'dsnkim', - // 'profileImageUrl': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', - }, + 'profileImg': { + 'id': 1, + 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + }, }, 'isAuthor': false, 'isLiked': false, 'comment': '저는 좀 기다리셔서 16인치요. 13인치 가벼워서 좋은데 모니터 너무 작아서 후회하고 있어요 ㅠㅠ', @@ -217,8 +237,10 @@ class Posts with ChangeNotifier { 'profile': { 'id': 4, 'nickname': '맨날비와', - 'profileImageUrl': 'https://t1.daumcdn.net/cfile/tistory/99A97E4C5D25E9C226', - 'githubUrl': 'https://github.com/yeonghyeonKO', + 'profileImg': { + 'id': 1, + 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + }, 'githubUrl': 'https://github.com/yeonghyeonKO', 'blogUrl': 'https://newstellar.tistory.com', 'skillSet': ['Flutter, Django, React', 'pyTorch'], 'interests': ['개발', '디자인'], @@ -241,8 +263,10 @@ class Posts with ChangeNotifier { 'profile': { 'id': 5, 'nickname': '해피언니', - 'profileImageUrl': 'https://t1.daumcdn.net/cfile/tistory/241F824757B095710E', - 'githubUrl': 'https://github.com/yeonghyeonKO', + 'profileImg': { + 'id': 1, + 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + }, 'githubUrl': 'https://github.com/yeonghyeonKO', 'blogUrl': 'https://newstellar.tistory.com', 'skillSet': ['Flutter, Django, React', 'pyTorch'], 'interests': ['개발', '디자인'], From 5c850aa872212513d3707978e060cbbed6bb5784 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Wed, 29 Dec 2021 12:11:33 +0900 Subject: [PATCH 059/338] New Page: blacklist_edit --- .../buttons/blacklist_remove_button.dart | 17 +++++++++ .../profiles/pages/blacklist_edit.dart | 37 ++++++++++++++++++- 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 lib/screens/profiles/buttons/blacklist_remove_button.dart diff --git a/lib/screens/profiles/buttons/blacklist_remove_button.dart b/lib/screens/profiles/buttons/blacklist_remove_button.dart new file mode 100644 index 00000000..29282d02 --- /dev/null +++ b/lib/screens/profiles/buttons/blacklist_remove_button.dart @@ -0,0 +1,17 @@ +import 'package:flutter/material.dart'; +import '../../../commons/common_text_button.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +class BlackListRemoveButton extends StatelessWidget { + @override + Widget build(BuildContext context) { + return CommonTextButton( + text: '해제', + fontSize: 14, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + textColor: GuamColorFamily.grayscaleGray4, + onPressed: () {}, + ); + } +} diff --git a/lib/screens/profiles/pages/blacklist_edit.dart b/lib/screens/profiles/pages/blacklist_edit.dart index 9e2406ad..893d25e2 100644 --- a/lib/screens/profiles/pages/blacklist_edit.dart +++ b/lib/screens/profiles/pages/blacklist_edit.dart @@ -1,8 +1,28 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/commons/back.dart'; import '../../../commons/custom_app_bar.dart'; +import '../../../commons/common_img_nickname.dart'; +import '../buttons/blacklist_remove_button.dart'; class BlackListEdit extends StatelessWidget { + final List blacklist = [ + { + 'id': 4, + 'nickname': 'marcelko', + 'profileImageUrl': 'https://t1.daumcdn.net/cfile/tistory/99A97E4C5D25E9C226', + }, + { + 'id': 5, + 'nickname': 'chadan1', + 'profileImageUrl': 'https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75', + }, + { + 'id': 6, + 'nickname': 'marcelkor', + 'profileImageUrl': null, + }, + ]; + @override Widget build(BuildContext context) { return Scaffold( @@ -11,7 +31,22 @@ class BlackListEdit extends StatelessWidget { title: '차단 목록 관리', ), body: SingleChildScrollView( - child: Column(), + child: Padding( + padding: EdgeInsets.all(24), + child: Wrap( + runSpacing: 12, + children: [...blacklist.map((e) => Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + CommonImgNickname( + imgUrl: e['profileImageUrl'], + nickname: e['nickname'], + ), + BlackListRemoveButton() + ], + ))], + ), + ), ) ); } From 44120e8f6e56094949e4a8f0575bc2e33973c59d Mon Sep 17 00:00:00 2001 From: gajagajago Date: Wed, 29 Dec 2021 12:38:07 +0900 Subject: [PATCH 060/338] Fix. post_preview delete unnecessary provider passing --- lib/screens/boards/posts/post_info.dart | 2 +- lib/screens/boards/posts/post_list.dart | 2 +- lib/screens/boards/posts/preview/post_preview.dart | 3 +-- lib/screens/profiles/pages/my_posts.dart | 12 +++++++++++- lib/screens/profiles/pages/saved_posts.dart | 7 ++++++- 5 files changed, 20 insertions(+), 6 deletions(-) diff --git a/lib/screens/boards/posts/post_info.dart b/lib/screens/boards/posts/post_info.dart index 7d11ddcf..dcb7f4bb 100644 --- a/lib/screens/boards/posts/post_info.dart +++ b/lib/screens/boards/posts/post_info.dart @@ -26,7 +26,7 @@ class PostInfo extends StatelessWidget { children: [ if (showProfile) CommonImgNickname( - imgUrl: post.profile.profileImg.urlPath, + imgUrl: post.profile.profileImg != null ? post.profile.profileImg.urlPath : null, nickname: post.profile.nickname, ), if (showProfile) Spacer(), diff --git a/lib/screens/boards/posts/post_list.dart b/lib/screens/boards/posts/post_list.dart index 14c68e38..df839b21 100644 --- a/lib/screens/boards/posts/post_list.dart +++ b/lib/screens/boards/posts/post_list.dart @@ -36,7 +36,7 @@ class PostList extends StatelessWidget { padding: EdgeInsets.only(bottom: 10), child: Column( children: [ - ...postsProvider.posts.map((post) => PostPreview(post, postsProvider)) + ...postsProvider.posts.map((post) => PostPreview(post)) ] ), ) diff --git a/lib/screens/boards/posts/preview/post_preview.dart b/lib/screens/boards/posts/preview/post_preview.dart index 3a6ef8c2..d6f32518 100644 --- a/lib/screens/boards/posts/preview/post_preview.dart +++ b/lib/screens/boards/posts/preview/post_preview.dart @@ -11,9 +11,8 @@ import 'package:provider/provider.dart'; class PostPreview extends StatelessWidget { final Post post; - final Posts postsProvider; - PostPreview(this.post, this.postsProvider); + PostPreview(this.post); @override Widget build(BuildContext context) { diff --git a/lib/screens/profiles/pages/my_posts.dart b/lib/screens/profiles/pages/my_posts.dart index 190872c0..00b0458f 100644 --- a/lib/screens/profiles/pages/my_posts.dart +++ b/lib/screens/profiles/pages/my_posts.dart @@ -1,6 +1,11 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/commons/back.dart'; import '../../../commons/custom_app_bar.dart'; +import 'package:guam_community_client/providers/posts/posts.dart'; +import 'package:provider/provider.dart'; +import '../../../models/boards/post.dart'; +import 'package:guam_community_client/screens/boards/posts/preview/post_preview.dart'; +import '../../../models/profiles/profile.dart'; class MyPosts extends StatelessWidget { @override @@ -11,7 +16,12 @@ class MyPosts extends StatelessWidget { title: '내가 쓴 글', ), body: SingleChildScrollView( - child: Column(), + child: Padding( + padding: EdgeInsets.symmetric(vertical: 12, horizontal: 16), + child: Column( + children: [] + ), + ), ) ); } diff --git a/lib/screens/profiles/pages/saved_posts.dart b/lib/screens/profiles/pages/saved_posts.dart index e40401f7..91187ef1 100644 --- a/lib/screens/profiles/pages/saved_posts.dart +++ b/lib/screens/profiles/pages/saved_posts.dart @@ -11,7 +11,12 @@ class SavedPosts extends StatelessWidget { title: '저장한 글', ), body: SingleChildScrollView( - child: Column(), + child: Padding( + padding: EdgeInsets.symmetric(vertical: 12, horizontal: 16), + child: Column( + children: [] + ), + ), ) ); } From 34bd37df22cb26e9105d6129c693d0349d0c5304 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Wed, 29 Dec 2021 15:54:27 +0900 Subject: [PATCH 061/338] New module: interest_chip --- .../edit/interests/interest_chip.dart | 25 ++++++ .../edit/interests/interests_edit_label.dart | 43 +++++++++++ .../interests/interests_edit_textfield.dart | 77 +++++++++++++++++++ .../profiles/pages/interests_edit.dart | 32 +++++++- 4 files changed, 176 insertions(+), 1 deletion(-) create mode 100644 lib/screens/profiles/edit/interests/interest_chip.dart create mode 100644 lib/screens/profiles/edit/interests/interests_edit_label.dart create mode 100644 lib/screens/profiles/edit/interests/interests_edit_textfield.dart diff --git a/lib/screens/profiles/edit/interests/interest_chip.dart b/lib/screens/profiles/edit/interests/interest_chip.dart new file mode 100644 index 00000000..c2ac074f --- /dev/null +++ b/lib/screens/profiles/edit/interests/interest_chip.dart @@ -0,0 +1,25 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; +class InterestChip extends StatelessWidget { + final String interest; + + InterestChip(this.interest); + + @override + Widget build(BuildContext context) { + return Chip( + label: Text('#$interest'), + labelStyle: TextStyle( + fontFamily: GuamFontFamily.SpoqaHanSansNeoMedium, + fontSize: 14, + color: GuamColorFamily.purpleLight1, + height: 22/14, + ), + materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, + backgroundColor: GuamColorFamily.purpleLight3, + // side: BorderSide(color: GuamColorFamily.grayscaleGray6), + padding: EdgeInsets.symmetric(vertical: 2, horizontal: 8), + ); + } +} diff --git a/lib/screens/profiles/edit/interests/interests_edit_label.dart b/lib/screens/profiles/edit/interests/interests_edit_label.dart new file mode 100644 index 00000000..8a7b5b4c --- /dev/null +++ b/lib/screens/profiles/edit/interests/interests_edit_label.dart @@ -0,0 +1,43 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; +import 'package:hexcolor/hexcolor.dart'; + +class InterestsEditLabel extends StatelessWidget { + final int maxNInterests = 5; + final int nInterests; + + InterestsEditLabel(this.nInterests); + + @override + Widget build(BuildContext context) { + return Container( + padding: EdgeInsets.only(bottom: 12), + child: Row( + crossAxisAlignment: CrossAxisAlignment.baseline, + textBaseline: TextBaseline.alphabetic, + children: [ + Text( + '관심사를 설정하세요 ✨', + style: TextStyle( + fontSize: 16, + height: 25.6/16, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray1, + ), + ), + Padding(padding: EdgeInsets.only(right: 4)), + Text( + '($nInterests/$maxNInterests)', + style: TextStyle( + fontSize: 12, + height: 19.2/12, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.purpleCore, + ), + ), + ], + ), + ); + } +} diff --git a/lib/screens/profiles/edit/interests/interests_edit_textfield.dart b/lib/screens/profiles/edit/interests/interests_edit_textfield.dart new file mode 100644 index 00000000..1177f82d --- /dev/null +++ b/lib/screens/profiles/edit/interests/interests_edit_textfield.dart @@ -0,0 +1,77 @@ +import 'dart:ui'; + +import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; +import 'package:guam_community_client/styles/fonts.dart'; + +import '../../../../commons/button_size_circular_progress_indicator.dart'; + +class InterestsEditTextField extends StatefulWidget { + @override + State createState() => InterestsEditTextFieldState(); +} + +class InterestsEditTextFieldState extends State { + bool sending = false; + + void toggleSending() { + setState(() => sending = !sending); + } + + @override + Widget build(BuildContext context) { + return Container( + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Expanded( + child: TextField( + keyboardType: TextInputType.multiline, + maxLines: 1, + style: TextStyle( + fontSize: 14, + fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, + color: GuamColorFamily.grayscaleGray1, + height: 22.4/14 + ), + cursorColor: GuamColorFamily.purpleCore, + decoration: InputDecoration( + hintText: "관심사를 입력해주세요", + hintStyle: TextStyle(fontSize: 14, color: GuamColorFamily.grayscaleGray5), + border: InputBorder.none, + focusedBorder: InputBorder.none, + enabledBorder: InputBorder.none, + errorBorder: InputBorder.none, + disabledBorder: InputBorder.none, + contentPadding: EdgeInsets.symmetric(vertical: 15, horizontal: 16), + ), + ), + ), + !sending ? TextButton( + onPressed: () {}, + style: TextButton.styleFrom( + padding: EdgeInsets.only(right: 6), + minimumSize: Size(30, 26), + alignment: Alignment.center, + ), + child: Text( + '등록', + style: TextStyle( + color: GuamColorFamily.purpleCore, + fontSize: 14, + ), + ), + ) : ButtonSizeCircularProgressIndicator() + ], + ), + decoration: BoxDecoration( + border: Border.all( + color: GuamColorFamily.grayscaleGray6, + width: 1, + ), + borderRadius: BorderRadius.circular(5) + ), + margin: EdgeInsets.only(bottom: 12), + ); + } +} diff --git a/lib/screens/profiles/pages/interests_edit.dart b/lib/screens/profiles/pages/interests_edit.dart index e3d553b5..a8c8e5b9 100644 --- a/lib/screens/profiles/pages/interests_edit.dart +++ b/lib/screens/profiles/pages/interests_edit.dart @@ -1,8 +1,15 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/commons/back.dart'; import '../../../commons/custom_app_bar.dart'; +import '../edit/interests/interests_edit_label.dart'; +import '../edit/interests/interests_edit_textfield.dart'; +import '../edit/profile_edit_label.dart'; +import '../edit/interests/interest_chip.dart'; class InterestsEdit extends StatelessWidget { + final List myInterestsList = ['디자인', '기획/마케팅']; + final List interestsList = ['디자인', '기획/마케팅', '기타', '개발', '데이터분석', + '소프트웨어', '프론트엔드', '백엔드', '시스템', '딥러닝', '머신러닝', 'NLP', '네트워크', '보안']; @override Widget build(BuildContext context) { return Scaffold( @@ -11,7 +18,30 @@ class InterestsEdit extends StatelessWidget { title: '관심사 관리', ), body: SingleChildScrollView( - child: Column(), + child: Padding( + padding: EdgeInsets.all(24), + child: Column( + // mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + InterestsEditLabel(myInterestsList.length), + InterestsEditTextField(), + Padding( + child: ProfileEditLabel('내 관심사'), + padding: EdgeInsets.only(bottom: 12), + ), + Padding( + child: ProfileEditLabel('관심사 목록'), + padding: EdgeInsets.only(bottom: 12), + ), + Wrap( + spacing: 8, + runSpacing: 10, + children: [...interestsList.map((i) => InterestChip(i))], + ) + ], + ), + ), ) ); } From 34ae37d9328473742e7f5b6e203a7c7ca3c902e8 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Wed, 29 Dec 2021 16:09:32 +0900 Subject: [PATCH 062/338] Edit. interest_chip -> interest_btn --- .../interest_button.dart} | 13 ++++++++----- .../profiles/buttons/profile_skill_button.dart | 5 ++--- .../edit/interests/interests_edit_label.dart | 2 +- .../skillset/profile_edit_skillset_detail.dart | 5 ++++- lib/screens/profiles/pages/interests_edit.dart | 14 ++++++++++---- 5 files changed, 25 insertions(+), 14 deletions(-) rename lib/screens/profiles/{edit/interests/interest_chip.dart => buttons/interest_button.dart} (54%) diff --git a/lib/screens/profiles/edit/interests/interest_chip.dart b/lib/screens/profiles/buttons/interest_button.dart similarity index 54% rename from lib/screens/profiles/edit/interests/interest_chip.dart rename to lib/screens/profiles/buttons/interest_button.dart index c2ac074f..f55264c2 100644 --- a/lib/screens/profiles/edit/interests/interest_chip.dart +++ b/lib/screens/profiles/buttons/interest_button.dart @@ -1,24 +1,27 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; -class InterestChip extends StatelessWidget { + +class InterestButton extends StatelessWidget { final String interest; + final bool deletable; - InterestChip(this.interest); + InterestButton(this.interest, {this.deletable = false}); @override Widget build(BuildContext context) { return Chip( label: Text('#$interest'), labelStyle: TextStyle( - fontFamily: GuamFontFamily.SpoqaHanSansNeoMedium, + fontFamily: deletable ? GuamFontFamily.SpoqaHanSansNeoRegular : GuamFontFamily.SpoqaHanSansNeoMedium, fontSize: 14, - color: GuamColorFamily.purpleLight1, + color: deletable ? GuamColorFamily.grayscaleGray2 : GuamColorFamily.purpleLight1, height: 22/14, ), + onDeleted: deletable ? () {} : null, materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, backgroundColor: GuamColorFamily.purpleLight3, - // side: BorderSide(color: GuamColorFamily.grayscaleGray6), + side: deletable ? BorderSide(width: 0.5, color: GuamColorFamily.grayscaleGray6) : null, padding: EdgeInsets.symmetric(vertical: 2, horizontal: 8), ); } diff --git a/lib/screens/profiles/buttons/profile_skill_button.dart b/lib/screens/profiles/buttons/profile_skill_button.dart index babee29e..10c503b7 100644 --- a/lib/screens/profiles/buttons/profile_skill_button.dart +++ b/lib/screens/profiles/buttons/profile_skill_button.dart @@ -15,7 +15,7 @@ class ProfileSkillButton extends StatelessWidget { labelStyle: TextStyle( fontFamily: GuamFontFamily.SpoqaHanSansNeoRegular, fontSize: 12, - color: GuamColorFamily.grayscaleGray4, + color: deletable ? GuamColorFamily.grayscaleGray2 : GuamColorFamily.grayscaleGray4, height: 19.2/12, ), onDeleted: deletable ? () {} : null, @@ -25,5 +25,4 @@ class ProfileSkillButton extends StatelessWidget { padding: EdgeInsets.all(4), ); } - -} \ No newline at end of file +} diff --git a/lib/screens/profiles/edit/interests/interests_edit_label.dart b/lib/screens/profiles/edit/interests/interests_edit_label.dart index 8a7b5b4c..e94af226 100644 --- a/lib/screens/profiles/edit/interests/interests_edit_label.dart +++ b/lib/screens/profiles/edit/interests/interests_edit_label.dart @@ -12,7 +12,7 @@ class InterestsEditLabel extends StatelessWidget { @override Widget build(BuildContext context) { return Container( - padding: EdgeInsets.only(bottom: 12), + padding: EdgeInsets.only(bottom: 15), child: Row( crossAxisAlignment: CrossAxisAlignment.baseline, textBaseline: TextBaseline.alphabetic, diff --git a/lib/screens/profiles/edit/skillset/profile_edit_skillset_detail.dart b/lib/screens/profiles/edit/skillset/profile_edit_skillset_detail.dart index 4195f6df..8728fca6 100644 --- a/lib/screens/profiles/edit/skillset/profile_edit_skillset_detail.dart +++ b/lib/screens/profiles/edit/skillset/profile_edit_skillset_detail.dart @@ -30,7 +30,10 @@ class ProfileEditSkillSetDetail extends StatelessWidget { alignment: WrapAlignment.center, spacing: 8, runSpacing: 5, - children: [...skillSet.map((skill) => ProfileSkillButton(skill))], + children: [...skillSet.map((skill) => ProfileSkillButton( + skill, + deletable: true, + ))], ) ], ), diff --git a/lib/screens/profiles/pages/interests_edit.dart b/lib/screens/profiles/pages/interests_edit.dart index a8c8e5b9..2e64d0c8 100644 --- a/lib/screens/profiles/pages/interests_edit.dart +++ b/lib/screens/profiles/pages/interests_edit.dart @@ -4,12 +4,13 @@ import '../../../commons/custom_app_bar.dart'; import '../edit/interests/interests_edit_label.dart'; import '../edit/interests/interests_edit_textfield.dart'; import '../edit/profile_edit_label.dart'; -import '../edit/interests/interest_chip.dart'; +import '../buttons/interest_button.dart'; class InterestsEdit extends StatelessWidget { - final List myInterestsList = ['디자인', '기획/마케팅']; + final List myInterestsList = ['디자인', '기획/마케팅', 'NLP', '네트워크']; final List interestsList = ['디자인', '기획/마케팅', '기타', '개발', '데이터분석', '소프트웨어', '프론트엔드', '백엔드', '시스템', '딥러닝', '머신러닝', 'NLP', '네트워크', '보안']; + @override Widget build(BuildContext context) { return Scaffold( @@ -30,14 +31,19 @@ class InterestsEdit extends StatelessWidget { child: ProfileEditLabel('내 관심사'), padding: EdgeInsets.only(bottom: 12), ), + Wrap( + spacing: 8, + runSpacing: 10, + children: [...myInterestsList.map((i) => InterestButton(i, deletable: true))], + ), Padding( child: ProfileEditLabel('관심사 목록'), - padding: EdgeInsets.only(bottom: 12), + padding: EdgeInsets.only(top: 15, bottom: 12), ), Wrap( spacing: 8, runSpacing: 10, - children: [...interestsList.map((i) => InterestChip(i))], + children: [...interestsList.map((i) => InterestButton(i))], ) ], ), From 792fa271d822f3a46142c2f396b8aa92c23f4be1 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Wed, 29 Dec 2021 16:12:11 +0900 Subject: [PATCH 063/338] Slight fix: chips alignment --- .../profiles/edit/skillset/profile_edit_skillset_detail.dart | 5 ++--- lib/screens/profiles/profile/profile_skillset.dart | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/screens/profiles/edit/skillset/profile_edit_skillset_detail.dart b/lib/screens/profiles/edit/skillset/profile_edit_skillset_detail.dart index 8728fca6..1e806b38 100644 --- a/lib/screens/profiles/edit/skillset/profile_edit_skillset_detail.dart +++ b/lib/screens/profiles/edit/skillset/profile_edit_skillset_detail.dart @@ -21,13 +21,12 @@ class ProfileEditSkillSetDetail extends StatelessWidget { width: double.infinity, padding: EdgeInsets.all(24), child: Column( - // mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, children: [ ProfileEditSkillSetLabel(skillSet.length), ProfileEditSkillSetTextField(), Wrap( - alignment: WrapAlignment.center, + // alignment: WrapAlignment.center, spacing: 8, runSpacing: 5, children: [...skillSet.map((skill) => ProfileSkillButton( diff --git a/lib/screens/profiles/profile/profile_skillset.dart b/lib/screens/profiles/profile/profile_skillset.dart index 8c199ab4..058df2c3 100644 --- a/lib/screens/profiles/profile/profile_skillset.dart +++ b/lib/screens/profiles/profile/profile_skillset.dart @@ -9,10 +9,10 @@ class ProfileSkillSet extends StatelessWidget { @override Widget build(BuildContext context) { return Wrap( - alignment: WrapAlignment.center, + alignment: WrapAlignment.start, spacing: 8, runSpacing: 5, children: [...skillSet.map((skill) => ProfileSkillButton(skill))], ); } -} \ No newline at end of file +} From 04c6808671d33298d9b34fbc85b825de02974931 Mon Sep 17 00:00:00 2001 From: gajagajago Date: Wed, 29 Dec 2021 16:18:39 +0900 Subject: [PATCH 064/338] =?UTF-8?q?Slight=20fix:=20github=20comments=20?= =?UTF-8?q?=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/commons/common_text_button.dart | 2 -- .../profiles/edit/skillset/profile_edit_skillset_label.dart | 1 - 2 files changed, 3 deletions(-) diff --git a/lib/commons/common_text_button.dart b/lib/commons/common_text_button.dart index 905e7206..24fd0400 100644 --- a/lib/commons/common_text_button.dart +++ b/lib/commons/common_text_button.dart @@ -1,6 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:guam_community_client/styles/colors.dart'; -import 'package:guam_community_client/styles/fonts.dart'; import 'package:hexcolor/hexcolor.dart'; class CommonTextButton extends StatelessWidget { diff --git a/lib/screens/profiles/edit/skillset/profile_edit_skillset_label.dart b/lib/screens/profiles/edit/skillset/profile_edit_skillset_label.dart index 4610fdcb..31f269f7 100644 --- a/lib/screens/profiles/edit/skillset/profile_edit_skillset_label.dart +++ b/lib/screens/profiles/edit/skillset/profile_edit_skillset_label.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; -import 'package:hexcolor/hexcolor.dart'; class ProfileEditSkillSetLabel extends StatelessWidget { final int nSkillSet; From 1d7a99f02846a25c78600441a82306cc4a201d68 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Thu, 30 Dec 2021 21:34:37 +0900 Subject: [PATCH 065/338] finish structure of selecting interests when singing up --- lib/commons/next_button.dart | 2 - .../login/signup/interest_choice_chip.dart | 66 +++++++++++++++++++ lib/screens/login/signup/signup.dart | 12 ++-- lib/screens/login/signup/signup_interest.dart | 29 +++++++- lib/screens/login/signup/signup_nickname.dart | 12 ++++ 5 files changed, 111 insertions(+), 10 deletions(-) create mode 100644 lib/screens/login/signup/interest_choice_chip.dart diff --git a/lib/commons/next_button.dart b/lib/commons/next_button.dart index 12e8385e..70c7ef41 100644 --- a/lib/commons/next_button.dart +++ b/lib/commons/next_button.dart @@ -4,12 +4,10 @@ import 'package:guam_community_client/styles/colors.dart'; class NextButton extends StatelessWidget { final String label; final Function onTap; - final bool btnEnabled; NextButton({ @required this.label, @required this.onTap, - this.btnEnabled = false, }); @override diff --git a/lib/screens/login/signup/interest_choice_chip.dart b/lib/screens/login/signup/interest_choice_chip.dart new file mode 100644 index 00000000..7c20ee62 --- /dev/null +++ b/lib/screens/login/signup/interest_choice_chip.dart @@ -0,0 +1,66 @@ +import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; + +class InterestChoiceChip extends StatefulWidget { + final List interestOptions; + final List interestList; + final Function(List) onSelectionChanged; + + InterestChoiceChip({this.interestOptions, this.interestList, this.onSelectionChanged}); + + @override + _InterestChoiceChipState createState() => _InterestChoiceChipState(); +} + +class _InterestChoiceChipState extends State { + @override + Widget build(BuildContext context) { + return Wrap( + children: _buildChoiceList(), + ); + } + + _buildChoiceList() { + List choices = []; + List selectedInterests = widget.interestList; + + widget.interestOptions.forEach((interest) { + choices.add( + Container( + width: double.infinity, + child: ChoiceChip( + label: Text( + interest, + style: TextStyle( + fontSize: 16, + color: selectedInterests.contains(interest) + ? GuamColorFamily.purpleCore + : GuamColorFamily.grayscaleGray2, + ), + ), + selected: selectedInterests.contains(interest), + selectedColor: GuamColorFamily.purpleLight2, + backgroundColor: GuamColorFamily.grayscaleWhite, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(30), + side: BorderSide( + color: selectedInterests.contains(interest) + ? GuamColorFamily.purpleCore + : GuamColorFamily.grayscaleGray6 + ), + ), + onSelected: (selected) { + setState(() { + selectedInterests.contains(interest) + ? selectedInterests.remove(interest) + : selectedInterests.add(interest); + widget.onSelectionChanged(selectedInterests); + }); + }, + ), + ) + ); + }); + return choices; + } +} diff --git a/lib/screens/login/signup/signup.dart b/lib/screens/login/signup/signup.dart index 70d25f3e..32584900 100644 --- a/lib/screens/login/signup/signup.dart +++ b/lib/screens/login/signup/signup.dart @@ -11,21 +11,21 @@ class SignUp extends StatefulWidget { class _SignUpState extends State { Map input = {'nickname': '', 'interest': []}; - bool btnEnabled = false; int page = 1; void _nextButton() => setState(() { - if (input['nickname'] != '') { + if (input['nickname'] != '' && page < 2) { page++; - btnEnabled = true; } }); - void _startButton() => setState(() {}); + // signup 정보 Post API 완성 전까지는 임시 방편으로 page -- 처리 + void _startButton() => setState(() {page--;}); @override Widget build(BuildContext context) { Size size = MediaQuery.of(context).size; + return Scaffold( body: SingleChildScrollView( child: Container( @@ -42,9 +42,7 @@ class _SignUpState extends State { padding: EdgeInsets.only(bottom: 40), child: NextButton( label: page==1 ? '다음' : '시작', - onTap: _nextButton, - btnEnabled: btnEnabled, - ), + onTap: page==1 ? _nextButton : _startButton), ), ], ), diff --git a/lib/screens/login/signup/signup_interest.dart b/lib/screens/login/signup/signup_interest.dart index 2383e922..05c75864 100644 --- a/lib/screens/login/signup/signup_interest.dart +++ b/lib/screens/login/signup/signup_interest.dart @@ -1,8 +1,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:guam_community_client/screens/login/signup/interest_choice_chip.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:guam_community_client/styles/fonts.dart'; + class SignupInterest extends StatefulWidget { final Map input; final Function startButton; @@ -14,10 +16,15 @@ class SignupInterest extends StatefulWidget { } class _SignupInterestState extends State { - void _setInterest(String interest) => setState(() => widget.input['interest'] = interest); + final List interestOptions = [ + '🛠 개발', '📈 데이터분석', '🎨 디자인','📝 기획/마케팅', '🎁 기타', + ]; + Map results = {}; @override Widget build(BuildContext context) { + final size = MediaQuery.of(context).size; + return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -49,7 +56,27 @@ class _SignupInterestState extends State { ), ), ), + _selectInterests(interestOptions, size) ], ); } + + Widget _selectInterests(List interestOptions, Size size) { + return Container( + width: size.width, + padding: EdgeInsets.only(top: 10.0, bottom: 15.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + InterestChoiceChip( + interestList: widget.input['interest'].cast(), // convert List to List + interestOptions: interestOptions, + onSelectionChanged: (selectedList) { + setState(() => widget.input['interest'] = selectedList); + }, + ), + ], + ), + ); + } } diff --git a/lib/screens/login/signup/signup_nickname.dart b/lib/screens/login/signup/signup_nickname.dart index 12005162..10bc5ae8 100644 --- a/lib/screens/login/signup/signup_nickname.dart +++ b/lib/screens/login/signup/signup_nickname.dart @@ -16,6 +16,18 @@ class SignupNickname extends StatefulWidget { class _SignupNicknameState extends State { final _nicknameTextFieldController = TextEditingController(); + @override + void initState() { + _nicknameTextFieldController.text = widget.input['nickname']; + super.initState(); + } + + @override + void dispose() { + _nicknameTextFieldController.dispose(); + super.dispose(); + } + void _setNickname(String nickname) => setState(() => widget.input['nickname'] = nickname); From 43d98d9fbbeffc2728f8c82cec9a8ce3a870fac8 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Thu, 30 Dec 2021 22:16:53 +0900 Subject: [PATCH 066/338] decorate signup view --- .../login/signup/interest_choice_chip.dart | 24 ++++++++++++------- lib/screens/login/signup/signup_interest.dart | 2 +- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/lib/screens/login/signup/interest_choice_chip.dart b/lib/screens/login/signup/interest_choice_chip.dart index 7c20ee62..287bd539 100644 --- a/lib/screens/login/signup/interest_choice_chip.dart +++ b/lib/screens/login/signup/interest_choice_chip.dart @@ -26,16 +26,22 @@ class _InterestChoiceChipState extends State { widget.interestOptions.forEach((interest) { choices.add( - Container( - width: double.infinity, + Padding( + padding: EdgeInsets.symmetric(horizontal: 8, vertical: 6), child: ChoiceChip( - label: Text( - interest, - style: TextStyle( - fontSize: 16, - color: selectedInterests.contains(interest) - ? GuamColorFamily.purpleCore - : GuamColorFamily.grayscaleGray2, + label: Container( + width: double.infinity, + padding: EdgeInsets.zero, + alignment: Alignment.center, + constraints: BoxConstraints(maxHeight: 40), + child: Text( + interest, + style: TextStyle( + fontSize: 16, + color: selectedInterests.contains(interest) + ? GuamColorFamily.purpleCore + : GuamColorFamily.grayscaleGray2, + ), ), ), selected: selectedInterests.contains(interest), diff --git a/lib/screens/login/signup/signup_interest.dart b/lib/screens/login/signup/signup_interest.dart index 05c75864..1a5c8ac0 100644 --- a/lib/screens/login/signup/signup_interest.dart +++ b/lib/screens/login/signup/signup_interest.dart @@ -64,7 +64,7 @@ class _SignupInterestState extends State { Widget _selectInterests(List interestOptions, Size size) { return Container( width: size.width, - padding: EdgeInsets.only(top: 10.0, bottom: 15.0), + padding: EdgeInsets.only(top: 80), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ From 8de9370d647874e9897d425e391d95da562bf0ee Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Thu, 30 Dec 2021 22:46:04 +0900 Subject: [PATCH 067/338] fix profile Image expanded --- .../image/closable_image_expanded.dart | 8 ----- lib/screens/profiles/profile/profile_img.dart | 29 ++++++++++--------- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/lib/commons/image/closable_image_expanded.dart b/lib/commons/image/closable_image_expanded.dart index b0010dd9..b1915edd 100644 --- a/lib/commons/image/closable_image_expanded.dart +++ b/lib/commons/image/closable_image_expanded.dart @@ -31,14 +31,6 @@ class ClosableImageExpanded extends StatelessWidget { image: image ?? null, imagePath: imagePath ?? null, ), - bottomNavigationBar: Container( - color: Colors.black, - height: 20, - ), - bottomSheet: Container( - color: Colors.red, - height: 20, - ), ); } } diff --git a/lib/screens/profiles/profile/profile_img.dart b/lib/screens/profiles/profile/profile_img.dart index 4c41cf8d..801581e2 100644 --- a/lib/screens/profiles/profile/profile_img.dart +++ b/lib/screens/profiles/profile/profile_img.dart @@ -21,20 +21,21 @@ class ProfileImg extends StatelessWidget { color: profileImg != null ? Colors.transparent : Colors.grey, ), child: ClipOval( - child: profileImg.urlPath != null - ? InkWell( - child: FadeInImage( - placeholder: MemoryImage(kTransparentImage), - image: NetworkImage(profileImg.urlPath), - fit: BoxFit.cover - ), - onTap: () { - Navigator.push( - context, - MaterialPageRoute(builder: (_) => ClosableImageExpanded(imagePath: profileImg.urlPath)) - ); - } - ) : Image(image: SvgProvider('assets/icons/profile_image.svg')) + child: profileImg.urlPath != null + ? InkWell( + child: FadeInImage( + placeholder: MemoryImage(kTransparentImage), + image: NetworkImage(profileImg.urlPath), + fit: BoxFit.cover + ), + onTap: () { + Navigator.of(context, rootNavigator: true).push( + MaterialPageRoute(builder: (_) => ClosableImageExpanded( + imagePath: profileImg.urlPath), + ) + ); + } + ) : Image(image: SvgProvider('assets/icons/profile_image.svg')) ), ); } From 21edf75bdd503decf68f49b7e55c4c2f3dea1915 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sun, 2 Jan 2022 10:19:41 +0900 Subject: [PATCH 068/338] fundamental structure of message box --- assets/icons/delete_outlined.svg | 6 +-- lib/screens/boards/boards_app.dart | 4 +- lib/screens/messages/message_body.dart | 37 +++++++++++++++++++ .../{message.dart => message_box.dart} | 12 +++++- lib/screens/profiles/profiles_app.dart | 4 +- 5 files changed, 53 insertions(+), 10 deletions(-) create mode 100644 lib/screens/messages/message_body.dart rename lib/screens/messages/{message.dart => message_box.dart} (57%) diff --git a/assets/icons/delete_outlined.svg b/assets/icons/delete_outlined.svg index 6f5a2cb8..d6d96af7 100644 --- a/assets/icons/delete_outlined.svg +++ b/assets/icons/delete_outlined.svg @@ -1,5 +1,3 @@ - - - - + + diff --git a/lib/screens/boards/boards_app.dart b/lib/screens/boards/boards_app.dart index 173b359c..ca84fae5 100644 --- a/lib/screens/boards/boards_app.dart +++ b/lib/screens/boards/boards_app.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/providers/posts/posts.dart'; import 'package:guam_community_client/providers/user_auth/authenticate.dart'; import 'package:guam_community_client/screens/boards/posts/post_button.dart'; -import 'package:guam_community_client/screens/messages/message.dart'; +import 'package:guam_community_client/screens/messages/message_box.dart'; import 'package:guam_community_client/styles/colors.dart'; import 'package:provider/provider.dart'; import '../../commons/custom_app_bar.dart'; @@ -36,7 +36,7 @@ class _BoardsAppScaffoldState extends State { preferredSize: Size.fromHeight(100), child: CustomAppBar( title: '홈', - trailing: Message(), + trailing: MessageBox(), bottom: TabBar( isScrollable: true, physics: BouncingScrollPhysics(), diff --git a/lib/screens/messages/message_body.dart b/lib/screens/messages/message_body.dart new file mode 100644 index 00000000..6937a1f1 --- /dev/null +++ b/lib/screens/messages/message_body.dart @@ -0,0 +1,37 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:guam_community_client/commons/back.dart'; +import 'package:guam_community_client/commons/custom_app_bar.dart'; +import 'package:guam_community_client/styles/colors.dart'; + +class MessageBody extends StatelessWidget { + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: CustomAppBar( + title: '쪽지함', + leading: Back(), + trailing: Padding( + padding: EdgeInsets.only(right: 11), + child: TextButton( + onPressed: () {}, + style: TextButton.styleFrom( + minimumSize: Size(30, 26), + alignment: Alignment.center, + ), + child: IconButton( + padding: EdgeInsets.zero, + constraints: BoxConstraints(), + icon: SvgPicture.asset('assets/icons/delete_outlined.svg'), + onPressed: () {}, + ), + ) + ), + ), + body: Container( + color: GuamColorFamily.grayscaleWhite, + ), + ); + } +} diff --git a/lib/screens/messages/message.dart b/lib/screens/messages/message_box.dart similarity index 57% rename from lib/screens/messages/message.dart rename to lib/screens/messages/message_box.dart index 88ef8654..699d30e9 100644 --- a/lib/screens/messages/message.dart +++ b/lib/screens/messages/message_box.dart @@ -1,7 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; -class Message extends StatelessWidget { +import 'message_body.dart'; + +class MessageBox extends StatelessWidget { bool newMessage = true; @override @@ -12,7 +14,13 @@ class Message extends StatelessWidget { ? 'assets/icons/message_new.svg' : 'assets/icons/message_default.svg' ), - onPressed: () {} + onPressed: () { + Navigator.of(context).push( + MaterialPageRoute( + builder: (_) => MessageBody() + ) + ); + } ); } } diff --git a/lib/screens/profiles/profiles_app.dart b/lib/screens/profiles/profiles_app.dart index 1f5dc26b..ba39c2e1 100644 --- a/lib/screens/profiles/profiles_app.dart +++ b/lib/screens/profiles/profiles_app.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:guam_community_client/screens/messages/message.dart'; +import 'package:guam_community_client/screens/messages/message_box.dart'; import '../../commons/custom_app_bar.dart'; import 'profiles_body.dart'; @@ -10,7 +10,7 @@ class ProfilesApp extends StatelessWidget { return Scaffold( appBar: CustomAppBar( title: '프로필', - trailing: Message(), + trailing: MessageBox(), ), body: ProfilesBody() ); From eb11920a7702bcf5ec945db7db3916db882f8155 Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sun, 2 Jan 2022 11:19:07 +0900 Subject: [PATCH 069/338] change bgcolor of scaffold --- lib/main.dart | 4 +- lib/providers/posts/posts.dart | 47 ++++++++++++------- lib/screens/app/tab_navigator.dart | 2 +- .../boards/posts/creation/post_creation.dart | 1 + .../boards/posts/detail/post_detail.dart | 1 + .../posts/detail/post_detail_banner.dart | 2 +- lib/screens/login/signup/signup.dart | 1 + lib/screens/messages/message_body.dart | 1 + lib/screens/messages/message_box.dart | 4 +- .../notifications/notifications_app.dart | 2 + .../profile_edit_skillset_detail.dart | 2 + .../profiles/pages/blacklist_edit.dart | 2 + .../profiles/pages/interests_edit.dart | 2 + lib/screens/profiles/pages/my_posts.dart | 8 ++-- lib/screens/profiles/pages/profiles_edit.dart | 1 + lib/screens/profiles/pages/saved_posts.dart | 2 + lib/screens/profiles/pages/settings.dart | 2 + lib/screens/profiles/profiles_app.dart | 2 + lib/screens/search/search_app.dart | 2 + 19 files changed, 61 insertions(+), 27 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 034a810a..c4666d13 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -22,8 +22,8 @@ class MyApp extends StatelessWidget { debugShowCheckedModeBanner: false, initialRoute: '/', routes: { - '/': (context) => SignUp(), - '/main': (context) => App(), + // '/': (context) => SignUp(), + '/': (context) => App(), }, theme: ThemeData( primaryColor: GuamColorFamily.purpleCore, diff --git a/lib/providers/posts/posts.dart b/lib/providers/posts/posts.dart index 0bfb67ae..71efc68a 100644 --- a/lib/providers/posts/posts.dart +++ b/lib/providers/posts/posts.dart @@ -25,7 +25,8 @@ class Posts with ChangeNotifier { 'nickname': 'marcelko', 'profileImg': { 'id': 1, - 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", + // 일부러 profileImageUrl = null 만듦 + // 'urlPath': 'http://img.danawa.com/prod_img/500000/030/472/img/4472030_1.jpg?shrink=330:330&_v=20160923121953', }, 'githubUrl': 'https://github.com/yeonghyeonKO', 'blogUrl': 'https://newstellar.tistory.com', @@ -46,7 +47,8 @@ class Posts with ChangeNotifier { 'profileImg': { 'id': 1, 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, }, + }, + }, 'isAuthor': false, 'isLiked': true, 'comment': '저도 궁금하네요 ㅎㅎ', @@ -60,7 +62,8 @@ class Posts with ChangeNotifier { 'profileImg': { 'id': 1, 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, }, + }, + }, 'isAuthor': false, 'isLiked': true, 'comment': '안녕하세요. 혹시 과외하실 생각 있으시면 저한테 쪽지 보내주세요! 제 프로필에 정보 나와있습니다.', @@ -74,7 +77,8 @@ class Posts with ChangeNotifier { 'profileImg': { 'id': 1, 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, }, + }, + }, 'isAuthor': true, 'isLiked': false, 'comment': '@jhkang 쪽지 드렸습니다!🙏', @@ -96,8 +100,9 @@ class Posts with ChangeNotifier { 'nickname': 'jwjeong', 'profileImg': { 'id': 1, - 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, 'githubUrl': 'https://github.com/yeonghyeonKO', + 'urlPath': 'https://cdn.speconomy.com/news/photo/201705/20170514_1_bodyimg_82397.png', + }, + 'githubUrl': 'https://github.com/yeonghyeonKO', 'blogUrl': 'https://newstellar.tistory.com', 'skillSet': ['Flutter, Django, React', 'pyTorch'], 'interests': ['개발', '디자인'], @@ -137,7 +142,8 @@ class Posts with ChangeNotifier { 'profileImg': { 'id': 1, 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, }, + }, + }, 'isAuthor': false, 'isLiked': true, 'comment': '모든 문제 다 풀으셨나요?', @@ -151,7 +157,8 @@ class Posts with ChangeNotifier { 'profileImg': { 'id': 1, 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, }, + }, + }, 'isAuthor': false, 'isLiked': true, 'comment': '안녕하세요. 혹시 과외하실 생각 있으시면 저한테 쪽지 보내주세요! 제 프로필에 정보 나와있습니다.', @@ -162,7 +169,10 @@ class Posts with ChangeNotifier { 'profile': { 'id': 2, 'nickname': 'jwjeong', - 'profileImageUrl': 'https://cdn.speconomy.com/news/photo/201705/20170514_1_bodyimg_82397.png', + 'profileImg': { + 'id': 1, + 'urlPath': 'https://cdn.speconomy.com/news/photo/201705/20170514_1_bodyimg_82397.png', + }, }, 'isAuthor': true, 'isLiked': false, @@ -185,7 +195,8 @@ class Posts with ChangeNotifier { 'profileImg': { 'id': 1, 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, 'githubUrl': 'https://github.com/yeonghyeonKO', + }, + 'githubUrl': 'https://github.com/yeonghyeonKO', 'blogUrl': 'https://newstellar.tistory.com', 'skillSet': ['Flutter, Django, React', 'pyTorch'], 'interests': ['개발', '디자인'], @@ -204,7 +215,8 @@ class Posts with ChangeNotifier { 'profileImg': { 'id': 1, 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, }, + }, + }, 'isAuthor': false, 'isLiked': false, 'comment': '모니터 쓰실거면 13인치 추천합니다~', @@ -218,7 +230,8 @@ class Posts with ChangeNotifier { 'profileImg': { 'id': 1, 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, }, + }, + }, 'isAuthor': false, 'isLiked': false, 'comment': '저는 좀 기다리셔서 16인치요. 13인치 가벼워서 좋은데 모니터 너무 작아서 후회하고 있어요 ㅠㅠ', @@ -239,8 +252,9 @@ class Posts with ChangeNotifier { 'nickname': '맨날비와', 'profileImg': { 'id': 1, - 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, 'githubUrl': 'https://github.com/yeonghyeonKO', + 'urlPath': 'https://t1.daumcdn.net/cfile/tistory/99A97E4C5D25E9C226', + }, + 'githubUrl': 'https://github.com/yeonghyeonKO', 'blogUrl': 'https://newstellar.tistory.com', 'skillSet': ['Flutter, Django, React', 'pyTorch'], 'interests': ['개발', '디자인'], @@ -265,8 +279,9 @@ class Posts with ChangeNotifier { 'nickname': '해피언니', 'profileImg': { 'id': 1, - 'urlPath': "https://w.namu.la/s/40de86374ddd74756b31d4694a7434ee9398baa51fa5ae72d28f2eeeafdadf0c475c55c58e29a684920e0d6a42602b339f8aaf6d19764b04405a0f8bee7f598d2922db9475579419aac4635d0a71fdb8a4b2343cb550e6ed93e13c1a05cede75", - }, 'githubUrl': 'https://github.com/yeonghyeonKO', + 'urlPath': 'https://t1.daumcdn.net/cfile/tistory/241F824757B095710E', + }, + 'githubUrl': 'https://github.com/yeonghyeonKO', 'blogUrl': 'https://newstellar.tistory.com', 'skillSet': ['Flutter, Django, React', 'pyTorch'], 'interests': ['개발', '디자인'], diff --git a/lib/screens/app/tab_navigator.dart b/lib/screens/app/tab_navigator.dart index db416838..6b582f4a 100644 --- a/lib/screens/app/tab_navigator.dart +++ b/lib/screens/app/tab_navigator.dart @@ -17,10 +17,10 @@ class TabNavigator extends StatelessWidget { Map _routeBuilders(BuildContext context) { switch(tabItem){ - case TabItem.home: return {TabNavigatorRoutes.root: (context) => BoardsApp()}; case TabItem.search: return {TabNavigatorRoutes.root: (context) => SearchApp()}; case TabItem.notification: return {TabNavigatorRoutes.root: (context) => NotificationsApp()}; case TabItem.profile: return {TabNavigatorRoutes.root: (context) => ProfilesApp()}; + default: return {TabNavigatorRoutes.root: (context) => BoardsApp()}; } } diff --git a/lib/screens/boards/posts/creation/post_creation.dart b/lib/screens/boards/posts/creation/post_creation.dart index 631ef6e1..964a33a6 100644 --- a/lib/screens/boards/posts/creation/post_creation.dart +++ b/lib/screens/boards/posts/creation/post_creation.dart @@ -38,6 +38,7 @@ class _PostCreationState extends State { @override Widget build(BuildContext context) { return Scaffold( + backgroundColor: GuamColorFamily.grayscaleWhite, appBar: CustomAppBar( leading: Back(), trailing: Padding( diff --git a/lib/screens/boards/posts/detail/post_detail.dart b/lib/screens/boards/posts/detail/post_detail.dart index 5e4c36b2..e71d38d9 100644 --- a/lib/screens/boards/posts/detail/post_detail.dart +++ b/lib/screens/boards/posts/detail/post_detail.dart @@ -35,6 +35,7 @@ class _PostDetailState extends State { @override Widget build(BuildContext context) { return Scaffold( + backgroundColor: GuamColorFamily.grayscaleWhite, appBar: CustomAppBar( leading: Back(), trailing: Padding( diff --git a/lib/screens/boards/posts/detail/post_detail_banner.dart b/lib/screens/boards/posts/detail/post_detail_banner.dart index 9cca0b58..315ed91b 100644 --- a/lib/screens/boards/posts/detail/post_detail_banner.dart +++ b/lib/screens/boards/posts/detail/post_detail_banner.dart @@ -71,7 +71,7 @@ class PostDetailBanner extends StatelessWidget { borderRadius: BorderRadius.circular(10), image: DecorationImage( fit: BoxFit.cover, - image: post.profile.profileImg != null + image: post.profile.profileImg.urlPath != null ? NetworkImage(post.profile.profileImg.urlPath) : SvgProvider('assets/icons/profile_image.svg'), ), diff --git a/lib/screens/login/signup/signup.dart b/lib/screens/login/signup/signup.dart index 32584900..31eff3da 100644 --- a/lib/screens/login/signup/signup.dart +++ b/lib/screens/login/signup/signup.dart @@ -27,6 +27,7 @@ class _SignUpState extends State { Size size = MediaQuery.of(context).size; return Scaffold( + backgroundColor: GuamColorFamily.grayscaleWhite, body: SingleChildScrollView( child: Container( width: double.infinity, diff --git a/lib/screens/messages/message_body.dart b/lib/screens/messages/message_body.dart index 6937a1f1..b22f2c40 100644 --- a/lib/screens/messages/message_body.dart +++ b/lib/screens/messages/message_body.dart @@ -9,6 +9,7 @@ class MessageBody extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( + backgroundColor: GuamColorFamily.grayscaleWhite, appBar: CustomAppBar( title: '쪽지함', leading: Back(), diff --git a/lib/screens/messages/message_box.dart b/lib/screens/messages/message_box.dart index 699d30e9..bee739d6 100644 --- a/lib/screens/messages/message_box.dart +++ b/lib/screens/messages/message_box.dart @@ -4,7 +4,7 @@ import 'package:flutter_svg/flutter_svg.dart'; import 'message_body.dart'; class MessageBox extends StatelessWidget { - bool newMessage = true; + final bool newMessage = true; @override Widget build(BuildContext context) { @@ -15,7 +15,7 @@ class MessageBox extends StatelessWidget { : 'assets/icons/message_default.svg' ), onPressed: () { - Navigator.of(context).push( + Navigator.of(context, rootNavigator: true).push( MaterialPageRoute( builder: (_) => MessageBody() ) diff --git a/lib/screens/notifications/notifications_app.dart b/lib/screens/notifications/notifications_app.dart index f9c0a324..19a7f8ff 100644 --- a/lib/screens/notifications/notifications_app.dart +++ b/lib/screens/notifications/notifications_app.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; import 'notifications_body.dart'; import '../../commons/custom_app_bar.dart'; @@ -6,6 +7,7 @@ class NotificationsApp extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( + backgroundColor: GuamColorFamily.grayscaleWhite, appBar: CustomAppBar(title: '알림'), body: NotificationsBody(), ); diff --git a/lib/screens/profiles/edit/skillset/profile_edit_skillset_detail.dart b/lib/screens/profiles/edit/skillset/profile_edit_skillset_detail.dart index 1e806b38..0559c0db 100644 --- a/lib/screens/profiles/edit/skillset/profile_edit_skillset_detail.dart +++ b/lib/screens/profiles/edit/skillset/profile_edit_skillset_detail.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/screens/profiles/buttons/profile_skill_button.dart'; import 'package:guam_community_client/screens/profiles/edit/skillset/profile_edit_skillset_label.dart'; import 'package:guam_community_client/screens/profiles/edit/skillset/profile_edit_skillset_textfield.dart'; +import 'package:guam_community_client/styles/colors.dart'; import '../../../../commons/custom_app_bar.dart'; import 'package:guam_community_client/commons/back.dart'; @@ -12,6 +13,7 @@ class ProfileEditSkillSetDetail extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( + backgroundColor: GuamColorFamily.grayscaleWhite, appBar: CustomAppBar( leading: Back(), title: '프로필 수정', diff --git a/lib/screens/profiles/pages/blacklist_edit.dart b/lib/screens/profiles/pages/blacklist_edit.dart index 893d25e2..c7d72bf5 100644 --- a/lib/screens/profiles/pages/blacklist_edit.dart +++ b/lib/screens/profiles/pages/blacklist_edit.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/commons/back.dart'; +import 'package:guam_community_client/styles/colors.dart'; import '../../../commons/custom_app_bar.dart'; import '../../../commons/common_img_nickname.dart'; import '../buttons/blacklist_remove_button.dart'; @@ -26,6 +27,7 @@ class BlackListEdit extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( + backgroundColor: GuamColorFamily.grayscaleWhite, appBar: CustomAppBar( leading: Back(), title: '차단 목록 관리', diff --git a/lib/screens/profiles/pages/interests_edit.dart b/lib/screens/profiles/pages/interests_edit.dart index 2e64d0c8..f5e3f398 100644 --- a/lib/screens/profiles/pages/interests_edit.dart +++ b/lib/screens/profiles/pages/interests_edit.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/commons/back.dart'; +import 'package:guam_community_client/styles/colors.dart'; import '../../../commons/custom_app_bar.dart'; import '../edit/interests/interests_edit_label.dart'; import '../edit/interests/interests_edit_textfield.dart'; @@ -14,6 +15,7 @@ class InterestsEdit extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( + backgroundColor: GuamColorFamily.grayscaleWhite, appBar: CustomAppBar( leading: Back(), title: '관심사 관리', diff --git a/lib/screens/profiles/pages/my_posts.dart b/lib/screens/profiles/pages/my_posts.dart index 00b0458f..dfa41e1a 100644 --- a/lib/screens/profiles/pages/my_posts.dart +++ b/lib/screens/profiles/pages/my_posts.dart @@ -1,16 +1,14 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/commons/back.dart'; +import 'package:guam_community_client/styles/colors.dart'; import '../../../commons/custom_app_bar.dart'; -import 'package:guam_community_client/providers/posts/posts.dart'; -import 'package:provider/provider.dart'; -import '../../../models/boards/post.dart'; -import 'package:guam_community_client/screens/boards/posts/preview/post_preview.dart'; -import '../../../models/profiles/profile.dart'; + class MyPosts extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( + backgroundColor: GuamColorFamily.grayscaleWhite, appBar: CustomAppBar( leading: Back(), title: '내가 쓴 글', diff --git a/lib/screens/profiles/pages/profiles_edit.dart b/lib/screens/profiles/pages/profiles_edit.dart index 6afde2f8..cab006c1 100644 --- a/lib/screens/profiles/pages/profiles_edit.dart +++ b/lib/screens/profiles/pages/profiles_edit.dart @@ -29,6 +29,7 @@ class ProfilesEdit extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( + backgroundColor: GuamColorFamily.grayscaleWhite, appBar: CustomAppBar( leading: Back(), title: '프로필 수정', diff --git a/lib/screens/profiles/pages/saved_posts.dart b/lib/screens/profiles/pages/saved_posts.dart index 91187ef1..46818d6b 100644 --- a/lib/screens/profiles/pages/saved_posts.dart +++ b/lib/screens/profiles/pages/saved_posts.dart @@ -1,11 +1,13 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/commons/back.dart'; +import 'package:guam_community_client/styles/colors.dart'; import '../../../commons/custom_app_bar.dart'; class SavedPosts extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( + backgroundColor: GuamColorFamily.grayscaleWhite, appBar: CustomAppBar( leading: Back(), title: '저장한 글', diff --git a/lib/screens/profiles/pages/settings.dart b/lib/screens/profiles/pages/settings.dart index 422659a1..42ac5279 100644 --- a/lib/screens/profiles/pages/settings.dart +++ b/lib/screens/profiles/pages/settings.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/commons/back.dart'; +import 'package:guam_community_client/styles/colors.dart'; import '../../../commons/custom_app_bar.dart'; import '../buttons/long_button.dart'; import 'blacklist_edit.dart'; @@ -9,6 +10,7 @@ class Settings extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( + backgroundColor: GuamColorFamily.grayscaleWhite, appBar: CustomAppBar( leading: Back(), title: '계정 설정', diff --git a/lib/screens/profiles/profiles_app.dart b/lib/screens/profiles/profiles_app.dart index 8578f15b..9f371de1 100644 --- a/lib/screens/profiles/profiles_app.dart +++ b/lib/screens/profiles/profiles_app.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:guam_community_client/screens/messages/message_box.dart'; +import 'package:guam_community_client/styles/colors.dart'; import '../../commons/custom_app_bar.dart'; import 'profiles_body.dart'; @@ -8,6 +9,7 @@ class ProfilesApp extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( + backgroundColor: GuamColorFamily.grayscaleWhite, appBar: CustomAppBar( title: '프로필', trailing: MessageBox(), diff --git a/lib/screens/search/search_app.dart b/lib/screens/search/search_app.dart index 78f2c0db..a3f502fe 100644 --- a/lib/screens/search/search_app.dart +++ b/lib/screens/search/search_app.dart @@ -1,10 +1,12 @@ import 'package:flutter/material.dart'; +import 'package:guam_community_client/styles/colors.dart'; import '../../commons/custom_app_bar.dart'; class SearchApp extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( + backgroundColor: GuamColorFamily.grayscaleWhite, appBar: CustomAppBar(title: '검색'), ); } From d028b162bfbc9a1e9af78a57c5a872365355d64d Mon Sep 17 00:00:00 2001 From: yeonghyeonKO Date: Sun, 2 Jan 2022 17:44:59 +0900 Subject: [PATCH 070/338] separate profiles from Posts as the provider --- flutter_02.png | Bin 0 -> 266225 bytes lib/models/messages/messages.dart | 0 lib/providers/posts/posts.dart | 143 ++---------------- lib/providers/profiles/profiles.dart | 75 +++++++++ lib/screens/boards/posts/post_list.dart | 4 +- .../profiles/buttons/profile_edit_button.dart | 6 +- lib/screens/profiles/pages/profiles_edit.dart | 18 +-- lib/screens/profiles/profiles_app.dart | 20 +++ lib/screens/profiles/profiles_body.dart | 29 ++-- 9 files changed, 131 insertions(+), 164 deletions(-) create mode 100644 flutter_02.png create mode 100644 lib/models/messages/messages.dart create mode 100644 lib/providers/profiles/profiles.dart diff --git a/flutter_02.png b/flutter_02.png new file mode 100644 index 0000000000000000000000000000000000000000..baad3577d6de0c0c0e07bd82f9f6f2d018190cda GIT binary patch literal 266225 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 {Uv2{A;WY#x8PKTxZ_dQeR4BYoO1gFgu76W=E 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