앱 관리 디자인 수정
This commit is contained in:
@@ -4188,9 +4188,6 @@ select.form-control {
|
||||
.faq-accordion .faq-item.active .faq-question {
|
||||
color: #0049b4;
|
||||
}
|
||||
.faq-accordion .faq-item.active .faq-question::before {
|
||||
background: linear-gradient(135deg, #0049b4 0%, #c3dfea 100%);
|
||||
}
|
||||
.faq-accordion .faq-item.active .faq-question .faq-icon {
|
||||
transform: rotate(180deg);
|
||||
color: #0049b4;
|
||||
@@ -4288,7 +4285,7 @@ select.form-control {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: linear-gradient(135deg, #0049b4 0%, #c3dfea 100%);
|
||||
background: #0049b4;
|
||||
color: #FFFFFF;
|
||||
border-radius: 50%;
|
||||
font-size: 14px;
|
||||
@@ -8633,50 +8630,34 @@ select.form-control {
|
||||
@media (max-width: 768px) {
|
||||
.form-actions {
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
padding: 0 16px 16px;
|
||||
gap: 8px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.form-actions .btn,
|
||||
.form-actions .btn-primary,
|
||||
.form-actions .btn-secondary {
|
||||
.form-actions .btn-secondary,
|
||||
.form-actions .btn-cancel {
|
||||
width: 100%;
|
||||
min-height: 48px;
|
||||
padding: 14px 24px;
|
||||
font-size: 16px;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
.form-actions .btn-primary,
|
||||
.form-actions .btn-secondary {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 12px 24px;
|
||||
border-radius: 8px;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
transition: all 0.3s ease;
|
||||
text-decoration: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
.form-actions .btn-primary .icon,
|
||||
.form-actions .btn-secondary .icon {
|
||||
font-size: 18px;
|
||||
}
|
||||
.form-actions .btn-primary {
|
||||
background: linear-gradient(135deg, #0049b4 0%, #c3dfea 100%);
|
||||
color: #FFFFFF;
|
||||
box-shadow: 0 4px 12px rgba(75, 155, 255, 0.1);
|
||||
}
|
||||
.form-actions .btn-primary:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 8px 24px rgba(75, 155, 255, 0.15);
|
||||
}
|
||||
.form-actions .btn-secondary {
|
||||
background: #FFFFFF;
|
||||
color: #1A1A2E;
|
||||
border: 1px solid #E2E8F0;
|
||||
}
|
||||
.form-actions .btn-secondary:hover {
|
||||
background: #F8FAFC;
|
||||
border-color: #0049b4;
|
||||
color: #0049b4;
|
||||
.form-actions .btn .icon,
|
||||
.form-actions .btn-primary .icon,
|
||||
.form-actions .btn-secondary .icon,
|
||||
.form-actions .btn-cancel .icon {
|
||||
font-size: 18px;
|
||||
}
|
||||
.form-actions .btn svg,
|
||||
.form-actions .btn-primary svg,
|
||||
.form-actions .btn-secondary svg,
|
||||
.form-actions .btn-cancel svg {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
.register-result {
|
||||
@@ -8890,6 +8871,14 @@ select.form-control {
|
||||
gap: 16px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.result-actions {
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
gap: 8px;
|
||||
padding: 0 16px;
|
||||
}
|
||||
}
|
||||
.result-actions .btn-primary,
|
||||
.result-actions .btn-secondary {
|
||||
display: inline-flex;
|
||||
@@ -8908,6 +8897,15 @@ select.form-control {
|
||||
.result-actions .btn-secondary .icon {
|
||||
font-size: 18px;
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.result-actions .btn-primary,
|
||||
.result-actions .btn-secondary {
|
||||
width: 100%;
|
||||
min-height: 48px;
|
||||
padding: 14px 24px;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
.result-actions .btn-primary {
|
||||
background: linear-gradient(135deg, #0049b4 0%, #c3dfea 100%);
|
||||
color: #FFFFFF;
|
||||
|
||||
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -23,9 +23,9 @@
|
||||
.faq-question {
|
||||
color: $primary-blue;
|
||||
|
||||
&::before {
|
||||
background: $gradient-primary;
|
||||
}
|
||||
//&::before {
|
||||
// background: $gradient-primary;
|
||||
//}
|
||||
|
||||
.faq-icon {
|
||||
transform: rotate(180deg);
|
||||
@@ -128,7 +128,7 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: $gradient-primary;
|
||||
background: $primary-blue;
|
||||
color: $white;
|
||||
border-radius: $border-radius-circle;
|
||||
font-size: $font-size-sm;
|
||||
|
||||
@@ -1004,54 +1004,30 @@
|
||||
|
||||
@media (max-width: $breakpoint-sm) {
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
|
||||
.btn-primary,
|
||||
.btn-secondary {
|
||||
width: 100%;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-primary,
|
||||
.btn-secondary {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding: 0 $spacing-md $spacing-md;
|
||||
gap: $spacing-sm;
|
||||
padding: 12px 24px;
|
||||
border-radius: $border-radius-md;
|
||||
font-size: $font-size-base;
|
||||
font-weight: $font-weight-medium;
|
||||
transition: $transition-base;
|
||||
text-decoration: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
|
||||
.icon {
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background: $gradient-primary;
|
||||
color: $white;
|
||||
box-shadow: $shadow-md;
|
||||
// Button styles for mobile
|
||||
.btn,
|
||||
.btn-primary,
|
||||
.btn-secondary,
|
||||
.btn-cancel {
|
||||
@media (max-width: $breakpoint-sm) {
|
||||
width: 100%;
|
||||
min-height: 48px;
|
||||
padding: 14px $spacing-lg;
|
||||
font-size: $font-size-base;
|
||||
justify-content: center;
|
||||
|
||||
&:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: $shadow-lg;
|
||||
}
|
||||
}
|
||||
.icon {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
background: $white;
|
||||
color: $text-dark;
|
||||
border: 1px solid $border-gray;
|
||||
|
||||
&:hover {
|
||||
background: $gray-bg;
|
||||
border-color: $primary-blue;
|
||||
color: $primary-blue;
|
||||
svg {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1303,6 +1279,13 @@
|
||||
gap: $spacing-md;
|
||||
flex-wrap: wrap;
|
||||
|
||||
@media (max-width: $breakpoint-sm) {
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
gap: $spacing-sm;
|
||||
padding: 0 $spacing-md;
|
||||
}
|
||||
|
||||
.btn-primary,
|
||||
.btn-secondary {
|
||||
display: inline-flex;
|
||||
@@ -1320,6 +1303,13 @@
|
||||
.icon {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
@media (max-width: $breakpoint-sm) {
|
||||
width: 100%;
|
||||
min-height: 48px;
|
||||
padding: 14px $spacing-lg;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
|
||||
@@ -285,59 +285,6 @@
|
||||
flex-wrap: wrap;
|
||||
gap: $spacing-xs;
|
||||
align-items: center;
|
||||
|
||||
.btn-action {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
padding: 6px 12px;
|
||||
font-size: $font-size-xs;
|
||||
font-weight: $font-weight-medium;
|
||||
border: none;
|
||||
border-radius: $border-radius-md;
|
||||
cursor: pointer;
|
||||
transition: $transition-base;
|
||||
white-space: nowrap;
|
||||
|
||||
&.btn-sm {
|
||||
padding: 4px 10px;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
&.btn-primary {
|
||||
background-color: $primary-blue;
|
||||
color: $white;
|
||||
|
||||
&:hover {
|
||||
background-color: darken($primary-blue, 10%);
|
||||
box-shadow: $shadow-sm;
|
||||
}
|
||||
}
|
||||
|
||||
&.btn-danger {
|
||||
background-color: $accent-orange;
|
||||
color: $white;
|
||||
|
||||
&:hover {
|
||||
background-color: darken($accent-orange, 10%);
|
||||
box-shadow: $shadow-sm;
|
||||
}
|
||||
}
|
||||
|
||||
&.btn-warning {
|
||||
background-color: $accent-yellow;
|
||||
color: $gray-800;
|
||||
|
||||
&:hover {
|
||||
background-color: darken($accent-yellow, 10%);
|
||||
box-shadow: $shadow-sm;
|
||||
}
|
||||
}
|
||||
|
||||
&:active {
|
||||
transform: scale(0.98);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Empty State
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
class="btn btn-primary"
|
||||
id="requestApiKey">
|
||||
<i class="fas fa-plus"></i>
|
||||
<span>첫 앱 생성하기</span>
|
||||
<span>앱 생성하기</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -180,10 +180,10 @@
|
||||
|
||||
<!-- Action Buttons -->
|
||||
<div class="form-actions">
|
||||
<a th:href="@{/myapikey/modify/cancel(clientId=${apiKeyModification.clientId})}" class="btn-cancel">
|
||||
<a th:href="@{/myapikey/modify/cancel(clientId=${apiKeyModification.clientId})}" class="btn btn-cancel">
|
||||
취소
|
||||
</a>
|
||||
<button type="submit" class="btn-primary">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
다음 단계
|
||||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
||||
<polyline points="9 18 15 12 9 6"></polyline>
|
||||
@@ -374,4 +374,4 @@
|
||||
</th:block>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -129,11 +129,11 @@
|
||||
<!-- Form Actions -->
|
||||
<div class="form-actions">
|
||||
<!-- Save and go back button -->
|
||||
<button type="submit" formaction="/myapikey/modify/step2/save" class="btn-secondary" id="btnPrevStep">
|
||||
<button type="submit" formaction="/myapikey/modify/step2/save" class="btn btn-secondary" id="btnPrevStep">
|
||||
<span class="icon">←</span>
|
||||
이전 단계
|
||||
</button>
|
||||
<button type="submit" class="btn-primary" id="btnNext">
|
||||
<button type="submit" class="btn btn-primary" id="btnNext">
|
||||
저장
|
||||
<span class="icon">→</span>
|
||||
</button>
|
||||
|
||||
@@ -53,11 +53,11 @@
|
||||
|
||||
<!-- Action Buttons -->
|
||||
<div class="result-actions">
|
||||
<a th:href="@{/myapikey}" class="btn-secondary">
|
||||
<a th:href="@{/myapikey}" class="btn btn-secondary">
|
||||
<span class="icon">📋</span>
|
||||
API Key 목록으로
|
||||
</a>
|
||||
<a th:href="@{/myapikey/api_key_request/history}" class="btn-primary">
|
||||
<a th:href="@{/myapikey/api_key_request/history}" class="btn btn-primary">
|
||||
<span class="icon">📄</span>
|
||||
요청 내역 확인
|
||||
</a>
|
||||
@@ -79,7 +79,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="result-actions">
|
||||
<a th:href="@{/myapikey}" class="btn-primary">
|
||||
<a th:href="@{/myapikey}" class="btn btn-primary">
|
||||
목록으로 돌아가기
|
||||
</a>
|
||||
</div>
|
||||
@@ -149,4 +149,4 @@
|
||||
</th:block>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -177,11 +177,11 @@
|
||||
|
||||
<!-- Form Actions -->
|
||||
<div class="form-actions">
|
||||
<a href="/myapikey" class="btn-secondary" id="btnCancel">
|
||||
<a href="/myapikey" class="btn btn-secondary" id="btnCancel">
|
||||
<span class="icon">←</span>
|
||||
취소
|
||||
</a>
|
||||
<button type="submit" class="btn-primary">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
다음 단계
|
||||
<span class="icon">→</span>
|
||||
</button>
|
||||
|
||||
@@ -115,11 +115,11 @@
|
||||
|
||||
<!-- Form Actions -->
|
||||
<div class="form-actions">
|
||||
<button type="button" id="btnPrevStep" class="btn-secondary">
|
||||
<button type="button" id="btnPrevStep" class="btn btn-secondary">
|
||||
<span class="icon">←</span>
|
||||
이전 단계
|
||||
</button>
|
||||
<button type="submit" class="btn-primary">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
저장
|
||||
<span class="icon">→</span>
|
||||
</button>
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
|
||||
<!-- Action Buttons -->
|
||||
<div class="result-actions">
|
||||
<a href="/myapikey" class="btn-secondary">
|
||||
<a href="/myapikey" class="btn btn-secondary">
|
||||
<span class="icon">📋</span>
|
||||
API Key 목록으로
|
||||
</a>
|
||||
@@ -75,10 +75,10 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="result-actions">
|
||||
<a href="/myapikey/register/step1" class="btn-secondary">
|
||||
<a href="/myapikey/register/step1" class="btn btn-secondary">
|
||||
다시 시도
|
||||
</a>
|
||||
<a href="/myapikey" class="btn-primary">
|
||||
<a href="/myapikey" class="btn btn-primary">
|
||||
목록으로
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -147,14 +147,14 @@
|
||||
<div class="detail-actions">
|
||||
<button type="button"
|
||||
sec:authorize="hasRole('ROLE_API_KEY_REQUEST')"
|
||||
class="btn-cancel"
|
||||
class="btn btn-secondary"
|
||||
th:if="${appRequest.approval != null and appRequest.approval.approvalStatus != null and
|
||||
(appRequest.approval.approvalStatus.toString() == 'PENDING' or appRequest.approval.approvalStatus.toString() == 'REQUESTED')}"
|
||||
th:data-request-id="${appRequest.id}"
|
||||
onclick="cancelRequestById(this)">
|
||||
신청 취소
|
||||
</button>
|
||||
<a th:href="@{/myapikey}" class="btn-secondary">
|
||||
<a th:href="@{/myapikey}" class="btn btn-primary">
|
||||
목록으로
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -178,20 +178,20 @@
|
||||
</div>
|
||||
|
||||
<!-- Action Buttons -->
|
||||
<div class="detail-actions">
|
||||
<div class="form-actions">
|
||||
<a sec:authorize="hasRole('ROLE_API_KEY_REQUEST')"
|
||||
class="btn-action btn-primary"
|
||||
class="btn btn-primary"
|
||||
th:href="@{/myapikey/modify/step1(clientId=${apiKey.clientid})}">
|
||||
수정
|
||||
</a>
|
||||
<button type="button"
|
||||
sec:authorize="hasRole('ROLE_API_KEY_REQUEST')"
|
||||
class="btn-action btn-danger"
|
||||
class="btn btn-danger"
|
||||
th:data-client-id="${apiKey.clientid}"
|
||||
onclick="deleteApiKeyFromButton(this)">
|
||||
인증키 삭제
|
||||
</button>
|
||||
<a th:href="@{/myapikey}" class="btn-secondary">
|
||||
<a th:href="@{/myapikey}" class="btn btn-secondary">
|
||||
목록으로
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
|
||||
<!-- Action Buttons -->
|
||||
<div class="detail-actions">
|
||||
<a th:href="@{/users}" class="btn-secondary">
|
||||
<a th:href="@{/users}" class="btn btn-secondary">
|
||||
<i class="fas fa-list"></i> 목록으로
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -72,13 +72,13 @@
|
||||
|
||||
<!-- Action Buttons -->
|
||||
<div class="user-action-buttons" th:if="${user.roleCode != null and user.id != currentUserId}">
|
||||
<button type="button" class="btn-action btn-sm btn-secondary inactivate_user"
|
||||
<button type="button" class="btn btn-sm btn-secondary inactivate_user"
|
||||
th:if="${user.userStatus.toString() == 'ACTIVE'}"
|
||||
th:data-user-id="${user.id}"
|
||||
th:data-user-name="${user.maskedUserName}">
|
||||
비활성화
|
||||
</button>
|
||||
<button type="button" class="btn-action btn-sm btn-primary activate_user"
|
||||
<button type="button" class="btn btn-sm btn-primary activate_user"
|
||||
th:if="${user.userStatus.toString() != 'ACTIVE'}"
|
||||
th:data-user-id="${user.id}"
|
||||
th:data-user-name="${user.maskedUserName}">
|
||||
@@ -90,7 +90,7 @@
|
||||
th:data-user-email="${user.maskedEmailAddr}">
|
||||
초대취소
|
||||
</button>
|
||||
<button type="button" class="btn-action btn-sm btn-warning assign_manager"
|
||||
<button type="button" class="btn btn-sm btn-warning assign_manager"
|
||||
th:if="${user.userStatus.toString() == 'ACTIVE' && user.roleCode.toString() == 'ROLE_CORP_USER'}"
|
||||
th:data-user-id="${user.id}"
|
||||
th:data-user-name="${user.maskedUserName}"
|
||||
|
||||
Reference in New Issue
Block a user