import { settingsState } from "./listeners/SettingsState"; import { animate, stagger } from "motion"; import stringToHTML from "./stringToHTML"; export async function DeleteWhatsNew() { const bkelement = document.getElementById("whatsnewbk"); const popup = document.getElementsByClassName("whatsnewContainer")[0]; if (!settingsState.animations) { bkelement?.remove(); return; } animate( [popup, bkelement!], { opacity: [1, 0], scale: [1, 0] }, { ease: [0.22, 0.03, 0.26, 1] }, ).then(() => { bkelement?.remove(); }); } export function OpenMinecraftServerPopup() { const background = document.createElement("div"); background.id = "whatsnewbk"; background.classList.add("whatsnewBackground"); const container = document.createElement("div"); container.classList.add("whatsnewContainer"); var header: any = stringToHTML( /* html */ `

Minecraft Server

The official BetterSEQTA+ Minecraft Server

`, ).firstChild; let imagecont = document.createElement("div"); imagecont.classList.add("whatsnewImgContainer"); let video = document.createElement("video"); let source = document.createElement("source"); source.setAttribute( "src", "https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Plus/main/src/resources/update-video.mp4", ); video.autoplay = true; video.muted = true; video.loop = true; video.appendChild(source); video.classList.add("whatsnewImg"); imagecont.appendChild(video); /* let whatsnewimg = document.createElement("img"); //whatsnewimg.src = "https://raw.githubusercontent.com/BetterSEQTA/BetterSEQTA-Plus/main/src/resources/update-image.webp"; whatsnewimg.src = browser.runtime.getURL('../../resources/update-image.webp'); whatsnewimg.classList.add("whatsnewImg"); imagecont.appendChild(whatsnewimg); */ let textcontainer = document.createElement("div"); textcontainer.classList.add("whatsnewTextContainer"); let text = stringToHTML(/* html */ `

3.4.8 - Improvements!

  • Added new assessments kanban overview
  • >
  • Fixed text colour of notices being unreadable
  • Fixed pages not reloading when saving changes
  • 2.0.2 - Minor bug fixes

  • Fixed indicator for current lesson
  • Fixed text colour for DM messages list in Light mode
  • Fixed user info text colour
  • Sleek New Layout

  • Updated with a new font and presentation, BetterSEQTA+ has never looked better.
  • New Updated Sidebar

  • Condensed appearance with new updated icons.
  • Independent Light Mode and Dark Mode

  • Dark mode and Light mode are now available to pick alongside your chosen Theme Colour. Your Theme Colour will now become an accent colour for the page. Light/Dark mode can be toggled with the new button, found in the top-right of the menu bar.
  • Create Custom Shortcuts

  • Found in the BetterSEQTA+ Settings menu, custom shortcuts can now be created with a name and URL of your choice.
  • `).firstChild; let footer = stringToHTML(/* html */ `
    Resources and Feedback:
    `).firstChild; let exitbutton = document.createElement("div"); exitbutton.id = "whatsnewclosebutton"; container.append(header); container.append(imagecont); container.append(textcontainer); container.append(text as ChildNode); container.append(footer as ChildNode); container.append(exitbutton); background.append(container); document.getElementById("container")!.append(background); let bkelement = document.getElementById("whatsnewbk"); let popup = document.getElementsByClassName("whatsnewContainer")[0]; if (settingsState.animations) { animate( [popup, bkelement as HTMLElement], { scale: [0, 1] }, { type: "spring", stiffness: 220, damping: 18, }, ); animate( ".whatsnewTextContainer *", { opacity: [0, 1], y: [10, 0] }, { delay: stagger(0.05, { startDelay: 0.1 }), duration: 0.5, ease: [0.22, 0.03, 0.26, 1], }, ); } delete settingsState.justupdated; bkelement!.addEventListener("click", function (event) { // Check if the click event originated from the element itself and not any of its children if (event.target === bkelement) { DeleteWhatsNew(); } }); var closeelement = document.getElementById("whatsnewclosebutton"); closeelement!.addEventListener("click", function () { DeleteWhatsNew(); }); }