This commit is contained in:
khj0414 2025-04-08 15:50:00 +09:00
commit 15104c2f44
15 changed files with 18 additions and 19 deletions

View File

@ -752,7 +752,7 @@
width: 80px; width: 80px;
height: 80px; height: 80px;
border-radius: 50%; border-radius: 50%;
object-fit: contain; object-fit: cover;
margin-bottom: 10px; margin-bottom: 10px;
} }
.switch { .switch {

View File

@ -4,7 +4,7 @@
<div class="row g-0"> <div class="row g-0">
<div class="col-3 border-end text-center" id="app-calendar-sidebar"> <div class="col-3 border-end text-center" id="app-calendar-sidebar">
<div class="card-body"> <div class="card-body">
<img v-if="user" :src="`${baseUrl}upload/img/profile/${user.profile}`" alt="Profile Image" class="w-px-50 h-px-50 rounded-circle object-fit-contain" @error="$event.target.src = '/img/icons/icon.png'"/> <img v-if="user" :src="`${baseUrl}upload/img/profile/${user.profile}`" alt="Profile Image" class="w-px-50 h-px-50 rounded-circle object-fit-cover" @error="$event.target.src = '/img/icons/icon.png'"/>
<p class="mt-2 fw-bold"> <p class="mt-2 fw-bold">
{{ user.name }} {{ user.name }}
</p> </p>
@ -60,7 +60,7 @@
<div class="row my-2 d-flex align-items-center"> <div class="row my-2 d-flex align-items-center">
<div class="col-4"> <div class="col-4">
<img :src="`${baseUrl}upload/img/profile/${commuter.profile}`" <img :src="`${baseUrl}upload/img/profile/${commuter.profile}`"
class="me-2 w-px-50 h-px-50 rounded-circle object-fit-contain" class="me-2 w-px-50 h-px-50 rounded-circle object-fit-cover"
@error="$event.target.src = '/img/icons/icon.png'"> @error="$event.target.src = '/img/icons/icon.png'">
<span class="fw-bold">{{ commuter.memberName }}</span> <span class="fw-bold">{{ commuter.memberName }}</span>
@ -399,7 +399,7 @@ const loadCommuters = async () => {
// //
const profileImg = document.createElement('img'); const profileImg = document.createElement('img');
profileImg.src = `${baseUrl}upload/img/profile/${commuter.profile}`; profileImg.src = `${baseUrl}upload/img/profile/${commuter.profile}`;
profileImg.className = 'rounded-circle w-px-20 h-px-20 mx-1 mb-1 position-relative z-5 m-auto object-fit-contain'; profileImg.className = 'rounded-circle w-px-20 h-px-20 mx-1 mb-1 position-relative z-5 m-auto object-fit-cover';
profileImg.style.border = `2px solid ${commuter.projctcolor}`; profileImg.style.border = `2px solid ${commuter.projctcolor}`;
profileImg.onerror = () => { profileImg.src = '/img/icons/icon.png'; }; profileImg.onerror = () => { profileImg.src = '/img/icons/icon.png'; };

View File

@ -23,7 +23,7 @@
<img <img
:src="`${baseUrl}upload/img/profile/${commuter.profile}`" :src="`${baseUrl}upload/img/profile/${commuter.profile}`"
alt="User Profile" alt="User Profile"
class="rounded-circle object-fit-contain" class="rounded-circle object-fit-cover"
:class="isCurrentUser(commuter) ? 'cursor-pointer' : ''" :class="isCurrentUser(commuter) ? 'cursor-pointer' : ''"
:draggable="isCurrentUser(commuter)" :draggable="isCurrentUser(commuter)"
@dragstart="isCurrentUser(commuter) ? dragStart($event, post) : null" @dragstart="isCurrentUser(commuter) ? dragStart($event, post) : null"

View File

@ -25,7 +25,7 @@
<div class="avatar flex-shrink-0 me-1"> <div class="avatar flex-shrink-0 me-1">
<img <img
style="cursor: auto;" style="cursor: auto;"
class="rounded-circle user-avatar object-fit-contain" class="rounded-circle user-avatar object-fit-cover"
:src="getProfileImage(item.localVote.MEMBERPRF)" :src="getProfileImage(item.localVote.MEMBERPRF)"
alt="최초 작성자" alt="최초 작성자"
:style="{ borderColor: item.localVote.usercolor }" :style="{ borderColor: item.localVote.usercolor }"

View File

@ -21,7 +21,7 @@
<!-- 프로필 이미지 --> <!-- 프로필 이미지 -->
<div class="avatar flex-shrink-0 me-2 d-flex align-items-center"> <div class="avatar flex-shrink-0 me-2 d-flex align-items-center">
<img <img
class="rounded-circle user-avatar object-fit-contain" class="rounded-circle user-avatar object-fit-cover"
:src="getProfileImage(item.lastEditor.profileImage)" :src="getProfileImage(item.lastEditor.profileImage)"
alt="최종 작성자" alt="최종 작성자"
:style="{ borderColor: item.lastEditor.color }" :style="{ borderColor: item.lastEditor.color }"

View File

@ -5,7 +5,7 @@
for="profilePic" for="profilePic"
class="rounded-circle m-auto ui-bg-cover position-relative cursor-pointer " class="rounded-circle m-auto ui-bg-cover position-relative cursor-pointer "
id="profileLabel" id="profileLabel"
style="width: 100px; height: 100px; background-image: url(img/avatars/default-Profile.jpg); background-repeat: no-repeat; background-size: contain;" style="width: 100px; height: 100px; background-image: url(img/avatars/default-Profile.jpg); background-repeat: no-repeat; background-size: cover;"
> >
</label> </label>

View File

@ -14,7 +14,7 @@
:data-bs-original-title="getTooltipTitle(user)" :data-bs-original-title="getTooltipTitle(user)"
> >
<img <img
class="user-avatar border border-3 rounded-circle object-fit-contain" class="user-avatar border border-3 rounded-circle object-fit-cover"
:class="{ 'grayscaleImg': isUserDisabled(user) }" :class="{ 'grayscaleImg': isUserDisabled(user) }"
:src="`${baseUrl}upload/img/profile/${user.MEMBERPRF}`" :src="`${baseUrl}upload/img/profile/${user.MEMBERPRF}`"
:style="`border-color: ${user.usercolor} !important;`" :style="`border-color: ${user.usercolor} !important;`"

View File

@ -17,7 +17,7 @@
class="start-50 translate-middle crown-icon" class="start-50 translate-middle crown-icon"
/> />
<img <img
class="rounded-circle object-fit-contain" class="rounded-circle object-fit-cover"
:src="getUserProfileImage(user.MEMBERPRF)" :src="getUserProfileImage(user.MEMBERPRF)"
alt="user" alt="user"
:style="getDynamicStyle(user)" :style="getDynamicStyle(user)"

View File

@ -4,7 +4,7 @@
<h5 class="card-title mb-1"> <h5 class="card-title mb-1">
<div class="list-unstyled users-list d-flex align-items-center gap-1"> <div class="list-unstyled users-list d-flex align-items-center gap-1">
<img <img
class="object-fit-contain rounded-circle user-avatar border border-3 w-px-40 h-px-40" class="object-fit-cover rounded-circle user-avatar border border-3 w-px-40 h-px-40"
:src="`${baseUrl}upload/img/profile/${data.localVote.MEMBERPRF}`" :src="`${baseUrl}upload/img/profile/${data.localVote.MEMBERPRF}`"
:style="`border-color: ${data.localVote.usercolor} !important;`" :style="`border-color: ${data.localVote.usercolor} !important;`"
@error="$event.target.src = '/img/icons/icon.png'" @error="$event.target.src = '/img/icons/icon.png'"

View File

@ -7,7 +7,7 @@
:aria-label="data.MEMBERSEQ" :aria-label="data.MEMBERSEQ"
:data-bs-original-title="getTooltipTitle(data)"> :data-bs-original-title="getTooltipTitle(data)">
<img <img
class="rounded-circle user-avatar border border-3 object-fit-contain" class="rounded-circle user-avatar border border-3 object-fit-cover"
:src="`${baseUrl}upload/img/profile/${data.MEMBERPRF}`" :src="`${baseUrl}upload/img/profile/${data.MEMBERPRF}`"
:style="`border-color: ${data.usercolor} !important; width: 90%; height: 90%;`" :style="`border-color: ${data.usercolor} !important; width: 90%; height: 90%;`"
@error="$event.target.src = '/img/icons/icon.png'" @error="$event.target.src = '/img/icons/icon.png'"

View File

@ -7,7 +7,7 @@
:aria-label="data.MEMBERSEQ" :aria-label="data.MEMBERSEQ"
:data-bs-original-title="getTooltipTitle(data)"> :data-bs-original-title="getTooltipTitle(data)">
<img <img
class="rounded-circle user-avatar border border-3 object-fit-contain" class="rounded-circle user-avatar border border-3 object-fit-cover"
:src="`${baseUrl}upload/img/profile/${data.MEMBERPRF}`" :src="`${baseUrl}upload/img/profile/${data.MEMBERPRF}`"
:style="`border-color: ${data.usercolor} !important; width: 90%; height: 90%;`" :style="`border-color: ${data.usercolor} !important; width: 90%; height: 90%;`"
@error="$event.target.src = '/img/icons/icon.png'" @error="$event.target.src = '/img/icons/icon.png'"

View File

@ -32,7 +32,7 @@
<div class="d-flex flex-wrap align-items-center me-4"> <div class="d-flex flex-wrap align-items-center me-4">
<div class="avatar me-2"> <div class="avatar me-2">
<img <img
class="rounded-circle user-avatar object-fit-contain" class="rounded-circle user-avatar object-fit-cover"
:src="getProfileImage(item.author.profileImage)" :src="getProfileImage(item.author.profileImage)"
alt="최초 작성자" alt="최초 작성자"
:style="{ borderColor: item.author.color }" :style="{ borderColor: item.author.color }"
@ -51,7 +51,7 @@
> >
<div class="avatar me-2"> <div class="avatar me-2">
<img <img
class="rounded-circle user-avatar object-fit-contain" class="rounded-circle user-avatar object-fit-cover"
:src="getProfileImage(item.lastEditor.profileImage)" :src="getProfileImage(item.lastEditor.profileImage)"
alt="최근 작성자" alt="최근 작성자"
:style="{ borderColor: item.lastEditor.color }" :style="{ borderColor: item.lastEditor.color }"

View File

@ -177,7 +177,7 @@
v-if="user" v-if="user"
:src="`${baseUrl}upload/img/profile/${user.profile}`" :src="`${baseUrl}upload/img/profile/${user.profile}`"
alt="Profile Image" alt="Profile Image"
class="w-px-40 h-px-40 rounded-circle border border-3 object-fit-contain" class="w-px-40 h-px-40 rounded-circle border border-3 object-fit-cover"
:style="`border-color: ${user.usercolor} !important;`" :style="`border-color: ${user.usercolor} !important;`"
@error="$event.target.src = '/img/icons/icon.png'" @error="$event.target.src = '/img/icons/icon.png'"
/> />

View File

@ -76,7 +76,6 @@ export const useWeatherStore = defineStore('weather', () => {
const now = new Date(); const now = new Date();
const pad = n => String(n).padStart(2, '0'); const pad = n => String(n).padStart(2, '0');
const key = `weather_${pad(now.getMonth() + 1)}${pad(now.getDate())}${pad(now.getHours())}${pad(Math.floor(now.getMinutes() / 10) * 10)}`; const key = `weather_${pad(now.getMonth() + 1)}${pad(now.getDate())}${pad(now.getHours())}${pad(Math.floor(now.getMinutes() / 10) * 10)}`;
const cached = localStorage.getItem(key); const cached = localStorage.getItem(key);
if (cached) { if (cached) {
const parsed = JSON.parse(cached); const parsed = JSON.parse(cached);

View File

@ -10,7 +10,7 @@
id="profileLabel" id="profileLabel"
:style="profilePreviewStyle" :style="profilePreviewStyle"
></label> ></label>
<input type="file" id="profilePic" class="d-none object-fit-contain" @change="profileUpload" /> <input type="file" id="profilePic" class="d-none object-fit-cover" @change="profileUpload" />
<span v-if="profilerr" class="invalid-feedback d-block">{{ profilerr }}</span> <span v-if="profilerr" class="invalid-feedback d-block">{{ profilerr }}</span>
</div> </div>
@ -186,7 +186,7 @@ const profilePreviewStyle = computed(() => ({
height: '100px', height: '100px',
backgroundImage: `url(${profile.value})`, backgroundImage: `url(${profile.value})`,
backgroundRepeat: 'no-repeat', backgroundRepeat: 'no-repeat',
backgroundSize: 'contain', backgroundSize: 'cover',
backgroundPosition: 'center' backgroundPosition: 'center'
})); }));