I don't want to use Jquery. I want to solve this in vanilla JS. Please help me!
Description: How to make selected text bold/italic/underline on clicking a button in JavaScript?
Here is my HTML.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="./style/style.css" />
<link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.10.0/css/all.css"
integrity="sha384-AYmEC3Yw5cVb3ZcuHtOA93w35dYTsvhLPVnYs9eStHfGJvOvKxVfELGroGkvsg+p"
crossorigin="anonymous" />
<title>TextEditor</title>
</head>
<body>
<header>
<h1>Text Editor</h1>
</header>
<main>
<div class="functionality">
<div class="container">
<button class="btn" id="bold"><i class="fas fa-bold"></i></button>
<button class="btn" id="italic"><i class="fas fa-italic"></i></button>
<button class="btn" id="underline"><i class="fas fa-underline"></i></button>
<button class="btn" id="align-left"><i class="fas fa-align-left"></i></button>
<button class="btn" id="justify"><i class="fas fa-align-justify"></i></button>
<button class="btn" id="align-right"><i class="fas fa-align-right"></i></button>
</div>
</div>
<div class="input-container">
<textarea contenteditable="true" name="text-input-c1" id="text-input" rows="3">
</textarea>
</div>
</main>
</body>
<script src="./script.js"></script>
</html>