{"id":57415,"date":"2025-10-20T10:52:27","date_gmt":"2025-10-20T07:52:27","guid":{"rendered":"https:\/\/etb-group.com\/?page_id=57415"},"modified":"2025-10-20T13:57:19","modified_gmt":"2025-10-20T10:57:19","slug":"apply","status":"publish","type":"page","link":"https:\/\/etb-group.com\/nl\/apply\/","title":{"rendered":"Apply"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"57415\" class=\"elementor elementor-57415\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e14f4a2 e-flex e-con-boxed e-con e-parent\" data-id=\"e14f4a2\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c621bff elementor-widget elementor-widget-html\" data-id=\"c621bff\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"tr\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>\u0130\u015f \u0130lanlar\u0131<\/title>\r\n    <style>\r\n        .jb-careers-wrapper * {\r\n            margin: 0;\r\n            padding: 0;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        .jb-careers-wrapper {\r\n            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\r\n            background: #00000000;\r\n            padding: 40px 20px;\r\n            min-height: 100vh;\r\n        }\r\n\r\n        .jb-careers-container {\r\n            max-width: 1200px;\r\n            margin: 0 auto;\r\n        }\r\n\r\n        .jb-careers-main-title {\r\n            text-align: center;\r\n            color: rgb(0, 0, 0);\r\n            margin-bottom: 40px;\r\n            font-size: 2.5rem;\r\n        }\r\n\r\n        .jb-careers-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));\r\n            gap: 30px;\r\n            margin-bottom: 50px;\r\n        }\r\n\r\n        .jb-careers-card {\r\n            background: white;\r\n            border-radius: 15px;\r\n            padding: 30px;\r\n            cursor: pointer;\r\n            border: 1px solid #bdbdbd;\r\n        }\r\n\r\n        .jb-careers-card:hover {\r\n            transform: translateY(-5px);\r\n        }\r\n\r\n        .jb-careers-card-title {\r\n            font-size: 1.5rem;\r\n            color: #333;\r\n            margin-bottom: 15px;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .jb-careers-card-info {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 10px;\r\n            margin-bottom: 20px;\r\n        }\r\n\r\n        .jb-careers-card-detail {\r\n            display: flex;\r\n            align-items: center;\r\n            color: #666;\r\n            font-size: 0.95rem;\r\n        }\r\n\r\n        .jb-careers-card-detail svg {\r\n            width: 18px;\r\n            height: 18px;\r\n            margin-right: 8px;\r\n            fill: #d7d7d7;\r\n        }\r\n\r\n        .jb-careers-apply-btn {\r\n            width: 100%;\r\n            padding: 12px;\r\n            background: linear-gradient(135deg, #fecd0a 0%, #f39538 100%);\r\n            color: white;\r\n            border: none;\r\n            border-radius: 8px;\r\n            font-size: 1rem;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: opacity 0.3s ease;\r\n        }\r\n\r\n        .jb-careers-apply-btn:hover {\r\n            opacity: 0.9;\r\n        }\r\n\r\n        .jb-careers-modal {\r\n            display: none;\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: rgba(0,0,0,0.7);\r\n            z-index: 999999;\r\n            justify-content: center;\r\n            align-items: center;\r\n            padding: 20px;\r\n        }\r\n\r\n        .jb-careers-modal.jb-active {\r\n            display: flex;\r\n        }\r\n\r\n        .jb-careers-modal-content {\r\n            background: white;\r\n            border-radius: 20px;\r\n            padding: 40px;\r\n            max-width: 600px;\r\n            width: 100%;\r\n            max-height: 90vh;\r\n            overflow-y: auto;\r\n            position: relative;\r\n        }\r\n\r\n        .jb-careers-close-btn {\r\n            position: absolute;\r\n            top: 20px;\r\n            right: 20px;\r\n            background: none;\r\n            border: none;\r\n            font-size: 2rem;\r\n            cursor: pointer;\r\n            color: #999;\r\n            line-height: 1;\r\n        }\r\n\r\n        .jb-careers-close-btn:hover {\r\n            color: #333;\r\n        }\r\n\r\n        .jb-careers-form-title {\r\n            font-size: 1.8rem;\r\n            color: #333;\r\n            margin-bottom: 10px;\r\n        }\r\n\r\n        .jb-careers-form-subtitle {\r\n            color: #fecd0a;\r\n            margin-bottom: 30px;\r\n            font-size: 1.1rem;\r\n        }\r\n\r\n        .jb-careers-form-group {\r\n            margin-bottom: 20px;\r\n        }\r\n\r\n        .jb-careers-form-group label {\r\n            display: block;\r\n            margin-bottom: 8px;\r\n            color: #333;\r\n            font-weight: 500;\r\n        }\r\n\r\n        .jb-careers-form-group input,\r\n        .jb-careers-form-group textarea {\r\n            width: 100%;\r\n            padding: 12px;\r\n            border: 2px solid #e0e0e0;\r\n            border-radius: 8px;\r\n            font-size: 1rem;\r\n            transition: border-color 0.3s ease;\r\n            font-family: inherit;\r\n        }\r\n\r\n        .jb-careers-form-group input:focus,\r\n        .jb-careers-form-group textarea:focus {\r\n            outline: none;\r\n            border-color: #fecd0a;\r\n        }\r\n\r\n        .jb-careers-form-group textarea {\r\n            resize: vertical;\r\n            min-height: 100px;\r\n        }\r\n\r\n        .jb-careers-submit-btn {\r\n            width: 100%;\r\n            padding: 15px;\r\n            background: linear-gradient(135deg, #fecd0a 0%, #f39538 100%);\r\n            color: white;\r\n            border: none;\r\n            border-radius: 8px;\r\n            font-size: 1.1rem;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: opacity 0.3s ease;\r\n        }\r\n\r\n        .jb-careers-submit-btn:hover {\r\n            opacity: 0.9;\r\n        }\r\n\r\n        .jb-careers-submit-btn:disabled {\r\n            opacity: 0.5;\r\n            cursor: not-allowed;\r\n        }\r\n\r\n        .jb-careers-success-message {\r\n            display: none;\r\n            background: #4CAF50;\r\n            color: white;\r\n            padding: 15px;\r\n            border-radius: 8px;\r\n            margin-bottom: 20px;\r\n            text-align: center;\r\n        }\r\n\r\n        .jb-careers-error-message {\r\n            display: none;\r\n            background: #f44336;\r\n            color: white;\r\n            padding: 15px;\r\n            border-radius: 8px;\r\n            margin-bottom: 20px;\r\n            text-align: center;\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n    <div class=\"jb-careers-wrapper\">\r\n        <div class=\"jb-careers-container\">\r\n            <h1 class=\"jb-careers-main-title\">Vacatures<\/h1>\r\n            \r\n            <div class=\"jb-careers-grid\" id=\"jbCareersGrid\">\r\n                <!-- Job cards will be added here via JavaScript -->\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Application Modal -->\r\n    <div class=\"jb-careers-modal\" id=\"jbCareersModal\">\r\n        <div class=\"jb-careers-modal-content\">\r\n            <button class=\"jb-careers-close-btn\" onclick=\"jbCareersCloseModal()\">&times;<\/button>\r\n            \r\n            <div class=\"jb-careers-success-message\" id=\"jbCareersSuccessMsg\">\r\n                \u2705 Your application has been received! We'll get back to you soon.\r\n            <\/div>\r\n            \r\n            <div class=\"jb-careers-error-message\" id=\"jbCareersErrorMsg\">\r\n                \u274c An error occurred. Please try again.\r\n            <\/div>\r\n            \r\n            <h2 class=\"jb-careers-form-title\">Application Form<\/h2>\r\n            <p class=\"jb-careers-form-subtitle\" id=\"jbCareersSelectedPosition\"><\/p>\r\n            \r\n            <form id=\"jbCareersApplicationForm\" action=\"\">\r\n                <div class=\"jb-careers-form-group\">\r\n                    <label>First Name *<\/label>\r\n                    <input type=\"text\" name=\"firstName\" required>\r\n                <\/div>\r\n                \r\n                <div class=\"jb-careers-form-group\">\r\n                    <label>Last Name *<\/label>\r\n                    <input type=\"text\" name=\"lastName\" required>\r\n                <\/div>\r\n                \r\n                <div class=\"jb-careers-form-group\">\r\n                    <label>Email *<\/label>\r\n                    <input type=\"email\" name=\"email\" required>\r\n                <\/div>\r\n                \r\n                <div class=\"jb-careers-form-group\">\r\n                    <label>Phone *<\/label>\r\n                    <input type=\"tel\" name=\"phone\" required>\r\n                <\/div>\r\n                \r\n                <div class=\"jb-careers-form-group\">\r\n                    <label>LinkedIn Profile<\/label>\r\n                    <input type=\"url\" name=\"linkedin\" placeholder=\"https:\/\/linkedin.com\/in\/...\">\r\n                <\/div>\r\n                \r\n                <div class=\"jb-careers-form-group\">\r\n                    <label>Resume Link (Google Drive, Dropbox, etc.) *<\/label>\r\n                    <input type=\"url\" name=\"cvLink\" required placeholder=\"https:\/\/...\">\r\n                <\/div>\r\n                \r\n                <div class=\"jb-careers-form-group\">\r\n                    <label>Why do you think you're a good fit for this position?<\/label>\r\n                    <textarea name=\"message\" placeholder=\"Tell us about yourself...\"><\/textarea>\r\n                <\/div>\r\n                \r\n                <input type=\"hidden\" name=\"position\" id=\"jbCareersPositionInput\">\r\n                <input type=\"hidden\" name=\"location\" id=\"jbCareersLocationInput\">\r\n                <input type=\"hidden\" name=\"workStyle\" id=\"jbCareersWorkStyleInput\">\r\n                \r\n                <button type=\"submit\" class=\"jb-careers-submit-btn\" id=\"jbCareersSubmitBtn\">Submit Application<\/button>\r\n            <input type=\"hidden\" name=\"trp-form-language\" value=\"nl\"\/><\/form>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <script>\r\n        \/\/ \ud83d\udd12 G\u00dcVENL\u0130 CONFIGURATION - API Key'ler art\u0131k client-side'da yok!\r\n        const JB_CAREERS_CONFIG = {\r\n            \/\/ n8n webhook for form submission\r\n            webhookUrl: 'https:\/\/n8n.avenapp.com\/webhook\/job-application',\r\n            \r\n            \/\/ n8n proxy endpoint for getting jobs (API key burada de\u011fil!)\r\n            jobsApiUrl: 'https:\/\/n8n.avenapp.com\/webhook\/get-jobs'\r\n        };\r\n        \r\n        \/\/ Job listings will be loaded from n8n proxy\r\n        let jbCareersJobs = [];\r\n\r\n        \/\/ Load jobs from n8n proxy (g\u00fcvenli y\u00f6ntem)\r\n        async function jbCareersLoadJobs() {\r\n            try {\r\n                const response = await fetch(JB_CAREERS_CONFIG.jobsApiUrl);\r\n                \r\n                if (!response.ok) {\r\n                    throw new Error('Failed to load job listings: ' + response.statusText);\r\n                }\r\n                \r\n                const data = await response.json();\r\n                \r\n                if (!data.values || data.values.length === 0) {\r\n                    throw new Error('No data found in sheet');\r\n                }\r\n                \r\n                \/\/ Process the data\r\n                const rows = data.values;\r\n                const headers = rows[0]; \/\/ First row is headers\r\n                const dataRows = rows.slice(1); \/\/ Rest is data\r\n                \r\n                console.log('Headers:', headers);\r\n                console.log('Data rows:', dataRows.length);\r\n                \r\n                \/\/ Convert to object format and filter active jobs\r\n                jbCareersJobs = dataRows\r\n                    .map(row => {\r\n                        const job = {};\r\n                        headers.forEach((header, index) => {\r\n                            job[header] = row[index] || '';\r\n                        });\r\n                        return job;\r\n                    })\r\n                    .filter(job => {\r\n                        \/\/ Only show active jobs\r\n                        const status = (job.Status || job.status || '').toLowerCase();\r\n                        return status === 'active' || status === 'aktif';\r\n                    })\r\n                    .map(job => ({\r\n                        title: job.Title || job.title || '',\r\n                        location: job.Location || job.location || '',\r\n                        workStyle: job.WorkStyle || job['Work Style'] || job.workStyle || '',\r\n                        department: job.Department || job.department || ''\r\n                    }));\r\n                \r\n                console.log('Processed jobs:', jbCareersJobs);\r\n                \r\n                jbCareersCreateCards();\r\n                \r\n            } catch (error) {\r\n                console.error('Error loading jobs:', error);\r\n                \/\/ Show error message to user\r\n                const grid = document.getElementById('jbCareersGrid');\r\n                grid.innerHTML = '<div style=\"grid-column: 1\/-1; text-align: center; padding: 40px;\"><p style=\"color: black; font-size: 18px; margin-bottom: 10px;\">\u26a0\ufe0f Unable to load job listings<\/p><p style=\"color: rgba(0,0,0,0.7);\">' + error.message + '<\/p><button onclick=\"jbCareersLoadJobs()\" style=\"margin-top: 20px; padding: 10px 20px; background: white; color: #fecd0a; border: none; border-radius: 8px; cursor: pointer; font-weight: 600;\">Retry<\/button><\/div>';\r\n            }\r\n        }\r\n\r\n        \/\/ Create job cards\r\n        function jbCareersCreateCards() {\r\n            const grid = document.getElementById('jbCareersGrid');\r\n            grid.innerHTML = ''; \/\/ Clear existing cards\r\n            \r\n            if (jbCareersJobs.length === 0) {\r\n                grid.innerHTML = '<p style=\"color: black; text-align: center; grid-column: 1\/-1;\">No open positions at the moment. Check back soon!<\/p>';\r\n                return;\r\n            }\r\n            \r\n            jbCareersJobs.forEach(job => {\r\n                const card = document.createElement('div');\r\n                card.className = 'jb-careers-card';\r\n                card.innerHTML = `\r\n                    <h3 class=\"jb-careers-card-title\">${job.title}<\/h3>\r\n                    <div class=\"jb-careers-card-info\">\r\n                        <div class=\"jb-careers-card-detail\">\r\n                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\">\r\n                                <path d=\"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z\"\/>\r\n                            <\/svg>\r\n                            ${job.location}\r\n                        <\/div>\r\n                        <div class=\"jb-careers-card-detail\">\r\n                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\">\r\n                                <path d=\"M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z\"\/>\r\n                            <\/svg>\r\n                            ${job.workStyle}\r\n                        <\/div>\r\n                        <div class=\"jb-careers-card-detail\">\r\n                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\">\r\n                                <path d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\/>\r\n                            <\/svg>\r\n                            ${job.department}\r\n                        <\/div>\r\n                    <\/div>\r\n                    <button class=\"jb-careers-apply-btn\" onclick='jbCareersOpenModal(${JSON.stringify(job).replace(\/'\/g, \"&apos;\")})'>\r\n                        Apply Now\r\n                    <\/button>\r\n                `;\r\n                grid.appendChild(card);\r\n            });\r\n        }\r\n\r\n        \/\/ Open modal\r\n        function jbCareersOpenModal(job) {\r\n            document.getElementById('jbCareersModal').classList.add('jb-active');\r\n            document.getElementById('jbCareersSelectedPosition').textContent = `${job.title} - ${job.location}`;\r\n            document.getElementById('jbCareersPositionInput').value = job.title;\r\n            document.getElementById('jbCareersLocationInput').value = job.location;\r\n            document.getElementById('jbCareersWorkStyleInput').value = job.workStyle;\r\n            document.body.style.overflow = 'hidden';\r\n        }\r\n\r\n        \/\/ Close modal\r\n        function jbCareersCloseModal() {\r\n            document.getElementById('jbCareersModal').classList.remove('jb-active');\r\n            document.getElementById('jbCareersApplicationForm').reset();\r\n            document.getElementById('jbCareersSuccessMsg').style.display = 'none';\r\n            document.getElementById('jbCareersErrorMsg').style.display = 'none';\r\n            document.body.style.overflow = 'auto';\r\n        }\r\n\r\n        \/\/ Form submission\r\n        document.getElementById('jbCareersApplicationForm').addEventListener('submit', async (e) => {\r\n            e.preventDefault();\r\n            \r\n            const submitBtn = document.getElementById('jbCareersSubmitBtn');\r\n            const successMsg = document.getElementById('jbCareersSuccessMsg');\r\n            const errorMsg = document.getElementById('jbCareersErrorMsg');\r\n            \r\n            submitBtn.disabled = true;\r\n            submitBtn.textContent = 'Submitting...';\r\n            \r\n            const formData = new FormData(e.target);\r\n            const data = Object.fromEntries(formData.entries());\r\n            data.submissionDate = new Date().toISOString();\r\n            \r\n            try {\r\n                const response = await fetch(JB_CAREERS_CONFIG.webhookUrl, {\r\n                    method: 'POST',\r\n                    headers: {\r\n                        'Content-Type': 'application\/json',\r\n                    },\r\n                    body: JSON.stringify(data)\r\n                });\r\n                \r\n                if (response.ok) {\r\n                    successMsg.style.display = 'block';\r\n                    errorMsg.style.display = 'none';\r\n                    e.target.reset();\r\n                    \r\n                    setTimeout(() => {\r\n                        jbCareersCloseModal();\r\n                    }, 3000);\r\n                } else {\r\n                    throw new Error('Server error');\r\n                }\r\n            } catch (error) {\r\n                console.error('Error:', error);\r\n                errorMsg.style.display = 'block';\r\n                successMsg.style.display = 'none';\r\n            } finally {\r\n                submitBtn.disabled = false;\r\n                submitBtn.textContent = 'Submit Application';\r\n            }\r\n        });\r\n\r\n        \/\/ Close modal when clicking outside\r\n        document.getElementById('jbCareersModal').addEventListener('click', (e) => {\r\n            if (e.target.id === 'jbCareersModal') {\r\n                jbCareersCloseModal();\r\n            }\r\n        });\r\n\r\n        \/\/ Load jobs on page load\r\n        jbCareersLoadJobs();\r\n    <\/script>        \r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>\u0130\u015f \u0130lanlar\u0131 Open Positions &times; \u2705 Your application has been received! We&#8217;ll get back to you soon. \u274c An error occurred. Please try again. Application Form First Name * Last Name * Email * Phone * LinkedIn Profile Resume Link (Google Drive, Dropbox, etc.) * Why do you think you&#8217;re a good fit for this&hellip;<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-57415","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/etb-group.com\/nl\/wp-json\/wp\/v2\/pages\/57415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/etb-group.com\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/etb-group.com\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/etb-group.com\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/etb-group.com\/nl\/wp-json\/wp\/v2\/comments?post=57415"}],"version-history":[{"count":31,"href":"https:\/\/etb-group.com\/nl\/wp-json\/wp\/v2\/pages\/57415\/revisions"}],"predecessor-version":[{"id":57447,"href":"https:\/\/etb-group.com\/nl\/wp-json\/wp\/v2\/pages\/57415\/revisions\/57447"}],"wp:attachment":[{"href":"https:\/\/etb-group.com\/nl\/wp-json\/wp\/v2\/media?parent=57415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}