@php $inputClass = 'dark:bg-dark-900 shadow-theme-xs focus:border-brand-300 focus:ring-brand-500/10 dark:focus:border-brand-800 h-11 w-full rounded-lg border bg-transparent px-4 py-2.5 text-sm text-gray-800 placeholder:text-gray-400 focus:ring-3 focus:outline-hidden dark:bg-gray-900 dark:text-white/90 dark:placeholder:text-white/30'; $selectClass = 'dark:bg-dark-900 shadow-theme-xs focus:border-brand-300 focus:ring-brand-500/10 dark:focus:border-brand-800 h-11 w-full appearance-none rounded-lg border bg-transparent px-4 py-2.5 text-sm text-gray-800 focus:ring-3 focus:outline-hidden dark:bg-gray-900 dark:text-white/90'; $labelClass = 'mb-1.5 block text-sm font-medium text-gray-700 dark:text-gray-400'; $errorClass = 'border-error-300 focus:border-error-300 focus:ring-error-500/10 dark:border-error-700'; $normalClass = 'border-gray-300 dark:border-gray-700'; $dateClass = 'dark:bg-dark-900 shadow-theme-xs focus:border-brand-300 focus:ring-brand-500/10 dark:focus:border-brand-800 h-11 w-full appearance-none rounded-lg border bg-transparent bg-none px-4 py-2.5 pr-11 text-sm text-gray-800 placeholder:text-gray-400 focus:ring-3 focus:outline-hidden dark:bg-gray-900 dark:text-white/90 dark:placeholder:text-white/30'; $timeClass = 'dark:bg-dark-900 shadow-theme-xs focus:border-brand-300 focus:ring-brand-500/10 dark:focus:border-brand-800 h-11 w-full appearance-none rounded-lg border bg-transparent bg-none px-4 py-2.5 pr-16 text-sm text-gray-800 placeholder:text-gray-400 focus:ring-3 focus:outline-hidden dark:bg-gray-900 dark:text-white/90 dark:placeholder:text-white/30'; $groupLabelClass = 'mb-3 text-theme-xs font-medium tracking-wide text-gray-400 uppercase dark:text-gray-500'; @endphp {{-- ================= Translations (concept sama seperti content-application) ================= --}} @php $existingTranslations = isset($tender) ? $tender->translations->keyBy('language') : collect(); $firstLang = $languages->keys()->first(); $mainLangCode = $firstLang; foreach ($languages as $code => $descr) { if (old('translations.'.$code.'.main')) { $mainLangCode = $code; break; } } if (isset($tender) && ! old('translations.'.$mainLangCode.'.main')) { $existingMain = $tender->translations->firstWhere('main', true); $mainLangCode = $existingMain->language ?? $mainLangCode; } $titleErrorLang = null; foreach ($languages as $code => $descr) { if ($errors->has('translations.'.$code.'.title')) { $titleErrorLang = $code; break; } } $initialLang = $titleErrorLang ?? $mainLangCode; @endphp
{{ $message }}
@else @if ($loop->first && $errors->has('translations')){{ $errors->first('translations') }}
@endif @enderror{{ $message }}
@enderrorOpen / Closed status is derived automatically from the closing date and time.
Tender Period
{{ $message }}
@enderror{{ $message }}
@enderror{{ $message }}
@enderror{{ $message }}
@enderrorBriefing & Site Visit
{{ $message }}
@enderror{{ $message }}
@enderror{{ $message }}
@enderror{{ $message }}
@enderrorPDF, Word, Excel or ZIP — max 150MB per file.
{{ $message }}
@enderror{{ $message }}
@enderror{{ $message }}
@enderrorAttachments
BOQ, price schedule, drawings or specifications. You can select more than one file.
{{ basename($document->file) }}@if ($document->created_at) · {{ $document->created_at->format('d M Y') }}@endif
PDF, Word, Excel or ZIP · max 150MB per file · up to 20 files at a time
@error('attachments'){{ $message }}
@enderror @error('attachments.*'){{ $message }}
@enderror{{ $message }}
@enderror{{ $message }}
@enderror{{ $message }}
@enderror{{ $message }}
@enderror