# frozen_string_literal: true module Users class RegistrationsController < Devise::RegistrationsController before_action :configure_sign_up_params, only: [:create] before_action :configure_account_update_params, only: [:update] after_action :store_location, only: [:new] protected def after_update_path_for(resource) signed_in_root_path(resource) end def after_sign_in_path_for(resource) stored = stored_location_for(User) return stored if stored if request.referer&.match(sign_in_url) || request.referer&.match(sign_up_url) super else request.referer || root_path end end private def store_location store_location_for(User, params[:redirect_to]) if params[:redirect_to] end def configure_sign_up_params devise_parameter_sanitizer.permit(:sign_up, keys: %i(name joinedwithcode)) end def configure_account_update_params devise_parameter_sanitizer.permit(:account_update, keys: [:image]) end end end