diff --git a/README.md b/README.md index e96a0df8..69007588 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ License API Docs Website + GitHub Workflow Status

----- @@ -15,7 +16,7 @@ ## 서비스 배포 및 설정 -서비스를 설정하고 배포하려는 운영자라면 [서비스 배포 및 설정]([https://github.com/EATSTEAK/lockerweb/wiki/%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%84%A4%EC%A0%95-%EB%B0%8F-%EB%B0%B0%ED%8F%AC](https://github.com/EATSTEAK/lockerweb/wiki/%EC%84%9C%EB%B9%84%EC%8A%A4-%EB%B0%B0%ED%8F%AC-%EB%B0%8F-%EC%84%A4%EC%A0%95))를 참고하세요. +서비스를 설정하고 배포하려는 운영자라면 [서비스 배포 및 설정](https://github.com/EATSTEAK/lockerweb/wiki/%EC%84%9C%EB%B9%84%EC%8A%A4-%EB%B0%B0%ED%8F%AC-%EB%B0%8F-%EC%84%A4%EC%A0%95)을 참고하세요. ## 개발하기 diff --git a/package.json b/package.json index fd9bd8ad..0a75909f 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,13 @@ { "name": "lockerweb", - "version": "0.9.1", + "version": "0.10.0", "description": "SSU IT Collage Locker system.", "private": true, "scripts": { "build": "concurrently -p \"[{name} / {time}]\" -c \"green,magenta\" -n \"client,server\" \"pnpm run -r --filter=client build \" \"pnpm run -r -filter=server build\"", "dev": "concurrently -p \"[{name} / {time}]\" -c \"green,magenta\" -n \"client,server\" \"pnpm run -r --filter=client dev \" \"pnpm run -r -filter=server dev\"", "delete": "pnpm run --filter=client delete && pnpm run --filter=server delete", - "deploy": "pnpm run --filter=server deploy && pnpm run --filter=client deploy" + "deploy": "node ./scripts/deploy.js" }, "repository": { "type": "git", diff --git a/packages/client/.eslintrc.cjs b/packages/client/.eslintrc.cjs index 32b246de..83446886 100644 --- a/packages/client/.eslintrc.cjs +++ b/packages/client/.eslintrc.cjs @@ -1,7 +1,15 @@ module.exports = { root: true, parser: '@typescript-eslint/parser', - extends: ['plugin:import/recommended', 'plugin:import/typescript', 'plugin:tailwindcss/recommended', 'eslint:recommended', 'airbnb-typescript/base', 'plugin:@typescript-eslint/recommended', 'prettier'], + extends: [ + 'plugin:import/recommended', + 'plugin:import/typescript', + 'plugin:tailwindcss/recommended', + 'eslint:recommended', + 'airbnb-typescript/base', + 'plugin:@typescript-eslint/recommended', + 'prettier' + ], plugins: ['svelte3', '@typescript-eslint', 'tailwindcss'], ignorePatterns: ['*.cjs'], overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }], diff --git a/packages/client/package.json b/packages/client/package.json index 66113425..4f6490fd 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "client", - "version": "0.9.1", + "version": "0.10.0", "scripts": { "dev": "cross-env VITE_BASE_URL=http://localhost:3000 vite dev --port 5002 --host 0.0.0.0", "build": "vite build", diff --git a/packages/client/src/app.css b/packages/client/src/app.css index a1691545..d092afba 100644 --- a/packages/client/src/app.css +++ b/packages/client/src/app.css @@ -1,5 +1,5 @@ /* Write your global styles here, in PostCSS syntax */ -@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.5/dist/web/variable/pretendardvariable.css"); +@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.5/dist/web/variable/pretendardvariable.css'); @import 'css/normalize.css'; @@ -13,11 +13,18 @@ html { } :root { - font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif; + font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, + Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', + 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif; @apply text-gray-700; } -h1, h2, h3, h4, h5, h6 { +h1, +h2, +h3, +h4, +h5, +h6 { @apply font-bold; } @@ -44,5 +51,3 @@ h5 { h6 { @apply text-lg; } - - diff --git a/packages/client/src/components/atom/Button.svelte b/packages/client/src/components/atom/Button.svelte index 19aaf6a6..c1eb99b6 100644 --- a/packages/client/src/components/atom/Button.svelte +++ b/packages/client/src/components/atom/Button.svelte @@ -5,31 +5,33 @@ export let href = null; - - + {...$$restProps} +> {#if !isIconRight} {#if $$slots.icon}
@@ -48,7 +50,7 @@ \ No newline at end of file + diff --git a/packages/client/src/components/atom/DepartmentSelection.svelte b/packages/client/src/components/atom/DepartmentSelection.svelte index 21923eea..d43f7c90 100644 --- a/packages/client/src/components/atom/DepartmentSelection.svelte +++ b/packages/client/src/components/atom/DepartmentSelection.svelte @@ -9,7 +9,7 @@ export let activateFrom: Date; export let activateTo: Date; - $: activateTime = (activateFrom || activateTo) ? timeCalc(activateFrom, activateTo) : ''; + $: activateTime = activateFrom || activateTo ? timeCalc(activateFrom, activateTo) : ''; let ref = null; @@ -45,7 +45,7 @@ \ No newline at end of file + diff --git a/packages/client/src/components/atom/NavigationContent.svelte b/packages/client/src/components/atom/NavigationContent.svelte index 76a85095..ee7b998c 100644 --- a/packages/client/src/components/atom/NavigationContent.svelte +++ b/packages/client/src/components/atom/NavigationContent.svelte @@ -5,4 +5,4 @@
-
\ No newline at end of file + diff --git a/packages/client/src/components/atom/NavigationFooter.svelte b/packages/client/src/components/atom/NavigationFooter.svelte index a53ca67e..f510afcd 100644 --- a/packages/client/src/components/atom/NavigationFooter.svelte +++ b/packages/client/src/components/atom/NavigationFooter.svelte @@ -5,4 +5,4 @@
-
\ No newline at end of file + diff --git a/packages/client/src/components/atom/NavigationHeader.svelte b/packages/client/src/components/atom/NavigationHeader.svelte index 38f85912..c51a39ed 100644 --- a/packages/client/src/components/atom/NavigationHeader.svelte +++ b/packages/client/src/components/atom/NavigationHeader.svelte @@ -5,4 +5,4 @@
-
\ No newline at end of file + diff --git a/packages/client/src/components/atom/NavigationProfile.svelte b/packages/client/src/components/atom/NavigationProfile.svelte index 58c8782d..aa6f2ce8 100644 --- a/packages/client/src/components/atom/NavigationProfile.svelte +++ b/packages/client/src/components/atom/NavigationProfile.svelte @@ -5,4 +5,4 @@
-
\ No newline at end of file +
diff --git a/packages/client/src/components/atom/PageTitle.svelte b/packages/client/src/components/atom/PageTitle.svelte index ad20e420..a023fc44 100644 --- a/packages/client/src/components/atom/PageTitle.svelte +++ b/packages/client/src/components/atom/PageTitle.svelte @@ -5,10 +5,11 @@ let serviceName = '사물함 예약 시스템'; $: if ($config && $config.success) { - serviceName = ($config.result ?? []).find((c: Config) => c.id === 'SERVICE')?.name ?? '사물함 예약 시스템'; + serviceName = + ($config.result ?? []).find((c: Config) => c.id === 'SERVICE')?.name ?? '사물함 예약 시스템'; } {name ? `${name} - ` : ''}{serviceName} - \ No newline at end of file + diff --git a/packages/client/src/components/atom/Pagination.svelte b/packages/client/src/components/atom/Pagination.svelte index cd832cd7..7913ea3b 100644 --- a/packages/client/src/components/atom/Pagination.svelte +++ b/packages/client/src/components/atom/Pagination.svelte @@ -22,8 +22,8 @@ } -
-
+
+

페이지 별 항목 수:

-
항목 {totalEntries}{itemsPerPage * currentPage + 1 > totalEntries ? totalEntries : itemsPerPage * currentPage + 1}-{itemsPerPage * (currentPage + 1) >= totalEntries ? totalEntries : itemsPerPage * (currentPage + 1)} +
+ 항목 {totalEntries} 중 + {itemsPerPage * currentPage + 1 > totalEntries + ? totalEntries + : itemsPerPage * currentPage + 1}-{itemsPerPage * (currentPage + 1) >= totalEntries + ? totalEntries + : itemsPerPage * (currentPage + 1)}
-
\ No newline at end of file + diff --git a/packages/client/src/components/atom/SelectScreen.svelte b/packages/client/src/components/atom/SelectScreen.svelte index bf2d93d5..90a5b626 100644 --- a/packages/client/src/components/atom/SelectScreen.svelte +++ b/packages/client/src/components/atom/SelectScreen.svelte @@ -4,16 +4,12 @@ import SelectObject from '../../icons/SelectObject.svelte'; -
+

대상을 선택하세요...

\ No newline at end of file + diff --git a/packages/client/src/components/atom/SelectionListItem.svelte b/packages/client/src/components/atom/SelectionListItem.svelte index 07108e87..0c1c5e11 100644 --- a/packages/client/src/components/atom/SelectionListItem.svelte +++ b/packages/client/src/components/atom/SelectionListItem.svelte @@ -30,7 +30,11 @@ \ No newline at end of file + diff --git a/packages/client/src/components/atom/SelectionListItemGroup.svelte b/packages/client/src/components/atom/SelectionListItemGroup.svelte index 517d96ef..22571918 100644 --- a/packages/client/src/components/atom/SelectionListItemGroup.svelte +++ b/packages/client/src/components/atom/SelectionListItemGroup.svelte @@ -1,61 +1,55 @@ -
- +
+
- - \ No newline at end of file diff --git a/packages/client/src/components/atom/Skeleton.svelte b/packages/client/src/components/atom/Skeleton.svelte index 44eeea69..2c478bed 100644 --- a/packages/client/src/components/atom/Skeleton.svelte +++ b/packages/client/src/components/atom/Skeleton.svelte @@ -1,36 +1,44 @@ - -
-
+
+
\ No newline at end of file + @keyframes loading { + from { + background-position-x: 0; + } + to { + background-position-x: -1100%; + } + } + diff --git a/packages/client/src/components/atom/TabGroup.svelte b/packages/client/src/components/atom/TabGroup.svelte index 97482b6e..525e5ef0 100644 --- a/packages/client/src/components/atom/TabGroup.svelte +++ b/packages/client/src/components/atom/TabGroup.svelte @@ -50,12 +50,6 @@ }); -
+
- - \ No newline at end of file diff --git a/packages/client/src/components/atom/TabItem.svelte b/packages/client/src/components/atom/TabItem.svelte index 8ceac965..4161f928 100644 --- a/packages/client/src/components/atom/TabItem.svelte +++ b/packages/client/src/components/atom/TabItem.svelte @@ -30,7 +30,11 @@ \ No newline at end of file + diff --git a/packages/client/src/components/atom/Tag.svelte b/packages/client/src/components/atom/Tag.svelte index f7a9c499..7f4692eb 100644 --- a/packages/client/src/components/atom/Tag.svelte +++ b/packages/client/src/components/atom/Tag.svelte @@ -4,12 +4,6 @@ export { clazz as class }; -
+
- - \ No newline at end of file diff --git a/packages/client/src/components/atom/UpdateScreen.svelte b/packages/client/src/components/atom/UpdateScreen.svelte index d486610c..9e74c175 100644 --- a/packages/client/src/components/atom/UpdateScreen.svelte +++ b/packages/client/src/components/atom/UpdateScreen.svelte @@ -5,20 +5,12 @@ export { clazz as class }; -
+
-

업데이트 중...

+

업데이트 중...

\ No newline at end of file + diff --git a/packages/client/src/components/atom/form/Checkbox.svelte b/packages/client/src/components/atom/form/Checkbox.svelte index 4ee7d15e..82c8d386 100644 --- a/packages/client/src/components/atom/form/Checkbox.svelte +++ b/packages/client/src/components/atom/form/Checkbox.svelte @@ -7,37 +7,22 @@ export let inputClass: string = ''; let clazz = ''; export { clazz as class }; - -
- - + +
\ No newline at end of file + diff --git a/packages/client/src/components/atom/form/DateTimeInput.svelte b/packages/client/src/components/atom/form/DateTimeInput.svelte index 1245a92e..9c86bb9e 100644 --- a/packages/client/src/components/atom/form/DateTimeInput.svelte +++ b/packages/client/src/components/atom/form/DateTimeInput.svelte @@ -16,62 +16,37 @@ let mounted = false; onMount(() => { - localDate = value ? new Date(value.getTime() - new Date().getTimezoneOffset() * 60000).toISOString().slice(0, -1) : undefined; + localDate = value + ? new Date(value.getTime() - new Date().getTimezoneOffset() * 60000) + .toISOString() + .slice(0, -1) + : undefined; mounted = true; }); $: if (mounted && localDate) { value = new Date(localDate); } - - -
- - + + -

{invalidText}

+
\ No newline at end of file + diff --git a/packages/client/src/components/atom/form/FileInput.svelte b/packages/client/src/components/atom/form/FileInput.svelte index 4e75b8d7..a8617bc8 100644 --- a/packages/client/src/components/atom/form/FileInput.svelte +++ b/packages/client/src/components/atom/form/FileInput.svelte @@ -19,15 +19,16 @@ export { clazz as class }; function openFileDialog() { - if(ref) ref.click(); + if (ref) ref.click(); } -
-