Skip to content

Commit

Permalink
Merge pull request #52 from yeonjulee1005/develop
Browse files Browse the repository at this point in the history
🚎 [version: 1.14.0]
  • Loading branch information
yeonjulee1005 authored Dec 16, 2023
2 parents bca17eb + edf231a commit 0696e54
Show file tree
Hide file tree
Showing 39 changed files with 503 additions and 303 deletions.
2 changes: 1 addition & 1 deletion app.vue
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ provide(ID_INJECTION_KEY, {
current: 0
})
const { loadMenuData } = useLoadComposable()
const { loadMenuData } = useFetchComposable()
const seoTitle = 'Developer Dewdew | 개발자 이연주'
const seoDescription = '안녕하세요. FE 개발자 이연주입니다.'
Expand Down
7 changes: 5 additions & 2 deletions assets/scss/mobile/pages/tech_list.scss
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
}
}
}
38 changes: 18 additions & 20 deletions assets/scss/shared/components/header.scss
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -34,30 +34,28 @@
}
}
}
.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;
width: $space-30;
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;
}
}
10 changes: 1 addition & 9 deletions assets/scss/shared/pages/tech_detail.scss
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
7 changes: 1 addition & 6 deletions assets/scss/shared/pages/tech_list.scss
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,16 @@
*/
.tech-lists {
position: relative;
height: $space-80vh;
width: $space-100vw;
overflow-x: hidden;
.write-button-container {
width: $space-80vw;
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 {
Expand Down
56 changes: 53 additions & 3 deletions components/AHeader.client.vue
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,13 @@
</nuxt-link>
<div class="flex-auto" />
<div
v-if="desktopModeTrigger"
class="desktop-menu flex flex-fixed gap-40"
:class="{'float-mobile-menu flex flex-column': !desktopModeTrigger}"
>
<nuxt-link
v-for="(menu, index) in mainMenuData"
:key="index"
class="menu-links flex-align-center"
:class="{'mobile-menu-links flex flex-justify-center': !desktopModeTrigger}"
:to="menu.url"
:aria-label="menu.title"
>
Expand Down Expand Up @@ -68,14 +67,59 @@
</template>
</DDSelectMenu>
<AButton
custom-class="mr-20"
aria-label="theme"
button-variant="ghost"
use-icon
:icon-name="isDark ? 'line-md:moon-filled-loop' : 'line-md:moon-filled-alt-to-sunny-filled-loop-transition'"
:icon-size="24"
@click:button="isDark = !isDark"
/>
<AButton
v-if="!desktopModeTrigger"
aria-label="mobile-menu"
button-variant="ghost"
use-icon
icon-name="line-md:close-to-menu-transition"
:icon-size="24"
@click:button="() => sideMenuTrigger = true"
/>
<DDSlideover
v-model="sideMenuTrigger"
class="mobile-menu"
label="side-menu"
>
<div class="flex flex-align-center flex-space-between p-5">
<nuxt-img
class="mobile-logo flex-fixed"
:src="url('dewdew_logo.webp', 'assets', 'logo')"
legacy-format="webp"
loading="lazy"
:img-attrs="{class: 'dewdew-logo'}"
alt="logo"
@click="clickLogo"
/>
<AButton
color="violet"
button-variant="ghost"
use-icon
icon-name="line-md:menu-to-close-alt-transition"
@click="sideMenuTrigger = false"
/>
</div>
<nuxt-link
v-for="(menu, index) in mainMenuData"
:key="index"
class="mobile-menu-links flex-align-center p-5"
:to="menu.url"
:aria-label="menu.title"
@click="() => sideMenuTrigger = false"
>
<Icon :name="`line-md:${menu.icon}`" />
<span class="ml-2">
{{ menu.title }}
</span>
</nuxt-link>
</DDSlideover>
</div>
</div>
</template>
Expand All @@ -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' },
Expand All @@ -118,4 +163,9 @@ const isDark = computed({
}
})
const clickLogo = () => {
navigateTo('/')
sideMenuTrigger.value = false
}
</script>
16 changes: 14 additions & 2 deletions components/atoms/CardComponent.vue
Original file line number Diff line number Diff line change
@@ -1,16 +1,26 @@
<template>
<DDCard class="tech-card">
<template #header>
<div class="card-header flex flex-row flex-align-center gap-8">
<div class="card-title flex flex-row flex-align-center gap-8">
<span class="title">
{{ cardItem.title }}
</span>
</div>
<div class="card-sub-head flex flex-justify-end mt-2 space-x-2">
<DDBadge
color="violet"
:color="badgeColor(cardItem.like)"
size="md"
variant="soft"
>
{{ cardItem.like + ' ❤️' }}
</DDBadge>
<DDBadge
:color="badgeColor(cardItem.view_count ?? 0)"
size="md"
variant="soft"
>
{{ (cardItem.view_count ?? 0) + ' 👀' }}
</DDBadge>
</div>
</template>
<div class="desc">
Expand All @@ -21,6 +31,8 @@
<script setup lang="ts">
const { badgeColor } = useUi()
defineProps<{
cardItem: SerializeObject
}>()
Expand Down
21 changes: 12 additions & 9 deletions components/atoms/article/ArticleAddOn.vue
Original file line number Diff line number Diff line change
@@ -1,29 +1,32 @@
<template>
<div class="article-add-on flex flex-justify-end mt-default mb-default">
<div class="article-add-on flex flex-justify-end mb-default space-x-4">
<AButton
:button-color="badgeColor(data.like)"
button-variant="outline"
:button-text="data.like + ' ❤️' "
@click="$emit('update-count')"
/>
<DDBadge
class="like"
color="violet"
:color="badgeColor(data.view_count ?? 0)"
size="md"
variant="soft"
size="lg"
@click="$emit('update-count')"
>
{{ `${data.like} ❤️` }}
{{ (data.view_count ?? 0) + ' 👀' }}
</DDBadge>
</div>
</template>
<script setup lang="ts">
import type { EpPropMergeType } from 'element-plus/es/utils/vue/props/types'
const { badgeColor } = useUi()
withDefaults(
defineProps<{
articleId: string,
tagSize?: EpPropMergeType<StringConstructor, '' | 'default' | 'large' | 'small', unknown>,
data: SerializeObject,
activateLike?: boolean
}>(),
{
tagSize: 'large',
activateLike: false
}
)
Expand Down
45 changes: 21 additions & 24 deletions components/atoms/article/ArticleComments.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,29 @@
<span class="comments-title">
{{ commentTitle }}
</span>
<el-timeline v-if="commentData.length">
<el-timeline-item
v-for="(comment, index) in commentData"
:key="index"
center
color="#D3E3D2"
>
<ANuxtTime :date-time="comment.created_at" />
<div class="comments-item flex flex-row flex-space-between flex-align-center">
<div class="message-component mr-40">
<span class="name">
{{ comment.name }}
</span>
<div v-dompurify-html="comment.message" />
</div>
<AButton
round-button
use-icon
icon-name="line-md:close-small"
@click:button="openPasswordDialog(comment)"
/>
<DDCard
v-for="(comment, index) in commentData"
v-show="commentData.length"
:key="index"
class="mt-4 mb-4"
>
<div class="flex flex-row flex-space-between flex-align-center">
<div class="message-component">
<span class="name">
{{ comment.name }}
</span>
<div v-dompurify-html="comment.message" />
</div>
</el-timeline-item>
</el-timeline>
<AButton
round-button
use-icon
icon-name="line-md:close-small"
@click:button="openPasswordDialog(comment)"
/>
</div>
</DDCard>
<DDSkeleton
v-else
v-show="!commentData.length"
class="empty-comments mt-4 mb-4"
:ui="{ rounded: 'rounded-fill'}"
/>
Expand Down
1 change: 0 additions & 1 deletion components/atoms/article/ArticleCreateComment.vue
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@
clearable
aria-label="password"
:ui="{ icon: { trailing: { pointer: '' } } }"
@keyup.enter="onSubmit"
>
<template #trailing>
<div class="flex flex-justify-center space-x-1">
Expand Down
Loading

0 comments on commit 0696e54

Please sign in to comment.