Mistral Chat PWA

Install Mistral Chat as a standalone app

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name        Mistral Chat PWA
// @description Install Mistral Chat as a standalone app
// @version     1.0.1
// @match       https://chat.mistral.ai/chat*
// @namespace   https://breat.fr
// @homepageURL https://usercssjs.breat.fr/m/mistral-chat
// @supportURL  https://discord.gg/W7FKesJ9aG
// @author      BreatFR
// @copyright   2025, BreatFR (https://breat.fr)
// @icon        https://breat.fr/static/images/userscripts-et-userstyles/m/mistral-chat/icon.png
// @license     AGPL-3.0-or-later; https://www.gnu.org/licenses/agpl-3.0.txt
// @grant       none
// ==/UserScript==

(function() {
    'use strict';

    // Replace title
    function replaceTitle() {
        if  (window.matchMedia('(display-mode: standalone)').matches) {
            document.title  =  "Mistral AI";
        }
    }

    // Add manifest
    const manifestLink = document.createElement('link');
    manifestLink.crossorigin = 'anonymous';
    manifestLink.href = 'https://code.breat.fr/m/mistral-chat/json/manifest.json';
    manifestLink.rel = 'manifest';

    manifestLink.onerror = function() {
        console.error("Failed to load the manifest file.");
    };

    document.head.appendChild(manifestLink);
    window.addEventListener('load', replaceTitle);

    setInterval(replaceTitle, 100);

    console.log("Manifest added and title replaced!");
})();