registerJS( " let foodEmojis = " . json_encode($emoji) . "; let spinning = false; function startSlotMachine() { if (spinning) return; spinning = true; let slotSpeed = 50; let slowdownFactor = 1.1; let spinCount = 0; let maxSpins = Math.random(); let interval = setInterval(() => { let randomIndex = Math.floor(Math.random() * foodEmojis.length); $('#upload-title').text('Upload Your ' + foodEmojis[randomIndex]); spinCount++; slotSpeed *= slowdownFactor; if (spinCount >= maxSpins) { clearInterval(interval); let finalIndex = Math.floor(Math.random() * foodEmojis.length); $('#upload-title').text('Upload Your ' + foodEmojis[finalIndex]); spinning = false; } }, slotSpeed); } $('#upload-title').click(startSlotMachine); $('#mealform-picture').on('change', function(ev) { if (localStorage.getItem('autoUpload') === 'true') { // Check localStorage $('#submitButton').text('Processing...'); $('#submitButton').attr('disabled', true); $(this).parents('form').submit(); ev.preventDefault(); } }); " ); $this->registerCssFile('@web/css/upload.css'); ?>
Upload Your
['enctype' => 'multipart/form-data']]); ?> field($model, 'context')->textInput([ 'class' => 'form-control mb-3', 'placeholder' => 'Add context (optional)', 'autofocus', ])->label(false) ?>
Tap to take a picture or Long Press to upload a file
'display: none;', 'id' => 'file-input']) ?> field($model, 'day')->textInput()->label(false); ?>
field($model, 'type') ->radioList($model->getTypeList(), [ 'class' => 'btn-group d-flex justify-content-center', 'item' => function ($index, $label, $name, $checked, $value) { $return = ''; $return .= ''; return $return; }, ]) ->label(false) ; ?>
'submitButton', 'class' => 'btn btn-success']) ?>