This commit is contained in:
kimdaae328 2024-12-17 14:10:28 +09:00
commit 9caee91bd3
8 changed files with 176 additions and 111 deletions

View File

@ -1,84 +1,80 @@
<!doctype html> <!doctype html>
<html <html
lang="" lang=""
class="light-style layout-navbar-fixed layout-menu-fixed layout-compact" class="light-style layout-navbar-fixed layout-menu-fixed layout-compact"
dir="ltr" dir="ltr"
data-theme="theme-default" data-theme="theme-default"
data-assets-path="/" data-assets-path="/"
data-template="vertical-menu-template" data-template="vertical-menu-template"
data-style="light" data-style="light"
> >
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- favicon --> <!-- favicon -->
<link rel="apple-touch-icon" sizes="180x180" href="/img/favicon/apple-touch-icon.png" /> <link rel="apple-touch-icon" sizes="180x180" href="/img/favicon/apple-touch-icon.png" />
<link rel="icon" type="image/png" sizes="32x32" href="img/favicon/favicon-32x32.png" /> <link rel="icon" type="image/png" sizes="32x32" href="img/favicon/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="/img/favicon/favicon-16x16.png" /> <link rel="icon" type="image/png" sizes="16x16" href="/img/favicon/favicon-16x16.png" />
<link rel="manifest" href="/img/favicon/site.webmanifest" /> <link rel="manifest" href="/img/favicon/site.webmanifest" />
<meta content="" name="description" /> <meta content="" name="description" />
<meta content="" name="keywords" /> <meta content="" name="keywords" />
<title>LOCALNET</title> <title>LOCALNET</title>
<!-- Fonts --> <!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com/" /> <link rel="preconnect" href="https://fonts.googleapis.com/" />
<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin /> <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin />
<link <link
href="https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&amp;display=swap" href="https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&amp;display=swap"
rel="stylesheet" rel="stylesheet"
/> />
<!-- Icons --> <!-- Icons -->
<link rel="stylesheet" href="/vendor/fonts/boxicons.css" /> <link rel="stylesheet" href="/vendor/fonts/boxicons.css" />
<link rel="stylesheet" href="/vendor/fonts/fontawesome.css" /> <link rel="stylesheet" href="/vendor/fonts/fontawesome.css" />
<link rel="stylesheet" href="/vendor/fonts/flag-icons.css" /> <link rel="stylesheet" href="/vendor/fonts/flag-icons.css" />
<!-- Core CSS --> <!-- Core CSS -->
<link rel="stylesheet" href="/vendor/css/rtl/core.css" class="template-customizer-core-css" /> <link rel="stylesheet" href="/vendor/css/rtl/core.css" class="template-customizer-core-css" />
<link <link rel="stylesheet" href="/vendor/css/rtl/theme-default.css" class="template-customizer-theme-css" />
rel="stylesheet" <link rel="stylesheet" href="/css/demo.css" />
href="/vendor/css/rtl/theme-default.css"
class="template-customizer-theme-css"
/>
<link rel="stylesheet" href="/css/demo.css" />
<!-- Vendors CSS --> <!-- Vendors CSS -->
<link rel="stylesheet" href="/vendor/libs/perfect-scrollbar/perfect-scrollbar.css" /> <link rel="stylesheet" href="/vendor/libs/perfect-scrollbar/perfect-scrollbar.css" />
<link rel="stylesheet" href="/vendor/libs/typeahead-js/typeahead.css" /> <link rel="stylesheet" href="/vendor/libs/typeahead-js/typeahead.css" />
<link rel="stylesheet" href="/vendor/libs/apex-charts/apex-charts.css" /> <link rel="stylesheet" href="/vendor/libs/apex-charts/apex-charts.css" />
<!-- Helpers --> <!-- Helpers -->
<script src="/vendor/js/helpers.js"></script> <script src="/vendor/js/helpers.js"></script>
<!--! Template customizer & Theme config files MUST be included after core stylesheets and helpers.js in the <head> section --> <!--! Template customizer & Theme config files MUST be included after core stylesheets and helpers.js in the <head> section -->
<!--? Template customizer: To hide customizer set displayCustomizer value false in config.js. --> <!--? Template customizer: To hide customizer set displayCustomizer value false in config.js. -->
<script src="/vendor/js/template-customizer.js"></script> <!-- <script src="/vendor/js/template-customizer.js"></script> -->
<!--? Config: Mandatory theme config file contain global vars & default theme options, Set your preferred theme option in this file. --> <!--? Config: Mandatory theme config file contain global vars & default theme options, Set your preferred theme option in this file. -->
<script src="/js/config.js"></script> <script src="/js/config.js"></script>
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>
<!-- Core JS --> <!-- Core JS -->
<!-- build:js assets/vendor/js/core.js --> <!-- build:js assets/vendor/js/core.js -->
<script src="/vendor/libs/jquery/jquery.js"></script> <script src="/vendor/libs/jquery/jquery.js"></script>
<script src="/vendor/libs/popper/popper.js"></script> <script src="/vendor/libs/popper/popper.js"></script>
<script src="/vendor/js/bootstrap.js"></script> <script src="/vendor/js/bootstrap.js"></script>
<script src="/vendor/libs/perfect-scrollbar/perfect-scrollbar.js"></script> <script src="/vendor/libs/perfect-scrollbar/perfect-scrollbar.js"></script>
<script src="/vendor/libs/hammer/hammer.js"></script> <script src="/vendor/libs/hammer/hammer.js"></script>
<script src="/vendor/libs/i18n/i18n.js"></script> <script src="/vendor/libs/i18n/i18n.js"></script>
<script src="/vendor/libs/typeahead-js/typeahead.js"></script> <script src="/vendor/libs/typeahead-js/typeahead.js"></script>
<!-- <script src="/vendor/js/menu.js"></script> --> <!-- <script src="/vendor/js/menu.js"></script> -->
<!-- endbuild --> <!-- endbuild -->
<!-- Vendors JS --> <!-- Vendors JS -->
<script src="/vendor/libs/apex-charts/apexcharts.js"></script> <script src="/vendor/libs/apex-charts/apexcharts.js"></script>
<!-- Main JS --> <!-- Main JS -->
<!-- <script src="/js/main.js"></script> --> <!-- <script src="/js/main.js"></script> -->
<!-- Page JS --> <!-- Page JS -->
<!-- <script src="/js/dashboards-analytics.js"></script> --> <!-- <script src="/js/dashboards-analytics.js"></script> -->
<script type="module" src="/src/main.js"></script> <script type="module" src="/src/main.js"></script>
</body> </body>
</html> </html>

View File

@ -2,98 +2,106 @@
{ {
"id": 1, "id": 1,
"title": "타이틀1", "title": "타이틀1",
"content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.", "content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. ",
"date": "2024-12-16 18:01", "date": "2024.12.16 18:01",
"img": "https://picsum.photos/id/1/250/250" "img": "https://picsum.photos/id/1/250/250",
"viewCount": 10,
"cmtCount": 2
}, },
{ {
"id": 2, "id": 2,
"title": "타이틀2", "title": "타이틀2",
"content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.", "content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.",
"date": "2024-12-16 18:02" "date": "2024.12.16 18:02",
"viewCount": 10,
"cmtCount": 2
}, },
{ {
"id": 3, "id": 3,
"title": "타이틀3", "title": "타이틀3",
"content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.", "content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.",
"date": "2024-12-16 18:03", "date": "2024.12.16 18:03",
"img": "https://picsum.photos/id/3/250/250" "img": "https://picsum.photos/id/3/250/250"
}, },
{ {
"id": 4, "id": 4,
"title": "타이틀4", "title": "타이틀4",
"content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.", "content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.",
"date": "2024-12-16 18:04", "date": "2024.12.16 18:04",
"img": "https://picsum.photos/id/4/250/250" "img": "https://picsum.photos/id/4/250/250",
"viewCount": 100,
"cmtCount": 22
}, },
{ {
"id": 5, "id": 5,
"title": "타이틀5", "title": "타이틀5",
"content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.", "content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.",
"date": "2024-12-16 18:05", "date": "2024.12.16 18:05",
"img": "https://picsum.photos/id/5/250/250" "img": "https://picsum.photos/id/5/250/250"
}, },
{ {
"id": 6, "id": 6,
"title": "타이틀6", "title": "타이틀6",
"content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.", "content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.",
"date": "2024-12-16 18:06", "date": "2024.12.16 18:06",
"img": "https://picsum.photos/id/6/250/250" "img": "https://picsum.photos/id/6/250/250"
}, },
{ {
"id": 7, "id": 7,
"title": "타이틀7", "title": "타이틀7",
"content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.", "content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.",
"date": "2024-12-16 18:07", "date": "2024.12.16 18:07",
"img": "https://picsum.photos/id/7/250/250" "img": "https://picsum.photos/id/7/250/250"
}, },
{ {
"id": 8, "id": 8,
"title": "타이틀8", "title": "타이틀8",
"content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.", "content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.",
"date": "2024-12-16 18:08", "date": "2024.12.16 18:08",
"img": "https://picsum.photos/id/8/250/250" "img": "https://picsum.photos/id/8/250/250"
}, },
{ {
"id": 9, "id": 9,
"title": "타이틀9", "title": "타이틀9",
"content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.", "content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.",
"date": "2024-12-16 18:09", "date": "2024.12.16 18:09",
"img": "https://picsum.photos/id/9/250/250" "img": "https://picsum.photos/id/9/250/250"
}, },
{ {
"id": 10, "id": 10,
"title": "타이틀10", "title": "타이틀10",
"content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.", "content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.",
"date": "2024-12-16 18:10", "date": "2024.12.16 18:10",
"img": "https://picsum.photos/id/10/250/250" "img": "https://picsum.photos/id/10/250/250",
"viewCount": 22,
"cmtCount": 33
}, },
{ {
"id": 11, "id": 11,
"title": "타이틀11", "title": "타이틀11",
"content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.", "content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.",
"date": "2024-12-16 18:11", "date": "2024.12.16 18:11",
"img": "https://picsum.photos/id/11/250/250" "img": "https://picsum.photos/id/11/250/250"
}, },
{ {
"id": 12, "id": 12,
"title": "타이틀12", "title": "타이틀12",
"content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.", "content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.",
"date": "2024-12-16 18:12", "date": "2024.12.16 18:12",
"img": "https://picsum.photos/id/12/250/250" "img": "https://picsum.photos/id/12/250/250"
}, },
{ {
"id": 13, "id": 13,
"title": "타이틀13", "title": "타이틀13",
"content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.", "content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.",
"date": "2024-12-16 18:13", "date": "2024.12.16 18:13",
"img": "https://picsum.photos/id/13/250/250" "img": "https://picsum.photos/id/13/250/250"
}, },
{ {
"id": 14, "id": 14,
"title": "타이틀14", "title": "타이틀14",
"content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.", "content": "헌법재판소가 윤석열 대통령 탄핵심판 사건의 첫 변론 준비 기일을 27일 오후 2시에 연다고 밝혔다. 헌재는 이번 사건의 주심 배당도 마쳤지만 비공개 원칙에 따라 공개하지 않기로 했다.이진 헌재 공보관은 16일 언론브리핑에서 “(윤 대통령 탄핵 사건을) 변론 준비 절차에 회부하고, 1차 변론 준비 기일을 27일 오후 2시로 지정했다”고 밝혔다. 이어 “변론 준비 기일에서 검찰과 경찰 등의 수사기록을 조기에 확보하기로 했다”고 덧붙였다. 헌법재판관들은 이날 오전 10시에 재판관 회의를 열고 이같은 내용을 결정했다.",
"date": "2024-12-16 18:14", "date": "2024.12.16 18:14",
"img": "https://picsum.photos/id/14/250/250" "img": "https://picsum.photos/id/14/250/250"
} }
] ]

View File

@ -21,13 +21,13 @@
<BoardComentArea v-if="comment" /> <BoardComentArea v-if="comment" />
</li> </li>
<li> <li>
<BoardProfile profileName=곤데리 :showDetail="false" :unknown="false"/> <BoardProfile :showDetail="false" :unknown="false" />
<div class="mt-2">저도 궁금합니다.</div> <div class="mt-2">저도 궁금합니다.</div>
<button type="button" class="btn btn-text-primary" @click="toggleComment">답변달기</button> <button type="button" class="btn btn-text-primary" @click="toggleComment">답변달기</button>
<BoardComentArea v-if="comment" /> <BoardComentArea v-if="comment" />
</li> </li>
</ul> </ul>
<div>페이지네이션2</div> <Pagination/>
</template> </template>
<script setup> <script setup>
@ -35,6 +35,7 @@
import BoardProfile from './BoardProfile.vue'; import BoardProfile from './BoardProfile.vue';
import BoardComentArea from './BoardComentArea.vue'; import BoardComentArea from './BoardComentArea.vue';
import { ref, computed } from 'vue'; import { ref, computed } from 'vue';
import Pagination from '../pagination/Pagination.vue';
const comment = ref(false); const comment = ref(false);

View File

@ -32,22 +32,19 @@
</button> </button>
</template> </template>
<template v-else> <template v-else>
<button class="btn btn-label-primary btn-icon"> <BoardRecommendBtn :likeClicked="false" :dislikeClicked="true"/>
<i class="fa-regular fa-thumbs-up"></i> <span class="num">1</span>
</button>
<button class="btn btn-label-danger btn-icon">
<i class="fa-regular fa-thumbs-down"></i> <span class="num">1</span>
</button>
</template> </template>
</div> </div>
</div> </div>
</template> </template>
<script setup> <script setup>
import BoardRecommendBtn from './BoardRecommendBtn.vue';
defineProps({ defineProps({
profileName : { profileName : {
type: String, type: String,
required: true, default: '익명',
}, },
unknown : { unknown : {
type: Boolean, type: Boolean,
@ -56,8 +53,10 @@ defineProps({
showDetail : { showDetail : {
type: Boolean, type: Boolean,
default: true, default: true,
}, }
}); });
</script> </script>
<style scoped> <style scoped>
@ -68,8 +67,4 @@ defineProps({
.ms-auto button + button { .ms-auto button + button {
margin-left: 5px; margin-left: 5px;
} }
.num {
margin-left: 5px;
}
</style> </style>

View File

@ -0,0 +1,49 @@
<template>
<button class="btn btn-label-primary btn-icon" :class="likeClicked ? 'clicked' : '' ">
<i class="fa-regular fa-thumbs-up"></i> <span class="num">1</span>
</button>
<button class="btn btn-label-danger btn-icon" :class="dislikeClicked ? 'clicked' : '' ">
<i class="fa-regular fa-thumbs-down"></i> <span class="num">1</span>
</button>
</template>
<script setup>
defineProps({
likeClicked : {
type : Boolean,
default : false,
},
dislikeClicked : {
type : Boolean,
default : false,
}
});
</script>
<style scoped>
.ms-auto button + button {
margin-left: 5px;
}
.num {
margin-left: 5px;
}
.btn-label-danger.clicked {
background-color: #e6381a;
}
.btn-label-danger.clicked i,
.btn-label-danger.clicked span {
color: #fff;
}
.btn-label-primary.clicked {
background-color: #5f61e6;
}
.btn-label-primary.clicked i,
.btn-label-primary.clicked span {
color : #fff;
}
</style>

View File

@ -1,11 +1,11 @@
<template> <template>
<div class=""> <div class="" role="button">
<div class="card"> <div class="card">
<div class="d-flex"> <div class="d-flex">
<div v-if="data.item.img"> <div v-if="data.item.img" class="col-3">
<img class="card-img card-img-left" :src="data.item.img" alt="" style="max-height: 200px; min-width: 200px" /> <img class="card-img card-img-left" :src="data.item.img" alt="" />
</div> </div>
<div> <div lass="col-9">
<div class="card-body"> <div class="card-body">
<h5 class="card-title">{{ data.item.title }}</h5> <h5 class="card-title">{{ data.item.title }}</h5>
<p class="card-text"> <p class="card-text">
@ -13,6 +13,7 @@
</p> </p>
<p class="card-text"> <p class="card-text">
<small class="text-muted">{{ data.item.date }}</small> <small class="text-muted">{{ data.item.date }}</small>
<slot name="optInfo"></slot>
</p> </p>
</div> </div>
</div> </div>

View File

@ -1,12 +1,12 @@
<template> <template>
<nav aria-label="Page navigation"> <nav aria-label="Page navigation">
<ul class="pagination pagination-rounded justify-content-center"> <ul class="pagination pagination-rounded justify-content-center">
<li class="page-item first"> <!-- <li class="page-item first">
<a class="page-link" href="javascript:void(0);"><i class="tf-icon bx bx-chevrons-left bx-sm"></i></a> <a class="page-link" href="javascript:void(0);"><i class="tf-icon bx bx-chevrons-left bx-sm"></i></a>
</li> </li> -->
<li class="page-item prev"> <!-- <li class="page-item prev">
<a class="page-link" href="javascript:void(0);"><i class="tf-icon bx bx-chevron-left bx-sm"></i></a> <a class="page-link" href="javascript:void(0);"><i class="tf-icon bx bx-chevron-left bx-sm"></i></a>
</li> </li> -->
<li class="page-item"> <li class="page-item">
<a class="page-link" href="javascript:void(0);">1</a> <a class="page-link" href="javascript:void(0);">1</a>
</li> </li>

View File

@ -9,7 +9,16 @@
</router-link> </router-link>
</div> </div>
<template v-for="(item, index) in list" :key="item.id"> <template v-for="(item, index) in list" :key="item.id">
<board-card :item="item" /> <board-card :item="item" @click="goDetail(item.id)">
<template #optInfo>
<span v-show="item.viewCount" style="padding-left: 10px" class="text-muted"
><i class="fa-regular fa-eye"></i> {{ item.viewCount }}</span
>
<span v-show="item.cmtCount" style="padding-left: 10px" class="text-muted"
><i class="fa-regular fa-comment-dots"></i> {{ item.cmtCount }}
</span>
</template>
</board-card>
</template> </template>
<div class="mt-8"> <div class="mt-8">
{{ list[0].title }} {{ list[0].title }}
@ -24,9 +33,15 @@
import BoardCard from '@/components/list/BoardCard.vue'; import BoardCard from '@/components/list/BoardCard.vue';
import Pagination from '@/components/pagination/Pagination.vue'; import Pagination from '@/components/pagination/Pagination.vue';
import SearchBar from '@/components/search/SearchBar.vue'; import SearchBar from '@/components/search/SearchBar.vue';
import router from '@/router';
import dummy from '@a/boardDummy.json'; import dummy from '@a/boardDummy.json';
const list = ref(dummy); const list = ref(dummy);
/** 상세로 이동 */
const goDetail = idx => {
router.push(`/board/get/${idx}`);
};
</script> </script>
<style></style> <style></style>