Textty
\ No newline at end of file
+Textty
\ No newline at end of file
diff --git a/precache-manifest.072cce42f951a19472f5fb4b32ffcd7c.js b/precache-manifest.39f47edb39113e3c92a7631a03cb150d.js
similarity index 75%
rename from precache-manifest.072cce42f951a19472f5fb4b32ffcd7c.js
rename to precache-manifest.39f47edb39113e3c92a7631a03cb150d.js
index 614016f..fb761fb 100644
--- a/precache-manifest.072cce42f951a19472f5fb4b32ffcd7c.js
+++ b/precache-manifest.39f47edb39113e3c92a7631a03cb150d.js
@@ -1,6 +1,6 @@
self.__precacheManifest = (self.__precacheManifest || []).concat([
{
- "revision": "88397aab2ba6b0b8ab90abdceccf23d2",
+ "revision": "48fcf7bec9e6b743fd3a3b5ae5b23f91",
"url": "/text/index.html"
},
{
@@ -8,7 +8,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/text/static/css/2.b71989ea.chunk.css"
},
{
- "revision": "d8f7dbb3e90c9f007011",
+ "revision": "58f8a6cf42878c8bbbf3",
"url": "/text/static/css/main.435d5fe5.chunk.css"
},
{
@@ -20,8 +20,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/text/static/js/3.31c88699.chunk.js"
},
{
- "revision": "d8f7dbb3e90c9f007011",
- "url": "/text/static/js/main.ae26f8da.chunk.js"
+ "revision": "58f8a6cf42878c8bbbf3",
+ "url": "/text/static/js/main.ace645ba.chunk.js"
},
{
"revision": "7617f34c07ae51265f46",
diff --git a/service-worker.js b/service-worker.js
index eba6923..d34a772 100644
--- a/service-worker.js
+++ b/service-worker.js
@@ -14,7 +14,7 @@
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts(
- "/text/precache-manifest.072cce42f951a19472f5fb4b32ffcd7c.js"
+ "/text/precache-manifest.39f47edb39113e3c92a7631a03cb150d.js"
);
self.addEventListener('message', (event) => {
diff --git a/static/js/main.ace645ba.chunk.js b/static/js/main.ace645ba.chunk.js
new file mode 100644
index 0000000..9e68399
--- /dev/null
+++ b/static/js/main.ace645ba.chunk.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{15:function(e,t,a){},16:function(e,t,a){},19:function(e,t,a){"use strict";a.r(t);var l=a(0),n=a.n(l),r=a(6),o=a.n(r),c=(a(15),a(16),a(3));function s(e){return n.a.createElement("div",null,n.a.createElement("nav",{className:`navbar navbar-expand-lg navbar-${e.mode} bg-${e.mode}`},n.a.createElement("div",{className:"container-fluid"},n.a.createElement(c.b,{className:"navbar-brand",to:"/"},e.title),n.a.createElement("button",{className:"navbar-toggler",type:"button","data-bs-toggle":"collapse","data-bs-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation"},n.a.createElement("span",{className:"navbar-toggler-icon"})),n.a.createElement("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent"},n.a.createElement("ul",{className:"navbar-nav me-auto mb-2 mb-lg-0"},n.a.createElement("li",{className:"nav-item"},n.a.createElement(c.b,{className:"nav-link active","aria-current":"page",to:"/"},"Home")),n.a.createElement("li",{className:"nav-item"},n.a.createElement(c.b,{className:"nav-link",to:"/about"},e.aboutText))),n.a.createElement("div",{className:`form-check form-switch text-${"light"===e.mode?"dark":"light"}`},n.a.createElement("input",{className:"form-check-input",type:"checkbox",role:"switch",id:"flexSwitchCheckDefault",onClick:e.toggleMode}),n.a.createElement("label",{className:"form-check-label",htmlFor:"flexSwitchCheckDefault"},"light"===e.mode?"Enable Dark Mode":"Enable Light Mode"))))),n.a.createElement("link",{href:"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css",rel:"stylesheet"}),n.a.createElement("script",{src:"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"}))}function m(e){const t=e.showAlert,[a,r]=Object(l.useState)(""),[o,c]=Object(l.useState)(""),[s,m]=Object(l.useState)("");return n.a.createElement(n.a.Fragment,null,n.a.createElement("div",{className:"container",style:{color:"light"===e.mode?"black":"white"}},n.a.createElement("div",{className:"mb-3"},n.a.createElement("h3",null,e.heading," "),n.a.createElement("label",{htmlFor:"exampleFormControlTextarea1",className:"form-label"}),n.a.createElement("textarea",{className:"form-control",id:"exampleFormControlTextarea1",rows:10,value:a,style:{backgroundColor:"light"===e.mode?"white":"#042743",color:"light"===e.mode?"black":"white"},onChange:e=>{console.log("Handle on change"),r(e.target.value),t("TextBox Changed","success")},defaultValue:""}),n.a.createElement("button",{className:"btn btn-primary my-3 me-2",onClick:()=>{console.log("Handle up click");let e=a.toUpperCase();r(e),t("Coverted to upper case","success")}},"Convert To UpperCase"),n.a.createElement("button",{className:"btn btn-primary my-3 me-2",onClick:()=>{let e=a.toLowerCase();r(e),t("Coverted to lower case","success")}},"Convert To LowerCase"),n.a.createElement("button",{className:"btn btn-primary my-3 ",onClick:()=>{r(""),t("Text Cleared","success")}},"Clear Text"))),n.a.createElement("div",{className:"container",style:{color:"light"===e.mode?"black":"white"}},n.a.createElement("label",{htmlFor:"search",style:{fontSize:"large"}},"Search:"),n.a.createElement("textarea",{className:"form-control",id:"exampleFormControlTextarea1",style:{height:"50px",width:"200px",backgroundColor:"light"===e.mode?"white":"#042743",color:"light"===e.mode?"black":"white"},value:o,onChange:e=>{c(e.target.value),t("TextBox Changed","success")},defaultValue:""}),n.a.createElement("button",{className:"btn btn-primary my-3 ",onClick:()=>{let e=o.toLowerCase();a.toLowerCase().includes(e)?m(`"${o}" is found in text`):m(`"${o}" is not found in text`),t("Operation done","success")}},"Search"),n.a.createElement("div",null),n.a.createElement("label",{style:{color:"light"===e.mode?"black":"white"}},s)),n.a.createElement("div",{className:"container",style:{color:"light"===e.mode?"black":"white"}},n.a.createElement("h3",null,"Text Summary"),n.a.createElement("p",null,(e=>""===e.trim()?0:e.trim().split(/\s+/).length)(a)," words and ",a.length," characters"),n.a.createElement("p",null,.008*a.split(" ").length," minutes to read")),n.a.createElement("div",{className:"container",style:{color:"light"===e.mode?"black":"white"}},n.a.createElement("h4",null,"Preview"),n.a.createElement("p",null,a.length>0?a:"Enter text to preview")))}a(17),a(18);function i(e){return n.a.createElement("div",null,e.alert&&n.a.createElement("div",{className:`alert alert-${e.alert.type} alert-dismissible fade show`,role:"alert"},n.a.createElement("strong",null,(e=>{const t=e.toLowerCase();return t.charAt(0).toUpperCase()+t.slice(1)})(e.alert.type))," : ",e.alert.msg))}var d=a(2);var u=function(){const[e,t]=Object(l.useState)("light"),[a,r]=Object(l.useState)(null),o=(e,t)=>{r({msg:e,type:t}),setTimeout(()=>{r(null)},1e3)};return n.a.createElement(n.a.Fragment,null,n.a.createElement(c.a,null,n.a.createElement(s,{title:"TextConverter",aboutText:"About",mode:e,toggleMode:()=>{"light"===e?(t("dark"),document.body.style.backgroundColor="#042743",o("Dark Mode is set","success"),document.title="Textty Dark Mode"):(t("light"),document.body.style.backgroundColor="white",o("Light Mode is set","success"),document.title="Textty Light Mode")}}),n.a.createElement(i,{alert:a}),n.a.createElement("div",{className:"container my-3"},n.a.createElement(d.c,null,n.a.createElement(d.a,{exact:!0,path:"/",element:n.a.createElement(m,{heading:"Enter the text to analyze",mode:e,showAlert:o})})))))};var b=e=>{e&&e instanceof Function&&a.e(3).then(a.bind(null,20)).then(t=>{let{getCLS:a,getFID:l,getFCP:n,getLCP:r,getTTFB:o}=t;a(e),l(e),n(e),r(e),o(e)})};o.a.createRoot(document.getElementById("root")).render(n.a.createElement(n.a.StrictMode,null,n.a.createElement(u,null))),b()},7:function(e,t,a){e.exports=a(19)}},[[7,1,2]]]);
+//# sourceMappingURL=main.ace645ba.chunk.js.map
\ No newline at end of file
diff --git a/static/js/main.ace645ba.chunk.js.map b/static/js/main.ace645ba.chunk.js.map
new file mode 100644
index 0000000..79a78d9
--- /dev/null
+++ b/static/js/main.ace645ba.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["components/Navbar.js","components/TextForm.js","components/Alert.js","App.js","reportWebVitals.js","index.js"],"names":["Navbar","props","React","createElement","className","mode","Link","to","title","type","data-bs-toggle","data-bs-target","aria-controls","aria-expanded","aria-label","id","aria-current","aboutText","role","onClick","toggleMode","htmlFor","href","rel","src","TextForm","showAlert","text","setText","useState","text1","setText1","searchText","setSearchText","Fragment","style","color","heading","rows","value","backgroundColor","onChange","event","console","log","target","defaultValue","handleUpClick","newText","toUpperCase","handleLowClick","toLowerCase","handleClear","fontSize","height","width","searchFor","search","includes","trim","split","length","numberOfWords","Alert","alert","word","lower","charAt","slice","capitalize","msg","App","setMode","setAlert","message","setTimeout","Router","document","body","Routes","Route","exact","path","element","reportWebVitals","onPerfEntry","Function","__webpack_require__","e","then","bind","_ref","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","createRoot","getElementById","render","StrictMode"],"mappings":"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","file":"static/js/main.ace645ba.chunk.js","sourcesContent":["import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport default function Navbar(props) {\r\n return (\r\n
\r\n \r\n \r\n\r\n\r\n
\r\n )\r\n}\r\n\r\n// a\r\n","import React, {useState} from 'react'\r\n\r\nexport default function TextForm(props) {\r\n const showAlert = props.showAlert;\r\n //function for converting into upper case\r\n\r\n const handleUpClick = () => {\r\n console.log(\"Handle up click\");\r\n let newText = text.toUpperCase();\r\n setText(newText); \r\n showAlert(\"Coverted to upper case\", \"success\");\r\n }\r\n\r\n //function for change in the first text box\r\n\r\n const handleOnChange = (event) => {\r\n console.log(\"Handle on change\");\r\n setText(event.target.value);\r\n showAlert(\"TextBox Changed\", \"success\");\r\n }\r\n\r\n //function for changing in the second text box\r\n\r\n const handleOnChangeSearch = (event) => {\r\n setText1(event.target.value);\r\n showAlert(\"TextBox Changed\", \"success\");\r\n }\r\n //function for converting into lower case\r\n\r\n const handleLowClick = () => {\r\n let newText = text.toLowerCase();\r\n setText(newText);\r\n showAlert(\"Coverted to lower case\", \"success\");\r\n }\r\n\r\n //function to clear text\r\n const handleClear = () =>{\r\n setText('');\r\n showAlert(\"Text Cleared\", \"success\");\r\n }\r\n //function for searching whether a text is found in the larger text\r\n\r\n const searchFor = () => {\r\n let search = text1.toLowerCase();\r\n let large = text.toLowerCase();\r\n if(large.includes(search)){\r\n setSearchText(`\"${text1}\" is found in text`);\r\n }\r\n else{\r\n setSearchText(`\"${text1}\" is not found in text`);\r\n }\r\n showAlert(\"Operation done\", \"success\");\r\n }\r\n\r\n const numberOfWords = (text) => {\r\n if (text.trim() === \"\") {\r\n return 0;\r\n }\r\n return text.trim().split(/\\s+/).length;\r\n };\r\n\r\n //use state\r\n const [text, setText] = useState('');\r\n const [text1, setText1] = useState('');\r\n const [searchText, setSearchText] = useState('');\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
{props.heading}
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Text Summary
\r\n
{numberOfWords(text)} words and {text.length} characters
\r\n
{0.008 * text.split(\" \").length} minutes to read
\r\n
\r\n
\r\n
Preview
\r\n
{text.length > 0 ? text :\"Enter text to preview\"}
\r\n );\r\n}\r\n","import './App.css';\nimport React, { useState } from 'react';\n\nimport Navbar from './components/Navbar';\nimport TextForm from './components/TextForm';\nimport About from './components/About';\nimport Alert from './components/Alert';\n\nimport {\n BrowserRouter as Router, \n Routes,\n Route\n} from \"react-router-dom\";\n\nfunction App() {\n const [mode, setMode] = useState('light');\n const [alert, setAlert] = useState(null);\n\n const showAlert = (message, type) =>{\n setAlert({\n msg :message,\n type :type\n })\n setTimeout(() =>{\n setAlert(null);\n }, 1000);\n }\n\n const toggleMode = () =>{\n if(mode === 'light'){\n setMode('dark');\n document.body.style.backgroundColor = '#042743';\n showAlert(\"Dark Mode is set\", \"success\");\n document.title = 'Textty Dark Mode';\n }\n else {\n setMode('light');\n document.body.style.backgroundColor = 'white';\n showAlert(\"Light Mode is set\", \"success\");\n document.title = 'Textty Light Mode';\n }\n }\n\n return (\n <>\n \n \n \n
\n \n }/>\n \n
\n \n >\n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nconst root = ReactDOM.createRoot(document.getElementById('root'));\nroot.render(\n \n \n \n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/static/js/main.ae26f8da.chunk.js b/static/js/main.ae26f8da.chunk.js
deleted file mode 100644
index ccf16b1..0000000
--- a/static/js/main.ae26f8da.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{15:function(e,a,t){},16:function(e,a,t){},19:function(e,a,t){"use strict";t.r(a);var l=t(0),n=t.n(l),o=t(6),c=t.n(o),r=(t(15),t(16),t(3));function s(e){return n.a.createElement("div",null,n.a.createElement("nav",{className:`navbar navbar-expand-lg navbar-${e.mode} bg-${e.mode}`},n.a.createElement("div",{className:"container-fluid"},n.a.createElement(r.b,{className:"navbar-brand",to:"/"},e.title),n.a.createElement("button",{className:"navbar-toggler",type:"button","data-bs-toggle":"collapse","data-bs-target":"#navbarSupportedContent","aria-controls":"navbarSupportedContent","aria-expanded":"false","aria-label":"Toggle navigation"},n.a.createElement("span",{className:"navbar-toggler-icon"})),n.a.createElement("div",{className:"collapse navbar-collapse",id:"navbarSupportedContent"},n.a.createElement("ul",{className:"navbar-nav me-auto mb-2 mb-lg-0"},n.a.createElement("li",{className:"nav-item"},n.a.createElement(r.b,{className:"nav-link active","aria-current":"page",to:"/"},"Home")),n.a.createElement("li",{className:"nav-item"},n.a.createElement(r.b,{className:"nav-link",to:"/about"},e.aboutText))),n.a.createElement("div",{className:`form-check form-switch text-${"light"===e.mode?"dark":"light"}`},n.a.createElement("input",{className:"form-check-input",type:"checkbox",role:"switch",id:"flexSwitchCheckDefault",onClick:e.toggleMode}),n.a.createElement("label",{className:"form-check-label",htmlFor:"flexSwitchCheckDefault"},"light"===e.mode?"Enable Dark Mode":"Enable Light Mode"))))),n.a.createElement("link",{href:"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css",rel:"stylesheet"}),n.a.createElement("script",{src:"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"}))}function i(e){const a=e.showAlert,[t,o]=Object(l.useState)(""),[c,r]=Object(l.useState)(""),[s,i]=Object(l.useState)("");return n.a.createElement(n.a.Fragment,null,n.a.createElement("div",{className:"container",style:{color:"light"===e.mode?"black":"white"}},n.a.createElement("div",{className:"mb-3"},n.a.createElement("h3",null,e.heading," "),n.a.createElement("label",{htmlFor:"exampleFormControlTextarea1",className:"form-label"}),n.a.createElement("textarea",{className:"form-control",id:"exampleFormControlTextarea1",rows:10,value:t,style:{backgroundColor:"light"===e.mode?"white":"#042743",color:"light"===e.mode?"black":"white"},onChange:e=>{console.log("Handle on change"),o(e.target.value),a("TextBox Changed","success")},defaultValue:""}),n.a.createElement("button",{className:"btn btn-primary my-3 me-2",onClick:()=>{console.log("Handle up click");let e=t.toUpperCase();o(e),a("Coverted to upper case","success")}},"Convert To UpperCase"),n.a.createElement("button",{className:"btn btn-primary my-3 me-2",onClick:()=>{let e=t.toLowerCase();o(e),a("Coverted to lower case","success")}},"Convert To LowerCase"),n.a.createElement("button",{className:"btn btn-primary my-3 ",onClick:()=>{o(""),a("Text Cleared","success")}},"Clear Text"))),n.a.createElement("div",{className:"container",style:{color:"light"===e.mode?"black":"white"}},n.a.createElement("label",{htmlFor:"search",style:{fontSize:"large"}},"Search:"),n.a.createElement("textarea",{className:"form-control",id:"exampleFormControlTextarea1",style:{height:"50px",width:"200px",backgroundColor:"light"===e.mode?"white":"#042743",color:"light"===e.mode?"black":"white"},value:c,onChange:e=>{r(e.target.value),a("TextBox Changed","success")},defaultValue:""}),n.a.createElement("button",{className:"btn btn-primary my-3 ",onClick:()=>{let e=c.toLowerCase();t.toLowerCase().includes(e)?i(`"${c}" is found in text`):i(`"${c}" is not found in text`),a("Operation done","success")}},"Search"),n.a.createElement("div",null),n.a.createElement("label",{style:{color:"light"===e.mode?"black":"white"}},s)),n.a.createElement("div",{className:"container",style:{color:"light"===e.mode?"black":"white"}},n.a.createElement("h3",null,"Text Summary"),n.a.createElement("p",null,(e=>""===e.trim()?0:e.trim().split(/\s+/).length)(t)," words and ",t.length," characters"),n.a.createElement("p",null,.008*t.split(" ").length," minutes to read")),n.a.createElement("div",{className:"container",style:{color:"light"===e.mode?"black":"white"}},n.a.createElement("h4",null,"Preview"),n.a.createElement("p",null,t.length>0?t:"Enter text to preview")))}t(17),t(18);function m(){const[e,a]=Object(l.useState)({color:"white",backgroundColor:"black"}),[t,o]=Object(l.useState)("Enable Dark Mode");return n.a.createElement("div",{className:"container",style:e},n.a.createElement("h1",null,"About Us"),n.a.createElement("div",{className:"accordion",id:"accordionExample"},n.a.createElement("div",{className:"accordion-item"},n.a.createElement("h2",{className:"accordion-header"},n.a.createElement("button",{className:"accordion-button",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapseOne","aria-expanded":"true","aria-controls":"collapseOne"},"Accordion Item #1")),n.a.createElement("div",{id:"collapseOne",className:"accordion-collapse collapse show","data-bs-parent":"#accordionExample"},n.a.createElement("div",{className:"accordion-body"},n.a.createElement("strong",null,"This is the first item's accordion body.")," It is shown by default, until the collapse plugin adds the appropriate classes that we use to style each element."))),n.a.createElement("div",{className:"accordion-item"},n.a.createElement("h2",{className:"accordion-header"},n.a.createElement("button",{className:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapseTwo","aria-expanded":"false","aria-controls":"collapseTwo"},"Accordion Item #2")),n.a.createElement("div",{id:"collapseTwo",className:"accordion-collapse collapse","data-bs-parent":"#accordionExample"},n.a.createElement("div",{className:"accordion-body"},n.a.createElement("strong",null,"This is the second item's accordion body.")," It is hidden by default, until the collapse plugin adds the appropriate classes."))),n.a.createElement("div",{className:"accordion-item"},n.a.createElement("h2",{className:"accordion-header"},n.a.createElement("button",{className:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapseThree","aria-expanded":"false","aria-controls":"collapseThree"},"Accordion Item #3")),n.a.createElement("div",{id:"collapseThree",className:"accordion-collapse collapse","data-bs-parent":"#accordionExample"},n.a.createElement("div",{className:"accordion-body"},n.a.createElement("strong",null,"This is the third item's accordion body.")," It is hidden by default, until the collapse plugin adds the appropriate classes."))),n.a.createElement("div",{className:"container my-3"},n.a.createElement("button",{className:"btn btn-primary ",onClick:()=>{"white"==e.color?(a({color:"black",backgroundColor:"white"}),o("Enable dark mode")):(a({color:"white",backgroundColor:"black"}),o("Enable light mode"))}},t))))}function d(e){return n.a.createElement("div",null,e.alert&&n.a.createElement("div",{className:`alert alert-${e.alert.type} alert-dismissible fade show`,role:"alert"},n.a.createElement("strong",null,(e=>{const a=e.toLowerCase();return a.charAt(0).toUpperCase()+a.slice(1)})(e.alert.type))," : ",e.alert.msg))}var u=t(2);var b=function(){const[e,a]=Object(l.useState)("light"),[t,o]=Object(l.useState)(null),c=(e,a)=>{o({msg:e,type:a}),setTimeout(()=>{o(null)},1e3)};return n.a.createElement(n.a.Fragment,null,n.a.createElement(r.a,null,n.a.createElement(s,{title:"TextConverter",aboutText:"About",mode:e,toggleMode:()=>{"light"===e?(a("dark"),document.body.style.backgroundColor="#042743",c("Dark Mode is set","success"),document.title="Textty Dark Mode"):(a("light"),document.body.style.backgroundColor="white",c("Light Mode is set","success"),document.title="Textty Light Mode")}}),n.a.createElement(d,{alert:t}),n.a.createElement("div",{className:"container my-3"},n.a.createElement(u.c,null,n.a.createElement(u.a,{exact:!0,path:"/about",element:n.a.createElement(m,null)}),n.a.createElement(u.a,{exact:!0,path:"/",element:n.a.createElement(i,{heading:"Enter the text to analyze",mode:e,showAlert:c})})))))};var p=e=>{e&&e instanceof Function&&t.e(3).then(t.bind(null,20)).then(a=>{let{getCLS:t,getFID:l,getFCP:n,getLCP:o,getTTFB:c}=a;t(e),l(e),n(e),o(e),c(e)})};c.a.createRoot(document.getElementById("root")).render(n.a.createElement(n.a.StrictMode,null,n.a.createElement(b,null))),p()},7:function(e,a,t){e.exports=t(19)}},[[7,1,2]]]);
-//# sourceMappingURL=main.ae26f8da.chunk.js.map
\ No newline at end of file
diff --git a/static/js/main.ae26f8da.chunk.js.map b/static/js/main.ae26f8da.chunk.js.map
deleted file mode 100644
index 4714544..0000000
--- a/static/js/main.ae26f8da.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["components/Navbar.js","components/TextForm.js","components/About.js","components/Alert.js","App.js","reportWebVitals.js","index.js"],"names":["Navbar","props","React","createElement","className","mode","Link","to","title","type","data-bs-toggle","data-bs-target","aria-controls","aria-expanded","aria-label","id","aria-current","aboutText","role","onClick","toggleMode","htmlFor","href","rel","src","TextForm","showAlert","text","setText","useState","text1","setText1","searchText","setSearchText","Fragment","style","color","heading","rows","value","backgroundColor","onChange","event","console","log","target","defaultValue","handleUpClick","newText","toUpperCase","handleLowClick","toLowerCase","handleClear","fontSize","height","width","searchFor","search","includes","trim","split","length","numberOfWords","About","myStyle","setMyStyle","btntext","setbtntext","data-bs-parent","toggleStyle","Alert","alert","word","lower","charAt","slice","capitalize","msg","App","setMode","setAlert","message","setTimeout","Router","document","body","Routes","Route","exact","path","element","reportWebVitals","onPerfEntry","Function","__webpack_require__","e","then","bind","_ref","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","createRoot","getElementById","render","StrictMode"],"mappings":"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","file":"static/js/main.ae26f8da.chunk.js","sourcesContent":["import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport default function Navbar(props) {\r\n return (\r\n
\r\n \r\n \r\n\r\n\r\n
\r\n )\r\n}\r\n\r\n// a\r\n","import React, {useState} from 'react'\r\n\r\nexport default function TextForm(props) {\r\n const showAlert = props.showAlert;\r\n //function for converting into upper case\r\n\r\n const handleUpClick = () => {\r\n console.log(\"Handle up click\");\r\n let newText = text.toUpperCase();\r\n setText(newText); \r\n showAlert(\"Coverted to upper case\", \"success\");\r\n }\r\n\r\n //function for change in the first text box\r\n\r\n const handleOnChange = (event) => {\r\n console.log(\"Handle on change\");\r\n setText(event.target.value);\r\n showAlert(\"TextBox Changed\", \"success\");\r\n }\r\n\r\n //function for changing in the second text box\r\n\r\n const handleOnChangeSearch = (event) => {\r\n setText1(event.target.value);\r\n showAlert(\"TextBox Changed\", \"success\");\r\n }\r\n //function for converting into lower case\r\n\r\n const handleLowClick = () => {\r\n let newText = text.toLowerCase();\r\n setText(newText);\r\n showAlert(\"Coverted to lower case\", \"success\");\r\n }\r\n\r\n //function to clear text\r\n const handleClear = () =>{\r\n setText('');\r\n showAlert(\"Text Cleared\", \"success\");\r\n }\r\n //function for searching whether a text is found in the larger text\r\n\r\n const searchFor = () => {\r\n let search = text1.toLowerCase();\r\n let large = text.toLowerCase();\r\n if(large.includes(search)){\r\n setSearchText(`\"${text1}\" is found in text`);\r\n }\r\n else{\r\n setSearchText(`\"${text1}\" is not found in text`);\r\n }\r\n showAlert(\"Operation done\", \"success\");\r\n }\r\n\r\n const numberOfWords = (text) => {\r\n if (text.trim() === \"\") {\r\n return 0;\r\n }\r\n return text.trim().split(/\\s+/).length;\r\n };\r\n\r\n //use state\r\n const [text, setText] = useState('');\r\n const [text1, setText1] = useState('');\r\n const [searchText, setSearchText] = useState('');\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
{props.heading}
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Text Summary
\r\n
{numberOfWords(text)} words and {text.length} characters
\r\n
{0.008 * text.split(\" \").length} minutes to read
\r\n
\r\n
\r\n
Preview
\r\n
{text.length > 0 ? text :\"Enter text to preview\"}
\r\n
\r\n >\r\n\r\n )\r\n}\r\n","import React, {useState} from 'react';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport 'bootstrap/dist/js/bootstrap.bundle.min';\r\n\r\nexport default function About() {\r\n const [myStyle, setMyStyle] = useState({\r\n color :'white',\r\n backgroundColor :'black'\r\n })\r\n const [btntext, setbtntext] = useState(\"Enable Dark Mode\");\r\n\r\n const toggleStyle = () => {\r\n if(myStyle.color == 'white'){\r\n setMyStyle({\r\n color : 'black',\r\n backgroundColor : 'white'\r\n })\r\n setbtntext(\"Enable dark mode\");\r\n }\r\n else{\r\n setMyStyle({\r\n color :'white',\r\n backgroundColor :'black'\r\n })\r\n setbtntext(\"Enable light mode\");\r\n }\r\n }\r\n \r\n return (\r\n
\r\n
About Us
\r\n
\r\n {/* myStyle is an object */}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n This is the first item's accordion body. It is shown by default, until the collapse plugin adds the appropriate classes that we use to style each element.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n This is the second item's accordion body. It is hidden by default, until the collapse plugin adds the appropriate classes.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n This is the third item's accordion body. It is hidden by default, until the collapse plugin adds the appropriate classes.\r\n
\r\n );\r\n}\r\n","import './App.css';\nimport React, { useState } from 'react';\n\nimport Navbar from './components/Navbar';\nimport TextForm from './components/TextForm';\nimport About from './components/About';\nimport Alert from './components/Alert';\n\nimport {\n BrowserRouter as Router, \n Routes,\n Route\n} from \"react-router-dom\";\n\nfunction App() {\n const [mode, setMode] = useState('light');\n const [alert, setAlert] = useState(null);\n\n const showAlert = (message, type) =>{\n setAlert({\n msg :message,\n type :type\n })\n setTimeout(() =>{\n setAlert(null);\n }, 1000);\n }\n\n const toggleMode = () =>{\n if(mode === 'light'){\n setMode('dark');\n document.body.style.backgroundColor = '#042743';\n showAlert(\"Dark Mode is set\", \"success\");\n document.title = 'Textty Dark Mode';\n }\n else {\n setMode('light');\n document.body.style.backgroundColor = 'white';\n showAlert(\"Light Mode is set\", \"success\");\n document.title = 'Textty Light Mode';\n }\n }\n\n return (\n <>\n \n \n \n
\n \n }/>\n }/>\n \n
\n \n >\n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nconst root = ReactDOM.createRoot(document.getElementById('root'));\nroot.render(\n \n \n \n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}
\ No newline at end of file