From e794f1ed3df6a9d508909f041b133e7fa2363beb Mon Sep 17 00:00:00 2001 From: dewdew Date: Sat, 16 Dec 2023 21:35:48 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=9A=8E=20develop=20version:=201.14.0?= =?UTF-8?q?=20-=20=EB=AA=A8=EB=B0=94=EC=9D=BC=20=EB=A9=94=EB=89=B4=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD=20-=20el-timeline=20=EC=82=AD=EC=A0=9C=20-?= =?UTF-8?q?=20=EB=A7=88=EC=9D=B4=EB=84=88=20=EC=8A=A4=ED=83=80=EC=9D=BC=20?= =?UTF-8?q?=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95=20-=20tech=20>=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=B7=B0=20=EA=B0=9C=EC=88=98=20?= =?UTF-8?q?=ED=91=9C=EC=8B=9C=20=EA=B5=AC=ED=98=84=20-=20=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=20fetch=20=EB=B0=A9=EC=8B=9D=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.vue | 2 +- assets/scss/mobile/pages/tech_list.scss | 7 +- assets/scss/shared/components/header.scss | 38 +++---- assets/scss/shared/pages/tech_detail.scss | 10 +- assets/scss/shared/pages/tech_list.scss | 7 +- components/AHeader.client.vue | 56 ++++++++- components/atoms/CardComponent.vue | 16 ++- components/atoms/article/ArticleAddOn.vue | 21 ++-- components/atoms/article/ArticleComments.vue | 45 ++++---- .../atoms/article/ArticleCreateComment.vue | 1 - components/dialog/ImageUploadDialog.vue | 19 +--- .../molecules/main/MainSkillContents.vue | 10 +- .../molecules/tiptap/TiptapExtraGroup.vue | 12 +- .../molecules/tiptap/TiptapHeadingGroup.vue | 12 +- .../molecules/tiptap/TiptapLinkGroup.vue | 6 +- .../molecules/tiptap/TiptapStrokeGroup.vue | 8 +- .../molecules/tiptap/TiptapTableGroup.vue | 18 +-- .../molecules/tiptap/TiptapTextAlignGroup.vue | 8 +- .../molecules/tiptap/TiptapTextListGroup.vue | 8 +- .../molecules/tiptap/TiptapTextStyleGroup.vue | 6 +- composables/fetch/{loadData.ts => index.ts} | 101 ++++++++++++++++- composables/util/ui.ts | 20 ++++ layouts/default.vue | 6 +- pages/archives/[year].vue | 22 ++-- pages/archives/index.vue | 15 +-- pages/confirm.vue | 43 +++---- pages/index.vue | 2 +- pages/projects/colorTranslate.vue | 1 - pages/tech/[id].vue | 85 +++++++------- pages/tech/index.vue | 107 ++++++++---------- plugins/elementPlus.ts | 4 +- server/api/admin/index.ts | 20 ++++ server/api/archive/detail.ts | 19 ++++ server/api/archive/index.ts | 16 +++ server/api/tech/comment.ts | 1 - server/api/tech/detail.ts | 20 ++++ server/api/tech/index.ts | 6 +- stores/techData.ts | 6 + 38 files changed, 502 insertions(+), 302 deletions(-) rename composables/fetch/{loadData.ts => index.ts} (64%) create mode 100644 server/api/admin/index.ts create mode 100644 server/api/archive/detail.ts create mode 100644 server/api/archive/index.ts create mode 100644 server/api/tech/detail.ts diff --git a/app.vue b/app.vue index 70b1a23..3bd5bd8 100644 --- a/app.vue +++ b/app.vue @@ -22,7 +22,7 @@ provide(ID_INJECTION_KEY, { current: 0 }) -const { loadMenuData } = useLoadComposable() +const { loadMenuData } = useFetchComposable() const seoTitle = 'Developer Dewdew | 개발자 이연주' const seoDescription = '안녕하세요. FE 개발자 이연주입니다.' diff --git a/assets/scss/mobile/pages/tech_list.scss b/assets/scss/mobile/pages/tech_list.scss index af28137..bc00b34 100644 --- a/assets/scss/mobile/pages/tech_list.scss +++ b/assets/scss/mobile/pages/tech_list.scss @@ -9,13 +9,16 @@ .write-button-container { margin-left: unset; } - .tech-timeline { + .articles { padding-left: unset; .tech-card { - .card-header { + .card-card-title { flex-direction: column; align-items: flex-start; } + .card-sub-head { + width: $space-percent-100; + } } } } diff --git a/assets/scss/shared/components/header.scss b/assets/scss/shared/components/header.scss index a5e3b25..50933d8 100644 --- a/assets/scss/shared/components/header.scss +++ b/assets/scss/shared/components/header.scss @@ -10,7 +10,7 @@ align-items: center; background-color: var(--d-header-bg-color); filter: alpha(opacity=30); - z-index: 100; + z-index: 10; .header-container { width: $space-1000; .logo { @@ -34,25 +34,6 @@ } } } - .float-mobile-menu { - position: fixed; - align-items: center; - bottom: calc($space-20vh + $space-10vh); - right: $space-30; - opacity: .4; - width: $space-50; - height: calc($space-200 + $space-60); - padding: $space-4 0; - gap: $space-8; - border-radius: $space-12; - background-color: var(--d-bg-white-color); - .mobile-menu-links { - margin: $space-4 auto; - @include headline3; - color: var(--d-text-dark-color); - cursor: pointer; - } - } .github { padding: $space-2 0; cursor: pointer; @@ -60,4 +41,21 @@ height: auto; } } +} + +.mobile-logo { + cursor: pointer; +} + +.mobile-menu-links { + @include headline4; + text-decoration: none; + transition: all .1s ease-in-out; + cursor: pointer; + &:hover { + scale: 1.1; + } + &:hover, &:focus { + cursor: pointer; + } } \ No newline at end of file diff --git a/assets/scss/shared/pages/tech_detail.scss b/assets/scss/shared/pages/tech_detail.scss index fbc2b9e..a9cecea 100644 --- a/assets/scss/shared/pages/tech_detail.scss +++ b/assets/scss/shared/pages/tech_detail.scss @@ -65,15 +65,7 @@ margin: $space-20 $space-10; @include headline4; } - .el-timeline { - margin-top: $space-20; - .el-timeline-item { - width: $space-percent-100; - .el-timeline-item__content { - @include tiptap-template; - } - } - } + @include tiptap-template; .message-component { .name { @include headline6; diff --git a/assets/scss/shared/pages/tech_list.scss b/assets/scss/shared/pages/tech_list.scss index e53d4ff..254e565 100644 --- a/assets/scss/shared/pages/tech_list.scss +++ b/assets/scss/shared/pages/tech_list.scss @@ -7,7 +7,6 @@ */ .tech-lists { position: relative; - height: $space-80vh; width: $space-100vw; overflow-x: hidden; .write-button-container { @@ -15,13 +14,9 @@ margin-top: $space-100; overflow-y: auto; } - .tech-timeline { + .articles { max-height: $space-60vh; width: $space-80vw; - scrollbar-width: none; - ::-webkit-scrollbar { - display: none; - } .tech-card { cursor: pointer; .title { diff --git a/components/AHeader.client.vue b/components/AHeader.client.vue index d5120ab..4a24278 100644 --- a/components/AHeader.client.vue +++ b/components/AHeader.client.vue @@ -13,14 +13,13 @@
@@ -68,7 +67,6 @@ + + +
+
+ + + + {{ menu.title }} + + +
@@ -93,6 +137,7 @@ const { url } = useImageStorage() const desktopModeTrigger = computed(() => { return width.value > 999 }) +const sideMenuTrigger = ref(false) const locales = [ { label: t('localeMenu.korean'), value: 'ko' }, @@ -118,4 +163,9 @@ const isDark = computed({ } }) +const clickLogo = () => { + navigateTo('/') + sideMenuTrigger.value = false +} + diff --git a/components/atoms/CardComponent.vue b/components/atoms/CardComponent.vue index 36d8d47..6cd33ed 100644 --- a/components/atoms/CardComponent.vue +++ b/components/atoms/CardComponent.vue @@ -1,16 +1,26 @@