Grok Return from Uploaded Files View via ESC

When on grok.com/files, ESC takes user back

// ==UserScript==
// @name         Grok Return from Uploaded Files View via ESC
// @namespace    nisc
// @version      2025.06.08-A
// @description  When on grok.com/files, ESC takes user back
// @homepageURL  https://github.com/nisc/grok-userscripts/
// @author       nisc
// @match        https://grok.com/files
// @icon         https://grok.com/images/favicon-light.png
// @run-at       document-end
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    /**
     * Configuration object containing all constants used in the script
     * KEYS: Keyboard key mappings for navigation
     * NAVIGATION: Default URL to return to when no history exists
     */
    const CONFIG = {
        KEYS: {
            ESCAPE: 'Escape'
        },
        NAVIGATION: {
            DEFAULT_URL: 'https://grok.com'
        }
    };

    /**
     * Handles the ESC key press event
     *
     * Behavior:
     * 1. When ESC is pressed, prevents default browser behavior
     * 2. Checks browser history length:
     *    - If history exists (length >= 2), goes back one page
     *    - If no history (length < 2), redirects to grok.com
     *
     * Note: History length < 2 means we can't go back (current page is the only one)
     */
    function handleEscapeKey(event) {
        if (event.key === CONFIG.KEYS.ESCAPE) {
            event.preventDefault();  // Stop browser's default ESC behavior

            if (window.history.length < 2) {
                // No previous page exists, go to home page
                window.open(CONFIG.NAVIGATION.DEFAULT_URL, '_self');
            } else {
                // Previous page exists, go back to it
                window.history.back();
            }
        }
    }

    // Listen for ESC key press anywhere on the page
    document.addEventListener('keydown', handleEscapeKey);
})();