에러메시지에 응답 담기

Today I Learned 날짜 2024년 3월 21일 목요일 내용 Angular 최근 작업한, 앱 내에 서비스 삭제 경로를 추가하는 건 나름(?) 큰 작업이었다. 그동안은 컴포넌트에 변수에 대한 조건을 추가하는 등의 사소한 작업이었는데, 새로운 하위 컴포넌트를 만들어야 했다. 모달 형태로. 기능 자체는 어제 TIL에 작성한 대로 완성했다. 다만, 기존에 작성되있는 방식에 맞추기 위해, 유지보수를 수월하게 하기 위해, 박살난 CSS 수준을 끌어올리기 위해 감사하게도 코드 리뷰를 받을 수 있었다. 이 TIL에 적어내면 참 좋겠으나 아직 내 것으로 받아들이지 못해 쓸 수 없다. 그래도 열심히 받아 적었으니 빨리 적용해보고 내가 몰랐던 부분에 대해 정리해야겠다. 최근 스프린트들이 프론트쪽에 작업이 몰리면서, 내가 프론트를 어느정도 할 수 있다면 팀의 일정에 도움이 많이 되겠다고 느꼈다. 마침 기가 막히게 성장할 환경이 갖추어졌으니 열심히 하기만 하면 될 듯! ...

2024년 3월 21일 · 2 분 · 배준수

앱 삭제 기능 만들기

Today I Learend 날짜 2024년 3월 20일 수요일 내용 앱 삭제하는 경로를 추가했다. 오늘은 백엔드 작업을 많이 했다. 프론트 기존에 우리 서비스에서 사용하는 체크박스 클래스로 바꿔주었다. 앱을 삭제하는 버튼은 고객이 이유를 선택해야만 활성화되도록 구현하기 위해 ngIf 를 사용했다. 1 2 <button *ngIf="uninstallReasons.length > 0" class="btn-enabled" mat-button (click)="onConfirm()">Delete App</button> <button *ngIf="uninstallReasons.length === 0" class="btn-disabled" mat-button disabled>Delete App</button> 각 사유들은 checkbox로 만들었고 체크되면 삭제 사유를 담는 배열에 추가시켰다. 1 2 3 <div class="checkbox-container" aria-label="Select a reason" [(ngModel)]="uninstallReasons"> <alpha-checkbox (change)="updateUninstallReasons($event, 10)">Technical issues</alpha-checkbox> </div> 처음 사유를 추가했을 때, 버튼이 활성화되었다. 하지만 체크를 비활성화하여 다시 사유를 선택하지 않게 되었을 때 버튼이 비활성화되지 않았다. 따라서 uninstallreason의 배열 상태를 추적하는 ChangeDetectorRef를 사용했다. ...

2024년 3월 20일 · 2 분 · 배준수

프린이

Today I Learend 날짜 2024년 3월 19일 화요일 내용 모달로 기능 추가하기 우리 서비스를 삭제하려면 Shopify 의 shop admin 쪽에서 처리하면 된다. 하지만 이와 별도로 우리 서비스 내에서도 자체적으로 삭제 버튼을 만들기로 했다. 이와 관련된 로직은 아마 내일 처리할 예정이니 내일 TIL에 담길 듯 하다. 오늘은 프론트쪽에서의 기능 구현을 우선으로 했다. 삭제 전 이유에 대한 데이터를 모달을 이용해서 수집해야 한다. 기존 계획으론 모달에서 고객이 선택하고 입력한 데이터를 수집한다. 유저가 확인버튼을 누를 경우 삭제 요청과 함께 이 데이터를 서버로 보낸다. 서버에선 데이터는 저장하고 삭제 로직을 시작한다 모달이 종료된다.. 만약 취소버튼을 누를 경우 그냥 2~3번 과정 없이 모달창을 종료한다. 의 순서로 구성했다. 프론트는 아직 너무 허접한 수준이라 조언을 받았는데, 우리 서비스에서 특별한 예외 케이스가 아니면 모달에서 요청을 보내도록 처리하지 않았다. 모달이 닫히고 기존에 위치해 있던 페이지에서 요청을 보내야 한다. 따라서 ...

2024년 3월 19일 · 2 분 · 배준수