fix: 사용자 의견 목록/전체보기에서 텍스트 드래그·선택 가능하도록 수정
관리자 레이아웃 body의 select-none 때문에 의견 본문을 선택·복사할 수 없던 문제를 opt-in 클래스(.fb-selectable)로 해제. 목록형·전체보기 화면에 적용하고, 목록형은 텍스트 선택 중 행 클릭 시 상세로 이동하지 않도록 가드 추가. (의견 상세 화면은 이미 동일 방식으로 적용됨) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -22,6 +22,7 @@ $badge = static function (string $s): string {
|
||||
return '<span class="inline-block px-2 py-0.5 rounded-full text-[11px] font-medium ' . $c . '">' . esc(FeedbackModel::statusLabel($s)) . '</span>';
|
||||
};
|
||||
?>
|
||||
<div class="fb-selectable">
|
||||
<section class="border-b border-gray-300 p-2 shrink-0 bg-control-panel flex flex-wrap items-center justify-between gap-2">
|
||||
<span class="text-sm font-bold text-gray-700">사용자 의견 · 전체보기 (<?= count($list) ?>건)</span>
|
||||
<div class="flex items-center gap-2">
|
||||
@@ -115,3 +116,4 @@ $badge = static function (string $s): string {
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div><!-- /.fb-selectable -->
|
||||
|
||||
@@ -20,6 +20,7 @@ $badge = static function (string $s): string {
|
||||
return '<span class="inline-block px-2 py-0.5 rounded-full text-[11px] font-medium ' . $c . '">' . esc(FeedbackModel::statusLabel($s)) . '</span>';
|
||||
};
|
||||
?>
|
||||
<div class="fb-selectable">
|
||||
<section class="border-b border-gray-300 p-2 shrink-0 bg-control-panel flex flex-wrap items-center justify-between gap-2">
|
||||
<span class="text-sm font-bold text-gray-700">사용자 의견</span>
|
||||
<div class="flex items-center gap-2">
|
||||
@@ -53,7 +54,7 @@ $badge = static function (string $s): string {
|
||||
<tr><td colspan="7" class="text-center text-gray-400 py-6">접수된 의견이 없습니다.</td></tr>
|
||||
<?php else: ?>
|
||||
<?php foreach ($list as $row): ?>
|
||||
<tr class="cursor-pointer hover:bg-blue-50/60" onclick="window.location.href='<?= site_url('admin/feedback/' . (int) $row->fb_idx) ?>'">
|
||||
<tr class="cursor-pointer hover:bg-blue-50/60" onclick="if(!window.getSelection().toString()){window.location.href='<?= site_url('admin/feedback/' . (int) $row->fb_idx) ?>';}">
|
||||
<td class="text-left text-gray-500"><?= (int) $row->fb_idx ?></td>
|
||||
<td class="text-left text-gray-500 text-[12px]"><?= esc((string) ($row->fb_regdate ?? '')) ?></td>
|
||||
<td class="text-left"><?= $badge((string) ($row->fb_status ?? 'new')) ?></td>
|
||||
@@ -68,3 +69,4 @@ $badge = static function (string $s): string {
|
||||
</table>
|
||||
</div>
|
||||
<?php if (isset($pager)): ?><div class="mt-3"><?= $pager->links() ?></div><?php endif; ?>
|
||||
</div><!-- /.fb-selectable -->
|
||||
|
||||
@@ -91,6 +91,13 @@ tailwind.config = {
|
||||
.data-table tbody td { color: #374151; }
|
||||
.data-table tbody tr:last-child td { border-bottom: 0; }
|
||||
.data-table tbody tr:hover td { background-color: #f9fafb; }
|
||||
/* body의 select-none 상속을 무효화해 본문 텍스트를 드래그·복사할 수 있게 하는 opt-in 클래스 */
|
||||
.fb-selectable, .fb-selectable * {
|
||||
-webkit-user-select: text;
|
||||
-moz-user-select: text;
|
||||
-ms-user-select: text;
|
||||
user-select: text;
|
||||
}
|
||||
@media print {
|
||||
.portal-header, .sidebar, .portal-footer, .no-print, nav.portal-top-nav { display: none !important; }
|
||||
body.gov-portal-shell { background: #fff; display: block; }
|
||||
|
||||
Reference in New Issue
Block a user