- Word import (multi-format: word, word-def, word:def, word|def) - Flashcard filter UI (swipe + keyboard arrows + Space to flip) - SM-2 spaced repetition review queue - Stimulus flashcard controller with 3D flip animation
24 lines
649 B
Ruby
24 lines
649 B
Ruby
# frozen_string_literal: true
|
|
|
|
class ReviewsController < ApplicationController
|
|
def show
|
|
@review = Review.due.includes(:word).first
|
|
@due_count = Review.due.count
|
|
@upcoming = Review.upcoming.includes(:word).limit(5)
|
|
@upcoming_count = Review.upcoming.count
|
|
end
|
|
|
|
def rate
|
|
review = Review.find(params[:id])
|
|
quality = case params[:rating]
|
|
when "easy" then 5
|
|
when "good" then 4
|
|
when "hard" then 3
|
|
when "forgot" then 1
|
|
else params[:quality].to_i
|
|
end
|
|
review.sm2_update!(quality)
|
|
redirect_to review_path
|
|
end
|
|
end
|