Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[1단계 - 나만의 유튜브 강의실] 병민(윤병인) 미션 제출합니다. #111

Merged
merged 42 commits into from
Mar 15, 2022
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
18e4581
:truck: chore(settings): commitlint를 적용한다
airman5573 Mar 8, 2022
6a0ce03
:memo: docs(todo): 기능 구현 목록을 작성한다
airman5573 Mar 8, 2022
b1508fd
:truck: chore(settings): 개발 환경을 세팅한다
airman5573 Mar 8, 2022
6dadeb0
:sparkles: feat(ui): 검색 버튼을 누르면 모달 창이 나온다
airman5573 Mar 8, 2022
f121466
:bug: fix(settings): 미설치된 패키지를 설치한다
airman5573 Mar 8, 2022
5e0eeac
:truck: chore(settings): async/await 사용을 위해 바벨에 플러그인을 추가한다
airman5573 Mar 8, 2022
e33e10a
:sparkles: feat(ui): 검색 결과를 보여준다
airman5573 Mar 8, 2022
a3168f3
:truck: chore(settings): file-loader를 설치한다
airman5573 Mar 9, 2022
ef11b4d
:sparkles: feat: 검색결과에 따라 비디오 리스트를 보여주고 없으면 없다고 표시한다
airman5573 Mar 9, 2022
073024b
:sparkles: feat(ui): 비디오 리스트를 보여주기 전에 placeholder로 스켈레톤을 보여준다
airman5573 Mar 9, 2022
690841a
:sparkles: feat(ui): 스크롤로 검색 결과를 추가로 불러온다
airman5573 Mar 9, 2022
92f6155
:sparkles: feat(ui): 저장 버튼을 눌러 비디오 아이디를 저장한다
airman5573 Mar 9, 2022
21221f2
:bug: fix: insertAdjacentHTML로 element생성시 5개만 생성되는 문제를 해결한다
airman5573 Mar 9, 2022
af12f33
:bug: fix(ui): 새로운 검색시에도 이전 검색 결과가 남아있는 문제를 해결한다
airman5573 Mar 9, 2022
fcce4da
:bug: fix(ui): 검색 결과가 제대로 나오지 않는 오류를 고친다
airman5573 Mar 10, 2022
0026dbb
:bug: fix(scroll): 모달을 닫은뒤에 다시 열었을때 스크롤 이벤트가 발동되는 에러를 해결한다
airman5573 Mar 10, 2022
7bfd40e
:recycle: refactor: google api요청을 우회하고 css로 not found와 video-list의 가시…
airman5573 Mar 11, 2022
23d6739
:white_check_mark: test: checkSearchResult함수의 작동 여부를 테스트한다
airman5573 Mar 11, 2022
18fbc92
:truck: chore(settings): github에서 변화 과정을 보여줄 필요가 없는 파일들을 지정한다
airman5573 Mar 13, 2022
fb5e4ed
:recycle: refactor: render안에서 event listener를 등록한다
airman5573 Mar 13, 2022
5778d07
:recycle: refactor(event): video id를 저장하는 버튼에 대한 클릭 이벤트를 delegate pat…
airman5573 Mar 13, 2022
0633b20
:recycle: refactor(simplify): render함수에서 일어나는 일을 초기화 단계에서 처리한다
airman5573 Mar 14, 2022
aa3b963
:recycle: refactor(performance): 자주 사용하는 element를 미리 찝어놓는다
airman5573 Mar 14, 2022
2c4d3f9
:white_check_mark: test(cleanup): 효용성 없는 테스트를 삭제한다
airman5573 Mar 14, 2022
70928d8
:recycle: refactor(simplify): element에 이벤트 리스너를 등록하는 일을 함수로 분리하지 않고 초…
airman5573 Mar 14, 2022
b29e9e9
:recycle: refactor(performance): 이벤트 핸들러를 bind로 새로 생성하지 않고 class fiel…
airman5573 Mar 14, 2022
3238814
:recycle: refactor(naming): 변수명과 함수명을 역할에 맞게 명확히 한다
airman5573 Mar 14, 2022
ca660ed
:zap: perf(ui): skeleton ui를 지우고 생성하는 방식이 아닌 숨기고 보여주는 방식을 사용한다
airman5573 Mar 14, 2022
4e37c05
:bug: fix(network): 동영상을 불러오는 도중에는 추가로 동영상을 불러오지 않는다
airman5573 Mar 14, 2022
fff917c
:bug: fix(network): 더 이상 불러올 동영상이 없는 경우에는 로드하지 않는다
airman5573 Mar 14, 2022
df3e48c
:truck: chore(git): .gitignore에 추적하지 않을 파일을 추가한다
airman5573 Mar 14, 2022
3cdb15c
:bug: fix(ui): 검색결과가 없는 경우 그에 맞는 뷰를 보여준다
airman5573 Mar 14, 2022
dbb5c33
:bug: fix(network): 토큰이 null인 경우 빈 문자열을 넣어준다
airman5573 Mar 14, 2022
e505d5a
:recycle: refactor(ui): 이미 저장된 비디오는 저장버튼을 보여주지 않는다
airman5573 Mar 15, 2022
e9298b4
:bug: fix(network): 같은 검색어로 검색했을때 첫페이지가 보이도록 수정한다
airman5573 Mar 15, 2022
bd6c675
:zap: perf(callstack): 날짜 변환 함수를 사용하지 않고 바로 변환을 해준다
airman5573 Mar 15, 2022
715ad2d
:recycle: refactor(validation): 이미 저장된 비디오는 저장 버튼이 보여지지 않기 때문에 추가적인 중…
airman5573 Mar 15, 2022
44c435c
:recycle: refactor(validation): try-catch를 활용해 유효성 검사를 개선한다
airman5573 Mar 15, 2022
64523ad
:recycle: refactor(cleanup): util함수를 한곳에 모아서 관리한다
airman5573 Mar 15, 2022
2a634f4
:recycle: refactor(util): js에서 제공하는 함수를 사용한다
airman5573 Mar 15, 2022
c5e300a
:recycle: refactor(cleanup): 사용하지 않는 인자를 삭제한다
airman5573 Mar 15, 2022
81ecd60
:truck: chore(settings): 사용하지 않는 컨벤션을 삭제한다
airman5573 Mar 15, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions .cz-config.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"env": {
"browser": true,
"es2022": true,
"jest": true
},
"extends": ["airbnb-base", "plugin:prettier/recommended"],
"parserOptions": {
"sourceType": "module",
"ecmaVersion": "latest"
},
"rules": {
"no-alert": "off",
"max-depth": ["error", 2],
"max-lines-per-function": ["error", 15],
"no-unused-expressions": ["error", { "allowShortCircuit": true }],
"class-methods-use-this": "off"
},
"ignorePatterns": ["**/*.test.*"]
}
4 changes: 4 additions & 0 deletions .husky/commit-msg

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions .husky/pre-commit

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
module.exports = {
printWidth: 100, // 한 줄 최대 문자 수
tabWidth: 2, // 들여쓰기 시, 탭 너비
// useTabs: false, // 스페이스 대신 탭 사용
// semi: true, // 문장 끝 세미콜론 사용
singleQuote: true, // 작은 따옴표 사용
// trailingComma: 'all', // 꼬리 콤마 사용
// bracketSpacing: true, // 중괄호 내에 공백 사용
arrowParens: 'avoid', // 화살표 함수 단일 인자 시, 괄호 생략
proseWrap: 'never', // 마크다운 포매팅 제외
endOfLine: 'auto', // 개행문자 유지 (혼합일 경우, 첫 줄 개행문자로 통일)
};
15 changes: 15 additions & 0 deletions babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
module.exports = {
presets: [
[
'@babel/preset-env',
{
targets: {
chrome: '87',
},
useBuiltIns: 'usage',
corejs: '3.6.4',
},
],
],
plugins: ['@babel/plugin-transform-runtime'],
};
25 changes: 25 additions & 0 deletions commitlint.config.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 0 additions & 27 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,35 +25,8 @@ <h3 hidden>검색어 입력</h3>
<input id="search-input-keyword" type="text" placeholder="검색" class="search-input__keyword">
<button id="search-button" class="search-input__search-button button">검색</button>
</section>
<!-- 2-1 검색 결과가 있을 경우, 아래와 같은 검색 결과 목록을 보여줍니다.-->
<section class="search-result">
<h3 hidden>검색 결과</h3>
<ul class="video-list">
<!-- <li class="video-item" data-video-id="">
<img
src="https://i.ytimg.com/vi/ECfuKi5-Cfs/hq720.jpg?sqp=-oaymwEcCOgCEMoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDvmIcX-TgdcH2g_Bd4AUxw6hjmvQ"
alt="video-item-thumbnail" class="video-item__thumbnail">
<h4 class="video-item__title">[Playlist] 너무 좋은데 괜찮으시겠어요?</h4>
<p class="video-item__channel-name">essential;</p>
<p class="video-item__published-date">2022년 3월 2일</p>
<button class="video-item__save-button button">⬇ 저장</button>
</li> -->
</ul>
</section>
<!-- 2-2 검색 결과가 없을 경우, `search-result--no-result` class를 붙이고 아래와 같은 no-result를 보여줍니다.-->
<!-- <section class="search-result search-result--no-result">
<h3 hidden>검색 결과</h3>
<div class="no-result">
<img src="./src/assets/images/not_found.png" alt="no result image" class="no-result__image">
<p class="no-result__description">
검색 결과가 없습니다<br />
다른 키워드로 검색해보세요
</p>
</div>
</section> -->
</div>
</div>
<script type="module" src="./src/js/index.js"></script>
</body>

</html>
4 changes: 4 additions & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module.exports = {
testEnvironment: 'jsdom',
silent: false,
};
Loading