class ApplicationController < ActionController::Base # Only allow modern browsers supporting webp images, web push, badges, import maps, CSS nesting, and CSS :has. allow_browser versions: :modern before_action :check_spotify_login private def check_spotify_login return unless user_signed_in? spotify_login = current_user.logins.where(platform: "spotify").order(created_at: :desc).first if spotify_login.nil? || spotify_login.dead_since.present? unless request.path == spotify_connect_path || request.path == spotify_path || request.path == spotify_callback_path || devise_controller? if spotify_login&.dead_since.present? flash[:alert] = "Your Spotify login expired and became invalid on #{spotify_login.dead_since.strftime('%Y-%m-%d %H:%M:%S')}. Please reconnect." end redirect_to spotify_path end end end end