초기 PM 소스 전체 업로드

This commit is contained in:
koj729
2026-06-12 17:14:03 +09:00
commit 4e33c9a02a
1769 changed files with 377797 additions and 0 deletions

84
views/index/css/reset.css Normal file
View File

@@ -0,0 +1,84 @@
@charset "utf-8";
/* Copyright Ⓒ Hanmaceng Corp. All Rights Reserved. */
/* 기술개발센터 김건우A 연구원 b25013@hanmaceng.co.kr */
/* 버전 히스토리 */
/* 2025-03-12 : -- reset.css 정의 */
/* 2025-03-19 : -- '여백 초기화'부분 수정 */
/* -- ↓ -- style -- ↓ -- */
/* 여백 초기화 ===== ===== ===== ===== ===== */
body,
div,
ul,
li,
dl,
dd,
dt,
ol,
h1,
h2,
h3,
h4,
h5,
h6,
input,
fieldset,
legend,
p,
select,
table,
th,
td,
tr,
textarea,
button,
form,
figure,
figcaption { margin: 0; padding: 0; line-height: 1; }
/* a 링크 초기화 ===== ===== ===== ===== ===== */
a { color: inherit; text-decoration: inherit; }
/* 폰트 스타일 초기화 (기울임) ===== ===== ===== ===== ===== */
em,
address { font-style: normal; }
/* 블릿기호 초기화 ===== ===== ===== ===== ===== */
ul,
li,
ol { list-style: none; }
/* 제목 태그 초기화 ===== ===== ===== ===== ===== */
h1,
h2,
h3,
h4,
h5,
h6 { font-size: inherit; font-weight: inherit; }
/* 버튼 초기화 ===== ===== ===== ===== ===== */
button, input { border: none; font: inherit; }
/* 테이블 테두리 초기화 ===== ===== ===== ===== ===== */
table { border-collapse: collapse; border-spacing: 0; }
/* 콜아웃 초기화 ===== ===== ===== ===== ===== */
blockquote,
q {quotes: none; }
/* 콜아웃 따옴표 초기화 ===== ===== ===== ===== ===== */
blockquote:before,
blockquote:after,
q:before,
q:after {content: '';content: none; }
/* box-sizing 초기화 ===== ===== ===== ===== ===== */
*,
*::before,
*::after { box-sizing: border-box; }
/* 요소 스타일 초기화 ===== ===== ===== ===== ===== */
article, aside, footer, header, nav, section { display: block; }

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,149 @@
@import url("/index/css/reset.css");
@import url("/index/css/system.css");
@import url("https://fonts.googleapis.com/css2?family=Aldrich&display=swap");
html {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
-webkit-user-drag: none;
overflow-x: hidden;
}
body {
background-image: url(/index/img-jangheon/image__jangheon-background.jpg);
background-repeat: no-repeat;
background-size: cover;
background-position: center;
width: 100dvw;
height: 100dvh;
}
.header {
/* position: fixed;
display: flex;
justify-content: flex-start;
align-items: center;
width: 100dvw;
padding: 0.5rem 1rem;
min-height: 2.25rem;
max-height: 2.25rem;
top: 0;
background: rgba(17, 17, 17, 0.4);
-webkit-backdrop-filter: blur(0.5rem);
backdrop-filter: blur(0.5rem); */
background: rgba(17, 17, 17, 0.4);
-webkit-backdrop-filter: blur(0.5rem);
backdrop-filter: blur(0.5rem);
width: 100vw;
height: 2.25rem;
display: flex;
align-items: center;
padding: 0 1rem;
position: fixed;
z-index: 3;
top: 0;
pointer-events: all;
gap: 0.825rem;
}
.--logo__project-master {
display: flex;
align-items: center;
gap: 0.5rem;
cursor: pointer;
font-family: "Aldrich";
color: #fff;
}
.header__logo {
height: 2.25rem;
}
.header__logo-img {
height: 2.25rem;
}
.main {
width: 100dvw;
position: absolute;
top: 2.25rem;
padding: 1rem;
}
.li-cover {
width: 30rem;
}
.main__project-list {
display: flex;
flex-direction: column;
gap: 1rem;
height: calc(100dvh - 4.5rem);
}
.main__project-item {
background: rgba(17, 17, 17, 0.4);
-webkit-backdrop-filter: blur(0.5rem);
backdrop-filter: blur(0.5rem);
padding: 0.875rem;
border-radius: 1rem;
color: #fff;
display: flex;
align-items: center;
gap: 0.5rem;
-moz-column-break-inside: avoid;
break-inside: avoid;
transition: all 0.125s ease-in-out;
/* width: 30rem; */
}
.main__project-item:hover {
cursor: pointer;
background: #fff;
color: #111;
}
.main__icon--s-icon__jangheon-symbol--aaa {
height: 1.25rem;
}
.main__project-label {
flex-grow: 1;
}
.footer {
position: fixed;
display: flex;
justify-content: space-between;
width: 100dvw;
padding: 0.5rem 1rem;
min-height: 2.25rem;
max-height: 2.25rem;
bottom: 0;
background: rgba(17, 17, 17, 0.4);
-webkit-backdrop-filter: blur(0.5rem);
backdrop-filter: blur(0.5rem);
}
.footer__manage {
display: flex;
align-items: center;
gap: 0.125rem;
}
.footer__manager {
color: #aaa;
}
.footer__debug {
color: #aaa;
text-decoration: underline;
font-size: 0.75rem;
font-weight: 300;
line-height: 1.25rem;
letter-spacing: -0.0175rem;
}
.footer__debug:hover {
color: #fff;
}
.footer__copyright {
display: flex;
gap: 0.5rem;
}
.footer__copyright-text {
color: #aaa;
min-width: -moz-fit-content;
min-width: fit-content;
}

View File

@@ -0,0 +1,253 @@
@charset "utf-8";
@import url("/index/css/reset.css");
@import url("/index/css/system.css");
@import url("https://fonts.googleapis.com/css2?family=Aldrich&display=swap");
.header {
position: fixed;
top: 0;
z-index: 1000;
display: flex;
justify-content: space-between;
align-items: center;
background-color: #111;
height: 2.25rem;
width: 100vw;
padding: 0.5rem 1rem;
box-sizing: border-box;
}
.header__left {
display: flex;
align-items: center;
cursor: pointer;
}
.header__right {
display: flex;
align-items: center;
}
.btn-admin {
display: none;
color: #fff;
background-color: #1e5149;
border: 1px solid #4db251;
padding: 0.35rem 0.85rem;
border-radius: 4px;
font-size: 0.85rem;
font-weight: 600;
text-decoration: none;
transition: all 0.2s ease;
align-items: center;
gap: 6px;
}
.btn-admin:hover {
background-color: #193833;
border-color: #4db251;
box-shadow: 0 0 8px rgba(77, 178, 81, 0.4);
}
.--logo__project-master {
display: flex;
align-items: center;
gap: 0.5rem;
cursor: pointer;
font-family: "Aldrich";
color: #fff;
}
.main {
position: relative;
display: flex;
}
.main__left,
.main__right {
width: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding-top: 6rem;
padding-bottom: 2.25rem;
gap: 1rem;
}
.main__left {
position: relative;
background-image: url('/index/img-onpremise/img__sw-background.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
margin: 0;
height: 100vh;
overflow: hidden;
}
.main__left::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 40rem;
pointer-events: none;
background: linear-gradient(to bottom, rgba(10, 10, 10, 1), rgba(17, 17, 17, 0));
z-index: 0;
}
.main__right {
position: relative;
background-image: url('/index/img-onpremise/img__gpd-background.jpg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
margin: 0;
height: 100vh;
overflow: hidden;
}
.main__right::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 40rem;
pointer-events: none;
background: linear-gradient(to bottom, rgba(10, 10, 10, 1), rgba(17, 17, 17, 0));
z-index: 0;
}
.main__title {
width: 40rem;
position: relative;
z-index: 1;
}
.main__list {
display: flex;
flex-direction: column;
flex-wrap: wrap;
gap: 1rem;
padding: 1rem 3rem;
width: 100%;
align-content: flex-start;
overflow-y: hidden;
overflow-x: auto;
height: 100%;
z-index: 0;
}
.main__list-item {
padding: 1rem;
display: flex;
align-items: center;
gap: 0.5rem;
background-color: #111111aa;
border-radius: 0.5rem;
border: 0.0625rem solid #444;
backdrop-filter: blur(0.5rem);
transition: all ease-in-out 0.2s;
flex: 1;
max-height: 3.5rem;
min-height: 3.5rem;
width: calc(50% - 0.5rem);
justify-content: space-between;
}
.main__list-item:hover {
cursor: pointer;
background-color: #111111ff;
border: 0.0625rem solid #777;
}
.main__list-item .wrap {
display: flex;
align-items: center;
gap: 0.5rem;
}
.main__list-item-label {
color: #fff;
font-size: 1.25rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.main__list-item .master{
color: #aaa;
font-size: 0.875rem;
font-weight: 300;
}
.footer {
position: fixed;
bottom: 0;
z-index: 1000;
display: flex;
justify-content: space-between;
align-items: center;
background-color: #111111aa;
backdrop-filter: blur(0.5rem);
height: 2.25rem;
width: 100dvw;
padding: 0 1rem;
}
.footer__right {
display: flex;
align-items: center;
gap: 0.5rem;
}
.footer__copyright {
color: #aaa;
}
::-webkit-scrollbar {
width: 0.4rem;
height: 0.4rem;
}
::-webkit-scrollbar-thumb {
background-color: #777;
border-radius: 0.25rem;
}
::-webkit-scrollbar-track {
background-color: transparent;
}
.icon {
width: 1rem;
height: 1rem;
flex-shrink: 0;
}
.btn-logout {
display: inline-flex;
color: #fff;
background-color: #8b0000;
border: 1px solid #ff4d4d;
padding: 0.35rem 0.85rem;
border-radius: 4px;
font-size: 0.85rem;
font-weight: 600;
text-decoration: none;
transition: all 0.2s ease;
align-items: center;
gap: 6px;
margin-left: 8px;
}
.btn-logout:hover {
background-color: #5f0000;
border-color: #ff4d4d;
box-shadow: 0 0 8px rgba(255, 77, 77, 0.4);
}

View File

@@ -0,0 +1,118 @@
@charset "utf-8";
@import url("/index/css/reset.css");
@import url("/index/css/system.css");
html {
user-select: none;
-webkit-user-select: none;
-webkit-tap-highlight-color: transparent;
touch-action: manipulation;
}
/* 스크롤바 ===== ===== ===== ===== ===== ===== ===== ===== ===== ===== */
.--scrollbar::-webkit-scrollbar {
width: 0.5rem;
}
.--scrollbar::-webkit-scrollbar-track {
background: transparent;
}
.--scrollbar::-webkit-scrollbar-thumb {
background-color: #aaa;
border: 0.125rem solid transparent;
border-radius: 0.25rem;
background-clip: padding-box;
}
.--scrollbar::-webkit-scrollbar-thumb:hover {
background-color: #777;
}
/* // 스크롤바 ===== ===== ===== ===== ===== ===== ===== ===== ===== ===== */
/* 컴포넌트 ===== ===== ===== ===== ===== ===== ===== ===== ===== ===== */
.--icon {
height: 1rem;
width: 1rem;
cursor: pointer;
}
.--selected {
background-color: var(--primary-lv-1);
outline: 0.0625rem solid var(--primary-lv-2);
box-shadow: 0 0.5rem 1.5rem -0.375rem rgba(0, 0, 0, 0.24);
}
.--selected .main__menu_list_item_text {
color: var(--primary-lv-6);
font-weight: 500;
}
.--button__xx-small {
display: flex;
align-items: center;
justify-content: center;
background-color: #fff;
border-radius: 0.25rem;
border: 0.0625rem solid var(--color-dahong-medium);
}
/* // 컴포넌트 ===== ===== ===== ===== ===== ===== ===== ===== ===== ===== */
/* 스타일 ===== ===== ===== ===== ===== ===== ===== ===== ===== ===== */
.main {
display: flex;
overflow: hidden;
}
.main__menu {
width: 24rem;
background-color: var(--primary-lv-0);
height: 100dvh;
border-right: 0.0625rem solid var(--primary-lv-2);
display: flex;
flex-direction: column;
}
.main__menu_head {
padding: 0.5rem 1rem;
background-color: var(--primary-lv-1);
color: var(--primary-lv-6);
border-bottom: 0.0625rem solid var(--primary-lv-2);
}
.main__menu_list {
padding-left: 0.5rem;
overflow-y: scroll;
flex-grow: 1;
}
.main__menu_list_item {
display: flex;
align-items: center;
padding: 0.5rem;
gap: 0.375rem;
border-radius: 0.25rem;
margin-right: 0.0625rem;
}
.main__menu_list_item:hover {
cursor: pointer;
background-color: var(--primary-lv-1);
}
.main__menu_list_item_text {
width: 0;
flex-grow: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.main__preview {
width: 100%;
background-color: #444;
}
/* // 스타일 ===== ===== ===== ===== ===== ===== ===== ===== ===== ===== */

182
views/index/css/system.css Normal file
View File

@@ -0,0 +1,182 @@
@charset "utf-8";
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.8/dist/web/static/pretendard.css");
@import url('https://fonts.googleapis.com/css2?family=Courier+Prime:ital,wght@0,400;0,700;1,400;1,700&display=swap');
/* Copyright Ⓒ Hanmaceng Corp. All Rights Reserved. */
/* 기술개발센터 김건우A 연구원 b25013@hanmaceng.co.kr */
/* 버전 히스토리 */
/* 2025-03-17 : -- root.css 정의 */
/* 2025-03-19 : -- "root.css" → "system.css" 으로 이름 변경 */
/* 2025-03-20 : -- '컴포넌트 정의'부분 수정 */
/* 2025-03-20 : -- 'header'부분 수정 */
/* 2025-03-20 : -- '컴포넌트 정의' - 스크롤바 추가 */
/* 2025-03-25 : -- 'header'부분 수정 */
/* 2025-03-28 : -- '프라이머리컬러스케일' 추가 */
/* 2025-03-28 : -- 'header', 'footer' 리뉴얼 */
/* 2025-03-31 : -- 'main'부분 수정 */
/* 2025-03-31 : -- 'h2'정의 추가 */
/* 2025-04-15 : -- 전면 리뉴얼 */
/* -- ↓ -- style -- ↓ -- */
/* 색상 및 시스템 정의 ===== ===== ===== ===== ===== */
:root {
--color-red: #F21D0D;
--color-pink: #E8175E;
--color-magenta: #B92ED1;
--color-purple: #6D3DC2;
--color-navy: #4255bd;
--color-blue: #0D8DF2;
--color-cyan: #03AEFC;
--color-green: #4DB251;
--color-yellow: #FFBF00;
--color-orange: #FF9800;
--color-dahong: #FF3D00;
--color-brown: #A0705F;
--color-iron: #7F7F7F;
--color-steel: #688897;
--color-red-light: #FEE9E7;
--color-pink-light: #FDE8EF;
--color-magenta-light: #F8EBFB;
--color-purple-light: #F1ECF9;
--color-navy-light: #EDEEF9;
--color-blue-light: #E7F4FE;
--color-cyan-light: #E6F7FF;
--color-green-light: #EEF8EE;
--color-yellow-light: #FFF9E6;
--color-orange-light: #FFF5E6;
--color-dahong-light: #FFECE6;
--color-brown-light: #F6F1EF;
--color-iron-light: #F3F3F3;
--color-steel-light: #F0F4F5;
--color-red-medium: #FAA59E;
--color-pink-medium: #F6A2BF;
--color-magenta-medium: #E3ABEC;
--color-purple-medium: #C5B1E7;
--color-navy-medium: #B3BBE5;
--color-blue-medium: #9ED1FA;
--color-cyan-medium: #9ADFFE;
--color-green-medium: #B8E0B9;
--color-yellow-medium: #FFE599;
--color-orange-medium: #FFD699;
--color-dahong-medium: #FFB199;
--color-brown-medium: #D9C6BF;
--color-iron-medium: #CCCCCC;
--color-steel-medium: #C3CFD5;
/* 프라이머리컬러스케일 */
--primary-lv-0: #E9EEED;
--primary-lv-1: #D2DCDB;
--primary-lv-2: #A5B9B6;
--primary-lv-3: #789792;
--primary-lv-4: #4B746D;
--primary-lv-5: #35635C;
--primary-lv-6: #1E5149;
--primary-lv-7: #1B443D;
--primary-lv-8: #193833;
--primary-lv-9: #162A27;
}
/* 컴포넌트 정의 ===== ===== ===== ===== ===== */
/* 폰트 고정값 */
*, img {
user-select: none;
-webkit-user-drag: none;
}
html {
font-size: 1rem;
}
@media screen and (max-width: 1920px) {
html {
font-size: 0.8333333vw;
}
}
@media screen and (max-width: 1024px) {
html {
font-size: 1.3333333vw;
}
.main__list-item {
align-items: flex-start;
flex-direction: column;
gap: 0.125rem;
padding: 0.5rem;
}
.main__list-item .master {
padding-left: 1.5rem;
}
.main__list-item-label {
font-size: 1rem;
}
}
body {
font-family: 'Pretendard';
color: #111;
}
/* 한줄 강조 emphasize-20px */
h1 {
font-size: 1.25rem;
font-weight: 700;
line-height: 1.25rem;
letter-spacing: -0.0175rem;
}
/* 프로젝트 제목 project-title-16px */
h2 {
font-size: 1rem;
font-weight: 500;
line-height: 1.25rem;
letter-spacing: -0.0175rem;
}
/* 본문 제목 title-14px */
h3 {
font-size: 0.875rem;
font-weight: 500;
line-height: 1.25rem;
letter-spacing: -0.0175rem;
}
/* 본문 body-14px */
h4 {
font-size: 0.875rem;
font-weight: 300;
line-height: 1.25rem;
letter-spacing: -0.0175rem;
}
/* 알약형 capsule-12px */
h5 {
font-size: 0.75rem;
font-weight: 500;
line-height: 1.25rem;
letter-spacing: -0.0175rem;
}
/* 소본문 body-12px */
h6 {
font-size: 0.75rem;
font-weight: 300;
line-height: 1.25rem;
letter-spacing: -0.0175rem;
}
/* 주석 caption */
p {
font-size: 0.75rem;
font-weight: 300;
line-height: 1.25rem;
letter-spacing: -0.0175rem;
color: #777;
}