Merge branch 'main' into commuters
All checks were successful
LocalNet_front/pipeline/head This commit looks good
All checks were successful
LocalNet_front/pipeline/head This commit looks good
This commit is contained in:
commit
062742c602
@ -17,12 +17,13 @@
|
||||
@updateReaction="handleUpdateReaction"
|
||||
/>
|
||||
<!-- 댓글 비밀번호 입력창 (익명일 경우) -->
|
||||
<div v-if="currentPasswordCommentId === comment.commentId && unknown && comment.author == '익명'" class="mt-3 w-25 ms-auto">
|
||||
<div v-if="currentPasswordCommentId === comment.commentId && unknown && comment.author == '익명'" class="mt-3 w-20 ms-auto">
|
||||
<div class="input-group">
|
||||
<input
|
||||
type="password"
|
||||
class="form-control"
|
||||
:value="password"
|
||||
autocomplete="new-password"
|
||||
placeholder="비밀번호 입력"
|
||||
@input="filterInput"
|
||||
/>
|
||||
@ -122,9 +123,9 @@
|
||||
'update:password',
|
||||
]);
|
||||
|
||||
const filterInput = (event) => {
|
||||
event.target.value = event.target.value.replace(/\s/g, ""); // 공백 제거
|
||||
emit("update:password", event.target.value);
|
||||
const filterInput = event => {
|
||||
event.target.value = event.target.value.replace(/\s/g, ''); // 공백 제거
|
||||
emit('update:password', event.target.value);
|
||||
};
|
||||
|
||||
const localEditedContent = ref(props.comment.content);
|
||||
|
||||
@ -41,6 +41,7 @@
|
||||
type="password"
|
||||
id="basic-default-password"
|
||||
class="form-control flex-grow-1"
|
||||
autocomplete="new-password"
|
||||
v-model="password"
|
||||
placeholder="비밀번호 입력"
|
||||
@input="passwordAlertTextHandler"
|
||||
@ -103,8 +104,8 @@
|
||||
textAlert.value = '';
|
||||
};
|
||||
|
||||
const passwordAlertTextHandler = (event) => {
|
||||
event.target.value = event.target.value.replace(/\s/g, "");
|
||||
const passwordAlertTextHandler = event => {
|
||||
event.target.value = event.target.value.replace(/\s/g, '');
|
||||
passwordAlert2.value = '';
|
||||
};
|
||||
|
||||
|
||||
@ -20,8 +20,10 @@
|
||||
<div class="ms-auto text-end">
|
||||
<!-- 수정, 삭제 버튼 -->
|
||||
<template v-if="!isDeletedComment && (unknown || isCommentAuthor || isAuthor)">
|
||||
<EditButton @click.stop="editClick" />
|
||||
<DeleteButton @click.stop="deleteClick" />
|
||||
<div class="float-end ms-1">
|
||||
<EditButton @click.stop="editClick" />
|
||||
<DeleteButton :class="'ms-1'" @click.stop="deleteClick" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<!-- 좋아요, 싫어요 버튼 (댓글에서만 표시) -->
|
||||
|
||||
@ -1,39 +1,40 @@
|
||||
<template>
|
||||
<button class="btn btn-label-primary btn-icon float-end" @click="toggleText">
|
||||
<button class="btn btn-label-primary btn-icon" @click="toggleText">
|
||||
<i :class="buttonClass"></i>
|
||||
</button>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, watch, defineProps } from 'vue';
|
||||
import { ref, watch, defineProps } from 'vue';
|
||||
|
||||
const props = defineProps({
|
||||
isToggleEnabled: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
isActive: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
},
|
||||
});
|
||||
const props = defineProps({
|
||||
isToggleEnabled: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
isActive: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
},
|
||||
});
|
||||
|
||||
const buttonClass = ref("bx bx-edit-alt");
|
||||
const buttonClass = ref('bx bx-edit-alt');
|
||||
|
||||
watch(() => props.isActive, (newVal) => {
|
||||
buttonClass.value = newVal ? "bx bx-x" : "bx bx-edit-alt";
|
||||
});
|
||||
watch(
|
||||
() => props.isActive,
|
||||
newVal => {
|
||||
buttonClass.value = newVal ? 'bx bx-x' : 'bx bx-edit-alt';
|
||||
},
|
||||
);
|
||||
|
||||
const toggleText = () => {
|
||||
if (props.isToggleEnabled) {
|
||||
buttonClass.value = buttonClass.value === "bx bx-edit-alt" ? "bx bx-x" : "bx bx-edit-alt";
|
||||
}
|
||||
};
|
||||
const resetButton = () => {
|
||||
buttonClass.value = "bx bx-edit-alt";
|
||||
};
|
||||
|
||||
|
||||
defineExpose({ resetButton });
|
||||
const toggleText = () => {
|
||||
if (props.isToggleEnabled) {
|
||||
buttonClass.value = buttonClass.value === 'bx bx-edit-alt' ? 'bx bx-x' : 'bx bx-edit-alt';
|
||||
}
|
||||
};
|
||||
const resetButton = () => {
|
||||
buttonClass.value = 'bx bx-edit-alt';
|
||||
};
|
||||
|
||||
defineExpose({ resetButton });
|
||||
</script>
|
||||
|
||||
@ -74,16 +74,13 @@ nextTick(() => {
|
||||
const sortedUserList = computed(() => {
|
||||
if (!employeeId.value) return [];
|
||||
|
||||
// 관리자가 아닌 사용자만 필터링
|
||||
const nonAdminUsers = userList.value.filter(user => user.MEMBERROL !== "ROLE_ADMIN");
|
||||
|
||||
const myProfile = nonAdminUsers.find(user => user.MEMBERSEQ === employeeId.value);
|
||||
const otherUsers = nonAdminUsers.filter(user => user.MEMBERSEQ !== employeeId.value);
|
||||
// 모든 사용자 포함 (관리자 필터링 제거)
|
||||
const myProfile = userList.value.find(user => user.MEMBERSEQ === employeeId.value);
|
||||
const otherUsers = userList.value.filter(user => user.MEMBERSEQ !== employeeId.value);
|
||||
|
||||
return myProfile ? [myProfile, ...otherUsers] : otherUsers;
|
||||
});
|
||||
|
||||
|
||||
const getUserProfileImage = (profilePath) =>
|
||||
profilePath && profilePath.trim() ? `${baseUrl}upload/img/profile/${profilePath}` : defaultProfile;
|
||||
|
||||
|
||||
@ -10,7 +10,8 @@
|
||||
@change="handleChange"
|
||||
>
|
||||
{{ data.LOCVOTCON }}
|
||||
<a v-if="data.LOCVOTLIK" :href="data.LOCVOTLIK.startsWith('http') ? data.LOCVOTLIK : 'http://' + data.LOCVOTLIK" target="_blank">
|
||||
<div></div>
|
||||
<a v-if="data.LOCVOTLIK" :href="data.LOCVOTLIK.startsWith('http') ? data.LOCVOTLIK : 'http://' + data.LOCVOTLIK" class="d-inline-block text-truncate" target="_blank" rel="noopener noreferrer">
|
||||
{{ data.LOCVOTLIK }}
|
||||
</a>
|
||||
</label>
|
||||
@ -54,5 +55,10 @@ const handleChange = (event) => {
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
a {
|
||||
max-width: 500px; /* 원하는 너비로 조정 */
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -6,21 +6,22 @@
|
||||
<!-- 링크 입력창 (옆으로 나오게) -->
|
||||
<div
|
||||
v-if="isPopoverVisible"
|
||||
class="popover-container d-flex align-items-center"
|
||||
class="d-flex"
|
||||
>
|
||||
<input
|
||||
v-model="link"
|
||||
placeholder="URL을 입력해주세요"
|
||||
class="form-control me-2"
|
||||
style="min-width: 200px;"
|
||||
class="form-control"
|
||||
style="min-width: 500px;"
|
||||
/>
|
||||
<save-btn class="btn-sm" @click="saveLink"/>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- 등록된 링크, 입력창이 보이지 않고 등록된 링크만 보일 때 -->
|
||||
<span v-if="isLinkSaved && !isPopoverVisible" class="ms-2">
|
||||
<a :href="formattedLink" target="_blank" rel="noopener noreferrer">{{ link }}</a>
|
||||
<a :href="formattedLink" class="d-inline-block text-truncate" target="_blank" rel="noopener noreferrer">
|
||||
{{ link }}
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
@ -60,4 +61,10 @@ display: flex;
|
||||
align-items: center;
|
||||
gap: 8px; /* 아이콘과 입력창 간격 조정 */
|
||||
}
|
||||
a {
|
||||
max-width: 500px; /* 원하는 너비로 조정 */
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
<input
|
||||
type="password"
|
||||
class="form-control"
|
||||
autocomplete="off"
|
||||
autocomplete="new-password"
|
||||
v-model="password"
|
||||
placeholder="비밀번호 입력"
|
||||
@input="
|
||||
@ -799,8 +799,8 @@
|
||||
});
|
||||
</script>
|
||||
<style>
|
||||
.board-content img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
.board-content img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -269,11 +269,7 @@ const fetchUserList = async () => {
|
||||
try {
|
||||
await userListStore.fetchUserList();
|
||||
|
||||
// "ROLE_ADMIN"을 제외하고 필터링
|
||||
const filteredUsers = userListStore.userList.filter(user => user.MEMBERROL !== "ROLE_ADMIN");
|
||||
|
||||
// 필터링된 리스트를 userList에 반영
|
||||
userList.value = [...filteredUsers];
|
||||
userList.value = [...userListStore.userList];
|
||||
|
||||
if (!userList.value.length) {
|
||||
console.warn("📌 사용자 목록이 비어 있음!");
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</div>
|
||||
|
||||
<!-- 투표리스트 -->
|
||||
<div v-if="!voteListCardData" class="mt66"> ❌❌등록된 투표가 없습니다.❌❌</div>
|
||||
<div v-if="voteListCardData.length == 0 " class="mt66">등록된 투표가 없습니다.</div>
|
||||
<vote-list
|
||||
:data="voteListCardData"
|
||||
@addContents="addContents"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user