dsg
Copy This

Warning: file_get_contents(/home/u340524018/domains/agniaga.com/public_html/sub/u2/creator/profile.js): Failed to open stream: No such file or directory in /home/u340524018/domains/agniaga.com/public_html/sub/u2/cp/inc.filehtml.php on line 319
$(document).on('click', '#submit-add-vehicle-form', async function (e) {
  var view = app.views.current

  const form = $('form#addVehicleForm')

  // values
  const make = form.find('select[name="vehicle_make"]').val()
  const model = form.find('input[name="vehicle_model"]').val()
  const variant = form.find('input[name="vehicle_variant"]').val()
  const reg = form.find('input[name="vehicle_reg"]').val()
  const colour = form.find('input[name="vehicle_colour"]').val()
  const description = form.find('textarea[name="vehicle_description"]').val()

  const owned_from = form.find('input[name="vehicle_owned_from"]').val()
  const owned_to = form.find('input[name="vehicle_owned_to"]').val()

  const primary_car = form.find('select[name="vehicle_ownership"]').val()
  const allow_tagging = form.find('input[name="vehicle_tagging"]').is(':checked') ? 1 : 0

  const cover_image = form.find('input[name="vehicle_image"]').prop('files')[0]

  if (!make || make === "0") {
    showToast('Please select a vehicle make')
    return
  }

  if (!model) {
    showToast('Please enter a vehicle model')
    return
  }

  // if (!reg) {
  //   app.dialog.alert('Please enter a vehicle registration number')
  //   return
  // }

  // if (!owned_from) {
  //   app.dialog.alert('Please enter the date you owned the vehicle from')
  //   return
  // }

  if (owned_to && owned_from) {
    const ownedFromDate = parseDate(owned_from.trim());
    const ownedToDate = parseDate(owned_to.trim());

    if (isNaN(ownedFromDate) || isNaN(ownedToDate)) {
      showToast('One or both of the dates are invalid.');
      return;
    }

    if (ownedToDate < ownedFromDate) {
      showToast('Owned to date cannot be less than owned from date');
      return;
    }
  }

  // if primary_car is past, owned_to is required
  if (primary_car === "past" && !owned_to) {
    showToast('Please enter the date you owned the vehicle to');

    return
  }

  if (!cover_image) {
    showToast('Please upload a cover image')
    return
  }

  let base64 = null

  if (cover_image) {
    // Wrap the FileReader in a Promise to wait for it to complete
    base64 = await new Promise((resolve, reject) => {
      const reader = new FileReader()
      reader.readAsDataURL(cover_image)

      reader.onload = () => resolve(reader.result)
      reader.onerror = () => reject(new Error('Failed to read image as base64'))
    })
  }

  try {
    app.preloader.show()

    const response = await addVehicleToGarage({
      make,
      model,
      variant,
      registration: reg,
      colour,
      ownedFrom: owned_from,
      ownedTo: owned_to,
      primary_car,
      allow_tagging,
      cover_photo: base64,
      vehicle_period: primary_car,
      description
    })

    if (!response || !response.success) {
      throw new Error('Failed to update vehicle')
    }

    app.preloader.hide()

    store.dispatch('getMyGarage')
    app.dialog.alert('Vehicle added successfully')

    // redirect to garage
    view.router.back(`/profile-garage-vehicle-view/${response.id}`, {
      force: true
    })
  } catch (error) {
    app.preloader.hide()

    app.notification.create({
      titleRightText: 'now',
      subtitle: 'Oops, something went wrong',
      text: error.message || 'Failed to add vehicle',
    }).open()
  }
})
Array
(
)
Add JS Function Name