@@ -6,27 +6,48 @@ def index
66 end
77
88 def show
9- @user = User . find_by ( id : params [ :id ] )
10- @page_title = "#{ @user . name } "
11- @serialized_user = @user . serialize . to_json
12- @is_following = current_user ? current_user . following? ( @user ) : false
13- @followers = @user . followers
14- @following = @user . following
15- @display_popover = true
16- @languages = Language . all . to_json
17-
18- # need to change current implementation to hit specific user snippets endpoint so can optionally show private ones
19- if @user == current_user
20- @snippets = @user . filed_snippets
21- . order ( created_at : :desc )
22- . paginate ( page : 1 , per_page : 6 )
23- else
24- @snippets = @user . filed_snippets . public_snippets
25- . order ( created_at : :desc )
26- . paginate ( page : 1 , per_page : 6 )
27- end
9+ respond_to do |format |
10+ format . html do
11+ @user = User . find_by ( id : params [ :id ] )
12+ @page_title = "#{ @user . name } "
13+ @serialized_user = @user . serialize . to_json
14+ @is_following = current_user ? current_user . following? ( @user ) : false
15+ @followers = @user . followers
16+ @following = @user . following
17+ @display_popover = true
18+ @languages = Language . all . to_json
19+
20+ # need to change current implementation to hit specific user snippets endpoint so can optionally show private ones
21+ snippets = if @user == current_user
22+ @user . filed_snippets
23+ . order ( created_at : :desc )
24+ else
25+ @user . filed_snippets . public_snippets
26+ . order ( created_at : :desc )
27+ end
28+
29+ @pagy , @snippets = pagy ( snippets , items : 6 )
30+
31+ @tab_id = params [ :tab_id ] || :snippets
32+ end
33+
34+ format . json do
35+ @user = User . find_by ( id : params [ :id ] )
36+ @snippets = @user . filed_snippets . includes ( :user , :folders )
37+ @languages = Language . all . to_json
2838
29- @tab_id = params [ :tab_id ] || :snippets
39+ # TODO: Extract this logic to model/service
40+ @snippets = @snippets . where ( 'description ILIKE ?' , "%#{ params [ :search ] } %" ) if params [ :search ]
41+
42+ @snippets = @snippets . order ( created_at : :desc )
43+
44+ @pagy , @snippets = pagy ( @snippets , items : 6 )
45+ render json : {
46+ entries : render_to_string ( partial : 'snippets/snippets' , formats : [ :html ] ) ,
47+ pagination : view_context . pagy_nav ( @pagy )
48+ }
49+ end
50+ end
3051 end
3152
3253 def hovercard
0 commit comments