- 법인 탈퇴 시 민감정보 삭제 로직 추가
- CSS 수정: 폰트 크기 제거 및 스타일 변경 적용 - 예상완료일 요일 계산 로직 추가
This commit is contained in:
@@ -31,4 +31,21 @@ public class ApprovalDTO {
|
|||||||
private LocalDateTime createdDate;
|
private LocalDateTime createdDate;
|
||||||
|
|
||||||
private LocalDateTime approvalDate;
|
private LocalDateTime approvalDate;
|
||||||
|
|
||||||
|
private String expectEndDate; //예상완료일 (yyyyMMdd)
|
||||||
|
|
||||||
|
/** 예상완료일(yyyyMMdd)의 한글 요일. 값이 없거나 형식이 맞지 않으면 빈 문자열. (예: "토") */
|
||||||
|
public String getExpectEndDateDayOfWeek() {
|
||||||
|
if (expectEndDate == null || expectEndDate.length() < 8) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
return java.time.LocalDate
|
||||||
|
.parse(expectEndDate.substring(0, 8), java.time.format.DateTimeFormatter.ofPattern("yyyyMMdd"))
|
||||||
|
.getDayOfWeek()
|
||||||
|
.getDisplayName(java.time.format.TextStyle.SHORT, java.util.Locale.KOREAN);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11547,7 +11547,6 @@ button.djb-comment-submit:disabled {
|
|||||||
background-color: #FFFFFF;
|
background-color: #FFFFFF;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
font-size: 20px;
|
|
||||||
color: #1A1A2E;
|
color: #1A1A2E;
|
||||||
}
|
}
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
@@ -13680,7 +13679,26 @@ input[type=checkbox]:checked + .custom-checkbox {
|
|||||||
.form-actions-center .btn.btn-danger {
|
.form-actions-center .btn.btn-danger {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
.form-actions-center .btn-submit.app-modify-btn,
|
||||||
|
.form-actions-center .btn.app-modify-btn {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
.app-modify-pc-only-message {
|
||||||
|
display: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 20px 24px;
|
||||||
|
color: #64748B;
|
||||||
|
font-size: 14px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.app-modify-pc-only-message {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
.app-management-container {
|
.app-management-container {
|
||||||
padding: 24px 16px;
|
padding: 24px 16px;
|
||||||
@@ -13837,6 +13855,21 @@ input[type=checkbox]:checked + .custom-checkbox {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.app-list-expect-date {
|
||||||
|
margin-left: auto;
|
||||||
|
font-family: "Spoqa Han Sans Neo", "SpoqaHanSans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #6e7780;
|
||||||
|
white-space: nowrap;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.app-list-expect-date {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.app-list-description {
|
.app-list-description {
|
||||||
font-family: "Spoqa Han Sans Neo", "SpoqaHanSans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
font-family: "Spoqa Han Sans Neo", "SpoqaHanSans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@@ -13880,6 +13913,25 @@ input[type=checkbox]:checked + .custom-checkbox {
|
|||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.btn-app-create {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-create-pc-only-message {
|
||||||
|
display: none;
|
||||||
|
margin: 0;
|
||||||
|
color: #64748B;
|
||||||
|
font-size: 14px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.app-create-pc-only-message {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.notice-page {
|
.notice-page {
|
||||||
min-height: calc(100vh - 140px);
|
min-height: calc(100vh - 140px);
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -876,6 +876,26 @@
|
|||||||
// 모바일에서는 2개 버튼만 표시되는 경우 (이전, 수정)
|
// 모바일에서는 2개 버튼만 표시되는 경우 (이전, 수정)
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 모바일: 앱 수정 마법사 UI 표현이 어려워 버튼 숨기고 PC 안내 노출
|
||||||
|
&.app-modify-btn {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PC 환경 안내 문구 - 모바일에서만 노출 (앱 수정)
|
||||||
|
.app-modify-pc-only-message {
|
||||||
|
display: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 20px 24px;
|
||||||
|
color: $text-gray;
|
||||||
|
font-size: 14px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 1.5;
|
||||||
|
|
||||||
|
@media (max-width: $breakpoint-sm) {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -194,6 +194,22 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Expected Completion Date (pending requests only)
|
||||||
|
.app-list-expect-date {
|
||||||
|
margin-left: auto;
|
||||||
|
font-family: $font-family-primary;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: $font-weight-regular;
|
||||||
|
color: #6e7780;
|
||||||
|
white-space: nowrap;
|
||||||
|
flex-shrink: 0;
|
||||||
|
|
||||||
|
// Figma 모바일: 12px
|
||||||
|
@include respond-to('sm') {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// App Description
|
// App Description
|
||||||
.app-list-description {
|
.app-list-description {
|
||||||
font-family: $font-family-primary;
|
font-family: $font-family-primary;
|
||||||
@@ -246,4 +262,23 @@
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 모바일: 앱 생성 마법사 UI 표현이 어려워 버튼 숨기고 PC 안내 노출
|
||||||
|
@include respond-to('sm') {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// PC 환경 안내 문구 - 모바일에서만 노출
|
||||||
|
.app-create-pc-only-message {
|
||||||
|
display: none;
|
||||||
|
margin: 0;
|
||||||
|
color: $text-gray;
|
||||||
|
font-size: 14px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 1.5;
|
||||||
|
|
||||||
|
@include respond-to('sm') {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -479,7 +479,6 @@
|
|||||||
background-color: $white;
|
background-color: $white;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
font-size: 20px;
|
|
||||||
color: $text-dark;
|
color: $text-dark;
|
||||||
|
|
||||||
// Figma 모바일: 40px 높이, 14px 폰트
|
// Figma 모바일: 40px 높이, 14px 폰트
|
||||||
|
|||||||
@@ -48,6 +48,12 @@
|
|||||||
</span>
|
</span>
|
||||||
<!-- App Name -->
|
<!-- App Name -->
|
||||||
<h3 class="app-list-name" th:text="${request.clientName}">앱 이름</h3>
|
<h3 class="app-list-name" th:text="${request.clientName}">앱 이름</h3>
|
||||||
|
<!-- Expected Completion Date -->
|
||||||
|
<span class="app-list-expect-date"
|
||||||
|
th:if="${request.approval != null and request.approval.expectEndDate != null and #strings.length(request.approval.expectEndDate) >= 8}"
|
||||||
|
th:text="|예상 완료일 : ${#strings.substring(request.approval.expectEndDate,4,6)}월 ${#strings.substring(request.approval.expectEndDate,6,8)}일 (${request.approval.expectEndDateDayOfWeek})|">
|
||||||
|
예상 완료일 : 05월 30일 (토)
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<!-- App Description -->
|
<!-- App Description -->
|
||||||
<p class="app-list-description"
|
<p class="app-list-description"
|
||||||
@@ -116,6 +122,9 @@
|
|||||||
<button type="button" class="btn-app-create" id="requestApiKey">
|
<button type="button" class="btn-app-create" id="requestApiKey">
|
||||||
앱 생성
|
앱 생성
|
||||||
</button>
|
</button>
|
||||||
|
<p class="app-create-pc-only-message">
|
||||||
|
앱 생성은 PC 환경에서 이용해 주세요.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -72,7 +72,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Callback URL -->
|
<!-- Callback URL (주석 처리) -->
|
||||||
|
<!--/*
|
||||||
<div class="info-row">
|
<div class="info-row">
|
||||||
<label class="info-label">Callback URL</label>
|
<label class="info-label">Callback URL</label>
|
||||||
<div class="info-value">
|
<div class="info-value">
|
||||||
@@ -81,6 +82,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
*/-->
|
||||||
|
|
||||||
<!-- IP Whitelist -->
|
<!-- IP Whitelist -->
|
||||||
<div class="info-row">
|
<div class="info-row">
|
||||||
@@ -120,6 +122,18 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Expected Completion Date (if set by admin) -->
|
||||||
|
<div class="info-row"
|
||||||
|
th:if="${appRequest.approval != null and appRequest.approval.expectEndDate != null and #strings.length(appRequest.approval.expectEndDate) >= 8}">
|
||||||
|
<label class="info-label">예상 완료일</label>
|
||||||
|
<div class="info-value">
|
||||||
|
<div class="info-value-box"
|
||||||
|
th:text="|${#strings.substring(appRequest.approval.expectEndDate,0,4)}.${#strings.substring(appRequest.approval.expectEndDate,4,6)}.${#strings.substring(appRequest.approval.expectEndDate,6,8)} (${appRequest.approval.expectEndDateDayOfWeek})|">
|
||||||
|
2025.05.30 (토)
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Approval Date (if approved) -->
|
<!-- Approval Date (if approved) -->
|
||||||
<div class="info-row" th:if="${appRequest.approval != null and appRequest.approval.approvalDate != null}">
|
<div class="info-row" th:if="${appRequest.approval != null and appRequest.approval.approvalDate != null}">
|
||||||
<label class="info-label">승인일시</label>
|
<label class="info-label">승인일시</label>
|
||||||
|
|||||||
@@ -96,7 +96,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Callback URL -->
|
<!-- Callback URL (주석 처리) -->
|
||||||
|
<!--/*
|
||||||
<div class="info-row">
|
<div class="info-row">
|
||||||
<label class="info-label">Callback URL</label>
|
<label class="info-label">Callback URL</label>
|
||||||
<div class="info-value">
|
<div class="info-value">
|
||||||
@@ -105,6 +106,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
*/-->
|
||||||
|
|
||||||
<!-- IP Whitelist -->
|
<!-- IP Whitelist -->
|
||||||
<div class="info-row">
|
<div class="info-row">
|
||||||
@@ -159,11 +161,14 @@
|
|||||||
인증키 삭제
|
인증키 삭제
|
||||||
</button>
|
</button>
|
||||||
<a sec:authorize="hasRole('ROLE_API_KEY_REQUEST')"
|
<a sec:authorize="hasRole('ROLE_API_KEY_REQUEST')"
|
||||||
class="btn btn-submit btn-primary"
|
class="btn btn-submit btn-primary app-modify-btn"
|
||||||
th:href="@{/myapikey/modify/step1(clientId=${apiKey.clientid})}">
|
th:href="@{/myapikey/modify/step1(clientId=${apiKey.clientid})}">
|
||||||
수정
|
수정
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
<p class="app-modify-pc-only-message" sec:authorize="hasRole('ROLE_API_KEY_REQUEST')">
|
||||||
|
앱 수정은 PC 환경에서 이용해 주세요.
|
||||||
|
</p>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user