{
index_time = (performance.now() - index_time_started) / 1000
tick()
})
}
if(!index_isTimerStopped) {
tick()
index_is_timer_running = true
}
else {
index_isTimerStopped = false
}
}
'
@mousedown.window='index_is_alt_pressed = false'
@keydown.window='
if(index_frame && (performance.now() - index_time_started) > index_MINIMUM_TIME_BEFORE_STOP) {
cancelAnimationFrame(index_frame)
index_frame = null
index_isTimerStopped = true
index_is_timer_running = false
$dispatch("timer_stopped", index_time)
}
index_is_alt_pressed = $event.key == "Alt"
'
@keydown.delete.window='
$dispatch("solve_deleted", index_solves.pop())
'
@timer_stopped.window='
let solve = {
scramble: index_scramble,
time: $event.detail
}
$dispatch("new_solve", solve)
'
@new_solve.window='
let solve = $event.detail
index_scramble = generateScramble()
index_solves.push(solve)
ccTimerApi_addSolve(solve.scramble, solve.time.toFixed(3))
'
@solve_deleted.window='
index_time = 0
let solve = $event.detail
ccTimerApi_deleteSolve(solve.scramble, solve.time.toFixed(3))
'
@request_delete_solve.window='
let solve = index_solves.splice($event.detail, 1)
$dispatch("solve_deleted", solve[0])
'
@authenticated.window='index_isAuthenticated = true'
:class='index_isAuthenticated ? "!opacity-100" : "opacity-0"'
class='opacity-0 flex justify-center items-center min-h-screen'>