Coder Social home page Coder Social logo

pple's Introduction

    _____
   /    /|_ ___________________________________________
  /    // /|                                          /| 
 (====|/ //   An apple a day...            _QP_      / |        
  (=====|/     keeps me working all day   (  ' )    / .|        
 (====|/                                   \__/    / /||        
/_________________________________________________/ / ||        
|  _____________________________________________  ||  ||       
| ||                                            | || 
| ||                                            | ||
| |                                             | |  pjb



pple's People

Contributors

2unbini avatar skkimeo avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

tekim-526

pple's Issues

Add edit and save functions to Edit/Add Sheets

반영 위치

Edit, Add Sheet

반영할 내용

  • Edit의 경우, 앞선 뷰에서 넘어오는 데이터의 Data type 통일(Project, Task)
  • CoreData에 데이터 저장하는 기능 추가

revert to custom popup

라이브러리 삭제하고 이전에 만든 커스텀 팝업 사용

  • 닫기 버튼을 누를 때만 취소 가능
  • 팝업 뜨면 배경에 회색 그림자

Change Button View

버튼의 모양을 전에 있던 "Day\n1"에서 "1\n12.24"이런 포맷으로 수정
오늘날짜 확인하기 편하도록 수정

popup carousel view of task lists

  • 현재는 프로젝트 캘린더에서 날짜를 누르면 당일의 태스크 리스트만 팝업으로 뜨는데,
  • 팝업에서 좌우 슬라이드로 어제/내일 태스크 리스트로 이동할 수 있게 수정

Automatically update isFinished when project/task expired

Related to #46
프로젝트와 할 일의 endDate가 만료됐는지 확인하는 로직 + 표현방식

[화면에 보이기]

  • 완료: 회색, 만료: 회색 + 취소선
  • 완료: 회색 + 취소선, 만료: 회색
  • 완료: , 만료: 빨간색
  • 진행중, 완료됨, 만료됨 => 섹션 나누기?

[데이터 처리]

  • 코어 데이터 상에서 처리
  • 프로젝트/할 일 Fetch 하는 순간 처리
  • 앱 시작시 처리
  • isFinished 값 삭제, endDate로 그 때 그 때 처리

ProjectList Edit Mode Screen Separation

발생 위치

ProjectList

발생 내용

  • Edit모드인 경우와 아닌 경우에 화면의 터치 가능한 영역이 나뉘는 현상 발생
  • Edit모드로 들어왔을 때, 각 행의 중간을 누르면 NavigationLink 작동
  • Edit모드가 아닐 때, 각 행의 Text와 오른쪽 끝 > 표시가 눌리지 않음

Modify popup animation

적용 위치

  • PopupView

적용 내용

  • Popup 등장/퇴장 애니메이션을 opacity 로 변경

Refactoring

반영 내용

  • 전체적으로 코드 리팩토링

    • 변수 네이밍, 구조 등 변경
    • 불필요한 부분 삭제
  • MainCalendarView 와 ProjectListView 연결

Fix popup method bug in real device

적용 위치

  • UtilityExtensions

적용내용

  • popup 메서드가 기기에서 첫번째 터치에 작동하지 않는 버그로 인해 1차 수정을 했으나
  • 2차 수정안은 처음 TaskList 가 팝업될 때 빼고는 리스트 UI에 버그 발생

비고

  • 디바이스 도착 이후 작업 시작

Popup loading slows down when days increase

반영 위치

  • CarouselView 혹은 ProjectCalendarView

반영 내용

  • 기간이 늘어날수록 팝업창 로딩이 오래 걸리는 현상 발견
  • CarouselView 에서 뷰 생성 방식을 개선하거나
  • ProjectCalendarView 에서 만들어두고(어차피 태수님이 Day별 Task를 받아오실 것이므로) 재활용하는 방식 중에서 고민

Cannot Put text and date in Task Add Sheet

할 일 추가시 텍스트 필드, 텍스트 에디터, 데이트 피커가 계속 초기화되는 현상
start, endDate를 프로젝트와 맞추면서 생긴 문제

Modify Alert to match the device version

항목 추가/수정할 때 적절하지 않은 데이터일 시 Alert 발생.
iOS 15부터 .alert modifier 사용 권장.
디바이스 버전에 맞게 Alert 변경

Refactor core data save method

적용 위치

  • TaskList, TaskDetailView

적용내용

  • PersistenceController 의 save 메서드로 기존 코어데이터 저장 코드 대체

UI - Modal View, Task List, Task Detail View

모달 뷰 생성

  • 일종의 팝업처럼 뜸

프로젝트 리스트

  • 제목, 요약, 기간, 체크박스
  • 왼쪽 위 닫기 버튼, 오른쪽 위 추가 버튼

프로젝트 디테일뷰

  • 제목, 요약, 기간, 완료 여부
  • 왼쪽 위 뒤로 가기 버튼, 오른쪽 위 수정 버튼

Separate EditSheet to ProjectEditSheet and TaskEditSheet

적용 위치

EditSheet

오류 상황

  • Edit Sheet에서 코어데이터에 저장된 Project, Task 어트리뷰트를 사용할 때, @ObservedObject로 해당 어트리뷰트를 활용하는 다른 뷰에 자동적으로 해당 내용 업데이트되는 현상 발생
    • 예) 유저가 Project 내용을 바꾸다가 취소한 경우, 바뀐 시점까지의 내용이 다른 뷰에 적용됨. 앱을 껐다 켜면 다시 되돌아옴.

적용 내용

  • EditSheet에서 Project, Task 자체의 데이터를 쓰는 대신, 목 데이터 활용 후 저장시 해당 Project, Task에 대입
  • ProjectEditSheet와 TaskEditSheet로 분리해 운용

Text disappears in Dark Mode

텍스트 색상을 검은색으로 해 놓은 것들이 다크 모드에서 제대로 보이지 않는 현상

Refactoring ProjectCalendarView

파일 자체를 보기 편한구조로 바꾸고 이름에 대한 네이밍을 일부 조금더 명확하게 수정했습니다.

Show chosen date on TaskList title

적용 위치

  • TaskList

적용 내용

  • TaskList 상단의 제목을 "오늘의 할 일" 에서 "x월 x일의 할 일" 등 날짜가 나타나는 방식으로 변경

UI - Project Calendar View

  • 프로젝트 캘린더 뷰
    • 캘린더
    • 한 줄에 7일
      • 7일보다 적으면 그 개수만큼 맞춰서
      • 그것보다 많으면 테트리스처럼 보일 수 있다.

UI - Project List, Add and Edit Sheet

유저의 프로젝트 리스트

  • 각 행에 프로젝트 제목 보임
  • 왼쪽 위 수정 버튼, 오른쪽 위 추가 버튼

추가, 수정 뷰

  • 제목, 요약, 기간 입력받는 란
  • 왼쪽 위 닫기 버튼, 오른쪽 위 저장 버튼

refactor all parts receiving projectId

  • 코어데이터 사용의 편의성을 위해 project 인스턴스 자체를 인자로 넘기기로 함
    • projectId 를 받는 view 들의 인자 타입 수정 필요
    • TaskList, TaskRowView, TaskDetailView
  • Project/Task Extension 의 withId(_:) 메서드 삭제

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.