about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2023-11-04 10:02:01 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2023-11-04 10:02:01 -0400
commit1bc945a9874722d1e0d236265f607f6fa78f609d (patch)
treea172333b8cbd1398242a72e29a35902683e7fed4
parentb0481b17cbb177d329c67cfe5abd5f76365ceefd (diff)
downloadwittle-1bc945a9874722d1e0d236265f607f6fa78f609d.tar.gz
wittle-1bc945a9874722d1e0d236265f607f6fa78f609d.tar.bz2
wittle-1bc945a9874722d1e0d236265f607f6fa78f609d.zip
show player's own solution on show page
-rw-r--r--app/controllers/wittle/puzzles_controller.rb11
-rw-r--r--app/views/wittle/puzzles/_handle_puzzle.html.erb2
2 files changed, 12 insertions, 1 deletions
diff --git a/app/controllers/wittle/puzzles_controller.rb b/app/controllers/wittle/puzzles_controller.rb index b481460..8dc2ac8 100644 --- a/app/controllers/wittle/puzzles_controller.rb +++ b/app/controllers/wittle/puzzles_controller.rb
@@ -22,6 +22,14 @@ module Wittle
22 @puzzle = Puzzle.find(params[:id]) 22 @puzzle = Puzzle.find(params[:id])
23 @playable = @puzzle.latest? && !((session[:played_puzzles] || []).include? @puzzle.id) 23 @playable = @puzzle.latest? && !((session[:played_puzzles] || []).include? @puzzle.id)
24 @already_started = ((session[:started_puzzles] || []).include? @puzzle.id) 24 @already_started = ((session[:started_puzzles] || []).include? @puzzle.id)
25
26 unless @playable
27 if (session[:puzzle_solutions] || {}).has_key? @puzzle.id.to_s
28 @solution = session[:puzzle_solutions][@puzzle.id.to_s]
29 else
30 @solution = @puzzle.solved_data
31 end
32 end
25 end 33 end
26 34
27 def start 35 def start
@@ -45,6 +53,9 @@ module Wittle
45 53
46 session[:played_puzzles] ||= [] 54 session[:played_puzzles] ||= []
47 session[:played_puzzles] << @puzzle.id 55 session[:played_puzzles] << @puzzle.id
56
57 session[:puzzle_solutions] ||= {}
58 session[:puzzle_solutions][@puzzle.id] = params[:solved]
48 end 59 end
49 60
50 def submit 61 def submit
diff --git a/app/views/wittle/puzzles/_handle_puzzle.html.erb b/app/views/wittle/puzzles/_handle_puzzle.html.erb index 81bca29..e451745 100644 --- a/app/views/wittle/puzzles/_handle_puzzle.html.erb +++ b/app/views/wittle/puzzles/_handle_puzzle.html.erb
@@ -51,7 +51,7 @@ window.onload = function() {
51 <% else %> 51 <% else %>
52 var puzzle = window.deserializePuzzle("<%= @puzzle.data %>") 52 var puzzle = window.deserializePuzzle("<%= @puzzle.data %>")
53 draw(puzzle) 53 draw(puzzle)
54 drawPath(puzzle, JSON.parse("<%= escape_javascript(sanitize @puzzle.solved_data) %>")) 54 drawPath(puzzle, JSON.parse("<%= escape_javascript(sanitize @solution) %>"))
55 window.trace = function() {} 55 window.trace = function() {}
56 <% end %> 56 <% end %>
57} 57}