prevent document controls from implicit submit

This commit is contained in:
2026-09-06 16:49:10 +03:00
parent 73e4e93da6
commit b092fbf604
+11 -11
View File
@@ -304,7 +304,7 @@ const TenderDocumentSession = ({ tender }) => {
</p>
<div className="flex gap-2 flex-wrap">
<button
<button type="button"
onClick={dokumaniAc}
disabled={busy !== null}
className="bg-blue-600 hover:bg-blue-500 disabled:opacity-40 text-white font-bold text-xs px-4 py-2.5 rounded-xl flex items-center gap-2"
@@ -313,7 +313,7 @@ const TenderDocumentSession = ({ tender }) => {
EKAP Dokümanlarını Aç
</button>
<button
<button type="button"
onClick={ilaniAnalizEt}
disabled={busy !== null}
className="bg-amber-400 hover:bg-amber-300 disabled:opacity-40 text-slate-950 font-black text-xs px-4 py-2.5 rounded-xl flex items-center gap-2"
@@ -377,7 +377,7 @@ const TenderDocumentSession = ({ tender }) => {
accept=".pdf,.docx,.xlsx,.zip,.txt"
className="hidden"
/>
<button
<button type="button"
onClick={() => dosyaRef.current?.click()}
disabled={yukleniyor}
className="bg-slate-900 hover:bg-slate-800 disabled:opacity-40 text-white font-bold text-xs px-3.5 py-2 rounded-lg flex items-center gap-2"
@@ -399,7 +399,7 @@ const TenderDocumentSession = ({ tender }) => {
{listeBekliyor && <p role="status" className="text-xs text-slate-500">Belge listesi yükleniyor…</p>}
{listeHata && <div role="alert" className="text-xs text-red-700">
Belge listesi alınamadı: {listeHata}
<button onClick={belgeleriYukle} className="ml-2 underline">Listeyi yeniden yükle</button>
<button type="button" onClick={belgeleriYukle} className="ml-2 underline">Listeyi yeniden yükle</button>
</div>}
{belgeler.length > 0 && (
<div className="space-y-1.5">
@@ -413,14 +413,14 @@ const TenderDocumentSession = ({ tender }) => {
<span className="text-[10px] text-slate-400 whitespace-nowrap">
{(b.boyut / 1024).toLocaleString('tr-TR', { maximumFractionDigits: 0 })} KB
</span>
<button
<button type="button"
onClick={() => belgeyiAnalizEt(b)}
disabled={busy !== null}
className="text-[10px] font-bold text-amber-700 hover:text-amber-800 disabled:opacity-40 whitespace-nowrap"
>
{busy === 'belge' ? '…' : 'AI analiz'}
</button>
<button
<button type="button"
onClick={() => belgeyiAnalizEt(b, 'derin')}
disabled={busy !== null}
className="text-[10px] font-bold text-indigo-700 hover:text-indigo-800 disabled:opacity-40 whitespace-nowrap"
@@ -428,16 +428,16 @@ const TenderDocumentSession = ({ tender }) => {
>
Derin
</button>
{okunabilirMi(b.ad) && <button onClick={() => metniIncele(b)} disabled={busy !== null || !b.erisilebilir}
{okunabilirMi(b.ad) && <button type="button" onClick={() => metniIncele(b)} disabled={busy !== null || !b.erisilebilir}
aria-label={`${b.ad} metnini incele`} className="text-[10px] text-blue-700 disabled:opacity-40">Metni incele</button>}
{b.tur === 'ihale' && okunabilirMi(b.ad) && (
<button onClick={() => kalemleriYenidenCikar(b)} disabled={busy !== null || yukleniyor || !b.erisilebilir}
<button type="button" onClick={() => kalemleriYenidenCikar(b)} disabled={busy !== null || yukleniyor || !b.erisilebilir}
aria-label={`${b.ad} için kalem çıkarımını yeniden dene`}
className="text-[10px] font-bold text-blue-700 disabled:opacity-40">
{busy === 'kalem' ? 'İşleniyor…' : 'Kalemleri yeniden çıkar'}
</button>
)}
<button disabled={busy !== null || yukleniyor} onClick={() => belgeSil(b.id)} className="text-slate-300 hover:text-red-600" aria-label="Sil">
<button type="button" disabled={busy !== null || yukleniyor} onClick={() => belgeSil(b.id)} className="text-slate-300 hover:text-red-600" aria-label="Sil">
<Trash2 className="w-3.5 h-3.5" />
</button>
</div>
@@ -459,7 +459,7 @@ const TenderDocumentSession = ({ tender }) => {
assertCurrent();
setIsAiSpecAnalyzerOpen(true);
}} />}
<button onClick={()=>setMetinOnizleme(null)} className="text-xs underline">Metin önizlemesini kapat</button>
<button type="button" onClick={()=>setMetinOnizleme(null)} className="text-xs underline">Metin önizlemesini kapat</button>
</section>}
{(ekapIhalesi || belgeler.length > 0) && (
@@ -478,7 +478,7 @@ const TenderDocumentSession = ({ tender }) => {
</div>
</div>
<button
<button type="button"
onClick={derinAnalizEt}
disabled={busy !== null}
className="w-full bg-amber-400 hover:bg-amber-300 disabled:opacity-40 text-slate-950 font-black text-xs px-4 py-2.5 rounded-xl flex items-center justify-center gap-2"