PageSourceSearch

https://assets.pianotify.com/2cb0e9/assets/controllers/player-end-modal_controller-W57MrFa.js

js pianotify.com collected 2026-10-08 05:10:02 UTC 1,213 bytes, 1 lines download raw bytes

1import{Controller}from"@hotwired/stimulus";import{FocusTrap}from"../utils/focus-trap.js";import{announceModalOpen,onModalOpen}from"../utils/modal-stack.js";const MODAL_ID="player-end-modal";export default class extends Controller{static values={uniqueKey:String,hasRating:Boolean};static targets=["overlay"];connect(){this._onEndOfFile=e=>{e.detail?.uniqueKey&&e.detail.uniqueKey!==this.uniqueKeyValue||this.open()},window.addEventListener("player:end-of-file",this._onEndOfFile),this._unbindStack=onModalOpen(id=>{id!==MODAL_ID&&!this.overlayTarget.classList.contains("hidden")&&this.close()})}disconnect(){window.removeEventListener("player:end-of-file",this._onEndOfFile),this._unbindStack?.(),this._focusTrap?.deactivate(),this._focusTrap=null}open(){announceModalOpen(MODAL_ID),this.overlayTarget.classList.remove("hidden"),this._focusTrap=new FocusTrap(this.overlayTarget,{onEscape:()=>this.close()}),this._focusTrap.activate()}close(){this.overlayTarget.classList.add("hidden"),this._focusTrap?.deactivate(),this._focusTrap=null}stopPropagation(event){event.stopPropagation()}replay(){window.dispatchEvent(new CustomEvent("player:replay-requested",{detail:{uniqueKey:this.uniqueKeyValue}})),this.close()}}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.