Docs Auto Writer ✍️

Type text and insert it directly into Google Docs.

Terá de instalar uma extensão como Tampermonkey, Greasemonkey ou Violentmonkey para instalar este script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

Terá de instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Terá de instalar uma extensão como Tampermonkey ou Userscripts para instalar este script.

Terá de instalar uma extensão como Tampermonkey para instalar este script.

Terá de instalar uma extensão de gestão de scripts de utilizador para instalar este script.

(Já tenho um gestor de scripts de utilizador, deixe-me instalá-lo!)

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

(Já tenho um gestor de estilos de utilizador, deixe-me instalá-lo!)

// ==UserScript==
// @name         Docs Auto Writer ✍️
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Type text and insert it directly into Google Docs.
// @author       You
// @match        https://docs.google.com/document/*
// @grant        none
// ==/UserScript==

(function () {
  'use strict';

  if (document.getElementById("docs-writer-box")) return;

  // Create UI box
  const box = document.createElement("div");
  box.id = "docs-writer-box";

  Object.assign(box.style, {
    position: "fixed",
    bottom: "20px",
    right: "20px",
    width: "250px",
    background: "white",
    border: "1px solid #ccc",
    padding: "10px",
    zIndex: "999999",
    borderRadius: "8px",
    boxShadow: "0 2px 10px rgba(0,0,0,0.2)",
    fontFamily: "Arial"
  });

  // Input field
  const input = document.createElement("textarea");
  input.placeholder = "Type what you want to insert...";
  input.style.width = "100%";
  input.style.height = "80px";
  input.style.marginBottom = "5px";

  // Button
  const btn = document.createElement("button");
  btn.innerText = "Insert into Doc";
  btn.style.width = "100%";
  btn.style.cursor = "pointer";

  // Button click
  btn.onclick = () => {
    const text = input.value;
    if (!text) return;

    // Focus the doc editor
    const editor = document.querySelector('[contenteditable="true"]');
    if (!editor) return alert("Click inside the document first!");

    editor.focus();

    // Insert text at cursor
    document.execCommand("insertText", false, text);
  };

  // Add to page
  box.appendChild(input);
  box.appendChild(btn);
  document.body.appendChild(box);

})();