Merge branch 'main' of http://192.168.0.251:3000/localnet/localhost-front
This commit is contained in:
commit
15104c2f44
@ -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 {
|
||||||
|
|||||||
@ -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'; };
|
||||||
|
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -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 }"
|
||||||
|
|||||||
@ -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 }"
|
||||||
|
|||||||
@ -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>
|
||||||
|
|
||||||
|
|||||||
@ -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;`"
|
||||||
|
|||||||
@ -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)"
|
||||||
|
|||||||
@ -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'"
|
||||||
|
|||||||
@ -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'"
|
||||||
|
|||||||
@ -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'"
|
||||||
|
|||||||
@ -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 }"
|
||||||
|
|||||||
@ -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'"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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'
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user