fix: [sms] 발신번호를 고정 텍스트로 변경 (셀렉트박스 제거)

This commit is contained in:
김보곤
2026-02-26 10:42:20 +09:00
parent 7404aa68cb
commit 7b5235f2aa

View File

@@ -44,12 +44,13 @@
<div class="bg-white rounded-xl shadow-sm border border-gray-100 p-6">
<h3 class="font-semibold text-gray-800 mb-4">SMS 발송</h3>
<form id="sms-form" class="space-y-4">
<!-- 발신번호 -->
<!-- 발신번호 (고정) -->
<div>
<label class="block text-sm font-medium text-gray-600 mb-1">발신번호</label>
<select name="from_number" id="sms-from-number" class="w-full px-3 py-2 border border-gray-200 rounded-lg text-sm focus:ring-2 focus:ring-blue-500">
<option value="0200050006" selected>02-0005-0006 (()코드브릿지엑스)</option>
</select>
<input type="hidden" name="from_number" value="0200050006">
<div class="w-full px-3 py-2 border border-gray-200 rounded-lg text-sm bg-gray-50 text-gray-800">
02-0005-0006 <span class="text-gray-500">(()코드브릿지엑스)</span>
</div>
</div>
<!-- 수신자 -->
<div class="grid grid-cols-1 lg:grid-cols-2 gap-4">
@@ -100,8 +101,6 @@
@push('scripts')
<script>
let fromNumberList = [];
function getByteLength(str) {
let byteLen = 0;
for (let i = 0; i < str.length; i++) {
@@ -132,7 +131,6 @@ function updateByteCounter() {
function loadFromNumbers() {
const area = document.getElementById('from-numbers-area');
const select = document.getElementById('sms-from-number');
area.innerHTML = '<div class="flex items-center gap-2 text-sm text-gray-500"><svg class="w-4 h-4 animate-spin" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"></path></svg> 발신번호 목록 로딩 중...</div>';
@@ -143,7 +141,6 @@ function loadFromNumbers() {
.then(data => {
if (!data.success) {
area.innerHTML = '<div class="text-sm text-red-500">발신번호 조회 실패: ' + (data.error || data.message || '알 수 없는 오류') + '</div>';
select.innerHTML = '<option value="">발신번호 조회 실패</option>';
return;
}
@@ -157,15 +154,11 @@ function loadFromNumbers() {
numbers = [{ FromNumber: raw }];
}
fromNumberList = numbers;
if (numbers.length === 0) {
area.innerHTML = '<div class="text-sm text-gray-500">등록된 발신번호가 없습니다. 바로빌에서 발신번호를 먼저 등록해주세요.</div>';
select.innerHTML = '<option value="">등록된 발신번호 없음</option>';
area.innerHTML = '<div class="text-sm text-gray-500">바로빌에 등록된 발신번호가 없습니다.</div>';
return;
}
// 발신번호 목록 표시
let html = '<div class="flex flex-wrap gap-2">';
numbers.forEach(num => {
const number = num.FromNumber || num;
@@ -176,21 +169,9 @@ function loadFromNumbers() {
});
html += '</div>';
area.innerHTML = html;
// 셀렉트 채우기 (기본 발신번호 유지)
select.innerHTML = '<option value="0200050006" selected>02-0005-0006 ((주)코드브릿지엑스)</option>';
numbers.forEach(num => {
const number = num.FromNumber || num;
if (number === '0200050006' || number === '02-0005-0006') return;
const opt = document.createElement('option');
opt.value = number.replace(/-/g, '');
opt.textContent = number;
select.appendChild(opt);
});
})
.catch(err => {
area.innerHTML = '<div class="text-sm text-red-500">API 오류: ' + err.message + '</div>';
select.innerHTML = '<option value="">API 오류</option>';
});
}