feat: localize career page and add mandatory NDA/contract document upload requirements to application form
This commit is contained in:
@@ -4,8 +4,8 @@
|
||||
<section class="wrapper bg-[#f0f7ff]">
|
||||
<div class="container pt-16 pb-8 text-center">
|
||||
<div class="max-w-4xl mx-auto">
|
||||
<h1 class="text-5xl font-bold mb-4 text-slate-900 tracking-tight">{{ __('career.job_application_title', ['default' => 'İş Başvurusu']) }}</h1>
|
||||
<p class="text-lg text-slate-600 leading-relaxed">{{ __('career.job_application_description', ['default' => 'Ekibimize katılmak için aşağıdaki formu doldurarak CV\'nizi iletebilirsiniz.']) }}</p>
|
||||
<h1 class="text-5xl font-bold mb-4 text-slate-900 tracking-tight">{{ __('career.job_application_title') }}</h1>
|
||||
<p class="text-lg text-slate-600 leading-relaxed">{{ __('career.job_application_description') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -14,44 +14,41 @@
|
||||
<div class="container px-4">
|
||||
<div class="max-w-5xl mx-auto mb-16">
|
||||
<div class="bg-blue-50 border-l-4 border-blue-500 p-8 rounded-r-2xl shadow-sm">
|
||||
<h4 class="text-xl font-bold text-blue-900 mb-4">Değerli Geliştirici Adayı,</h4>
|
||||
<h4 class="text-xl font-bold text-blue-900 mb-4">{{ __('career.dear_developer') }}</h4>
|
||||
<div class="text-blue-800 space-y-4 leading-relaxed">
|
||||
<p>Trunçgil Teknoloji olarak geliştirmekte olduğumuz Laravel tabanlı yazılım projemiz için her seviyeden freelance geliştiricilerle çalışıyoruz. İş modeli olarak <strong>issue/task bazlı ödeme sistemi</strong> uygulanmakta olup, görevler önceden belirlenmiş ücretlerle adaylara sunulmaktadır.</p>
|
||||
<p>Aşağıdaki bilgileri sizden istememizin temel sebebi, başvurunuzun değerlendirilmesi sürecinde projemizin kaynak kodlarına sınırlı da olsa erişim sağlamamız gerektiğidir. Bu nedenle, hem yasal güvenliği sağlamak hem de tarafların haklarını korumak adına, aşağıdaki <strong>Gizlilik Sözleşmesi (NDA)</strong> ve <strong>Bağımsız Sözleşmeli Sözleşmesi</strong> belgelerinin incelenmesi ve imzalanmış hallerinin başvuru esnasında iletilmesi gerekmektedir.</p>
|
||||
<p>Lütfen aşağıdaki formu doldurunuz ve imzalanmış belgeleri PDF formatında tek bir dosya veya zip olarak yükleyiniz.</p>
|
||||
<p>Bilgileriniz gizlilik içerisinde yalnızca başvuru süreci ve taraflar arası yasal koruma amacıyla kullanılacaktır.</p>
|
||||
<p>Teşekkür ederiz.</p>
|
||||
<p>{!! __('career.intro_text_1') !!}</p>
|
||||
<p>{!! __('career.intro_text_2') !!}</p>
|
||||
<p>{{ __('career.intro_text_3') }}</p>
|
||||
<p>{{ __('career.intro_text_4') }}</p>
|
||||
<p>{{ __('career.thanks') }}</p>
|
||||
<div class="pt-4 border-t border-blue-200 mt-4 text-sm font-medium">
|
||||
TRUNÇGİL TEKNOLOJİ SANAYİ VE TİCARET LİMİTED ŞİRKETİ<br>
|
||||
Adres: Çamtepe Mah. Mahmut Tevfik Atay Bul. Gaziantep Teknopark No: 4A İç Kapı No: 1 Şahinbey / Gaziantep<br>
|
||||
E-posta: info@truncgil.com.tr<br>
|
||||
Vergi No: 8591492435 – Şahinbey V.D. | MERSİS: 0859149243500001
|
||||
{!! __('career.company_details') !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-center mb-12">
|
||||
<h2 class="text-xs uppercase font-bold tracking-widest text-[#e31e24] mb-2">Çalışma Modelimiz</h2>
|
||||
<h3 class="text-3xl md:text-4xl font-extrabold text-slate-900">Issue Bazlı Uzaktan Çalışma</h3>
|
||||
<h2 class="text-xs uppercase font-bold tracking-widest text-[#e31e24] mb-2">{{ __('career.working_model_title') }}</h2>
|
||||
<h3 class="text-3xl md:text-4xl font-extrabold text-slate-900">{{ __('career.working_model_subtitle') }}</h3>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col lg:flex-row items-center gap-12 mb-20 max-w-6xl mx-auto">
|
||||
<div class="w-full lg:w-3/5">
|
||||
<div class="bg-white p-4 md:p-8 rounded-3xl shadow-2xl border border-slate-100 overflow-hidden flex justify-center">
|
||||
<img src="{{ asset('assets/ik-flowchat.png') }}" alt="IK Flowchart" class="w-full h-auto rounded-xl">
|
||||
<img src="{{ asset('assets/ik-flowchat.png') }}" alt="{{ __('career.working_model_title') }}" class="w-full h-auto rounded-xl">
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full lg:w-2/5 space-y-8">
|
||||
<h4 class="text-2xl font-bold text-slate-900">Şartlar ve Koşullar</h4>
|
||||
<h4 class="text-2xl font-bold text-slate-900">{{ __('career.terms_title') }}</h4>
|
||||
<div class="space-y-6">
|
||||
<div class="flex items-start gap-4">
|
||||
<div class="flex-shrink-0 w-8 h-8 rounded-full bg-red-50 flex items-center justify-center text-[#e31e24]">
|
||||
<i class="uil uil-check-circle text-xl"></i>
|
||||
</div>
|
||||
<div>
|
||||
<span class="font-bold text-slate-800 block text-sm">Tamamen Uzaktan:</span>
|
||||
<p class="text-sm text-slate-500">Dünyanın her yerinden, kendi çalışma ortamınızda görev alabilirsiniz.</p>
|
||||
<span class="font-bold text-slate-800 block text-sm">{{ __('career.fully_remote') }}</span>
|
||||
<p class="text-sm text-slate-500">{{ __('career.fully_remote_desc') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-start gap-4">
|
||||
@@ -59,8 +56,8 @@
|
||||
<i class="uil uil-check-circle text-xl"></i>
|
||||
</div>
|
||||
<div>
|
||||
<span class="font-bold text-slate-800 block text-sm">Bağımsız Sözleşmeli:</span>
|
||||
<p class="text-sm text-slate-500">Freelance çalışma modeli ile projelerimize katkı sağlarsınız.</p>
|
||||
<span class="font-bold text-slate-800 block text-sm">{{ __('career.independent_contractor') }}</span>
|
||||
<p class="text-sm text-slate-500">{{ __('career.independent_contractor_desc') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-start gap-4">
|
||||
@@ -68,14 +65,14 @@
|
||||
<i class="uil uil-check-circle text-xl"></i>
|
||||
</div>
|
||||
<div>
|
||||
<span class="font-bold text-slate-800 block text-sm">Zorunlu Belgeler:</span>
|
||||
<p class="text-sm text-slate-500">Güvenlik gereği NDA ve Bağımsız Sözleşmeli belgelerinin imzalanması zorunludur.</p>
|
||||
<span class="font-bold text-slate-800 block text-sm">{{ __('career.mandatory_documents') }}</span>
|
||||
<p class="text-sm text-slate-500">{{ __('career.mandatory_documents_desc') }}</p>
|
||||
<div class="mt-2 flex flex-wrap gap-3">
|
||||
<a href="https://docs.google.com/document/d/1WwDo_zgx4KjdnX6ohJaCfPQSS0-eRN41OB1HYvAmDO4/edit?usp=sharing" target="_blank" class="text-xs font-bold text-blue-600 hover:underline flex items-center gap-1">
|
||||
<i class="uil uil-file-download"></i> Gizlilik Sözleşmesi (NDA)
|
||||
<i class="uil uil-file-download"></i> {{ __('career.nda_label') }}
|
||||
</a>
|
||||
<a href="https://docs.google.com/document/d/1VofpJIxmQmxSLk6OxsDjCtrMte0UkAFCSaQfZCS2DP8/edit?usp=sharing" target="_blank" class="text-xs font-bold text-blue-600 hover:underline flex items-center gap-1">
|
||||
<i class="uil uil-file-download"></i> Bağımsız Sözleşmeli Sözleşmesi
|
||||
<i class="uil uil-file-download"></i> {{ __('career.contract_label') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -88,8 +85,8 @@
|
||||
<div class="bg-white rounded-[2rem] shadow-2xl overflow-hidden border border-slate-100">
|
||||
<div class="p-8 md:p-12">
|
||||
<div class="mb-10 text-center">
|
||||
<h2 class="text-3xl font-bold text-slate-900 mb-2">Başvuru Formu</h2>
|
||||
<p class="text-slate-500">Lütfen tüm alanları eksiksiz doldurunuz.</p>
|
||||
<h2 class="text-3xl font-bold text-slate-900 mb-2">{{ __('career.form_title') }}</h2>
|
||||
<p class="text-slate-500">{{ __('career.form_subtitle') }}</p>
|
||||
<div class="w-12 h-1 bg-[#e31e24] rounded-full mx-auto mt-4"></div>
|
||||
</div>
|
||||
|
||||
@@ -98,31 +95,31 @@
|
||||
<input type="hidden" name="type" value="job">
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-12 gap-6 items-center">
|
||||
<label for="name" class="md:col-span-3 text-sm font-bold text-slate-700 md:text-right">{{ __('career.name', ['default' => 'Ad Soyad']) }} <span class="text-[#e31e24]">*</span></label>
|
||||
<label for="name" class="md:col-span-3 text-sm font-bold text-slate-700 md:text-right">{{ __('career.name') }} <span class="text-[#e31e24]">*</span></label>
|
||||
<div class="md:col-span-9">
|
||||
<input type="text" name="name" id="name" class="w-full px-5 py-3 rounded-xl border border-slate-200 focus:ring-4 focus:ring-red-500/10 focus:border-[#e31e24] outline-none transition-all placeholder-slate-300" placeholder="Örn: Ahmet Yılmaz" value="{{ old('name') }}" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-12 gap-6 items-center">
|
||||
<label for="email" class="md:col-span-3 text-sm font-bold text-slate-700 md:text-right">{{ __('career.email', ['default' => 'E-posta']) }} <span class="text-[#e31e24]">*</span></label>
|
||||
<label for="email" class="md:col-span-3 text-sm font-bold text-slate-700 md:text-right">{{ __('career.email') }} <span class="text-[#e31e24]">*</span></label>
|
||||
<div class="md:col-span-9">
|
||||
<input type="email" name="email" id="email" class="w-full px-5 py-3 rounded-xl border border-slate-200 focus:ring-4 focus:ring-red-500/10 focus:border-[#e31e24] outline-none transition-all placeholder-slate-300" placeholder="Örn: ahmet@example.com" value="{{ old('email') }}" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-12 gap-6 items-center">
|
||||
<label for="phone" class="md:col-span-3 text-sm font-bold text-slate-700 md:text-right">{{ __('career.phone', ['default' => 'Telefon']) }}</label>
|
||||
<label for="phone" class="md:col-span-3 text-sm font-bold text-slate-700 md:text-right">{{ __('career.phone') }}</label>
|
||||
<div class="md:col-span-9">
|
||||
<input type="text" name="phone" id="phone" class="w-full px-5 py-3 rounded-xl border border-slate-200 focus:ring-4 focus:ring-red-500/10 focus:border-[#e31e24] outline-none transition-all placeholder-slate-300" placeholder="Örn: 05XX XXX XX XX" value="{{ old('phone') }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-12 gap-6 items-center">
|
||||
<label for="cv" class="md:col-span-3 text-sm font-bold text-slate-700 md:text-right">{{ __('career.cv', ['default' => 'Özgeçmiş (CV)']) }} <span class="text-[#e31e24]">*</span></label>
|
||||
<label for="cv" class="md:col-span-3 text-sm font-bold text-slate-700 md:text-right">{{ __('career.cv') }} <span class="text-[#e31e24]">*</span></label>
|
||||
<div class="md:col-span-9">
|
||||
<input type="file" name="cv" id="cv" class="w-full px-5 py-2.5 rounded-xl border border-slate-200 file:mr-4 file:py-2 file:px-4 file:rounded-full file:border-0 file:text-xs file:font-semibold file:bg-red-50 file:text-[#e31e24] hover:file:bg-red-100 transition-all" required>
|
||||
<p class="mt-2 text-xs text-slate-400">PDF, DOC, DOCX (Maks. 5MB)</p>
|
||||
<p class="mt-2 text-xs text-slate-400">{{ __('career.cv_description') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -130,7 +127,7 @@
|
||||
<label for="nda" class="md:col-span-3 text-sm font-bold text-slate-700 md:text-right">{{ __('career.nda') }} <span class="text-[#e31e24]">*</span></label>
|
||||
<div class="md:col-span-9">
|
||||
<input type="file" name="nda" id="nda" class="w-full px-5 py-2.5 rounded-xl border border-slate-200 file:mr-4 file:py-2 file:px-4 file:rounded-full file:border-0 file:text-xs file:font-semibold file:bg-red-50 file:text-[#e31e24] hover:file:bg-red-100 transition-all" required>
|
||||
<p class="mt-2 text-xs text-slate-400">İmzalanmış Gizlilik Sözleşmesi (PDF, Maks. 5MB)</p>
|
||||
<p class="mt-2 text-xs text-slate-400">{{ __('career.nda_description') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -138,7 +135,7 @@
|
||||
<label for="contract" class="md:col-span-3 text-sm font-bold text-slate-700 md:text-right">{{ __('career.contract') }} <span class="text-[#e31e24]">*</span></label>
|
||||
<div class="md:col-span-9">
|
||||
<input type="file" name="contract" id="contract" class="w-full px-5 py-2.5 rounded-xl border border-slate-200 file:mr-4 file:py-2 file:px-4 file:rounded-full file:border-0 file:text-xs file:font-semibold file:bg-red-50 file:text-[#e31e24] hover:file:bg-red-100 transition-all" required>
|
||||
<p class="mt-2 text-xs text-slate-400">İmzalanmış Bağımsız Sözleşmeli Sözleşmesi (PDF, Maks. 5MB)</p>
|
||||
<p class="mt-2 text-xs text-slate-400">{{ __('career.contract_description') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -146,26 +143,26 @@
|
||||
<div class="md:col-start-4 md:col-span-9 space-y-4">
|
||||
<div class="flex items-center gap-3">
|
||||
<input type="checkbox" name="git_knowledge" id="git_knowledge" class="w-5 h-5 rounded border-slate-300 text-[#e31e24] focus:ring-[#e31e24]" required>
|
||||
<label for="git_knowledge" class="text-sm text-slate-700 font-medium">GIT versiyon kontrol sistemini kullanmayı biliyorum. <span class="text-[#e31e24]">*</span></label>
|
||||
<label for="git_knowledge" class="text-sm text-slate-700 font-medium">{{ __('career.git_confirmation') }} <span class="text-[#e31e24]">*</span></label>
|
||||
</div>
|
||||
<div class="flex items-center gap-3">
|
||||
<input type="checkbox" name="ai_usage" id="ai_usage" class="w-5 h-5 rounded border-slate-300 text-[#e31e24] focus:ring-[#e31e24]" required>
|
||||
<label for="ai_usage" class="text-sm text-slate-700 font-medium">Yazılım geliştirme süreçlerinde AI araçlarını (Copilot, ChatGPT vb.) etkin kullanıyorum. <span class="text-[#e31e24]">*</span></label>
|
||||
<label for="ai_usage" class="text-sm text-slate-700 font-medium">{{ __('career.ai_confirmation') }} <span class="text-[#e31e24]">*</span></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-12 gap-6 items-start">
|
||||
<label for="message" class="md:col-span-3 text-sm font-bold text-slate-700 md:text-right pt-3">{{ __('career.message', ['default' => 'Mesajınız']) }}</label>
|
||||
<label for="message" class="md:col-span-3 text-sm font-bold text-slate-700 md:text-right pt-3">{{ __('career.message') }}</label>
|
||||
<div class="md:col-span-9">
|
||||
<textarea name="message" id="message" class="w-full px-5 py-4 rounded-xl border border-slate-200 focus:ring-4 focus:ring-red-500/10 focus:border-[#e31e24] outline-none transition-all placeholder-slate-300 min-h-[150px]" placeholder="Yetenekleriniz, deneyimleriniz ve eklemek istedikleriniz...">{{ old('message') }}</textarea>
|
||||
<textarea name="message" id="message" class="w-full px-5 py-4 rounded-xl border border-slate-200 focus:ring-4 focus:ring-red-500/10 focus:border-[#e31e24] outline-none transition-all placeholder-slate-300 min-h-[150px]" placeholder="{{ __('career.message_placeholder') }}">{{ old('message') }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-12 gap-6">
|
||||
<div class="md:col-start-4 md:col-span-9">
|
||||
<button type="submit" id="submit-btn" class="w-full md:w-auto px-10 py-4 bg-[#e31e24] hover:bg-[#c4191f] text-white font-bold rounded-full transition-all shadow-lg shadow-red-500/30 flex items-center justify-center gap-3">
|
||||
<span class="btn-text">{{ __('career.submit', ['default' => 'Başvuruyu Gönder']) }}</span>
|
||||
<span class="btn-text">{{ __('career.submit') }}</span>
|
||||
<span class="spinner-border spinner-border-sm hidden animate-spin w-4 h-4 border-2 border-white border-t-transparent rounded-full" role="status"></span>
|
||||
<i class="uil uil-arrow-right text-xl btn-icon"></i>
|
||||
</button>
|
||||
@@ -288,7 +285,6 @@
|
||||
@endpush
|
||||
|
||||
@push('scripts')
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
@@ -335,10 +331,10 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
if (result.type === 'success') {
|
||||
Swal.fire({
|
||||
icon: 'success',
|
||||
title: 'Başarılı!',
|
||||
title: '{{ __("career.success") ?? "Başarılı!" }}',
|
||||
text: result.data.message,
|
||||
confirmButtonColor: '#e31e24',
|
||||
confirmButtonText: 'Tamam'
|
||||
confirmButtonText: '{{ __("career.ok") ?? "Tamam" }}'
|
||||
}).then(() => {
|
||||
form.reset();
|
||||
});
|
||||
@@ -350,14 +346,20 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
const errorDiv = document.createElement('div');
|
||||
errorDiv.className = 'invalid-feedback text-start d-block';
|
||||
errorDiv.textContent = result.errors[key][0];
|
||||
input.closest('.md\\:col-span-9').appendChild(errorDiv);
|
||||
|
||||
// Handle different input structures
|
||||
if (input.type === 'checkbox') {
|
||||
input.closest('.space-y-4').appendChild(errorDiv);
|
||||
} else {
|
||||
input.closest('.md\\:col-span-9').appendChild(errorDiv);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Swal.fire({
|
||||
icon: 'error',
|
||||
title: 'Hata!',
|
||||
text: 'Lütfen formdaki hataları kontrol ediniz.',
|
||||
title: '{{ __("career.error") ?? "Hata!" }}',
|
||||
text: '{{ __("career.validation_error") ?? "Lütfen formdaki hataları kontrol ediniz." }}',
|
||||
confirmButtonColor: '#e31e24',
|
||||
});
|
||||
}
|
||||
@@ -370,8 +372,8 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
console.error('Error:', error);
|
||||
Swal.fire({
|
||||
icon: 'error',
|
||||
title: 'Hata!',
|
||||
text: error.message || 'Başvuru gönderilirken bir hata oluştu. Lütfen tekrar deneyiniz.',
|
||||
title: '{{ __("career.error") ?? "Hata!" }}',
|
||||
text: error.message || '{{ __("career.error_message") ?? "Başvuru gönderilirken bir hata oluştu. Lütfen tekrar deneyiniz." }}',
|
||||
confirmButtonColor: '#e31e24',
|
||||
});
|
||||
submitBtn.disabled = false;
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
<div class="bg-white rounded-[2rem] shadow-2xl overflow-hidden border border-slate-100">
|
||||
<div class="p-8 md:p-12">
|
||||
<div class="mb-10">
|
||||
<h2 class="text-2xl font-bold text-slate-900 mb-2">Staj Başvuru Formu</h2>
|
||||
<h2 class="text-2xl font-bold text-slate-900 mb-2">{{ __('career.internship_title') }}</h2>
|
||||
<div class="w-12 h-1 bg-[#e31e24] rounded-full"></div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user