summaryrefslogtreecommitdiff
path: root/public
diff options
context:
space:
mode:
Diffstat (limited to 'public')
-rw-r--r--public/0107.sql213
-rw-r--r--public/SHi_logo.svg224
-rw-r--r--public/globals.css168
-rw-r--r--public/images/SHI_logo.svg224
-rw-r--r--public/images/headerImg.pngbin0 -> 77256 bytes
-rw-r--r--public/images/samsung_logo.pngbin0 -> 30904 bytes
6 files changed, 448 insertions, 381 deletions
diff --git a/public/0107.sql b/public/0107.sql
deleted file mode 100644
index 46daf36b..00000000
--- a/public/0107.sql
+++ /dev/null
@@ -1,213 +0,0 @@
-DROP VIEW "public"."enhanced_documents_view";--> statement-breakpoint
-CREATE VIEW "public"."enhanced_documents_view" AS (
- WITH document_stats AS (
- SELECT
- d.id as document_id,
- COUNT(ist.id) as total_stages,
- COUNT(CASE WHEN ist.stage_status IN ('COMPLETED', 'APPROVED') THEN 1 END) as completed_stages,
- CASE
- WHEN COUNT(ist.id) > 0
- THEN ROUND((COUNT(CASE WHEN ist.stage_status IN ('COMPLETED', 'APPROVED') THEN 1 END) * 100.0) / COUNT(ist.id))
- ELSE 0
- END as progress_percentage
- FROM documents d
- LEFT JOIN issue_stages ist ON d.id = ist.document_id
- GROUP BY d.id
- ),
- current_stage_info AS (
- SELECT DISTINCT ON (document_id)
- document_id,
- id as current_stage_id,
- stage_name as current_stage_name,
- stage_status as current_stage_status,
- stage_order as current_stage_order,
- plan_date as current_stage_plan_date,
- actual_date as current_stage_actual_date,
- assignee_name as current_stage_assignee_name,
- priority as current_stage_priority,
- CASE
- WHEN actual_date IS NULL AND plan_date IS NOT NULL
- THEN plan_date - CURRENT_DATE
- ELSE NULL
- END as days_until_due,
- CASE
- WHEN actual_date IS NULL AND plan_date < CURRENT_DATE
- THEN true
- WHEN actual_date IS NOT NULL AND actual_date > plan_date
- THEN true
- ELSE false
- END as is_overdue,
- CASE
- WHEN actual_date IS NOT NULL AND plan_date IS NOT NULL
- THEN actual_date - plan_date
- ELSE NULL
- END as days_difference
- FROM issue_stages
- WHERE stage_status NOT IN ('COMPLETED', 'APPROVED')
- ORDER BY document_id, stage_order ASC, priority DESC
- ),
- latest_revision_info AS (
- SELECT DISTINCT ON (ist.document_id)
- ist.document_id,
- r.id as latest_revision_id,
- r.revision as latest_revision,
- r.revision_status as latest_revision_status,
- r.uploader_name as latest_revision_uploader_name,
- r.submitted_date as latest_submitted_date
- FROM revisions r
- JOIN issue_stages ist ON r.issue_stage_id = ist.id
- ORDER BY ist.document_id, r.created_at DESC
- ),
- -- 리비전별 첨부파일 집계
- revision_attachments AS (
- SELECT
- r.id as revision_id,
- COALESCE(
- json_agg(
- json_build_object(
- 'id', da.id,
- 'revisionId', da.revision_id,
- 'fileName', da.file_name,
- 'filePath', da.file_path,
- 'fileSize', da.file_size,
- 'fileType', da.file_type,
- 'createdAt', da.created_at,
- 'updatedAt', da.updated_at
- ) ORDER BY da.created_at
- ) FILTER (WHERE da.id IS NOT NULL),
- '[]'::json
- ) as attachments
- FROM revisions r
- LEFT JOIN document_attachments da ON r.id = da.revision_id
- GROUP BY r.id
- ),
- -- 스테이지별 리비전 집계 (첨부파일 포함)
- stage_revisions AS (
- SELECT
- ist.id as stage_id,
- COALESCE(
- json_agg(
- json_build_object(
- 'id', r.id,
- 'issueStageId', r.issue_stage_id,
- 'revision', r.revision,
- 'uploaderType', r.uploader_type,
- 'uploaderId', r.uploader_id,
- 'uploaderName', r.uploader_name,
- 'comment', r.comment,
- 'revisionStatus', r.revision_status,
- 'submittedDate', r.submitted_date,
- 'uploadedAt', r.uploaded_at,
- 'approvedDate', r.approved_date,
- 'reviewStartDate', r.review_start_date,
- 'rejectedDate', r.rejected_date,
- 'reviewerId', r.reviewer_id,
- 'reviewerName', r.reviewer_name,
- 'reviewComments', r.review_comments,
- 'createdAt', r.created_at,
- 'updatedAt', r.updated_at,
- 'attachments', ra.attachments
- ) ORDER BY r.created_at
- ) FILTER (WHERE r.id IS NOT NULL),
- '[]'::json
- ) as revisions
- FROM issue_stages ist
- LEFT JOIN revisions r ON ist.id = r.issue_stage_id
- LEFT JOIN revision_attachments ra ON r.id = ra.revision_id
- GROUP BY ist.id
- ),
- -- 문서별 스테이지 집계 (리비전 포함)
- stage_aggregation AS (
- SELECT
- ist.document_id,
- json_agg(
- json_build_object(
- 'id', ist.id,
- 'stageName', ist.stage_name,
- 'stageStatus', ist.stage_status,
- 'stageOrder', ist.stage_order,
- 'planDate', ist.plan_date,
- 'actualDate', ist.actual_date,
- 'assigneeName', ist.assignee_name,
- 'priority', ist.priority,
- 'revisions', sr.revisions
- ) ORDER BY ist.stage_order
- ) as all_stages
- FROM issue_stages ist
- LEFT JOIN stage_revisions sr ON ist.id = sr.stage_id
- GROUP BY ist.document_id
- ),
- attachment_counts AS (
- SELECT
- ist.document_id,
- COUNT(da.id) as attachment_count
- FROM issue_stages ist
- LEFT JOIN revisions r ON ist.id = r.issue_stage_id
- LEFT JOIN document_attachments da ON r.id = da.revision_id
- GROUP BY ist.document_id
- )
-
- SELECT
- d.id as document_id,
- d.doc_number,
- d.vendor_doc_number, -- ✅ 벤더 문서 번호 추가
- d.title,
- d.pic,
- d.status,
- d.issued_date,
- d.contract_id,
-
- -- ✅ 프로젝트 및 벤더 정보 추가
- p.code as project_code,
- v.vendor_name as vendor_name,
- v.vendor_code as vendor_code,
-
- -- 현재 스테이지 정보
- csi.current_stage_id,
- csi.current_stage_name,
- csi.current_stage_status,
- csi.current_stage_order,
- csi.current_stage_plan_date,
- csi.current_stage_actual_date,
- csi.current_stage_assignee_name,
- csi.current_stage_priority,
-
- -- 계산 필드
- csi.days_until_due,
- csi.is_overdue,
- csi.days_difference,
-
- -- 진행률 정보
- ds.total_stages,
- ds.completed_stages,
- ds.progress_percentage,
-
- -- 최신 리비전 정보
- lri.latest_revision_id,
- lri.latest_revision,
- lri.latest_revision_status,
- lri.latest_revision_uploader_name,
- lri.latest_submitted_date,
-
- -- 전체 스테이지 (리비전 및 첨부파일 포함)
- COALESCE(sa.all_stages, '[]'::json) as all_stages,
-
- -- 기타
- COALESCE(ac.attachment_count, 0) as attachment_count,
- d.created_at,
- d.updated_at
-
- FROM documents d
- -- ✅ contracts, projects, vendors 테이블 JOIN 추가
- LEFT JOIN contracts c ON d.contract_id = c.id
- LEFT JOIN projects p ON c.project_id = p.id
- LEFT JOIN vendors v ON c.vendor_id = v.id
-
- LEFT JOIN document_stats ds ON d.id = ds.document_id
- LEFT JOIN current_stage_info csi ON d.id = csi.document_id
- LEFT JOIN latest_revision_info lri ON d.id = lri.document_id
- LEFT JOIN stage_aggregation sa ON d.id = sa.document_id
- LEFT JOIN attachment_counts ac ON d.id = ac.document_id
-
- ORDER BY d.created_at DESC
-); \ No newline at end of file
diff --git a/public/SHi_logo.svg b/public/SHi_logo.svg
new file mode 100644
index 00000000..c29f9668
--- /dev/null
+++ b/public/SHi_logo.svg
@@ -0,0 +1,224 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ version="1.1"
+ x="0px"
+ y="0px"
+ width="189.395px"
+ height="30.223px"
+ viewBox="0 0 189.395 30.223"
+ enable-background="new 0 0 189.395 30.223"
+ xml:space="preserve"
+ id="svg22"
+ sodipodi:docname="Samsung_Heavy_Industries_logo_(hangul).svg"
+ inkscape:version="1.4 (86a8ad7, 2024-10-11)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"><defs
+ id="defs22" /><sodipodi:namedview
+ id="namedview22"
+ pagecolor="#ffffff"
+ bordercolor="#000000"
+ borderopacity="0.25"
+ inkscape:showpageshadow="2"
+ inkscape:pageopacity="0.0"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#d1d1d1"
+ inkscape:zoom="13.261402"
+ inkscape:cx="164.27373"
+ inkscape:cy="2.0736872"
+ inkscape:window-width="1920"
+ inkscape:window-height="1009"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="svg22" />
+<g
+ id="g22">
+ <g
+ id="g8">
+ <g
+ id="g1">
+ <path
+ fill="#034EA2"
+ d="M90.969,7.196c1.24,7.106-18.105,16.412-43.213,20.785c-25.105,4.373-46.462,2.154-47.7-4.955 c-1.237-7.107,18.113-16.41,43.218-20.782C68.38-2.131,89.733,0.088,90.969,7.196z"
+ id="path1"
+ style="fill:#1428a0;fill-opacity:1" />
+ </g>
+ <g
+ id="g7">
+ <g
+ id="g6">
+ <polygon
+ fill="#FFFFFF"
+ points="67.34,17.745 67.211,10.356 69.541,10.356 69.541,19.669 66.191,19.669 63.866,12.026 63.816,12.026 63.945,19.669 61.63,19.669 61.63,10.356 65.125,10.356 67.288,17.745 "
+ id="polygon1" />
+ <polygon
+ fill="#FFFFFF"
+ points="24.987,11.228 23.698,19.767 21.157,19.767 22.902,10.356 27.088,10.356 28.825,19.767 26.294,19.767 25.04,11.228 "
+ id="polygon2" />
+ <polygon
+ fill="#FFFFFF"
+ points="35.962,17.55 37.125,10.356 40.963,10.356 41.167,19.767 38.815,19.767 38.753,11.306 38.704,11.306 37.131,19.767 34.743,19.767 33.169,11.306 33.118,11.306 33.059,19.767 30.702,19.767 30.91,10.356 34.75,10.356 35.912,17.55 "
+ id="polygon3" />
+ <path
+ fill="#FFFFFF"
+ d="M17.194,17.112c0.092,0.228,0.064,0.521,0.021,0.698c-0.079,0.313-0.291,0.632-0.917,0.632 c-0.59,0-0.948-0.338-0.948-0.855v-0.911h-2.524l-0.002,0.729c0,2.098,1.652,2.731,3.422,2.731c1.702,0,3.104-0.582,3.327-2.15 c0.114-0.813,0.029-1.345-0.01-1.546c-0.397-1.97-3.969-2.558-4.235-3.66c-0.045-0.189-0.032-0.389-0.01-0.496 c0.065-0.3,0.271-0.631,0.86-0.631c0.55,0,0.875,0.34,0.875,0.854c0,0.173,0,0.581,0,0.581h2.347v-0.661 c0-2.05-1.84-2.37-3.173-2.37c-1.674,0-3.042,0.553-3.292,2.085c-0.068,0.423-0.078,0.8,0.021,1.272 C13.367,15.337,16.71,15.894,17.194,17.112z"
+ id="path3" />
+ <path
+ fill="#FFFFFF"
+ d="M47.796,17.095c0.093,0.226,0.063,0.511,0.021,0.688c-0.077,0.312-0.287,0.626-0.909,0.626 c-0.582,0-0.937-0.338-0.937-0.843l-0.002-0.903h-2.498l-0.003,0.719c0,2.077,1.637,2.704,3.389,2.704 c1.684,0,3.073-0.574,3.292-2.128c0.114-0.807,0.033-1.332-0.008-1.529c-0.395-1.952-3.931-2.534-4.194-3.625 c-0.045-0.188-0.032-0.386-0.009-0.487c0.067-0.302,0.269-0.625,0.852-0.625c0.545,0,0.863,0.332,0.863,0.842 c0,0.171,0,0.575,0,0.575h2.329v-0.654c0-2.028-1.825-2.346-3.145-2.346c-1.655,0-3.012,0.546-3.257,2.067 c-0.068,0.417-0.075,0.787,0.022,1.257C44.007,15.336,47.317,15.889,47.796,17.095z"
+ id="path4" />
+ <path
+ fill="#FFFFFF"
+ d="M55.701,18.359c0.653,0,0.857-0.452,0.902-0.683c0.019-0.102,0.024-0.238,0.022-0.36v-6.964h2.38v6.751 c0.005,0.173-0.012,0.529-0.02,0.618c-0.167,1.757-1.556,2.327-3.285,2.327c-1.731,0-3.121-0.57-3.286-2.327 c-0.008-0.089-0.025-0.445-0.02-0.618v-6.751h2.378v6.964c0,0.122,0.004,0.259,0.022,0.36 C54.845,17.907,55.043,18.359,55.701,18.359z"
+ id="path5" />
+ <path
+ fill="#FFFFFF"
+ d="M75.333,18.26c0.682,0,0.92-0.431,0.964-0.682c0.017-0.108,0.022-0.239,0.021-0.358v-1.366h-0.966V14.48 h3.337v2.526c-0.002,0.176-0.006,0.306-0.034,0.62c-0.157,1.712-1.642,2.323-3.31,2.323c-1.671,0-3.154-0.611-3.313-2.323 c-0.027-0.314-0.031-0.444-0.034-0.62L72,13.043c0-0.167,0.021-0.463,0.039-0.62c0.209-1.759,1.635-2.325,3.306-2.325 c1.669,0,3.13,0.563,3.303,2.325c0.031,0.3,0.021,0.62,0.021,0.62v0.314h-2.373v-0.527c0.002,0.001-0.003-0.224-0.031-0.358 c-0.04-0.208-0.221-0.686-0.938-0.686c-0.686,0-0.887,0.452-0.937,0.686c-0.029,0.124-0.04,0.292-0.04,0.444v4.304 c-0.002,0.119,0.005,0.25,0.024,0.358C74.415,17.83,74.652,18.26,75.333,18.26z"
+ id="path6" />
+ </g>
+ </g>
+ </g>
+ <g
+ id="g21">
+ <rect
+ x="160.363"
+ y="5.643"
+ fill="#034EA2"
+ width="10.285"
+ height="2.014"
+ id="rect8"
+ style="fill:#1428a0;fill-opacity:1" />
+ <g
+ id="g20">
+ <path
+ fill="#034EA2"
+ d="M180.209,5.121c-2.779,0-5.025,2.19-5.025,4.896s2.246,4.897,5.025,4.897 c2.777,0,5.027-2.191,5.027-4.897S182.986,5.121,180.209,5.121z M180.209,12.93c-1.463,0-2.654-1.299-2.654-2.913 c0-1.607,1.191-2.91,2.654-2.91c1.465,0,2.652,1.303,2.652,2.91C182.861,11.631,181.674,12.93,180.209,12.93z"
+ id="path8"
+ style="fill:#1428a0;fill-opacity:1" />
+ <polygon
+ fill="#034EA2"
+ points="172.398,5.643 170.053,5.643 169.758,12.438 172.105,12.438 "
+ id="polygon8"
+ style="fill:#1428a0;fill-opacity:1" />
+ <rect
+ x="177.449"
+ y="22.395"
+ fill="#034EA2"
+ width="11.945"
+ height="2.074"
+ id="rect9"
+ style="fill:#1428a0;fill-opacity:1" />
+ <rect
+ x="177.449"
+ y="18.56"
+ fill="#034EA2"
+ width="11.945"
+ height="1.986"
+ id="rect10"
+ style="fill:#1428a0;fill-opacity:1" />
+ <rect
+ x="186.938"
+ y="16.468"
+ fill="#034EA2"
+ width="2.457"
+ height="8"
+ id="rect11"
+ style="fill:#1428a0;fill-opacity:1" />
+ <rect
+ x="177.449"
+ y="16.468"
+ fill="#034EA2"
+ width="2.455"
+ height="8"
+ id="rect12"
+ style="fill:#1428a0;fill-opacity:1" />
+ <polygon
+ fill="#034EA2"
+ points="189.395,5.06 189.395,15.268 186.93,15.268 186.93,11.183 184.15,11.183 184.15,9.089 186.889,9.089 186.889,5.06 "
+ id="polygon12"
+ style="fill:#1428a0;fill-opacity:1" />
+ <rect
+ x="148.563"
+ y="13.913"
+ fill="#034EA2"
+ width="2.264"
+ height="3.322"
+ id="rect13"
+ style="fill:#1428a0;fill-opacity:1" />
+ <rect
+ x="142.422"
+ y="13.061"
+ fill="#034EA2"
+ width="14.553"
+ height="1.938"
+ id="rect14"
+ style="fill:#1428a0;fill-opacity:1" />
+ <polygon
+ fill="#034EA2"
+ points="119.74,5.06 119.74,15.275 122.254,15.275 122.254,11.175 124.381,11.175 124.381,9.089 122.254,9.089 122.254,5.06 "
+ id="polygon14"
+ style="fill:#1428a0;fill-opacity:1" />
+ <path
+ fill="#034EA2"
+ d="M110.459,24.465v-8.356h11.795v8.356H110.459z M119.84,22.424v-4.275h-6.975v4.275H119.84z"
+ id="path14"
+ style="fill:#1428a0;fill-opacity:1" />
+ <polygon
+ fill="#034EA2"
+ points="139.24,5.06 139.24,15.275 136.773,15.275 136.773,11.175 133.574,11.175 133.574,9.094 136.732,9.094 136.732,5.06 "
+ id="polygon15"
+ style="fill:#1428a0;fill-opacity:1" />
+ <path
+ fill="#034EA2"
+ d="M133.063,24.992c-3.611,0-6.535-2.113-6.535-4.729c0-2.611,2.924-4.727,6.535-4.727 c3.613,0,6.537,2.115,6.537,4.727C139.6,22.879,136.676,24.992,133.063,24.992z M137.129,20.263c0-1.456-1.818-2.641-4.066-2.641 c-2.246,0-4.064,1.185-4.064,2.641c0,1.461,1.818,2.647,4.064,2.647C135.311,22.91,137.129,21.724,137.129,20.263z"
+ id="path15"
+ style="fill:#1428a0;fill-opacity:1" />
+ <path
+ fill="#034EA2"
+ d="M113.828,5.436c0,0-0.332,5.521,4.141,7.808l-1.289,1.778c0,0-3.273-2.163-4.018-4.53 c-0.74,2.367-4.018,4.53-4.018,4.53l-1.291-1.778c4.48-2.287,4.15-7.808,4.15-7.808H113.828z"
+ id="path16"
+ style="fill:#1428a0;fill-opacity:1" />
+ <path
+ fill="#034EA2"
+ d="M129.338,10.492c-0.742,2.367-3.742,4.346-3.742,4.346l-1.285-1.778c4.193-2.103,3.867-7.623,3.867-7.623 h2.314c0,0-0.324,5.521,3.877,7.623l-1.287,1.778C133.082,14.837,130.078,12.859,129.338,10.492z"
+ id="path17"
+ style="fill:#1428a0;fill-opacity:1" />
+ <path
+ fill="#034EA2"
+ d="M149.719,24.992c-3.564,0-6.449-2.037-6.449-4.551c0-2.507,2.885-4.546,6.449-4.546 c3.563,0,6.447,2.039,6.447,4.546C156.166,22.955,153.281,24.992,149.719,24.992z M153.725,20.441 c0-1.396-1.793-2.538-4.006-2.538s-4.012,1.142-4.012,2.538c0,1.403,1.799,2.545,4.012,2.545S153.725,21.844,153.725,20.441z"
+ id="path18"
+ style="fill:#1428a0;fill-opacity:1" />
+ <path
+ fill="#034EA2"
+ d="M143.215,5.698v2.024h4.975c0,0-0.57,2.107-5.049,2.787l0.447,1.939c0,0,5.154-0.887,6.117-3.218 c0.961,2.331,6.111,3.218,6.111,3.218l0.449-1.939c-4.473-0.68-5.045-2.787-5.045-2.787h4.975V5.698H143.215z"
+ id="path19"
+ style="fill:#1428a0;fill-opacity:1" />
+ <rect
+ x="164.271"
+ y="9.094"
+ fill="#034EA2"
+ width="2.268"
+ height="4.825"
+ id="rect19"
+ style="fill:#1428a0;fill-opacity:1" />
+ <rect
+ x="159.387"
+ y="13.061"
+ fill="#034EA2"
+ width="13.977"
+ height="1.938"
+ id="rect20"
+ style="fill:#1428a0;fill-opacity:1" />
+ <path
+ fill="#034EA2"
+ d="M166.393,24.992c-3.566,0-6.447-2.037-6.447-4.551c0-2.507,2.881-4.546,6.447-4.546 c3.563,0,6.447,2.039,6.447,4.546C172.84,22.955,169.955,24.992,166.393,24.992z M170.404,20.441 c0-1.396-1.795-2.538-4.012-2.538c-2.213,0-4.01,1.142-4.01,2.538c0,1.403,1.797,2.545,4.01,2.545 C168.609,22.986,170.404,21.844,170.404,20.441z"
+ id="path20"
+ style="fill:#1428a0;fill-opacity:1" />
+ </g>
+ </g>
+</g>
+</svg>
diff --git a/public/globals.css b/public/globals.css
deleted file mode 100644
index c427b92f..00000000
--- a/public/globals.css
+++ /dev/null
@@ -1,168 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-body {
- font-family: Arial, Helvetica, sans-serif;
-}
-
-@layer base {
- :root {
- --background: 0 0% 100%;
- --foreground: 222.2 84% 4.9%;
- --card: 0 0% 100%;
- --card-foreground: 222.2 84% 4.9%;
- --popover: 0 0% 100%;
- --popover-foreground: 222.2 84% 4.9%;
- --primary: 222.2 47.4% 11.2%;
- --samsung: 222.2 47.4% 11.2%;
- --primary-foreground: 210 40% 98%;
- --secondary: 210 40% 96.1%;
- --secondary-foreground: 222.2 47.4% 11.2%;
- --muted: 210 40% 96.1%;
- --muted-foreground: 215.4 16.3% 46.9%;
- --accent: 210 40% 96.1%;
- --accent-foreground: 222.2 47.4% 11.2%;
- --destructive: 0 84.2% 60.2%;
- --destructive-foreground: 210 40% 98%;
- --border: 214.3 31.8% 91.4%;
- --input: 214.3 31.8% 91.4%;
- --ring: 222.2 84% 4.9%;
- --chart-1: 12 76% 61%;
- --chart-2: 173 58% 39%;
- --chart-3: 197 37% 24%;
- --chart-4: 43 74% 66%;
- --chart-5: 27 87% 67%;
- --radius: 0.5rem;
- --sidebar-background: 0 0% 98%;
- --sidebar-foreground: 240 5.3% 26.1%;
- --sidebar-primary: 240 5.9% 10%;
- --sidebar-primary-foreground: 0 0% 98%;
- --sidebar-accent: 240 4.8% 95.9%;
- --sidebar-accent-foreground: 240 5.9% 10%;
- --sidebar-border: 220 13% 91%;
- --sidebar-ring: 217.2 91.2% 59.8%;
- }
- .dark {
- --background: 222.2 84% 4.9%;
- --foreground: 210 40% 98%;
- --card: 222.2 84% 4.9%;
- --card-foreground: 210 40% 98%;
- --popover: 222.2 84% 4.9%;
- --popover-foreground: 210 40% 98%;
- --primary: 210 40% 98%;
- --primary-foreground: 222.2 47.4% 11.2%;
- --secondary: 217.2 32.6% 17.5%;
- --secondary-foreground: 210 40% 98%;
- --muted: 217.2 32.6% 17.5%;
- --muted-foreground: 215 20.2% 65.1%;
- --accent: 217.2 32.6% 17.5%;
- --accent-foreground: 210 40% 98%;
- --destructive: 0 62.8% 30.6%;
- --destructive-foreground: 210 40% 98%;
- --border: 217.2 32.6% 17.5%;
- --input: 217.2 32.6% 17.5%;
- --ring: 212.7 26.8% 83.9%;
- --chart-1: 220 70% 50%;
- --chart-2: 160 60% 45%;
- --chart-3: 30 80% 55%;
- --chart-4: 280 65% 60%;
- --chart-5: 340 75% 55%;
- --sidebar-background: 240 5.9% 10%;
- --sidebar-foreground: 240 4.8% 95.9%;
- --sidebar-primary: 224.3 76.3% 48%;
- --sidebar-primary-foreground: 0 0% 100%;
- --sidebar-accent: 240 3.7% 15.9%;
- --sidebar-accent-foreground: 240 4.8% 95.9%;
- --sidebar-border: 240 3.7% 15.9%;
- --sidebar-ring: 217.2 91.2% 59.8%;
- }
-}
-
-@layer base {
- * {
- @apply border-border;
- }
- html {
- @apply scroll-smooth;
- }
- body {
- @apply bg-background text-foreground overscroll-none;
- /* font-feature-settings: "rlig" 1, "calt" 1; */
- font-synthesis-weight: none;
- text-rendering: optimizeLegibility;
- }
-
- @supports (font: -apple-system-body) and (-webkit-appearance: none) {
- [data-wrapper] {
- @apply min-[1800px]:border-t;
- }
- }
- /* Custom scrollbar styling. Thanks @pranathiperii. */
- ::-webkit-scrollbar {
- width: 5px;
- }
- ::-webkit-scrollbar-track {
- background: transparent;
- }
- ::-webkit-scrollbar-thumb {
- background: hsl(var(--border));
- border-radius: 5px;
- }
- * {
- scrollbar-width: thin;
- scrollbar-color: hsl(var(--border)) transparent;
- }
-}
-
-@layer utilities {
- .step {
- counter-increment: step;
- }
-
- .step:before {
- @apply absolute w-9 h-9 bg-muted rounded-full font-mono font-medium text-center text-base inline-flex items-center justify-center -indent-px border-4 border-background;
- @apply ml-[-50px] mt-[-4px];
- content: counter(step);
- }
-
- .chunk-container {
- @apply shadow-none;
- }
-
- .chunk-container::after {
- content: "";
- @apply absolute -inset-4 shadow-xl rounded-xl border;
- }
-
- /* Hide scrollbar for Chrome, Safari and Opera */
- .no-scrollbar::-webkit-scrollbar {
- display: none;
- }
- /* Hide scrollbar for IE, Edge and Firefox */
- .no-scrollbar {
- -ms-overflow-style: none; /* IE and Edge */
- scrollbar-width: none; /* Firefox */
- }
-
- .border-grid {
- @apply border-border/30 dark:border-border;
- }
-
- .container-wrapper {
- @apply min-[1800px]:max-w-[1536px] min-[1800px]:border-x border-border/30 dark:border-border mx-auto w-full;
- }
-
- .container {
- @apply px-4 xl:px-6 2xl:px-4 mx-auto max-w-[1536px];
- }
-}
-
-
-.MuiTreeItem-label{
- font-size: 0.875rem!important;
-}
-
-.pdftron-container {
- all: unset !important;
-} \ No newline at end of file
diff --git a/public/images/SHI_logo.svg b/public/images/SHI_logo.svg
new file mode 100644
index 00000000..c29f9668
--- /dev/null
+++ b/public/images/SHI_logo.svg
@@ -0,0 +1,224 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+
+<svg
+ version="1.1"
+ x="0px"
+ y="0px"
+ width="189.395px"
+ height="30.223px"
+ viewBox="0 0 189.395 30.223"
+ enable-background="new 0 0 189.395 30.223"
+ xml:space="preserve"
+ id="svg22"
+ sodipodi:docname="Samsung_Heavy_Industries_logo_(hangul).svg"
+ inkscape:version="1.4 (86a8ad7, 2024-10-11)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"><defs
+ id="defs22" /><sodipodi:namedview
+ id="namedview22"
+ pagecolor="#ffffff"
+ bordercolor="#000000"
+ borderopacity="0.25"
+ inkscape:showpageshadow="2"
+ inkscape:pageopacity="0.0"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#d1d1d1"
+ inkscape:zoom="13.261402"
+ inkscape:cx="164.27373"
+ inkscape:cy="2.0736872"
+ inkscape:window-width="1920"
+ inkscape:window-height="1009"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="svg22" />
+<g
+ id="g22">
+ <g
+ id="g8">
+ <g
+ id="g1">
+ <path
+ fill="#034EA2"
+ d="M90.969,7.196c1.24,7.106-18.105,16.412-43.213,20.785c-25.105,4.373-46.462,2.154-47.7-4.955 c-1.237-7.107,18.113-16.41,43.218-20.782C68.38-2.131,89.733,0.088,90.969,7.196z"
+ id="path1"
+ style="fill:#1428a0;fill-opacity:1" />
+ </g>
+ <g
+ id="g7">
+ <g
+ id="g6">
+ <polygon
+ fill="#FFFFFF"
+ points="67.34,17.745 67.211,10.356 69.541,10.356 69.541,19.669 66.191,19.669 63.866,12.026 63.816,12.026 63.945,19.669 61.63,19.669 61.63,10.356 65.125,10.356 67.288,17.745 "
+ id="polygon1" />
+ <polygon
+ fill="#FFFFFF"
+ points="24.987,11.228 23.698,19.767 21.157,19.767 22.902,10.356 27.088,10.356 28.825,19.767 26.294,19.767 25.04,11.228 "
+ id="polygon2" />
+ <polygon
+ fill="#FFFFFF"
+ points="35.962,17.55 37.125,10.356 40.963,10.356 41.167,19.767 38.815,19.767 38.753,11.306 38.704,11.306 37.131,19.767 34.743,19.767 33.169,11.306 33.118,11.306 33.059,19.767 30.702,19.767 30.91,10.356 34.75,10.356 35.912,17.55 "
+ id="polygon3" />
+ <path
+ fill="#FFFFFF"
+ d="M17.194,17.112c0.092,0.228,0.064,0.521,0.021,0.698c-0.079,0.313-0.291,0.632-0.917,0.632 c-0.59,0-0.948-0.338-0.948-0.855v-0.911h-2.524l-0.002,0.729c0,2.098,1.652,2.731,3.422,2.731c1.702,0,3.104-0.582,3.327-2.15 c0.114-0.813,0.029-1.345-0.01-1.546c-0.397-1.97-3.969-2.558-4.235-3.66c-0.045-0.189-0.032-0.389-0.01-0.496 c0.065-0.3,0.271-0.631,0.86-0.631c0.55,0,0.875,0.34,0.875,0.854c0,0.173,0,0.581,0,0.581h2.347v-0.661 c0-2.05-1.84-2.37-3.173-2.37c-1.674,0-3.042,0.553-3.292,2.085c-0.068,0.423-0.078,0.8,0.021,1.272 C13.367,15.337,16.71,15.894,17.194,17.112z"
+ id="path3" />
+ <path
+ fill="#FFFFFF"
+ d="M47.796,17.095c0.093,0.226,0.063,0.511,0.021,0.688c-0.077,0.312-0.287,0.626-0.909,0.626 c-0.582,0-0.937-0.338-0.937-0.843l-0.002-0.903h-2.498l-0.003,0.719c0,2.077,1.637,2.704,3.389,2.704 c1.684,0,3.073-0.574,3.292-2.128c0.114-0.807,0.033-1.332-0.008-1.529c-0.395-1.952-3.931-2.534-4.194-3.625 c-0.045-0.188-0.032-0.386-0.009-0.487c0.067-0.302,0.269-0.625,0.852-0.625c0.545,0,0.863,0.332,0.863,0.842 c0,0.171,0,0.575,0,0.575h2.329v-0.654c0-2.028-1.825-2.346-3.145-2.346c-1.655,0-3.012,0.546-3.257,2.067 c-0.068,0.417-0.075,0.787,0.022,1.257C44.007,15.336,47.317,15.889,47.796,17.095z"
+ id="path4" />
+ <path
+ fill="#FFFFFF"
+ d="M55.701,18.359c0.653,0,0.857-0.452,0.902-0.683c0.019-0.102,0.024-0.238,0.022-0.36v-6.964h2.38v6.751 c0.005,0.173-0.012,0.529-0.02,0.618c-0.167,1.757-1.556,2.327-3.285,2.327c-1.731,0-3.121-0.57-3.286-2.327 c-0.008-0.089-0.025-0.445-0.02-0.618v-6.751h2.378v6.964c0,0.122,0.004,0.259,0.022,0.36 C54.845,17.907,55.043,18.359,55.701,18.359z"
+ id="path5" />
+ <path
+ fill="#FFFFFF"
+ d="M75.333,18.26c0.682,0,0.92-0.431,0.964-0.682c0.017-0.108,0.022-0.239,0.021-0.358v-1.366h-0.966V14.48 h3.337v2.526c-0.002,0.176-0.006,0.306-0.034,0.62c-0.157,1.712-1.642,2.323-3.31,2.323c-1.671,0-3.154-0.611-3.313-2.323 c-0.027-0.314-0.031-0.444-0.034-0.62L72,13.043c0-0.167,0.021-0.463,0.039-0.62c0.209-1.759,1.635-2.325,3.306-2.325 c1.669,0,3.13,0.563,3.303,2.325c0.031,0.3,0.021,0.62,0.021,0.62v0.314h-2.373v-0.527c0.002,0.001-0.003-0.224-0.031-0.358 c-0.04-0.208-0.221-0.686-0.938-0.686c-0.686,0-0.887,0.452-0.937,0.686c-0.029,0.124-0.04,0.292-0.04,0.444v4.304 c-0.002,0.119,0.005,0.25,0.024,0.358C74.415,17.83,74.652,18.26,75.333,18.26z"
+ id="path6" />
+ </g>
+ </g>
+ </g>
+ <g
+ id="g21">
+ <rect
+ x="160.363"
+ y="5.643"
+ fill="#034EA2"
+ width="10.285"
+ height="2.014"
+ id="rect8"
+ style="fill:#1428a0;fill-opacity:1" />
+ <g
+ id="g20">
+ <path
+ fill="#034EA2"
+ d="M180.209,5.121c-2.779,0-5.025,2.19-5.025,4.896s2.246,4.897,5.025,4.897 c2.777,0,5.027-2.191,5.027-4.897S182.986,5.121,180.209,5.121z M180.209,12.93c-1.463,0-2.654-1.299-2.654-2.913 c0-1.607,1.191-2.91,2.654-2.91c1.465,0,2.652,1.303,2.652,2.91C182.861,11.631,181.674,12.93,180.209,12.93z"
+ id="path8"
+ style="fill:#1428a0;fill-opacity:1" />
+ <polygon
+ fill="#034EA2"
+ points="172.398,5.643 170.053,5.643 169.758,12.438 172.105,12.438 "
+ id="polygon8"
+ style="fill:#1428a0;fill-opacity:1" />
+ <rect
+ x="177.449"
+ y="22.395"
+ fill="#034EA2"
+ width="11.945"
+ height="2.074"
+ id="rect9"
+ style="fill:#1428a0;fill-opacity:1" />
+ <rect
+ x="177.449"
+ y="18.56"
+ fill="#034EA2"
+ width="11.945"
+ height="1.986"
+ id="rect10"
+ style="fill:#1428a0;fill-opacity:1" />
+ <rect
+ x="186.938"
+ y="16.468"
+ fill="#034EA2"
+ width="2.457"
+ height="8"
+ id="rect11"
+ style="fill:#1428a0;fill-opacity:1" />
+ <rect
+ x="177.449"
+ y="16.468"
+ fill="#034EA2"
+ width="2.455"
+ height="8"
+ id="rect12"
+ style="fill:#1428a0;fill-opacity:1" />
+ <polygon
+ fill="#034EA2"
+ points="189.395,5.06 189.395,15.268 186.93,15.268 186.93,11.183 184.15,11.183 184.15,9.089 186.889,9.089 186.889,5.06 "
+ id="polygon12"
+ style="fill:#1428a0;fill-opacity:1" />
+ <rect
+ x="148.563"
+ y="13.913"
+ fill="#034EA2"
+ width="2.264"
+ height="3.322"
+ id="rect13"
+ style="fill:#1428a0;fill-opacity:1" />
+ <rect
+ x="142.422"
+ y="13.061"
+ fill="#034EA2"
+ width="14.553"
+ height="1.938"
+ id="rect14"
+ style="fill:#1428a0;fill-opacity:1" />
+ <polygon
+ fill="#034EA2"
+ points="119.74,5.06 119.74,15.275 122.254,15.275 122.254,11.175 124.381,11.175 124.381,9.089 122.254,9.089 122.254,5.06 "
+ id="polygon14"
+ style="fill:#1428a0;fill-opacity:1" />
+ <path
+ fill="#034EA2"
+ d="M110.459,24.465v-8.356h11.795v8.356H110.459z M119.84,22.424v-4.275h-6.975v4.275H119.84z"
+ id="path14"
+ style="fill:#1428a0;fill-opacity:1" />
+ <polygon
+ fill="#034EA2"
+ points="139.24,5.06 139.24,15.275 136.773,15.275 136.773,11.175 133.574,11.175 133.574,9.094 136.732,9.094 136.732,5.06 "
+ id="polygon15"
+ style="fill:#1428a0;fill-opacity:1" />
+ <path
+ fill="#034EA2"
+ d="M133.063,24.992c-3.611,0-6.535-2.113-6.535-4.729c0-2.611,2.924-4.727,6.535-4.727 c3.613,0,6.537,2.115,6.537,4.727C139.6,22.879,136.676,24.992,133.063,24.992z M137.129,20.263c0-1.456-1.818-2.641-4.066-2.641 c-2.246,0-4.064,1.185-4.064,2.641c0,1.461,1.818,2.647,4.064,2.647C135.311,22.91,137.129,21.724,137.129,20.263z"
+ id="path15"
+ style="fill:#1428a0;fill-opacity:1" />
+ <path
+ fill="#034EA2"
+ d="M113.828,5.436c0,0-0.332,5.521,4.141,7.808l-1.289,1.778c0,0-3.273-2.163-4.018-4.53 c-0.74,2.367-4.018,4.53-4.018,4.53l-1.291-1.778c4.48-2.287,4.15-7.808,4.15-7.808H113.828z"
+ id="path16"
+ style="fill:#1428a0;fill-opacity:1" />
+ <path
+ fill="#034EA2"
+ d="M129.338,10.492c-0.742,2.367-3.742,4.346-3.742,4.346l-1.285-1.778c4.193-2.103,3.867-7.623,3.867-7.623 h2.314c0,0-0.324,5.521,3.877,7.623l-1.287,1.778C133.082,14.837,130.078,12.859,129.338,10.492z"
+ id="path17"
+ style="fill:#1428a0;fill-opacity:1" />
+ <path
+ fill="#034EA2"
+ d="M149.719,24.992c-3.564,0-6.449-2.037-6.449-4.551c0-2.507,2.885-4.546,6.449-4.546 c3.563,0,6.447,2.039,6.447,4.546C156.166,22.955,153.281,24.992,149.719,24.992z M153.725,20.441 c0-1.396-1.793-2.538-4.006-2.538s-4.012,1.142-4.012,2.538c0,1.403,1.799,2.545,4.012,2.545S153.725,21.844,153.725,20.441z"
+ id="path18"
+ style="fill:#1428a0;fill-opacity:1" />
+ <path
+ fill="#034EA2"
+ d="M143.215,5.698v2.024h4.975c0,0-0.57,2.107-5.049,2.787l0.447,1.939c0,0,5.154-0.887,6.117-3.218 c0.961,2.331,6.111,3.218,6.111,3.218l0.449-1.939c-4.473-0.68-5.045-2.787-5.045-2.787h4.975V5.698H143.215z"
+ id="path19"
+ style="fill:#1428a0;fill-opacity:1" />
+ <rect
+ x="164.271"
+ y="9.094"
+ fill="#034EA2"
+ width="2.268"
+ height="4.825"
+ id="rect19"
+ style="fill:#1428a0;fill-opacity:1" />
+ <rect
+ x="159.387"
+ y="13.061"
+ fill="#034EA2"
+ width="13.977"
+ height="1.938"
+ id="rect20"
+ style="fill:#1428a0;fill-opacity:1" />
+ <path
+ fill="#034EA2"
+ d="M166.393,24.992c-3.566,0-6.447-2.037-6.447-4.551c0-2.507,2.881-4.546,6.447-4.546 c3.563,0,6.447,2.039,6.447,4.546C172.84,22.955,169.955,24.992,166.393,24.992z M170.404,20.441 c0-1.396-1.795-2.538-4.012-2.538c-2.213,0-4.01,1.142-4.01,2.538c0,1.403,1.797,2.545,4.01,2.545 C168.609,22.986,170.404,21.844,170.404,20.441z"
+ id="path20"
+ style="fill:#1428a0;fill-opacity:1" />
+ </g>
+ </g>
+</g>
+</svg>
diff --git a/public/images/headerImg.png b/public/images/headerImg.png
new file mode 100644
index 00000000..bc89cf03
--- /dev/null
+++ b/public/images/headerImg.png
Binary files differ
diff --git a/public/images/samsung_logo.png b/public/images/samsung_logo.png
new file mode 100644
index 00000000..d54d1233
--- /dev/null
+++ b/public/images/samsung_logo.png
Binary files differ