Video: frontend shows 1GB limit for admin, 200MB for users

This commit is contained in:
treamz 2026-03-22 12:05:52 +03:00
parent 1657c5f0a0
commit dcf5717154

View File

@ -422,7 +422,7 @@
</svg> </svg>
</div> </div>
<div class="drop-label">Перетащите видео или нажмите для выбора</div> <div class="drop-label">Перетащите видео или нажмите для выбора</div>
<div class="drop-hint" style="margin-top:6px;">MP4, WebM, MOV, AVI, MKV, MPEG, 3GP, OGG, FLV, WMV — до 200 МБ</div> <div class="drop-hint" style="margin-top:6px;">MP4, WebM, MOV, AVI, MKV, MPEG, 3GP, OGG, FLV, WMV — до <span class="max-size-hint">200 МБ</span></div>
</div> </div>
<input type="file" id="fileInput" accept=".mp4,.webm,.mov,.avi,.mkv,.mpeg,.mpg,.3gp,.ogg,.flv,.wmv" style="display:none;" /> <input type="file" id="fileInput" accept=".mp4,.webm,.mov,.avi,.mkv,.mpeg,.mpg,.3gp,.ogg,.flv,.wmv" style="display:none;" />
</div> </div>
@ -768,10 +768,14 @@
const ACCEPTED = ['video/mp4','video/webm','video/quicktime','video/x-msvideo','video/x-matroska', const ACCEPTED = ['video/mp4','video/webm','video/quicktime','video/x-msvideo','video/x-matroska',
'video/mpeg','video/3gpp','video/ogg','video/x-flv','video/x-ms-wmv']; 'video/mpeg','video/3gpp','video/ogg','video/x-flv','video/x-ms-wmv'];
const MAX_SIZE = 200 * 1024 * 1024; let MAX_SIZE = 200 * 1024 * 1024;
// Admin gets 1GB limit
(function(){ fetch('/auth/me').then(function(r){return r.ok?r.json():null}).then(function(u){
if(u&&u.role==='admin'){MAX_SIZE=1024*1024*1024;document.querySelectorAll('.max-size-hint').forEach(function(e){e.textContent='1 ГБ'})}
}).catch(function(){}); })();
if (file.size > MAX_SIZE) { if (file.size > MAX_SIZE) {
showError('Файл слишком большой. Максимальный размер — 200 МБ.'); showError('Файл слишком большой. Максимальный размер — '+(MAX_SIZE>=1024*1024*1024?'1 ГБ':'200 МБ')+'.');
return; return;
} }
@ -824,7 +828,7 @@
</svg> </svg>
</div> </div>
<div class="drop-label">Перетащите видео или нажмите для выбора</div> <div class="drop-label">Перетащите видео или нажмите для выбора</div>
<div class="drop-hint" style="margin-top:6px;">MP4, WebM, MOV, AVI, MKV, MPEG, 3GP, OGG, FLV, WMV — до 200 МБ</div>`; <div class="drop-hint" style="margin-top:6px;">MP4, WebM, MOV, AVI, MKV, MPEG, 3GP, OGG, FLV, WMV — до <span class="max-size-hint">200 МБ</span></div>`;
showError(err.message || 'Не удалось загрузить файл'); showError(err.message || 'Не удалось загрузить файл');
} }
} }
@ -1049,7 +1053,7 @@
</svg> </svg>
</div> </div>
<div class="drop-label">Перетащите видео или нажмите для выбора</div> <div class="drop-label">Перетащите видео или нажмите для выбора</div>
<div class="drop-hint" style="margin-top:6px;">MP4, WebM, MOV, AVI, MKV, MPEG, 3GP, OGG, FLV, WMV — до 200 МБ</div>`; <div class="drop-hint" style="margin-top:6px;">MP4, WebM, MOV, AVI, MKV, MPEG, 3GP, OGG, FLV, WMV — до <span class="max-size-hint">200 МБ</span></div>`;
} }
function resetAll() { function resetAll() {