feat: 의견 상세/전체보기의 화면 URL을 클릭 가능한 링크로
fb_page_url을 embed=1 파라미터 제거 후 전체 절대 URL로 변환해 새 탭(target=_blank)으로 바로 열리게 한다. 나머지 쿼리는 보존.
This commit is contained in:
@@ -14,7 +14,7 @@ $badge = static function (string $s): string {
|
|||||||
$map = [
|
$map = [
|
||||||
'new' => 'bg-blue-50 text-blue-700',
|
'new' => 'bg-blue-50 text-blue-700',
|
||||||
'in_progress' => 'bg-amber-50 text-amber-700',
|
'in_progress' => 'bg-amber-50 text-amber-700',
|
||||||
'answered' => 'bg-teal-50 text-teal-700',
|
'answered' => 'bg-gray-100 text-gray-500',
|
||||||
'done' => 'bg-emerald-50 text-emerald-700',
|
'done' => 'bg-emerald-50 text-emerald-700',
|
||||||
'hold' => 'bg-gray-100 text-gray-500',
|
'hold' => 'bg-gray-100 text-gray-500',
|
||||||
];
|
];
|
||||||
@@ -63,9 +63,20 @@ $badge = static function (string $s): string {
|
|||||||
<span class="text-gray-400 text-[12px]">·</span>
|
<span class="text-gray-400 text-[12px]">·</span>
|
||||||
<span class="text-gray-600 text-[12px]"><?= esc((string) ($row->fb_mb_name ?? '')) ?></span>
|
<span class="text-gray-600 text-[12px]"><?= esc((string) ($row->fb_mb_name ?? '')) ?></span>
|
||||||
</div>
|
</div>
|
||||||
|
<?php
|
||||||
|
$fbUrlRaw = (string) ($row->fb_page_url ?? '');
|
||||||
|
$fbUrlOpen = $fbUrlRaw;
|
||||||
|
if ($fbUrlOpen !== '' && ! preg_match('#^https?://#i', $fbUrlOpen)) {
|
||||||
|
$fbUrlOpen = (string) preg_replace('/([?&])embed=1(?=&|$)/', '$1', $fbUrlOpen);
|
||||||
|
$fbUrlOpen = rtrim($fbUrlOpen, '?&');
|
||||||
|
$fbUrlOpen = base_url(ltrim($fbUrlOpen, '/'));
|
||||||
|
}
|
||||||
|
?>
|
||||||
<div class="text-[12px] text-gray-500">
|
<div class="text-[12px] text-gray-500">
|
||||||
<?= esc((string) ($row->fb_page_title ?: '-')) ?>
|
<?= esc((string) ($row->fb_page_title ?: '-')) ?>
|
||||||
<span class="text-gray-400"> · <?= esc((string) ($row->fb_page_url ?: '')) ?></span>
|
<?php if ($fbUrlRaw !== ''): ?>
|
||||||
|
<span class="text-gray-400"> · </span><a href="<?= esc($fbUrlOpen, 'attr') ?>" target="_blank" rel="noopener" class="text-blue-600 hover:underline break-all"><?= esc($fbUrlRaw) ?></a>
|
||||||
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -24,8 +24,26 @@ use App\Models\FeedbackModel;
|
|||||||
<div class="p-3 space-y-2 text-sm">
|
<div class="p-3 space-y-2 text-sm">
|
||||||
<p class="whitespace-pre-wrap text-gray-800"><?= esc((string) $row->fb_content) ?></p>
|
<p class="whitespace-pre-wrap text-gray-800"><?= esc((string) $row->fb_content) ?></p>
|
||||||
<hr class="my-2"/>
|
<hr class="my-2"/>
|
||||||
|
<?php
|
||||||
|
// 화면 URL — embed 파라미터를 떼고 전체 화면 절대 URL로 변환(클릭 시 해당 화면으로 바로 이동).
|
||||||
|
$fbUrlRaw = (string) ($row->fb_page_url ?? '');
|
||||||
|
$fbUrlOpen = $fbUrlRaw;
|
||||||
|
if ($fbUrlOpen !== '' && ! preg_match('#^https?://#i', $fbUrlOpen)) {
|
||||||
|
$fbUrlOpen = (string) preg_replace('/([?&])embed=1(?=&|$)/', '$1', $fbUrlOpen);
|
||||||
|
$fbUrlOpen = rtrim($fbUrlOpen, '?&');
|
||||||
|
$fbUrlOpen = base_url(ltrim($fbUrlOpen, '/'));
|
||||||
|
}
|
||||||
|
?>
|
||||||
<dl class="grid grid-cols-[5rem_1fr] gap-y-1 text-[12px] text-gray-600">
|
<dl class="grid grid-cols-[5rem_1fr] gap-y-1 text-[12px] text-gray-600">
|
||||||
<dt class="font-semibold">화면</dt><dd><?= esc((string) ($row->fb_page_title ?: '-')) ?><br><span class="text-gray-400"><?= esc((string) ($row->fb_page_url ?: '')) ?></span></dd>
|
<dt class="font-semibold">화면</dt>
|
||||||
|
<dd>
|
||||||
|
<?= esc((string) ($row->fb_page_title ?: '-')) ?><br>
|
||||||
|
<?php if ($fbUrlRaw !== ''): ?>
|
||||||
|
<a href="<?= esc($fbUrlOpen, 'attr') ?>" target="_blank" rel="noopener" class="text-blue-600 hover:underline break-all"><?= esc($fbUrlRaw) ?></a>
|
||||||
|
<?php else: ?>
|
||||||
|
<span class="text-gray-400">-</span>
|
||||||
|
<?php endif; ?>
|
||||||
|
</dd>
|
||||||
<dt class="font-semibold">작성자</dt><dd><?= esc((string) ($row->fb_mb_name ?? '')) ?> (idx <?= (int) $row->fb_mb_idx ?>, level <?= (int) $row->fb_mb_level ?>)</dd>
|
<dt class="font-semibold">작성자</dt><dd><?= esc((string) ($row->fb_mb_name ?? '')) ?> (idx <?= (int) $row->fb_mb_idx ?>, level <?= (int) $row->fb_mb_level ?>)</dd>
|
||||||
<dt class="font-semibold">지자체</dt><dd><?= (int) ($row->fb_lg_idx ?? 0) ?></dd>
|
<dt class="font-semibold">지자체</dt><dd><?= (int) ($row->fb_lg_idx ?? 0) ?></dd>
|
||||||
<dt class="font-semibold">일시</dt><dd><?= esc((string) ($row->fb_regdate ?? '')) ?></dd>
|
<dt class="font-semibold">일시</dt><dd><?= esc((string) ($row->fb_regdate ?? '')) ?></dd>
|
||||||
|
|||||||
Reference in New Issue
Block a user