├── dailyUseTools ├── notes │ ├── notes.css │ ├── notes-Tool.png │ └── notes.js ├── morseConverter │ ├── morse.png │ └── morse.js ├── dailyUseTool.md ├── compass │ ├── images │ │ ├── Compass_pc.png │ │ ├── compass_dial.png │ │ └── Compass_mobile.jpeg │ ├── compassStylesheet.css │ ├── CompassMain.js │ └── Compass.html ├── passwordGenerator │ └── passwordGenerator.PNG └── bmicalculator │ └── bmi-calculator-Screenshot.png ├── conversionTools ├── conversionTools.md ├── length │ ├── length.png │ ├── length.css │ └── length.html ├── power │ ├── preview.png │ └── power.css ├── Torque │ ├── preview.png │ └── torque.css ├── weight │ ├── preview.png │ ├── weight.css │ └── weight.js ├── density │ ├── Screenshot.png │ ├── density.js │ └── density.css ├── fuelEfficiency │ ├── fec.PNG │ ├── fuel.css │ ├── fuel.js │ └── fuel.html ├── pressure │ ├── preview.png │ └── pressure.css ├── resistance │ ├── preview.png │ └── resistance.css ├── imagePdf │ ├── imageToPdf.png │ ├── imagePdf.css │ └── imagePdf.js ├── image │ ├── image-converter.png │ ├── image.css │ └── image.js ├── temperture │ ├── previewimg.png │ ├── temperture.js │ └── temperture.css ├── speed │ ├── screenshot_tool_speed.png │ ├── speed.css │ └── speed.js ├── storage │ ├── Screenshot_storage.jpg │ └── storage.css ├── Angle_Conversion │ ├── output_Screenshot.png │ ├── angleconversion.js │ └── angleconversion.css ├── currency │ ├── currency.js │ └── currency.css ├── Energy │ ├── energy.css │ └── energy.js └── frequency │ ├── frequency.js │ └── frequency.css ├── mathmeticalTools ├── mathmeticalTool.md ├── ratio │ ├── preview.png │ ├── ratio.js │ └── ratio.css ├── volume │ ├── preview.png │ └── volume.css ├── quadratic │ ├── preview.png │ ├── quadratic.js │ └── quadratic.css ├── numberBase │ └── preview.png ├── LinearEquation │ ├── Timber.jpg │ ├── screenshotOfPage.png │ ├── linearEquation.css │ ├── linearEquation.js │ └── linearEquation.html ├── proportions │ ├── proportions.png │ ├── proportions.css │ ├── proportions.js │ └── proportions.html ├── decimalToFraction │ ├── preview.png │ ├── decimalToFraction.js │ └── decimalToFraction.css ├── GCD_HCF_LCM_Calculator │ ├── Working.png │ ├── Alert (wrong input).png │ ├── gcd_hcf_lcm_calc.css │ └── gcd_hcf_lcm_calc.js ├── percentageCalculator │ ├── Percentage1.png │ ├── Percentage2.png │ ├── percentageCalculator.js │ └── percentageCalculator.css ├── numberSeriesGenerator │ ├── numberSeriesGenerator.png │ └── numberSeriesGenerator.css ├── romanNumerals │ ├── romanNumerals.css │ └── romanNumerals.js ├── scientific-calcuator │ ├── sci-calc.css │ ├── sci-calc.js │ └── sci-calc.html └── cubicEquation │ └── cubicEquation.css ├── favicon.ico ├── assets ├── img │ ├── p1.jpg │ ├── p2.jpg │ ├── pg.jpg │ ├── .DS_Store │ ├── blank.jpg │ ├── house.gif │ ├── utility.png │ └── utility-1.png ├── scripts │ ├── app.js │ └── templates.js ├── config │ └── categories.js └── styles │ ├── style.css │ └── contributor.css ├── financeTools ├── financeTools.md ├── emiCalculator │ └── emi-calculator.png ├── service-tax-calculator │ ├── screenshort-1.png │ ├── screenshort-2.png │ ├── style.css │ └── tools.html ├── stock-return-calculator │ ├── stock-return-calculator.png │ ├── stockreturn.js │ ├── stockreturn.css │ └── stockreturn.html ├── compound-interest-calculator │ ├── compoundinterestcalculator.png │ ├── compoundinterestcalculator.js │ └── compoundinterestcalculator.css ├── mortgageCalculator │ ├── mortgageCalc.css │ ├── mortgageCalc.js │ └── mortgageCalc.html ├── discountcalculator │ ├── discount.js │ └── discount.css └── retirementcalaculator │ └── retirement.js ├── .gitignore ├── package.json ├── boilerplate.template └── CONTRIBUTING.md /dailyUseTools/notes/notes.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /conversionTools/conversionTools.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /mathmeticalTools/mathmeticalTool.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/favicon.ico -------------------------------------------------------------------------------- /assets/img/p1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/assets/img/p1.jpg -------------------------------------------------------------------------------- /assets/img/p2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/assets/img/p2.jpg -------------------------------------------------------------------------------- /assets/img/pg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/assets/img/pg.jpg -------------------------------------------------------------------------------- /assets/img/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/assets/img/.DS_Store -------------------------------------------------------------------------------- /assets/img/blank.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/assets/img/blank.jpg -------------------------------------------------------------------------------- /assets/img/house.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/assets/img/house.gif -------------------------------------------------------------------------------- /assets/img/utility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/assets/img/utility.png -------------------------------------------------------------------------------- /financeTools/financeTools.md: -------------------------------------------------------------------------------- 1 | # retirement calculator 2 | A simple easy to use retirement calculator -------------------------------------------------------------------------------- /assets/img/utility-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/assets/img/utility-1.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # IDE config 2 | .idea/ 3 | .vscode/ 4 | 5 | # dependencies 6 | node_modules/ 7 | 8 | revert -------------------------------------------------------------------------------- /conversionTools/length/length.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/length/length.png -------------------------------------------------------------------------------- /conversionTools/power/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/power/preview.png -------------------------------------------------------------------------------- /conversionTools/Torque/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/Torque/preview.png -------------------------------------------------------------------------------- /conversionTools/weight/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/weight/preview.png -------------------------------------------------------------------------------- /dailyUseTools/notes/notes-Tool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/dailyUseTools/notes/notes-Tool.png -------------------------------------------------------------------------------- /mathmeticalTools/ratio/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/ratio/preview.png -------------------------------------------------------------------------------- /mathmeticalTools/volume/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/volume/preview.png -------------------------------------------------------------------------------- /conversionTools/density/Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/density/Screenshot.png -------------------------------------------------------------------------------- /conversionTools/fuelEfficiency/fec.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/fuelEfficiency/fec.PNG -------------------------------------------------------------------------------- /conversionTools/pressure/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/pressure/preview.png -------------------------------------------------------------------------------- /conversionTools/resistance/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/resistance/preview.png -------------------------------------------------------------------------------- /dailyUseTools/morseConverter/morse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/dailyUseTools/morseConverter/morse.png -------------------------------------------------------------------------------- /mathmeticalTools/quadratic/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/quadratic/preview.png -------------------------------------------------------------------------------- /conversionTools/imagePdf/imageToPdf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/imagePdf/imageToPdf.png -------------------------------------------------------------------------------- /dailyUseTools/dailyUseTool.md: -------------------------------------------------------------------------------- 1 | [BMI](dailyUseTools/bmicalculator/) 2 | 3 | [password generator](dailyUseTools/passwordGenerator/) 4 | -------------------------------------------------------------------------------- /mathmeticalTools/numberBase/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/numberBase/preview.png -------------------------------------------------------------------------------- /conversionTools/image/image-converter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/image/image-converter.png -------------------------------------------------------------------------------- /conversionTools/temperture/previewimg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/temperture/previewimg.png -------------------------------------------------------------------------------- /dailyUseTools/compass/images/Compass_pc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/dailyUseTools/compass/images/Compass_pc.png -------------------------------------------------------------------------------- /mathmeticalTools/LinearEquation/Timber.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/LinearEquation/Timber.jpg -------------------------------------------------------------------------------- /dailyUseTools/compass/images/compass_dial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/dailyUseTools/compass/images/compass_dial.png -------------------------------------------------------------------------------- /financeTools/emiCalculator/emi-calculator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/financeTools/emiCalculator/emi-calculator.png -------------------------------------------------------------------------------- /mathmeticalTools/proportions/proportions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/proportions/proportions.png -------------------------------------------------------------------------------- /conversionTools/speed/screenshot_tool_speed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/speed/screenshot_tool_speed.png -------------------------------------------------------------------------------- /conversionTools/storage/Screenshot_storage.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/storage/Screenshot_storage.jpg -------------------------------------------------------------------------------- /dailyUseTools/compass/images/Compass_mobile.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/dailyUseTools/compass/images/Compass_mobile.jpeg -------------------------------------------------------------------------------- /mathmeticalTools/decimalToFraction/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/decimalToFraction/preview.png -------------------------------------------------------------------------------- /dailyUseTools/passwordGenerator/passwordGenerator.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/dailyUseTools/passwordGenerator/passwordGenerator.PNG -------------------------------------------------------------------------------- /financeTools/service-tax-calculator/screenshort-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/financeTools/service-tax-calculator/screenshort-1.png -------------------------------------------------------------------------------- /financeTools/service-tax-calculator/screenshort-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/financeTools/service-tax-calculator/screenshort-2.png -------------------------------------------------------------------------------- /mathmeticalTools/GCD_HCF_LCM_Calculator/Working.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/GCD_HCF_LCM_Calculator/Working.png -------------------------------------------------------------------------------- /mathmeticalTools/LinearEquation/screenshotOfPage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/LinearEquation/screenshotOfPage.png -------------------------------------------------------------------------------- /mathmeticalTools/percentageCalculator/Percentage1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/percentageCalculator/Percentage1.png -------------------------------------------------------------------------------- /mathmeticalTools/percentageCalculator/Percentage2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/percentageCalculator/Percentage2.png -------------------------------------------------------------------------------- /conversionTools/Angle_Conversion/output_Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/Angle_Conversion/output_Screenshot.png -------------------------------------------------------------------------------- /dailyUseTools/bmicalculator/bmi-calculator-Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/dailyUseTools/bmicalculator/bmi-calculator-Screenshot.png -------------------------------------------------------------------------------- /mathmeticalTools/GCD_HCF_LCM_Calculator/Alert (wrong input).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/GCD_HCF_LCM_Calculator/Alert (wrong input).png -------------------------------------------------------------------------------- /financeTools/stock-return-calculator/stock-return-calculator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/financeTools/stock-return-calculator/stock-return-calculator.png -------------------------------------------------------------------------------- /mathmeticalTools/numberSeriesGenerator/numberSeriesGenerator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/numberSeriesGenerator/numberSeriesGenerator.png -------------------------------------------------------------------------------- /financeTools/compound-interest-calculator/compoundinterestcalculator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeezzi/utility/HEAD/financeTools/compound-interest-calculator/compoundinterestcalculator.png -------------------------------------------------------------------------------- /assets/scripts/app.js: -------------------------------------------------------------------------------- 1 | /* 2 | * General App Scrips 3 | * Notice: Only general scripts should be placed here 4 | * Created by Negar Jamalifard 5 | * */ 6 | 7 | $(document).ready(function () { 8 | const template = new Templates(); 9 | 10 | template.appendNavItems(); 11 | }); 12 | -------------------------------------------------------------------------------- /mathmeticalTools/romanNumerals/romanNumerals.css: -------------------------------------------------------------------------------- 1 | /* 2 | *---------------------------------------------------------------- 3 | * SITE HEADER 4 | *---------------------------------------------------------------- 5 | */ 6 | .site-header { 7 | background-color: rgba(0, 0, 0, 0.85); 8 | -webkit-backdrop-filter: saturate(180%) blur(20px); 9 | backdrop-filter: saturate(180%) blur(20px); 10 | } -------------------------------------------------------------------------------- /conversionTools/fuelEfficiency/fuel.css: -------------------------------------------------------------------------------- 1 | .title { 2 | text-align: center; 3 | padding: 20px; 4 | } 5 | 6 | #content { 7 | margin: 0 auto; 8 | width: 50%; 9 | text-align: center; 10 | } 11 | 12 | .site-header{ 13 | background-color: rgba(0, 0, 0, .85); 14 | -webkit-backdrop-filter: saturate(180%) blur(20px); 15 | backdrop-filter: saturate(180%) blur(20px); 16 | } 17 | 18 | input { 19 | width: 80px; 20 | } 21 | 22 | .total { 23 | font-weight: bold; 24 | } 25 | 26 | .btn-btn { 27 | background-color: blueviolet; 28 | color: white; 29 | } -------------------------------------------------------------------------------- /assets/config/categories.js: -------------------------------------------------------------------------------- 1 | // Globally available variable 2 | const UTILITY_CATEGORIES = { 3 | "conversionTools": { 4 | "title": "Conversion Tools", 5 | "icon": "fa-balance-scale" 6 | }, 7 | "dailyUseTools": { 8 | "title": "Daily Use Tools", 9 | "icon": "fa-puzzle-piece" 10 | }, 11 | "financeTools": { 12 | "title": "Finance Tools", 13 | "icon": "fa-money" 14 | }, 15 | "mathmeticalTools": { 16 | "title": "Mathematical Tools", 17 | "icon": "fa-calculator" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /conversionTools/fuelEfficiency/fuel.js: -------------------------------------------------------------------------------- 1 | function calculateMPG() { 2 | var miles = document.getElementById("miles").value; 3 | var gallons = document.getElementById("gallons").value; 4 | console.log(mpgs); 5 | 6 | 7 | if (miles < 0) { 8 | document.getElementById("miles").innerHTML = ""; 9 | } 10 | else if (gallons < 0) { 11 | document.getElementById("gallons").innerHTML = ""; 12 | } 13 | else { 14 | var mpg = miles / gallons; 15 | 16 | document.getElementById("mpgs").innerHTML = mpg.toFixed(2); 17 | console.log(mpgs); 18 | } 19 | } -------------------------------------------------------------------------------- /conversionTools/Angle_Conversion/angleconversion.js: -------------------------------------------------------------------------------- 1 | /* When the input field receives input, convert the value from degree to radians pi/180 */ 2 | function degangleConverter(valNum) { 3 | valNum = parseFloat(valNum); 4 | document.getElementById("outputRadian").innerHTML = valNum * 0.01745329; 5 | } 6 | 7 | /* When the input field receives input, convert the value from radians to degrees 180/pi */ 8 | function radangleConverter(valNum) { 9 | valNum = parseFloat(valNum); 10 | document.getElementById("outputDegree").innerHTML = valNum * 57.29577; 11 | } -------------------------------------------------------------------------------- /financeTools/compound-interest-calculator/compoundinterestcalculator.js: -------------------------------------------------------------------------------- 1 | function compoundInterest() { 2 | var p = parseInt(document.getElementById("principal").value); 3 | var r = parseInt(document.getElementById("rate").value); 4 | var t = parseInt(document.getElementById("time").value); 5 | var n = parseInt(document.getElementById("part").value); 6 | 7 | var power = n * t; 8 | var brack = (1 + (r / (100 * n))); 9 | var amount = p * (brack ** power); 10 | var ci = amount - p; 11 | 12 | var res = document.getElementById("final-amount"); 13 | res.value = amount; 14 | var val = document.getElementById("compound"); 15 | val.value = ci; 16 | } -------------------------------------------------------------------------------- /financeTools/stock-return-calculator/stockreturn.js: -------------------------------------------------------------------------------- 1 | function StockReturn() { 2 | var p0 = parseInt(document.getElementById("intialprice").value); 3 | var p1 = parseInt(document.getElementById("endingprice").value); 4 | var D = parseInt(document.getElementById("dividends").value); 5 | var t =parseInt(document.getElementById("time").value); 6 | 7 | 8 | var diff = p1-p0; 9 | var result1 = diff+D; 10 | result1=result1/p0; 11 | result1=result1*100; 12 | 13 | var result2; 14 | var divi=p1/p0; 15 | var exp=1/t; 16 | divi=Math.pow(divi,exp); 17 | result2=divi-1; 18 | result2=result2*100; 19 | 20 | var val1 = document.getElementById("stockreturnvalue"); 21 | val1.value = result1; 22 | 23 | var val2 = document.getElementById("compoundgrowth"); 24 | val2.value=result2; 25 | } -------------------------------------------------------------------------------- /financeTools/stock-return-calculator/stockreturn.css: -------------------------------------------------------------------------------- 1 | .container1 { 2 | padding-left: 200px; 3 | padding-right: 200px; 4 | } 5 | 6 | .calculator-stockreturn { 7 | padding-left: 250px; 8 | padding-top: 20px; 9 | padding-right: 250px; 10 | padding-bottom: 50px; 11 | } 12 | 13 | .inputs { 14 | padding: 10px; 15 | } 16 | 17 | .outputs { 18 | padding: 10px; 19 | } 20 | 21 | label { 22 | padding-right: 20px; 23 | } 24 | 25 | input { 26 | padding: 10px; 27 | border-radius: 5em; 28 | border: 3px solid #0a0600; 29 | float: right; 30 | } 31 | 32 | .btn-calculate { 33 | color: antiquewhite; 34 | margin: 10px; 35 | width: 100%; 36 | padding: 20px; 37 | text-align: center; 38 | border-radius: 15em; 39 | background-color: #1d1ace; 40 | border: 5px solid #0a0600; 41 | } 42 | -------------------------------------------------------------------------------- /financeTools/compound-interest-calculator/compoundinterestcalculator.css: -------------------------------------------------------------------------------- 1 | .container1 { 2 | padding-left: 200px; 3 | padding-right: 200px; 4 | } 5 | 6 | .calculator-compound { 7 | padding-left: 250px; 8 | padding-top: 20px; 9 | padding-right: 250px; 10 | padding-bottom: 50px; 11 | } 12 | 13 | .inputs { 14 | padding: 10px; 15 | } 16 | 17 | .outputs { 18 | padding: 10px; 19 | } 20 | 21 | label { 22 | padding-right: 20px; 23 | } 24 | 25 | input { 26 | padding: 10px; 27 | border-radius: 5em; 28 | border: 1px solid #df8714; 29 | float: right; 30 | } 31 | 32 | .btn-calculate { 33 | color: antiquewhite; 34 | margin: 10px; 35 | width: 100%; 36 | padding: 20px; 37 | text-align: center; 38 | border-radius: 15em; 39 | background-color: #ce4d1a; 40 | border: 2px solid #df8714; 41 | } 42 | -------------------------------------------------------------------------------- /mathmeticalTools/decimalToFraction/decimalToFraction.js: -------------------------------------------------------------------------------- 1 | MathJax.Hub.Config({ 2 | extensions: ["tex2jax.js"], 3 | "HTML-CSS": { scale: 100} 4 | }); 5 | 6 | 7 | // function convertToFraction(){ 8 | // var decimal = document.getElementById("decimal").value; 9 | // document.getElementById("ans1").innerHTML = decimal; 10 | // } 11 | 12 | function gcd(a, b) { 13 | return (b) ? gcd(b, a % b) : a; 14 | } 15 | 16 | function convertToFraction() { 17 | var decimal = document.getElementById("decimal").value; 18 | var top = decimal.toString().replace(/\d+[.]/, ''); 19 | var bottom = Math.pow(10, top.length); 20 | if (decimal > 1) { 21 | top = +top + Math.floor(decimal) * bottom; 22 | } 23 | var x = gcd(top, bottom); 24 | document.getElementById("top").innerHTML = (top / x)+"/"; 25 | document.getElementById("bottom").innerHTML = (bottom / x); 26 | }; -------------------------------------------------------------------------------- /conversionTools/image/image.css: -------------------------------------------------------------------------------- 1 | .dropzone-wrapper { 2 | border: 2px dashed #91b0b3; 3 | color: #92b0b3; 4 | position: relative; 5 | height: 150px; 6 | } 7 | 8 | .dropzone-desc { 9 | position: absolute; 10 | margin: 0 auto; 11 | left: 0; 12 | right: 0; 13 | text-align: center; 14 | width: 70%; 15 | top: 25px; 16 | } 17 | 18 | .dropzone, 19 | .dropzone:focus { 20 | position: absolute; 21 | outline: none !important; 22 | width: 100%; 23 | height: 150px; 24 | cursor: pointer; 25 | opacity: 0; 26 | } 27 | 28 | .dropzone-wrapper:hover, 29 | .dropzone-wrapper.dragover { 30 | background: #ecf0f5; 31 | } 32 | 33 | .preview-zone { 34 | text-align: center; 35 | } 36 | 37 | .preview-zone img{ 38 | width: 75%; 39 | } 40 | 41 | .preview-zone .box { 42 | box-shadow: none; 43 | border-radius: 0; 44 | margin-bottom: 0; 45 | } 46 | 47 | .hidden{ 48 | display: none; 49 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "utility", 3 | "version": "1.0.0", 4 | "description": "Utility is meant to be a simple easy to use unit conversion website plus bunch of utility tools. This will be a static website made completly from HTML,CSS and Javascript or any other Frontend Framwork.", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/codeezzi/utility.git" 12 | }, 13 | "author": "Shubham Goswami", 14 | "license": "ISC", 15 | "bugs": { 16 | "url": "https://github.com/codeezzi/utility/issues" 17 | }, 18 | "homepage": "https://github.com/codeezzi/utility#readme", 19 | "devDependencies": { 20 | "git-scripts": "^0.4.3", 21 | "surge": "^0.21.6" 22 | }, 23 | "git": { 24 | "scripts": { 25 | "pre-push": "surge --project ./ --domain codeezzi-utility.surge.sh" 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /conversionTools/imagePdf/imagePdf.css: -------------------------------------------------------------------------------- 1 | .dropzone-wrapper { 2 | border: 2px dashed #91b0b3; 3 | color: #92b0b3; 4 | position: relative; 5 | height: 150px; 6 | } 7 | 8 | .dropzone-desc { 9 | position: absolute; 10 | margin: 0 auto; 11 | left: 0; 12 | right: 0; 13 | text-align: center; 14 | width: 70%; 15 | top: 25px; 16 | } 17 | 18 | .dropzone, 19 | .dropzone:focus { 20 | position: absolute; 21 | outline: none !important; 22 | width: 100%; 23 | height: 150px; 24 | cursor: pointer; 25 | opacity: 0; 26 | } 27 | 28 | .dropzone-wrapper:hover, 29 | .dropzone-wrapper.dragover { 30 | background: #ecf0f5; 31 | } 32 | 33 | .preview-zone { 34 | text-align: center; 35 | } 36 | 37 | .preview-zone img{ 38 | width: 75%; 39 | } 40 | .preview-zone svg{ 41 | width: 75%; 42 | height: auto; 43 | } 44 | .preview-zone .box { 45 | box-shadow: none; 46 | border-radius: 0; 47 | margin-bottom: 0; 48 | } 49 | 50 | .hidden{ 51 | display: none; 52 | } -------------------------------------------------------------------------------- /financeTools/mortgageCalculator/mortgageCalc.css: -------------------------------------------------------------------------------- 1 | div{ 2 | text-align: center; 3 | } 4 | 5 | nav { 6 | background-color: black; 7 | } 8 | 9 | img { 10 | height: auto; 11 | width: 250px; 12 | } 13 | 14 | td { 15 | padding-top: 4%; 16 | } 17 | 18 | table { 19 | margin: 0 auto; 20 | } 21 | 22 | 23 | #apr, #amt { 24 | border-radius: 25px; 25 | } 26 | 27 | 28 | .calculator { 29 | width: 50%; 30 | height: auto; 31 | margin: 0 auto; 32 | } 33 | 34 | 35 | .myButton { 36 | box-shadow:inset 0px 1px 0px 0px #ffffff; 37 | background:linear-gradient(to bottom, #ededed 5%, #dfdfdf 100%); 38 | background-color:#ededed; 39 | border-radius:9px; 40 | border:1px solid #dcdcdc; 41 | display:inline-block; 42 | cursor:pointer; 43 | color:#8a8a8a; 44 | font-family:Arial; 45 | font-size:15px; 46 | font-weight:bold; 47 | padding:6px 24px; 48 | text-decoration:none; 49 | text-shadow:0px 1px 0px #ffffff; 50 | } 51 | .myButton:hover { 52 | background:linear-gradient(to bottom, #dfdfdf 5%, #ededed 100%); 53 | background-color:#dfdfdf; 54 | } 55 | .myButton:active { 56 | position:relative; 57 | top:1px; 58 | } 59 | 60 | -------------------------------------------------------------------------------- /financeTools/discountcalculator/discount.js: -------------------------------------------------------------------------------- 1 | function findPart(){ 2 | var tot = document.getElementById("tot1").value; 3 | var perc = document.getElementById("perc1").value; 4 | if(perc<0){ 5 | document.getElementById("error").innerHTML = "Please provide a positive discount value"; 6 | document.getElementById("ans1").innerHTML = ""; 7 | document.getElementById("saved").innerHTML = ""; 8 | } 9 | 10 | else if(tot<0){ 11 | document.getElementById("error").innerHTML = "Price before discount can't be negative "; 12 | document.getElementById("ans1").innerHTML = ""; 13 | document.getElementById("saved").innerHTML = ""; 14 | } 15 | 16 | else if(perc>100){ 17 | document.getElementById("error").innerHTML = "Please enter a discount less than or equal to 100"; 18 | document.getElementById("ans1").innerHTML = ""; 19 | document.getElementById("saved").innerHTML = ""; 20 | } 21 | else{ 22 | var ans = (tot * perc) / 100; 23 | document.getElementById("error").innerHTML = ""; 24 | document.getElementById("ans1").innerHTML = (tot - ans).toFixed(2); 25 | document.getElementById("saved").innerHTML = ans.toFixed(2); 26 | } 27 | } -------------------------------------------------------------------------------- /mathmeticalTools/romanNumerals/romanNumerals.js: -------------------------------------------------------------------------------- 1 | function toRomanNum() { 2 | let num_value = parseInt(document.getElementById("numeric_value").value); 3 | let resultContainer = document.getElementById("result_container"); 4 | 5 | if (resultContainer.innerText !== "") { 6 | resultContainer.innerText = ""; 7 | } 8 | if (isNaN(num_value)) { 9 | $("#exampleModal").modal("show"); 10 | } 11 | 12 | const romanObj = { 13 | 1000: "M", 14 | 900: "CM", 15 | 500: "D", 16 | 400: "CD", 17 | 100: "C", 18 | 90: "XC", 19 | 50: "L", 20 | 40: "XL", 21 | 10: "X", 22 | 9: "IX", 23 | 5: "V", 24 | 4: "IV", 25 | 1: "I" 26 | }; 27 | const keys = Object.keys(romanObj).sort((a, b) => b - a); 28 | let output = ""; 29 | 30 | function innerLoop() { 31 | for (var i = 0; i < keys.length; i++) { 32 | if (num_value >= keys[i]) { 33 | output += romanObj[keys[i]]; 34 | num_value -= keys[i]; 35 | return; 36 | } 37 | } 38 | } 39 | while (num_value > 0) { 40 | innerLoop(); 41 | } 42 | return (resultContainer.innerText = output); 43 | } 44 | 45 | const targetButton = document.getElementById("convert_button"); 46 | targetButton.addEventListener("click", toRomanNum); 47 | -------------------------------------------------------------------------------- /mathmeticalTools/proportions/proportions.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: #b6e8f593; 3 | font-family: 'Questrial', sans-serif; 4 | margin: 0; 5 | } 6 | h1 { 7 | font-size: 50px; 8 | font-family: cursive; 9 | font-weight: bolder; 10 | } 11 | 12 | .heading{ 13 | margin-bottom: 50px; 14 | } 15 | .calc { 16 | display: flex; 17 | align-items: center; 18 | justify-content: center; 19 | flex-direction: column; 20 | height: 100vh; 21 | width: 100%; 22 | } 23 | .calc-inner { 24 | background-color: #a2e3f3; 25 | border-radius: 12px; 26 | padding: 30px; 27 | } 28 | .calc-inner input { 29 | color: #4d4d4d; 30 | border: 0; 31 | border-radius: 4px; 32 | height: 28px; 33 | font-family: 'Questrial', sans-serif; 34 | font-size: 18px; 35 | font-weight: 600; 36 | letter-spacing: 0.72px; 37 | margin: 12px; 38 | padding: 0 6px; 39 | width: 68px; 40 | } 41 | .calc-inner > div span:nth-of-type(1) { 42 | display: inline-block; 43 | width: 40px; 44 | text-align: right; 45 | } 46 | .checkround { 47 | align-items: center; 48 | justify-content: center; 49 | display: flex; 50 | } 51 | .checkround p { 52 | margin: 0; 53 | } 54 | .checkround input { 55 | height: 20px; 56 | width: 20px; 57 | } -------------------------------------------------------------------------------- /conversionTools/currency/currency.js: -------------------------------------------------------------------------------- 1 | const from_currencyEl = document.getElementById("from_currency"); 2 | const from_ammountEl = document.getElementById("from_ammount"); 3 | const to_currencyEl = document.getElementById("to_currency"); 4 | const to_ammountEl = document.getElementById("to_ammount"); 5 | const rateEl = document.getElementById("rate"); 6 | const exchange = document.getElementById("exchange"); 7 | 8 | from_currencyEl.addEventListener("change", calculate); 9 | from_ammountEl.addEventListener("input", calculate); 10 | to_currencyEl.addEventListener("change", calculate); 11 | to_ammountEl.addEventListener("input", calculate); 12 | 13 | exchange.addEventListener("click", () => { 14 | const temp = from_currencyEl.value; 15 | from_currencyEl.value = to_currencyEl.value; 16 | to_currencyEl.value = temp; 17 | calculate(); 18 | }); 19 | 20 | function calculate() { 21 | const from_currency = from_currencyEl.value; 22 | const to_currency = to_currencyEl.value; 23 | 24 | fetch(`https://api.exchangerate-api.com/v4/latest/${from_currency}`) 25 | .then((res) => res.json()) 26 | .then((res) => { 27 | const rate = res.rates[to_currency]; 28 | rateEl.innerText = `1 ${from_currency} = ${rate} ${to_currency}`; 29 | to_ammountEl.value = (from_ammountEl.value * rate).toFixed(2); 30 | }); 31 | } 32 | 33 | calculate(); 34 | -------------------------------------------------------------------------------- /mathmeticalTools/proportions/proportions.js: -------------------------------------------------------------------------------- 1 | var numInputs = document.querySelectorAll(".typenum"); 2 | numInputs.forEach(function (el) { 3 | el.oninput = inputNum; 4 | }); 5 | document.querySelector('.checkround input').onclick = calculate; 6 | calculate(); 7 | function inputNum() { 8 | var num = this.value.replace(/\D+/g, '') * 1; 9 | if (num > 9999) { 10 | this.value = 9999 11 | } else if (num == '' || isNaN(num)) { 12 | this.value = '' 13 | } else { 14 | this.value = num; 15 | } 16 | if (!this.value) { 17 | document.querySelector('.resultnum').value = ''; 18 | } 19 | calculate(); 20 | } 21 | function calculate() { 22 | var valA = numInputs[0].value; 23 | var valB = numInputs[1].value; 24 | var valC = numInputs[2].value; 25 | var valD = numInputs[3].value; 26 | var valE = numInputs[4].value; 27 | var valF = document.querySelector('.resultnum'); 28 | 29 | if (!valA || !valB || !valC || !valD || !valE) { 30 | return; 31 | } else { 32 | var numX = (valA - valC) / (valB - valD); 33 | var numY = valA - (valB * numX); 34 | var result = (valE - numY) / numX; 35 | if (document.querySelector('.checkround input').checked) { 36 | valF.value = Math.round(result); 37 | } else { 38 | valF.value = result; 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /mathmeticalTools/LinearEquation/linearEquation.css: -------------------------------------------------------------------------------- 1 | 2 | body{ 3 | background-image:url("Timber.jpg"); 4 | color: white; 5 | margin:0; 6 | font-family: "Montserrat", "Avenir"; 7 | } 8 | 9 | .color{ 10 | width: 30%; 11 | background: blue; 12 | float: left; 13 | margin:1.66%; 14 | padding-bottom: 30%; 15 | border-radius: 15%; 16 | transition: background 0.3s; 17 | } 18 | 19 | #heading{ 20 | margin-top:20px; 21 | text-align: center; 22 | } 23 | 24 | #special{ 25 | font-size: 150%; 26 | } 27 | 28 | h1{ 29 | text-transform: uppercase; 30 | font-weight: 10; 31 | line-height: 1.1; 32 | padding-top: 20px; 33 | } 34 | 35 | .selected{ 36 | color: white; 37 | background-color:#07689f; 38 | transition: all 0.3s; 39 | } 40 | 41 | button{ 42 | border: 2px solid black; 43 | background: none; 44 | height: 100%; 45 | font-weight: 700; 46 | font-size: inherit; 47 | text-transform: uppercase; 48 | transition: all 0.3s; 49 | border-color:#07689f; 50 | outline: none; 51 | } 52 | #menu{ 53 | display: inline-block; 54 | width: 20%; 55 | } 56 | button:hover{ 57 | color: white; 58 | background-color:#07689f; 59 | } 60 | 61 | #answers{ 62 | visibility: hidden; 63 | font-size:130%; 64 | } 65 | 66 | nav{ 67 | background-color:#07689f; 68 | } 69 | 70 | .toBottom{ 71 | bottom:0: 72 | } 73 | -------------------------------------------------------------------------------- /mathmeticalTools/scientific-calcuator/sci-calc.css: -------------------------------------------------------------------------------- 1 | * { 2 | padding: 0; 3 | margin: 5px; 4 | text-align: center; 5 | } 6 | body { 7 | background-color:white; 8 | } 9 | .calculator { 10 | width: 350px; 11 | height: 420px; 12 | background-color: #c0c0c0; 13 | border: 4px solid black; 14 | border-radius: 7px; 15 | } 16 | #display { 17 | width: 400px; 18 | height: 60px; 19 | text-align: right; 20 | background-color: black; 21 | border: 3px solid white; 22 | font-size: 30px; 23 | left: 2px; 24 | top: 2px; 25 | color: white; 26 | } 27 | .btnTop{ 28 | color: white; 29 | background-color: grey; 30 | font-size: 14px; 31 | margin: auto; 32 | width: 50px; 33 | height: 25px; 34 | } 35 | .btnNum { 36 | color: white; 37 | background-color: black; 38 | font-size: 16px; 39 | margin: auto; 40 | width: 55px; 41 | height: 25px; 42 | } 43 | .btnMath { 44 | color: white; 45 | background-color: green; 46 | font-size: 16px; 47 | margin: auto; 48 | width: 55px; 49 | height: 25px; 50 | } 51 | .btnOpps { 52 | color: white; 53 | background-color: navy; 54 | font-size: 16px; 55 | margin: auto; 56 | width: 55px; 57 | height: 25px; 58 | } 59 | footer { 60 | text-align: center; 61 | padding: 3px; 62 | background-color: DarkSalmon; 63 | color: white; 64 | } -------------------------------------------------------------------------------- /conversionTools/currency/currency.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css?family=Muli&display=swap"); 2 | 3 | input { 4 | font-size: 1.2rem; 5 | } 6 | .container { 7 | background: #fdfdfd; 8 | display: flex; 9 | flex-direction: column; 10 | align-items: center; 11 | justify-content: space-around; 12 | padding: 1.5rem; 13 | width: content; 14 | box-shadow: 0 5px 20px darkgray; 15 | height: 50vh; 16 | } 17 | .currency, 18 | .middle { 19 | padding-top: 1rem; 20 | padding-bottom: 1rem; 21 | } 22 | .currency { 23 | display: flex; 24 | justify-content: space-between; 25 | } 26 | .middle { 27 | display: flex; 28 | border-bottom: 1px solid lightgray; 29 | border-top: 1px solid lightgrey; 30 | font-size: 1.5rem; 31 | } 32 | .middle > button { 33 | background-color: #fff; 34 | border: 2px solid #ecf0f1; 35 | border-radius: 50%; 36 | cursor: pointer; 37 | color: #f59300; 38 | font-size: 18px; 39 | display: flex; 40 | align-items: center; 41 | justify-content: center; 42 | height: 30px; 43 | width: 30px; 44 | transform: rotate(90deg); 45 | } 46 | #home__link { 47 | text-decoration: none; 48 | padding: 1rem; 49 | } 50 | #credit { 51 | color: dimgrey; 52 | position: absolute; 53 | bottom: 1rem; 54 | } 55 | #from_amount, 56 | #from_currency, 57 | #to_amount, 58 | #to_currency { 59 | font-size: 1.2rem; 60 | } 61 | #source { 62 | color: dimgray; 63 | } 64 | #source > a { 65 | color: gray; 66 | } 67 | -------------------------------------------------------------------------------- /conversionTools/Angle_Conversion/angleconversion.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: rgba(173, 216, 230, 0.3); 3 | font-family: "Multi", sans-serif; 4 | } 5 | .answer { 6 | border: 4px; 7 | border-color: black; 8 | color: green; 9 | font-weight: bold; 10 | font-size: 18px; 11 | } 12 | 13 | .site-header { 14 | background-color: rgba(0, 0, 0, 0.85); 15 | -webkit-backdrop-filter: saturate(180%) blur(20px); 16 | backdrop-filter: saturate(180%) blur(20px); 17 | } 18 | 19 | .hero-section { 20 | background-color: var(--indigo); 21 | } 22 | 23 | .hero-section__graphic, 24 | .hero-section__graphic:before, 25 | .hero-section__graphic:after { 26 | background-color: rgba(255, 255, 255, 0.1); 27 | width: 10vh; 28 | height: 10vh; 29 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 30 | } 31 | 32 | .hero-section__graphic:before, 33 | .hero-section__graphic:after { 34 | content: ""; 35 | display: inline-block; 36 | position: absolute; 37 | left: 0; 38 | top: 0; 39 | animation: float 10s infinite linear; 40 | } 41 | 42 | @keyframes float { 43 | 0% { 44 | transform: translate(0%, 0%) rotate(0); 45 | } 46 | 47 | 33% { 48 | transform: translate(2%, 2%) rotate(120deg); 49 | } 50 | 51 | 66% { 52 | transform: translate(2%, -2%) rotate(240deg); 53 | } 54 | 55 | to { 56 | transform: translate(0%, 0%) rotate(360deg); 57 | } 58 | } 59 | 60 | .hero-section__graphic:after { 61 | animation-direction: reverse; 62 | animation-delay: 500ms; 63 | } 64 | 65 | .hero-section__icon { 66 | fill: var(--light); 67 | width: 100%; 68 | height: auto; 69 | } 70 | -------------------------------------------------------------------------------- /mathmeticalTools/GCD_HCF_LCM_Calculator/gcd_hcf_lcm_calc.css: -------------------------------------------------------------------------------- 1 | .heading { 2 | background-color: #6610f2; 3 | } 4 | 5 | .inputs { 6 | width: 150px; 7 | } 8 | 9 | .site-header { 10 | background-color: rgba(0, 0, 0, 0.85); 11 | -webkit-backdrop-filter: saturate(180%) blur(20px); 12 | backdrop-filter: saturate(180%) blur(20px); 13 | } 14 | 15 | .hero-section { 16 | background-color: var(--indigo); 17 | } 18 | 19 | .hero-section__graphic, 20 | .hero-section__graphic:before, 21 | .hero-section__graphic:after { 22 | background-color: rgba(255, 255, 255, 0.1); 23 | width: 300px; 24 | height: 300px; 25 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 26 | } 27 | 28 | .hero-section__graphic:before, 29 | .hero-section__graphic:after { 30 | content: ""; 31 | display: inline-block; 32 | position: absolute; 33 | left: 0; 34 | top: 0; 35 | animation: float 10s infinite linear; 36 | } 37 | .hero-section__graphic:after { 38 | animation-direction: reverse; 39 | animation-delay: 500ms; 40 | } 41 | 42 | .hero-section__icon { 43 | fill: var(--light); 44 | width: 100%; 45 | height: auto; 46 | } 47 | 48 | @keyframes float { 49 | 0% { 50 | transform: translate(0%, 0%) rotate(0); 51 | } 52 | 53 | 33% { 54 | transform: translate(2%, 2%) rotate(120deg); 55 | } 56 | 57 | 66% { 58 | transform: translate(2%, -2%) rotate(240deg); 59 | } 60 | 61 | to { 62 | transform: translate(0%, 0%) rotate(360deg); 63 | } 64 | } 65 | footer .row a { 66 | text-decoration: none; 67 | } 68 | 69 | .footer { 70 | width: 100%; 71 | position: absolute; 72 | bottom: 0; 73 | } 74 | -------------------------------------------------------------------------------- /conversionTools/speed/speed.css: -------------------------------------------------------------------------------- 1 | body{ 2 | background-color: rgba(173, 216, 230, 0.3); 3 | font-family: "Multi", sans-serif; 4 | } 5 | .ans{ 6 | border: 4px; 7 | border-color: black; 8 | color: green; 9 | font-weight: bold; 10 | font-size: 18px; 11 | } 12 | 13 | .cont { 14 | background: rgba(176, 224, 230, 0.6); 15 | display: flex; 16 | flex-direction: column; 17 | align-items: center; 18 | justify-content: center; 19 | border-radius: 5px ; 20 | padding: 1rem; 21 | width: content; 22 | box-shadow: 0 5px 20px darkgray; 23 | height: 53vh; 24 | } 25 | 26 | .site-header{ 27 | background-color: rgba(0, 0, 0, .85); 28 | -webkit-backdrop-filter: saturate(180%) blur(20px); 29 | backdrop-filter: saturate(180%) blur(20px); 30 | } 31 | 32 | .hero-section { 33 | background-color: var(--indigo); 34 | } 35 | 36 | .hero-section__graphic, .hero-section__graphic:before, .hero-section__graphic:after { 37 | background-color: rgba(255,255,255,0.1); 38 | width: 10vh; 39 | height: 10vh; 40 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 41 | } 42 | 43 | .hero-section__graphic:before, .hero-section__graphic:after { 44 | content: ''; 45 | display: inline-block; 46 | position: absolute; 47 | left: 0; 48 | top: 0; 49 | animation: float 10s infinite linear; 50 | } 51 | .hero-section__graphic:after { 52 | animation-direction: reverse; 53 | animation-delay: 500ms; 54 | } 55 | 56 | .hero-section__icon{ 57 | fill: var(--light); 58 | width: 100%; 59 | height: auto; 60 | } 61 | 62 | 63 | @keyframes float { 64 | 0% { 65 | transform: translate(0%, 0%) rotate(0); 66 | } 67 | 68 | 33% { 69 | transform: translate(2%, 2%) rotate(120deg); 70 | } 71 | 72 | 66% { 73 | transform: translate(2%, -2%) rotate(240deg); 74 | } 75 | 76 | 77 | to { 78 | transform: translate(0%, 0%) rotate(360deg); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /financeTools/discountcalculator/discount.css: -------------------------------------------------------------------------------- 1 | body{ 2 | background-color: rgba(173, 216, 230, 0.3); 3 | font-family: "Multi", sans-serif; 4 | } 5 | .ans{ 6 | border: 4px; 7 | border-color: black; 8 | color: green; 9 | font-weight: bold; 10 | font-size: 18px; 11 | } 12 | 13 | .cont { 14 | background: rgba(176, 224, 230, 0.6); 15 | display: flex; 16 | flex-direction: column; 17 | align-items: center; 18 | justify-content: center; 19 | border-radius: 5px ; 20 | padding: 1rem; 21 | width: content; 22 | box-shadow: 0 5px 20px darkgray; 23 | height: 53vh; 24 | } 25 | 26 | .site-header{ 27 | background-color: rgba(0, 0, 0, .85); 28 | -webkit-backdrop-filter: saturate(180%) blur(20px); 29 | backdrop-filter: saturate(180%) blur(20px); 30 | } 31 | 32 | .hero-section { 33 | background-color: var(--indigo); 34 | } 35 | 36 | .hero-section__graphic, .hero-section__graphic:before, .hero-section__graphic:after { 37 | background-color: rgba(255,255,255,0.1); 38 | width: 10vh; 39 | height: 10vh; 40 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 41 | } 42 | 43 | .hero-section__graphic:before, .hero-section__graphic:after { 44 | content: ''; 45 | display: inline-block; 46 | position: absolute; 47 | left: 0; 48 | top: 0; 49 | animation: float 10s infinite linear; 50 | } 51 | .hero-section__graphic:after { 52 | animation-direction: reverse; 53 | animation-delay: 500ms; 54 | } 55 | 56 | .hero-section__icon{ 57 | fill: var(--light); 58 | width: 100%; 59 | height: auto; 60 | } 61 | 62 | 63 | @keyframes float { 64 | 0% { 65 | transform: translate(0%, 0%) rotate(0); 66 | } 67 | 68 | 33% { 69 | transform: translate(2%, 2%) rotate(120deg); 70 | } 71 | 72 | 66% { 73 | transform: translate(2%, -2%) rotate(240deg); 74 | } 75 | 76 | 77 | to { 78 | transform: translate(0%, 0%) rotate(360deg); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /mathmeticalTools/numberSeriesGenerator/numberSeriesGenerator.css: -------------------------------------------------------------------------------- 1 | body{ 2 | background-color: rgba(173, 216, 230, 0.3); 3 | font-family: "Multi", sans-serif; 4 | } 5 | .ans{ 6 | border: 4px; 7 | border-color: black; 8 | color: green; 9 | font-weight: bold; 10 | font-size: 18px; 11 | } 12 | 13 | .cont { 14 | background: rgba(176, 224, 230, 0.6); 15 | display: flex; 16 | flex-direction: column; 17 | align-items: center; 18 | justify-content: center; 19 | border-radius: 5px ; 20 | padding: 1rem; 21 | width: content; 22 | box-shadow: 0 5px 20px darkgray; 23 | height: 53vh; 24 | } 25 | 26 | .site-header{ 27 | background-color: rgba(0, 0, 0, .85); 28 | -webkit-backdrop-filter: saturate(180%) blur(20px); 29 | backdrop-filter: saturate(180%) blur(20px); 30 | } 31 | 32 | .hero-section { 33 | background-color: var(--indigo); 34 | } 35 | 36 | .hero-section__graphic, .hero-section__graphic:before, .hero-section__graphic:after { 37 | background-color: rgba(255,255,255,0.1); 38 | width: 10vh; 39 | height: 10vh; 40 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 41 | } 42 | 43 | .hero-section__graphic:before, .hero-section__graphic:after { 44 | content: ''; 45 | display: inline-block; 46 | position: absolute; 47 | left: 0; 48 | top: 0; 49 | animation: float 10s infinite linear; 50 | } 51 | .hero-section__graphic:after { 52 | animation-direction: reverse; 53 | animation-delay: 500ms; 54 | } 55 | 56 | .hero-section__icon{ 57 | fill: var(--light); 58 | width: 100%; 59 | height: auto; 60 | } 61 | 62 | 63 | @keyframes float { 64 | 0% { 65 | transform: translate(0%, 0%) rotate(0); 66 | } 67 | 68 | 33% { 69 | transform: translate(2%, 2%) rotate(120deg); 70 | } 71 | 72 | 66% { 73 | transform: translate(2%, -2%) rotate(240deg); 74 | } 75 | 76 | 77 | to { 78 | transform: translate(0%, 0%) rotate(360deg); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /conversionTools/temperture/temperture.js: -------------------------------------------------------------------------------- 1 | 2 | function converttemperture() { 3 | //getting the value of conversion 4 | let conversion_value=document.getElementById("conversion_value").value; 5 | let conversion_result=document.getElementById("conversion_result").value; 6 | //getting the value of temperture 7 | let temperture_value=document.getElementById("temperture_value").value; 8 | let temperture_result=document.getElementById("temperture_result"); 9 | //converting the value to int 10 | temperture_value=parseInt(temperture_value); 11 | //store it on result var 12 | let result=temperture_value; 13 | //checking for condition 14 | if(conversion_value==="Celsius" && conversion_result==="Fahrenheit") 15 | { 16 | result=(temperture_value * 9/5) + 32; 17 | } 18 | else if(conversion_value==="Celsius" && conversion_result==="Kelvin") 19 | { 20 | result=(temperture_value+273.15); 21 | } 22 | else if(conversion_value==="Fahrenheit" && conversion_result==="Celsius") 23 | { 24 | result=(temperture_value - 32)* 5/9; 25 | } 26 | else if(conversion_value==="Fahrenheit" && conversion_result==="Kelvin") 27 | { 28 | result=(temperture_value- 32)* 5/9 + 273.15; 29 | } 30 | else if(conversion_value==="Kelvin" && conversion_result==="Fahrenheit") 31 | { 32 | result=(temperture_value - 273.15)* 9/5 + 32 ; 33 | } 34 | else if(conversion_value==="Kelvin" && conversion_result==="Celsius") 35 | { 36 | result=(temperture_value - 273.15) ; 37 | } 38 | //fixed the ouuput to 2 digits 39 | result=result.toFixed(2); 40 | //inform the use if the input is not valid 41 | if(isNaN(result)) 42 | { 43 | temperture_result.value="Enter a valid number"; 44 | } 45 | else 46 | { 47 | temperture_result.value=result; 48 | } 49 | 50 | } 51 | 52 | //program begins here 53 | function main(argument) { 54 | let convert_button=document.getElementById("convert_button"); 55 | convert_button.addEventListener("click",converttemperture); 56 | 57 | } 58 | main(); 59 | -------------------------------------------------------------------------------- /financeTools/service-tax-calculator/style.css: -------------------------------------------------------------------------------- 1 | /* 2 | *** 3 | * COSTUME STYLESHEET 4 | *** 5 | * Please use the bootstrap color pallet and available css variables 6 | * for a more consistent design 7 | */ 8 | 9 | /* 10 | *---------------------------------------------------------------- 11 | * SITE HEADER 12 | *---------------------------------------------------------------- 13 | */ 14 | 15 | .site-header { 16 | background-color: rgba(0, 0, 0, 0.85); 17 | -webkit-backdrop-filter: saturate(180%) blur(20px); 18 | backdrop-filter: saturate(180%) blur(20px); 19 | } 20 | 21 | /* 22 | *---------------------------------------------------------------- 23 | * HERO SECTION 24 | *---------------------------------------------------------------- 25 | */ 26 | .hero-section { 27 | background-color: var(--indigo); 28 | } 29 | 30 | .hero-section__graphic { 31 | /* to be added */ 32 | } 33 | 34 | .hero-section__graphic, 35 | .hero-section__graphic:before, 36 | .hero-section__graphic:after { 37 | background-color: rgba(255, 255, 255, 0.1); 38 | width: 300px; 39 | height: 300px; 40 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 41 | } 42 | 43 | .hero-section__graphic:before, 44 | .hero-section__graphic:after { 45 | content: ""; 46 | display: inline-block; 47 | position: absolute; 48 | left: 0; 49 | top: 0; 50 | animation: float 10s infinite linear; 51 | } 52 | .hero-section__graphic:after { 53 | animation-direction: reverse; 54 | animation-delay: 500ms; 55 | } 56 | 57 | .hero-section__icon { 58 | fill: var(--light); 59 | width: 100%; 60 | height: auto; 61 | } 62 | 63 | @keyframes float { 64 | 0% { 65 | transform: translate(0%, 0%) rotate(0); 66 | } 67 | 68 | 33% { 69 | transform: translate(2%, 2%) rotate(120deg); 70 | } 71 | 72 | 66% { 73 | transform: translate(2%, -2%) rotate(240deg); 74 | } 75 | 76 | to { 77 | transform: translate(0%, 0%) rotate(360deg); 78 | } 79 | } 80 | footer .row a { 81 | text-decoration: none; 82 | } 83 | -------------------------------------------------------------------------------- /financeTools/retirementcalaculator/retirement.js: -------------------------------------------------------------------------------- 1 | var early = null; 2 | var compute = function(years, amount, roi, draw, current, inflation) { 3 | var rate = roi/100/12; 4 | var fv = 0; 5 | 6 | if(inflation) { 7 | amount = amount * (1+(0.0315*years)); 8 | } 9 | 10 | var required = amount / (draw/100); 11 | var monthly = 1; 12 | early = null; 13 | while(fv < required) { 14 | fv = current || 0; 15 | for(var i = 0; i < years * 12; i++) { 16 | fv += monthly; 17 | fv = fv * (1+rate); 18 | 19 | if(fv > required && i < years*12-1) { 20 | console.log("early", i); 21 | early = i; 22 | break; 23 | } 24 | } 25 | 26 | if(fv < required) { 27 | monthly += 1 28 | } 29 | } 30 | 31 | return monthly 32 | } 33 | 34 | function numberWithCommas(x) { 35 | return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 36 | } 37 | 38 | window.computeNow = function() { 39 | var draw = document.getElementById("draw").value; 40 | var roi = document.getElementById("roi").value; 41 | var amount = document.getElementById("amount").value; 42 | var years = document.getElementById("years").value; 43 | var current = document.getElementById("current").value; 44 | var inflation = document.getElementById("inflation").checked; 45 | 46 | var computed = numberWithCommas(compute(+years, +amount, +roi, +draw, +current, inflation).toFixed(2)); 47 | 48 | var amountAdjusted = inflation ? amount * (1+(years*0.0315)) : amount; 49 | var amountRequired = amountAdjusted / (draw/100); 50 | 51 | var output = document.getElementById("output"); 52 | output.innerHTML = (inflation ? "Amount required per year: $" + numberWithCommas(amountAdjusted.toFixed(2)) + "
" : "") 53 | + (early != null ? "You can get there early! Only " + (early/12).toFixed(1) + " years required.
": "") 54 | + "Total Networth Required: $"+ numberWithCommas(amountRequired.toFixed(2)); 55 | output.innerHTML += "
$" + computed +"/month saving required
" 56 | } 57 | -------------------------------------------------------------------------------- /mathmeticalTools/scientific-calcuator/sci-calc.js: -------------------------------------------------------------------------------- 1 | function addChar(input, character) { 2 | if(input.value == null || input.value == "0") 3 | input.value = character 4 | else 5 | input.value += character 6 | } 7 | 8 | function cos(form) { 9 | form.display.value = Math.cos(form.display.value); 10 | } 11 | 12 | function sin(form) { 13 | form.display.value = Math.sin(form.display.value); 14 | } 15 | 16 | function tan(form) { 17 | form.display.value = Math.tan(form.display.value); 18 | } 19 | 20 | function sqrt(form) { 21 | form.display.value = Math.sqrt(form.display.value); 22 | } 23 | 24 | function ln(form) { 25 | form.display.value = Math.log(form.display.value); 26 | } 27 | 28 | function exp(form) { 29 | form.display.value = Math.exp(form.display.value); 30 | } 31 | 32 | function deleteChar(input) { 33 | input.value = input.value.substring(0, input.value.length - 1) 34 | } 35 | 36 | function compute(form) { 37 | if (val !== 0.0) { 38 | var percent = form.display.value; 39 | percent = pcent.substring(percent.indexOf("%")+1); 40 | form.display.value = parseFloat(percent)/100 * val; 41 | val = 0.0; 42 | } else 43 | form.display.value = eval(form.display.value); 44 | } 45 | 46 | var val = 0.0; 47 | function percent(input) { 48 | val = input.value; 49 | input.value = input.value + "%"; 50 | } 51 | 52 | function changeSign(input) { 53 | if(input.value.substring(0, 1) == "-") 54 | input.value = input.value.substring(1, input.value.length) 55 | else 56 | input.value = "-" + input.value 57 | } 58 | 59 | 60 | function square(form) { 61 | form.display.value = eval(form.display.value) * eval(form.display.value) 62 | } 63 | 64 | function checkNum(str) { 65 | for (var i = 0; i < str.length; i++) { 66 | var ch = str.charAt(i); 67 | if (ch < "0" || ch > "9") { 68 | if (ch != "/" && ch != "*" && ch != "+" && ch != "-" && ch != "." 69 | && ch != "(" && ch!= ")" && ch != "%") { 70 | alert("invalid entry!") 71 | return false 72 | } 73 | } 74 | } 75 | return true 76 | } -------------------------------------------------------------------------------- /assets/styles/style.css: -------------------------------------------------------------------------------- 1 | /* 2 | *** 3 | * COSTUME STYLESHEET 4 | *** 5 | * Please use the bootstrap color pallet and available css variables 6 | * for a more consistent design 7 | */ 8 | 9 | /* 10 | *---------------------------------------------------------------- 11 | * SITE HEADER 12 | *---------------------------------------------------------------- 13 | */ 14 | 15 | .site-header { 16 | background-color: rgba(0, 0, 0, 0.85); 17 | -webkit-backdrop-filter: saturate(180%) blur(20px); 18 | backdrop-filter: saturate(180%) blur(20px); 19 | } 20 | 21 | #slider-contributors{ 22 | background-color: #FFCC00 !important; 23 | } 24 | 25 | #slider-gradients{ 26 | background-color: #CC0000 !important; 27 | } 28 | /* 29 | *---------------------------------------------------------------- 30 | * HERO SECTION 31 | *---------------------------------------------------------------- 32 | */ 33 | .hero-section { 34 | background-color: var(--indigo); 35 | } 36 | 37 | .hero-section__graphic { 38 | 39 | /* to be added */ 40 | 41 | } 42 | 43 | .hero-section__graphic, 44 | .hero-section__graphic:before, 45 | .hero-section__graphic:after { 46 | background-color: rgba(255, 255, 255, 0.1); 47 | width: 300px; 48 | height: 100%; 49 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 50 | } 51 | 52 | .hero-section__graphic:before, 53 | .hero-section__graphic:after { 54 | content: ""; 55 | display: inline-block; 56 | position: absolute; 57 | left: 0; 58 | top: 0; 59 | animation: float 10s infinite linear; 60 | } 61 | .hero-section__graphic:after { 62 | animation-direction: reverse; 63 | animation-delay: 500ms; 64 | } 65 | 66 | .hero-section__icon { 67 | fill: var(--light); 68 | width: 100%; 69 | height: auto; 70 | } 71 | 72 | @keyframes float { 73 | 0% { 74 | transform: translate(0%, 0%) rotate(0); 75 | } 76 | 77 | 33% { 78 | transform: translate(2%, 2%) rotate(120deg); 79 | } 80 | 81 | 66% { 82 | transform: translate(2%, -2%) rotate(240deg); 83 | } 84 | 85 | to { 86 | transform: translate(0%, 0%) rotate(360deg); 87 | } 88 | } 89 | footer .row a { 90 | text-decoration: none; 91 | } 92 | -------------------------------------------------------------------------------- /assets/scripts/templates.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Template class to generate html templates 3 | */ 4 | class Templates { 5 | constructor(categories = UTILITY_CATEGORIES, tools = UTILITY_TOOLS) { 6 | this.categories = categories; 7 | this.tools = tools; 8 | } 9 | 10 | // ------- TEMPLATES -------- 11 | static navItemTemplate (categoryTitle, dropdownMenu){ 12 | return ( 13 | `
14 | 20 | 23 |
` 24 | ) 25 | }; 26 | 27 | static dropdownMenuTemplate (url, title) { 28 | const URL = "http://codeezzi-utility.surge.sh"; // http://127.0.0.1:5500/ 29 | const basePath = window.location.pathname.substr(1).split('/')[0]; 30 | return (`${title}`) 31 | } 32 | 33 | 34 | // ------- NODE GENERATOR -------- 35 | generateDropdownList (category) { 36 | const tools = this.tools[category]; 37 | if(!tools && !tools.length) { 38 | return []; 39 | } 40 | 41 | return tools.map(tool => Templates.dropdownMenuTemplate(category + tool.url, tool.title)); 42 | } 43 | 44 | generateNavItems () { 45 | if(!this.categories) { 46 | return []; 47 | } 48 | 49 | return Object.keys(this.categories).map(category => { 50 | return Templates.navItemTemplate(category, this.generateDropdownList(category).join('')); 51 | }) 52 | } 53 | 54 | 55 | // ------- APPEND TO DOM -------- 56 | appendNavItems() { 57 | const navItems = this.generateNavItems(); 58 | const navItemsString = navItems.join(''); 59 | 60 | $('#uNavbar').children().first().after(navItemsString); 61 | } 62 | 63 | } 64 | 65 | -------------------------------------------------------------------------------- /conversionTools/density/density.js: -------------------------------------------------------------------------------- 1 | var a={}; 2 | a['gcm'] = 1000; 3 | a['kgcm'] = 1000000; 4 | a['gm'] = 0.001; 5 | a['kgm'] = 1; 6 | a['gml'] = 1000; 7 | a['gl'] = 1; 8 | a['kgl'] = 1000; 9 | a['ozi'] = 1729.994; 10 | a['ozf'] = 1.001153; 11 | a['lbi'] = 27679.90471; 12 | a['lbf'] = 16.018463; 13 | a['lby'] = 0.5932764; 14 | a['ozgali'] = 6.236023; 15 | a['ozgalu'] = 7.489151; 16 | a['lbgali'] = 99.776372; 17 | a['lbgalu'] = 119.826; 18 | a['sf'] = 515.3788184; 19 | a['lty'] = 1328.939; 20 | a['sty'] = 1186.553; 21 | 22 | // these values are with respect to kg/m^3, i.e., 23 | // a['gcm'] = 1000; implies 1g/cm^3 is equivalent to 1000kg/m^3 24 | 25 | var full={}; 26 | full['gcm'] = 'g/cm³'; 27 | full['kgcm'] = 'kg/cm³'; 28 | full['gm'] = 'g/m³'; 29 | full['kgm'] = 'kg/m³'; 30 | full['gml'] = 'g/ml'; 31 | full['gl'] = 'g/L'; 32 | full['kgl'] = 'kg/L'; 33 | full['ozi'] = 'oz/in³'; 34 | full['ozf'] = 'oz/ft³'; 35 | full['lbi'] = 'lb/in³'; 36 | full['lbf'] = 'lb/ft³'; 37 | full['lby'] = 'lb/yd³'; 38 | full['ozgali'] = '(Imperial) oz/gal'; 39 | full['ozgalu'] = '(U.S. fluid) oz/gal'; 40 | full['lbgali'] = '(Imperial) lb/gal'; 41 | full['lbgalu'] = '(U.S. fluid) lb/gal'; 42 | full['sf'] = 'slug/ft³'; 43 | full['lty'] = 'l tn/yd³'; 44 | full['sty'] = 'sh tn/yd³'; 45 | 46 | 47 | var factor = 0; 48 | 49 | function i1(){ 50 | factor = a[document.getElementById('s1').value] / a[document.getElementById('s2').value]; 51 | document.getElementById('inp2').value = document.getElementById('inp1').value * factor; 52 | document.getElementById('formula').innerHTML = '1 '+full[document.getElementById('s1').value]+' = '+factor+' '+full[document.getElementById('s2').value]; 53 | } 54 | function i2(){ 55 | factor = a[document.getElementById('s2').value] / a[document.getElementById('s1').value]; 56 | document.getElementById('inp1').value = document.getElementById('inp2').value * factor; 57 | document.getElementById('formula').innerHTML = '1 '+full[document.getElementById('s2').value]+' = '+factor+' '+full[document.getElementById('s1').value]; 58 | } 59 | function i1s(){ 60 | document.getElementById('inp1').value = 1; 61 | i1(); 62 | } 63 | -------------------------------------------------------------------------------- /mathmeticalTools/GCD_HCF_LCM_Calculator/gcd_hcf_lcm_calc.js: -------------------------------------------------------------------------------- 1 | function findGcd(e) { 2 | e.preventDefault(); 3 | let x = document.getElementById("num1").value; 4 | let y = document.getElementById("num2").value; 5 | if (x < 1 || y < 1 || x != Math.round(x) || y != Math.round(y)) { 6 | alert("Please enter positive integer values!!") 7 | } 8 | x = Math.abs(x); 9 | y = Math.abs(y); 10 | while(y) { 11 | var t = y; 12 | y = x % y; 13 | x = t; 14 | } 15 | document.getElementById("ans1").innerHTML = x; 16 | document.getElementById("num1").value=""; 17 | document.getElementById("num2").value=""; 18 | } 19 | 20 | 21 | function findHcf(e) { 22 | e.preventDefault(); 23 | let a = document.getElementById("num3").value; 24 | let b = document.getElementById("num4").value; 25 | 26 | if (a < 1 || b < 1 || a != Math.round(a) || b != Math.round(b)) { 27 | alert("Please enter positive integer values!!") 28 | } 29 | a = Math.abs(a); 30 | b = Math.abs(b); 31 | while (Math.max(a, b) % Math.min(a, b) != 0) { 32 | if (a > b) { 33 | a %= b; 34 | } 35 | else { 36 | b %= a; 37 | } 38 | } 39 | 40 | let ans2 = Math.min(a,b); 41 | document.getElementById("ans2").innerHTML = ans2; 42 | document.getElementById("num3").value=""; 43 | document.getElementById("num4").value=""; 44 | } 45 | 46 | 47 | function findLcm(e) { 48 | e.preventDefault(); 49 | 50 | let p = document.getElementById("num5").value; 51 | let q = document.getElementById("num6").value; 52 | 53 | if (p < 1 || q < 1 || p != Math.round(p) || q != Math.round(q)) { 54 | alert("Please enter positive integer values!!") 55 | } 56 | 57 | p = Math.abs(p); 58 | q = Math.abs(q); 59 | 60 | let pro = (p*q); 61 | 62 | if (p0) 33 | { 34 | dstr="Both roots are Real & Distinct"; 35 | } 36 | else if(d<0) 37 | { 38 | dstr="Both roots are Distinct & Imaginary"; 39 | } 40 | else if(d==0) 41 | { 42 | dstr="Both roots are Real & Equal"; 43 | } 44 | document.getElementById("dtext").innerHTML=dstr; 45 | } 46 | function calculate() 47 | { 48 | d=(b*b)-(4*a*c); 49 | dshow(); 50 | if(d>=0) 51 | { 52 | x1=((-b)+Math.sqrt(d))/(2*a); 53 | x2=((-b)-Math.sqrt(d))/(2*a); 54 | if(!(Number.isInteger(x1))) 55 | x1=Number(x1.toFixed(3)); 56 | if(!(Number.isInteger(x2))) 57 | x2=Number(x2.toFixed(3)); 58 | x1=x1.toString(); 59 | x2=x2.toString(); 60 | document.getElementById("x1").innerHTML=x1; 61 | document.getElementById("x2").innerHTML=x2; 62 | } 63 | else 64 | { 65 | imgstr1="",imgstr2=""; 66 | d=Math.sqrt(Math.abs(d)); 67 | x1=((-b)/(2*a)); 68 | x2=d/(2*a); 69 | if(!(Number.isInteger(x1))) 70 | x1=Number(x1.toFixed(2)); 71 | if(!(Number.isInteger(x2))) 72 | x2=Number(x2.toFixed(2)); 73 | 74 | imgstr1=x1.toString(); 75 | if(x2>0) 76 | imgstr1+=" + "; 77 | else 78 | imgstr1+=" - "; 79 | imgstr1+=(Math.abs(x2)).toString()+"i"; 80 | document.getElementById("x1").innerHTML=imgstr1; 81 | imgstr2=x1; 82 | if(x2>0) 83 | imgstr2+=" - "; 84 | else 85 | imgstr2+=" + "; 86 | imgstr2+=(Math.abs(x2)).toString()+"i"; 87 | document.getElementById("x2").innerHTML=imgstr2; 88 | } 89 | } 90 | 91 | -------------------------------------------------------------------------------- /conversionTools/density/density.css: -------------------------------------------------------------------------------- 1 | /* 2 | *** 3 | * COSTUME STYLESHEET 4 | *** 5 | * Please use the bootstrap color pallet and available css variables 6 | * for a more consistent design 7 | */ 8 | 9 | /* 10 | *---------------------------------------------------------------- 11 | * SITE HEADER 12 | *---------------------------------------------------------------- 13 | */ 14 | 15 | .site-header { 16 | background-color: rgba(0, 0, 0, 0.85); 17 | -webkit-backdrop-filter: saturate(180%) blur(20px); 18 | backdrop-filter: saturate(180%) blur(20px); 19 | } 20 | 21 | /* 22 | *---------------------------------------------------------------- 23 | * HERO SECTION 24 | *---------------------------------------------------------------- 25 | */ 26 | .hero-section { 27 | background-color: var(--indigo); 28 | } 29 | 30 | .hero-section__graphic { 31 | /* to be added */ 32 | } 33 | 34 | .hero-section__graphic, 35 | .hero-section__graphic:before, 36 | .hero-section__graphic:after { 37 | background-color: rgba(255, 255, 255, 0.1); 38 | width: 300px; 39 | height: 300px; 40 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 41 | } 42 | 43 | .hero-section__graphic:before, 44 | .hero-section__graphic:after { 45 | content: ""; 46 | display: inline-block; 47 | position: absolute; 48 | left: 0; 49 | top: 0; 50 | animation: float 10s infinite linear; 51 | } 52 | .hero-section__graphic:after { 53 | animation-direction: reverse; 54 | animation-delay: 500ms; 55 | } 56 | 57 | .hero-section__icon { 58 | fill: var(--light); 59 | width: 100%; 60 | height: auto; 61 | } 62 | 63 | @keyframes float { 64 | 0% { 65 | transform: translate(0%, 0%) rotate(0); 66 | } 67 | 68 | 33% { 69 | transform: translate(2%, 2%) rotate(120deg); 70 | } 71 | 72 | 66% { 73 | transform: translate(2%, -2%) rotate(240deg); 74 | } 75 | 76 | to { 77 | transform: translate(0%, 0%) rotate(360deg); 78 | } 79 | } 80 | footer .row a { 81 | text-decoration: none; 82 | } 83 | .form-control{ 84 | background-color: #eaeaf2; 85 | color: #000; 86 | border: 1px solid #3013bc; 87 | } 88 | form{ 89 | margin-top: -30px; 90 | }/* 91 | #formula{ 92 | text-align: center; 93 | background-color: #000; 94 | color: #fff; 95 | border-radius: 5px; 96 | margin: 20px; 97 | padding: 20px; 98 | }*/ 99 | .card{ 100 | text-align: center; 101 | } 102 | -------------------------------------------------------------------------------- /dailyUseTools/compass/compassStylesheet.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: -webkit-linear-gradient(left, #6c4bf2, #6c4bf2); 3 | } 4 | .hero-section__graphic{ 5 | height:320px; 6 | width:310px; 7 | } 8 | .compass { 9 | position: relative; 10 | width: 320px; 11 | height: 320px; 12 | border-radius: 50%; 13 | box-shadow: 0 0 15px rgba(0, 0, 0, 0.2); 14 | margin: auto; 15 | background-color:rgba(255,255,255,1); 16 | } 17 | 18 | .compass > .arrow { 19 | position: absolute; 20 | width: 0; 21 | height: 0; 22 | top: -20px; 23 | left: 50%; 24 | transform: translateX(-50%); 25 | border-style: solid; 26 | border-width: 30px 20px 0 20px; 27 | border-color: red transparent transparent transparent; 28 | z-index: 1; 29 | } 30 | 31 | .compass > .compass-circle, 32 | .compass > .my-point { 33 | position: absolute; 34 | width: 90%; 35 | height: 90%; 36 | top: 50%; 37 | left: 50%; 38 | transform: translate(-50%, -50%); 39 | transition: transform 0.1s ease-out; 40 | background: url('images/compass_dial.png') 41 | center no-repeat; 42 | background-size: contain; 43 | } 44 | 45 | .compass > .my-point { 46 | opacity: 0; 47 | width: 20%; 48 | height: 20%; 49 | background: rgb(8, 223, 69); 50 | border-radius: 50%; 51 | transition: opacity 0.5s ease-out; 52 | } 53 | 54 | .start-btn:hover { 55 | color: #9050AA; 56 | border-color: currentColor; 57 | background-color: wheat; 58 | } 59 | 60 | /* make sure we have a visible focus ring */ 61 | .start-btn:focus { 62 | outline: none; 63 | box-shadow: 0 0 0 3px rgba(255, 105, 180, 0.5), 64 | 0 0 0 1.5px rgba(255, 105, 180, 0.5); 65 | } 66 | 67 | .start-btn:active { 68 | transform: translateY(2px); 69 | filter: saturate(150%); 70 | } 71 | 72 | .Center-btn{ 73 | text-align: center; 74 | } 75 | 76 | .marginDiv{ 77 | margin-top: 80px; 78 | } 79 | 80 | .start-btn{ 81 | font-family: Verdana, Geneva, Tahoma, sans-serif; 82 | font-size: 24px; 83 | padding: 0.5em 1em; 84 | border: 1px solid transparent; 85 | border-radius: 6px; 86 | color: #000000; 87 | background-color: #BB99FF; 88 | margin:50px 0px 50px 0px; 89 | } 90 | footer { 91 | width: 100%; 92 | position: fixed; 93 | padding-bottom: 20px; 94 | bottom: 0; 95 | left: 0; 96 | background-color: antiquewhite; 97 | } -------------------------------------------------------------------------------- /assets/styles/contributor.css: -------------------------------------------------------------------------------- 1 | :root{ 2 | --theme:#6610f2; 3 | --purple:blueviolet 4 | } 5 | body { 6 | background-image: linear-gradient(var(--theme),var(--purple)); 7 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; 8 | 9 | color:#fff; 10 | } 11 | .header h2{ 12 | color:#fff; 13 | text-align: center; 14 | font-size:3.3em; 15 | } 16 | .row { 17 | background-color: #000; 18 | width: 80%; 19 | margin: 4% auto; 20 | display: flex; 21 | flex-wrap: wrap; 22 | align-items: center; 23 | } 24 | .col { 25 | flex-basis: 25%; 26 | text-align: center; 27 | overflow: hidden; 28 | position: relative; 29 | } 30 | .col img { 31 | width: 100%; 32 | cursor: pointer; 33 | transition: transform 1s; 34 | } 35 | .col p { 36 | margin: 20px; 37 | } 38 | .social-link a{ 39 | text-decoration: none; 40 | width: 35px; 41 | height: 35px; 42 | color:#fff; 43 | } 44 | .social-link .fa { 45 | width: 35px; 46 | height: 35px; 47 | line-height: 35px; 48 | border: 1px solid white; 49 | margin: 0 7px; 50 | cursor: pointer; 51 | transition: transform 0.5s; 52 | } 53 | .social-link .fa:hover { 54 | background: var(--theme); 55 | color: white; 56 | transform: translateY(-7px); 57 | } 58 | .col:hover img { 59 | transform: scale(1.1); 60 | } 61 | .col span { 62 | width: 0; 63 | border-top: 20px solid transparent; 64 | border-bottom: 20px solid transparent; 65 | border-right: 15px solid #000; 66 | position: absolute; 67 | top: 50%; 68 | right: 0; 69 | transform: translateY(-50%); 70 | z-index: 2; 71 | } 72 | .col .arrow { 73 | border-right: 15px solid transparent; 74 | border-left: 15px solid #000; 75 | right: unset; 76 | left: 0; 77 | } 78 | @media screen and (max-width: 770px) { 79 | .row { 80 | width: 95%; 81 | } 82 | .col { 83 | flex-basis: 50%; 84 | font-size: 14px; 85 | } 86 | .header h2{ 87 | font-size: 30px; 88 | } 89 | 90 | .social-link .fa { 91 | width: 28px; 92 | height: 28px; 93 | line-height: 28px; 94 | } 95 | .row .col:nth-child(1) { 96 | order: 1; 97 | } 98 | .row .col:nth-child(2) { 99 | order: 2; 100 | } 101 | .row .col:nth-child(3) { 102 | order: 5; 103 | } 104 | .row .col:nth-child(4) { 105 | order: 6; 106 | } 107 | .row .col:nth-child(5) { 108 | order: 3; 109 | } 110 | .row .col:nth-child(6) { 111 | order: 4; 112 | } 113 | .row .col:nth-child(7) { 114 | order: 7; 115 | } 116 | .row .col:nth-child(8) { 117 | order: 8; 118 | } 119 | } 120 | footer .col-md-6{ 121 | text-align: center; 122 | border-top:1px solid rgb(180, 175, 175); 123 | } -------------------------------------------------------------------------------- /mathmeticalTools/decimalToFraction/decimalToFraction.css: -------------------------------------------------------------------------------- 1 | body{ 2 | background-color: rgba(173, 216, 230, 0.3); 3 | font-family: "Multi", sans-serif; 4 | } 5 | .ans{ 6 | border: 4px; 7 | border-color: black; 8 | color: green; 9 | font-weight: bold; 10 | font-size: 24px; 11 | } 12 | 13 | .content { 14 | padding: 0 18px; 15 | display: none; 16 | overflow: hidden; 17 | background-color: #f1f1f1; 18 | } 19 | 20 | label, button, input{ 21 | font-size: 18px; 22 | } 23 | 24 | input{ 25 | background: rgba(173, 216, 230, 0.9); 26 | border: none; 27 | border-bottom: 2px solid darkgray; 28 | border-radius: 5px; 29 | padding: 9px 22px; 30 | margin: 8px 0; 31 | box-sizing: border-box; 32 | text-align: center; 33 | } 34 | 35 | 36 | 37 | 38 | div.ct1 { 39 | background: rgba(176, 224, 230, 0.7); 40 | display: flex; 41 | flex-direction: column; 42 | align-items: center; 43 | justify-content: center; 44 | border-radius: 5px ; 45 | padding: 1rem; 46 | box-shadow: 0 5px 20px darkgray; 47 | min-height: 30vh; 48 | align-self: left; 49 | width: content; 50 | } 51 | 52 | 53 | 54 | .site-header{ 55 | background-color: rgba(0, 0, 0, .85); 56 | -webkit-backdrop-filter: saturate(180%) blur(20px); 57 | backdrop-filter: saturate(180%) blur(20px); 58 | } 59 | 60 | .hero-section { 61 | background-color: var(--indigo); 62 | } 63 | 64 | .hero-section__graphic, .hero-section__graphic:before, .hero-section__graphic:after { 65 | background-color: rgba(255,255,255,0.1); 66 | width: 10vh; 67 | height: 10vh; 68 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 69 | } 70 | 71 | .hero-section__graphic:before, .hero-section__graphic:after { 72 | content: ''; 73 | display: inline-block; 74 | position: absolute; 75 | left: 0; 76 | top: 0; 77 | animation: float 10s infinite linear; 78 | } 79 | .hero-section__graphic:after { 80 | animation-direction: reverse; 81 | animation-delay: 500ms; 82 | } 83 | 84 | .hero-section__icon{ 85 | fill: var(--light); 86 | width: 100%; 87 | height: auto; 88 | } 89 | 90 | 91 | @keyframes float { 92 | 0% { 93 | transform: translate(0%, 0%) rotate(0); 94 | } 95 | 96 | 33% { 97 | transform: translate(2%, 2%) rotate(120deg); 98 | } 99 | 100 | 66% { 101 | transform: translate(2%, -2%) rotate(240deg); 102 | } 103 | 104 | 105 | to { 106 | transform: translate(0%, 0%) rotate(360deg); 107 | } 108 | } 109 | 110 | -------------------------------------------------------------------------------- /mathmeticalTools/ratio/ratio.js: -------------------------------------------------------------------------------- 1 | var ratio11, ratio12, ratio21, ratio22, s_ratio1, s_ratio2 = ""; 2 | 3 | function calculate() { 4 | extract_values(); 5 | if (ratio11 && ratio12) { 6 | const gcd = gcd_two_numbers(Number(ratio11), Number(ratio12)); 7 | if (gcd === 1) { 8 | s_ratio1 = ratio11; 9 | s_ratio2 = ratio12; 10 | } else { 11 | s_ratio1 = ratio11 / gcd; 12 | s_ratio2 = ratio12 / gcd; 13 | } 14 | display_results() 15 | } else { 16 | document.getElementById("simplificationresult").innerHTML = "Ratio 1 not provided"; 17 | document.getElementById("comparisonresult").innerHTML = "Comparison result"; 18 | } 19 | } 20 | 21 | function display_results() { 22 | let simplification_result, comparison_result; 23 | if (ratio21 && ratio22) { 24 | if (ratio11 * ratio22 === ratio12 * ratio21) { 25 | if (ratio11 === ratio21) { 26 | simplification_result = ratio11 + ":" + ratio12 + " can be simplified to " + s_ratio1 + ":" + s_ratio2; 27 | comparison_result = "Ratio 1 and Ratio 2 are the same " + ratio21 + ":" + ratio22; 28 | } else { 29 | simplification_result = "Both ratios " + ratio11 + ":" + ratio12 + " and " + ratio21 + ":" + ratio22 + " can be simplified to " + s_ratio1 + ":" + s_ratio2; 30 | comparison_result = ratio11 + ":" + ratio12 + " is EQUAL to " + ratio21 + ":" + ratio22; 31 | } 32 | } else { 33 | simplification_result = ratio11 + ":" + ratio12 + " can be simplified to " + s_ratio1 + ":" + s_ratio2; 34 | comparison_result = ratio11 + ":" + ratio12 + " is NOT EQUAL to " + ratio21 + ":" + ratio22; 35 | } 36 | } else { 37 | simplification_result = ratio11 + ":" + ratio12 + " can be simplified to " + s_ratio1 + ":" + s_ratio2; 38 | comparison_result = "Ratio 2 not provided"; 39 | } 40 | document.getElementById("simplificationresult").innerHTML = simplification_result; 41 | document.getElementById("comparisonresult").innerHTML = comparison_result; 42 | } 43 | 44 | function extract_values() { 45 | ratio11 = document.getElementById("ratio11").value; 46 | ratio12 = document.getElementById("ratio12").value; 47 | ratio21 = document.getElementById("ratio21").value; 48 | ratio22 = document.getElementById("ratio22").value; 49 | } 50 | 51 | function gcd_two_numbers(x, y) { 52 | while (y) { 53 | var t = y; 54 | y = x % y; 55 | x = t; 56 | } 57 | return x; 58 | } 59 | -------------------------------------------------------------------------------- /conversionTools/Energy/energy.css: -------------------------------------------------------------------------------- 1 | /* 2 | *** 3 | * COSTUME STYLESHEET 4 | *** 5 | * Please use the bootstrap color pallet and available css variables 6 | * for a more consistent design 7 | */ 8 | 9 | /* 10 | *---------------------------------------------------------------- 11 | * SITE HEADER 12 | *---------------------------------------------------------------- 13 | */ 14 | 15 | .site-header { 16 | background-color: rgba(0, 0, 0, 0.85); 17 | -webkit-backdrop-filter: saturate(180%) blur(20px); 18 | backdrop-filter: saturate(180%) blur(20px); 19 | } 20 | 21 | /* 22 | *---------------------------------------------------------------- 23 | * HERO SECTION 24 | *---------------------------------------------------------------- 25 | */ 26 | .hero-section { 27 | background-color: var(--indigo); 28 | } 29 | 30 | .hero-section__graphic { 31 | /* to be added */ 32 | } 33 | 34 | .hero-section__graphic, 35 | .hero-section__graphic:before, 36 | .hero-section__graphic:after { 37 | background-color: rgba(255, 255, 255, 0.1); 38 | width: 300px; 39 | height: 300px; 40 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 41 | } 42 | 43 | .hero-section__graphic:before, 44 | .hero-section__graphic:after { 45 | content: ""; 46 | display: inline-block; 47 | position: absolute; 48 | left: 0; 49 | top: 0; 50 | animation: float 10s infinite linear; 51 | } 52 | .hero-section__graphic:after { 53 | animation-direction: reverse; 54 | animation-delay: 500ms; 55 | } 56 | 57 | .hero-section__icon { 58 | fill: var(--light); 59 | width: 100%; 60 | height: auto; 61 | } 62 | 63 | @keyframes float { 64 | 0% { 65 | transform: translate(0%, 0%) rotate(0); 66 | } 67 | 68 | 33% { 69 | transform: translate(2%, 2%) rotate(120deg); 70 | } 71 | 72 | 66% { 73 | transform: translate(2%, -2%) rotate(240deg); 74 | } 75 | 76 | to { 77 | transform: translate(0%, 0%) rotate(360deg); 78 | } 79 | } 80 | footer .row a { 81 | text-decoration: none; 82 | } 83 | .form-control{ 84 | background-color: #eaeaf2; 85 | color: #000; 86 | border: 1px solid #3013bc; 87 | } 88 | form{ 89 | margin-top: -30px; 90 | }/* 91 | #formula{ 92 | text-align: center; 93 | background-color: #000; 94 | color: #fff; 95 | border-radius: 5px; 96 | margin: 20px; 97 | padding: 20px; 98 | }*/ 99 | .card{ 100 | text-align: center; 101 | } 102 | -------------------------------------------------------------------------------- /mathmeticalTools/percentageCalculator/percentageCalculator.js: -------------------------------------------------------------------------------- 1 | MathJax.Hub.Config({ 2 | extensions: ["tex2jax.js"], 3 | "HTML-CSS": { scale: 100} 4 | }); 5 | 6 | function op(){ 7 | var coll = document.getElementById("collapsible"); 8 | var i; 9 | console.log("hi"); 10 | for (i = 0; i < coll.length; i++) { 11 | coll[i].addEventListener("click", function() { 12 | this.classList.toggle("active"); 13 | console.log("hi"); 14 | var content = this.nextElementSibling; 15 | if (content.style.maxHeight){ 16 | content.style.maxHeight = null; 17 | } else { 18 | content.style.maxHeight = content.scrollHeight + "px"; 19 | } 20 | }); 21 | }} 22 | 23 | function findPart(){ 24 | var tot = document.getElementById("tot1").value; 25 | var perc = document.getElementById("perc1").value; 26 | var ans = (tot * perc) / 100; 27 | document.getElementById("ans1").innerHTML = ans; 28 | } 29 | 30 | function findPerc(){ 31 | var tot = document.getElementById("tot2").value; 32 | var part = document.getElementById("part2").value; 33 | var ans = (part / tot) * 100; 34 | document.getElementById("error2").innerHTML = ""; 35 | document.getElementById("ans2").innerHTML = ans+'%'; 36 | if(tot==0){ 37 | document.getElementById("error2").innerHTML = "You tried to divide by 0. Check out the formula!"; 38 | } 39 | } 40 | 41 | function findTot(){ 42 | var perc = document.getElementById("perc3").value; 43 | var part = document.getElementById("part3").value; 44 | var ans; 45 | if(perc==0 && part==0) 46 | ans=0; 47 | else 48 | ans = (part * 100) / perc; 49 | document.getElementById("error3").innerHTML = ""; 50 | document.getElementById("ans3").innerHTML = ans; 51 | if(perc == 0 && part!=0) 52 | document.getElementById("error3").innerHTML = "You tried to divide by 0. Check out the formula!"; 53 | } 54 | 55 | function findPercChange(){ 56 | var ini = document.getElementById("ini").value; 57 | var fin = document.getElementById("fin").value; 58 | var diff = fin-ini; 59 | var ans; 60 | if(ini==0 && diff==0){ 61 | ans=0 62 | } 63 | else 64 | ans = (100 * diff) / ini; 65 | document.getElementById("error4").innerHTML = ""; 66 | if(diff<0){ 67 | ans = 0-ans; 68 | document.getElementById("ans4").innerHTML = ans +'% decrease'; 69 | } 70 | else if(diff==0){ 71 | 72 | document.getElementById("ans4").innerHTML = ans +'% increase/decrease'; 73 | } 74 | else{ 75 | document.getElementById("ans4").innerHTML = ans +'% increase'; 76 | } 77 | if(ini==0 && fin!=0){ 78 | document.getElementById("error4").innerHTML = "You tried to divide by 0. Check out the formula!"; 79 | } 80 | } -------------------------------------------------------------------------------- /dailyUseTools/compass/CompassMain.js: -------------------------------------------------------------------------------- 1 | 2 | const compassCircle = document.querySelector(".compass-circle"); 3 | const myPoint = document.querySelector(".my-point"); 4 | const startBtn = document.querySelector(".start-btn"); 5 | const isIOS = 6 | navigator.userAgent.match(/(iPod|iPhone|iPad)/) && 7 | navigator.userAgent.match(/AppleWebKit/); 8 | 9 | function init() { 10 | startBtn.addEventListener("click", startCompass); 11 | navigator.geolocation.getCurrentPosition(locationHandler); 12 | 13 | if (!isIOS) { 14 | window.addEventListener("deviceorientationabsolute", handler, true); 15 | } 16 | } 17 | 18 | function startCompass() { 19 | if (isIOS) { 20 | DeviceOrientationEvent.requestPermission() 21 | .then((response) => { 22 | if (response === "granted") { 23 | window.addEventListener("deviceorientation", handler, true); 24 | } else { 25 | alert("has to be allowed!"); 26 | } 27 | }) 28 | .catch(() => alert("not supported")); 29 | } 30 | } 31 | 32 | function handler(e) { 33 | compass = e.webkitCompassHeading || Math.abs(e.alpha - 360); 34 | compassCircle.style.transform = `translate(-50%, -50%) rotate(${-compass}deg)`; 35 | 36 | // ±15 degree 37 | if ( 38 | (pointDegree < Math.abs(compass) && 39 | pointDegree + 15 > Math.abs(compass)) || 40 | pointDegree > Math.abs(compass + 15) || 41 | pointDegree < Math.abs(compass) 42 | ) { 43 | myPoint.style.opacity = 0; 44 | } else if (pointDegree) { 45 | myPoint.style.opacity = 1; 46 | } 47 | } 48 | 49 | let pointDegree; 50 | 51 | function locationHandler(position) { 52 | const { latitude, longitude } = position.coords; 53 | pointDegree = calcDegreeToPoint(latitude, longitude); 54 | 55 | if (pointDegree < 0) { 56 | pointDegree = pointDegree + 360; 57 | } 58 | } 59 | 60 | function calcDegreeToPoint(latitude, longitude) { 61 | // Qibla geolocation 62 | const point = { 63 | lat: 21.422487, 64 | lng: 39.826206 65 | }; 66 | 67 | const phiK = (point.lat * Math.PI) / 180.0; 68 | const lambdaK = (point.lng * Math.PI) / 180.0; 69 | const phi = (latitude * Math.PI) / 180.0; 70 | const lambda = (longitude * Math.PI) / 180.0; 71 | const psi = 72 | (180.0 / Math.PI) * 73 | Math.atan2( 74 | Math.sin(lambdaK - lambda), 75 | Math.cos(phi) * Math.tan(phiK) - 76 | Math.sin(phi) * Math.cos(lambdaK - lambda) 77 | ); 78 | return Math.round(psi); 79 | } 80 | 81 | init(); 82 | -------------------------------------------------------------------------------- /mathmeticalTools/volume/volume.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | text-align: center; 21 | } 22 | /* 23 | *---------------------------------------------------------------- 24 | * container 25 | *---------------------------------------------------------------- 26 | */ 27 | .container_wrapper 28 | { 29 | width: 90%; 30 | height: 50vh; 31 | display: flex; 32 | margin: .5rem auto auto; 33 | align-items: center; 34 | justify-content: center; 35 | flex-direction: column; 36 | color: white; 37 | } 38 | /* 39 | *---------------------------------------------------------------- 40 | * volume wrapper 41 | *---------------------------------------------------------------- 42 | */ 43 | .volume__wrapper 44 | { 45 | width: 50%; 46 | margin: 0 auto; 47 | display: flex; 48 | border-radius: 10px; 49 | height: 300px; 50 | flex-direction: column; 51 | justify-content: center; 52 | background-color: var(--indigo); 53 | } 54 | /* 55 | *---------------------------------------------------------------- 56 | * volume container 57 | *---------------------------------------------------------------- 58 | */ 59 | .volume__container 60 | { 61 | display: flex; 62 | flex-direction: column; 63 | margin: 0 auto; 64 | } 65 | /* 66 | *---------------------------------------------------------------- 67 | * value ,result, button container 68 | *---------------------------------------------------------------- 69 | */ 70 | .value__container, 71 | .result__container, 72 | .button__container 73 | { 74 | margin: 10px auto; 75 | } 76 | /* 77 | *---------------------------------------------------------------- 78 | * value ,result dropdown box 79 | *---------------------------------------------------------------- 80 | */ 81 | #conversion_value, 82 | #conversion_result 83 | { 84 | color: #fff; 85 | background-color: #007bff; 86 | border-color: #007bff; 87 | outline: none; 88 | 89 | } 90 | /* 91 | *---------------------------------------------------------------- 92 | * convert button 93 | *---------------------------------------------------------------- 94 | */ 95 | #convert_button 96 | { 97 | color: #fff; 98 | background-color: #007bff; 99 | border-color: #007bff; 100 | outline: none; 101 | } -------------------------------------------------------------------------------- /conversionTools/weight/weight.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | text-align: center; 21 | } 22 | /* 23 | *---------------------------------------------------------------- 24 | * container 25 | *---------------------------------------------------------------- 26 | */ 27 | .container_wrapper 28 | { 29 | width: 90%; 30 | height: 50vh; 31 | display: flex; 32 | margin: .5rem auto auto; 33 | align-items: center; 34 | justify-content: center; 35 | flex-direction: column; 36 | color: white; 37 | } 38 | /* 39 | *---------------------------------------------------------------- 40 | * weight wrapper 41 | *---------------------------------------------------------------- 42 | */ 43 | .weight__wrapper 44 | { 45 | width: 50%; 46 | margin: 0 auto; 47 | display: flex; 48 | border-radius: 10px; 49 | height: 300px; 50 | flex-direction: column; 51 | justify-content: center; 52 | background-color: var(--indigo); 53 | } 54 | /* 55 | *---------------------------------------------------------------- 56 | * weight container 57 | *---------------------------------------------------------------- 58 | */ 59 | .weight__container 60 | { 61 | display: flex; 62 | flex-direction: column; 63 | margin: 0 auto; 64 | } 65 | /* 66 | *---------------------------------------------------------------- 67 | * value ,result, button container 68 | *---------------------------------------------------------------- 69 | */ 70 | .value__container, 71 | .result__container, 72 | .button__container 73 | { 74 | margin: 10px auto; 75 | } 76 | /* 77 | *---------------------------------------------------------------- 78 | * value ,result dropdown box 79 | *---------------------------------------------------------------- 80 | */ 81 | #conversion_value, 82 | #conversion_result 83 | { 84 | color: #fff; 85 | background-color: #007bff; 86 | border-color: #007bff; 87 | outline: none; 88 | 89 | } 90 | /* 91 | *---------------------------------------------------------------- 92 | * convert button 93 | *---------------------------------------------------------------- 94 | */ 95 | #convert_button 96 | { 97 | color: #fff; 98 | background-color: #007bff; 99 | border-color: #007bff; 100 | outline: none; 101 | } 102 | -------------------------------------------------------------------------------- /conversionTools/temperture/temperture.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | text-align: center; 21 | } 22 | /* 23 | *---------------------------------------------------------------- 24 | * container 25 | *---------------------------------------------------------------- 26 | */ 27 | .container_wrapper 28 | { 29 | width: 90%; 30 | height: 50vh; 31 | display: flex; 32 | margin: .5rem auto auto; 33 | align-items: center; 34 | justify-content: center; 35 | flex-direction: column; 36 | color: white; 37 | } 38 | /* 39 | *---------------------------------------------------------------- 40 | * temprature wrapper 41 | *---------------------------------------------------------------- 42 | */ 43 | .temp__wrapper 44 | { 45 | width: 50%; 46 | margin: 0 auto; 47 | display: flex; 48 | border-radius: 10px; 49 | height: 300px; 50 | flex-direction: column; 51 | justify-content: center; 52 | background-color: var(--indigo); 53 | } 54 | /* 55 | *---------------------------------------------------------------- 56 | * temprature container 57 | *---------------------------------------------------------------- 58 | */ 59 | .temp__container 60 | { 61 | display: flex; 62 | flex-direction: column; 63 | margin: 0 auto; 64 | } 65 | /* 66 | *---------------------------------------------------------------- 67 | * value ,result, button container 68 | *---------------------------------------------------------------- 69 | */ 70 | .value__container, 71 | .result__container, 72 | .button__container 73 | { 74 | margin: 10px auto; 75 | } 76 | /* 77 | *---------------------------------------------------------------- 78 | * value ,result dropdown box 79 | *---------------------------------------------------------------- 80 | */ 81 | #conversion_value, 82 | #conversion_result 83 | { 84 | color: #fff; 85 | background-color: #007bff; 86 | border-color: #007bff; 87 | outline: none; 88 | 89 | } 90 | /* 91 | *---------------------------------------------------------------- 92 | * convert button 93 | *---------------------------------------------------------------- 94 | */ 95 | #convert_button 96 | { 97 | color: #fff; 98 | background-color: #007bff; 99 | border-color: #007bff; 100 | outline: none; 101 | } -------------------------------------------------------------------------------- /conversionTools/frequency/frequency.js: -------------------------------------------------------------------------------- 1 | var fromUnit,toUnit = ""; 2 | var fromVal,toVal = ""; 3 | var textDesc = ""; 4 | var refDesc = ""; 5 | 6 | //Full-forms: 7 | var abbr = new Map([ 8 | ["Hz","Hertz"], 9 | ["kHz","KiloHertz"], 10 | ["MHz","MegaHertz"], 11 | ["rpm","Revolutions/min"], 12 | ["rps","Revolutions/sec"], 13 | ["rads","Radians/min"], 14 | ["radm","Radians/sec"] 15 | ]); 16 | 17 | //Reference: 18 | // 1 KiloHertz = 1000 Hertz 19 | // 1 MegaHertz = 1000 Kilohertz 20 | // 1 radian/second = 0.159155 Hertz 21 | // 1 radian/second = 9.5492966 RPM 22 | var valMap = new Map([ 23 | ["Hz:Hz","1"], 24 | ["Hz:kHz","0.001"], 25 | ["Hz:MHz","0.000001"], 26 | ["Hz:rpm","60"], 27 | ["Hz:rps","1"], 28 | ["Hz:rads","6.28318531"], 29 | ["Hz:radm","0.104719755"], 30 | ["kHz:Hz","1000"], 31 | ["kHz:kHz","1"], 32 | ["kHz:MHz","0.001"], 33 | ["kHz:rpm","0.06"], 34 | ["kHz:rps","0.001"], 35 | ["kHz:rads","6283.18531"], 36 | ["kHz:radm","104.719755"], 37 | ["MHz:Hz","1000000"], 38 | ["MHz:kHz","1000"], 39 | ["MHz:MHz","1"], 40 | ["MHz:rpm","0.00006"], 41 | ["MHz:rps","0.000001"], 42 | ["MHz:rads","6283185.31"], 43 | ["MHz:radm","104719.755"], 44 | ["rpm:Hz","0.016666667"], 45 | ["rpm:kHz","16.666667"], 46 | ["rpm:MHz","16666.667"], 47 | ["rpm:rpm","1"], 48 | ["rpm:rps","60"], 49 | ["rpm:rads","0.104719755"], 50 | ["rpm:radm","0.01745329"], 51 | ["rps:Hz","1"], 52 | ["rps:kHz","0.001"], 53 | ["rps:MHz","0.000001"], 54 | ["rps:rpm","0.016666667"], 55 | ["rps:rps","1"], 56 | ["rps:rads","6.28318531"], 57 | ["rps:radm","0.104719755"], 58 | ["rads:Hz","0.159154943"], 59 | ["rads:kHz","159.154943"], 60 | ["rads:MHz","159154.943"], 61 | ["rads:rpm","9.5492966"], 62 | ["rads:rps","572.957795"], 63 | ["rads:rads","1"], 64 | ["rads:radm","0.016666667"], 65 | ["radm:Hz","0.00265258333"], 66 | ["radm:kHz","2.65258333"], 67 | ["radm:MHz","2652.58333"], 68 | ["radm:rpm","572.957795"], 69 | ["radm:rps","34377.46776"], 70 | ["radm:rads","60"], 71 | ["radm:radm","1"] 72 | ]); 73 | 74 | function convert() 75 | { 76 | fromUnit=document.getElementById("fromUnit").value; 77 | toUnit=document.getElementById("toUnit").value; 78 | fromVal=document.getElementById("fromVal").value; 79 | 80 | calcAndDisp(fromUnit,toUnit,fromVal); 81 | } 82 | 83 | function dispRes() 84 | { 85 | document.getElementById("toVal").value=toVal; 86 | document.getElementById("textDesc").innerText=textDesc; 87 | document.getElementById("refDesc").innerText=refDesc; 88 | } 89 | 90 | function calcAndDisp(fromUnit,toUnit,fromVal) 91 | { 92 | toVal = fromVal*parseFloat(valMap.get(fromUnit+":"+toUnit)); 93 | console.log("toVal:"+toVal); 94 | textDesc = fromVal + " " + abbr.get(fromUnit) + " = " + toVal + " " + abbr.get(toUnit); 95 | refDesc = "1 " + abbr.get(fromUnit) + " = " + valMap.get(fromUnit+":"+toUnit) + " " + abbr.get(toUnit); 96 | console.log("textDesc:"+textDesc); 97 | 98 | dispRes(); 99 | } -------------------------------------------------------------------------------- /conversionTools/speed/speed.js: -------------------------------------------------------------------------------- 1 | function convertSpeed() { 2 | 3 | var speed = document.getElementById("idSpeedInput").value; 4 | var from = document.getElementById("speedOne").value; 5 | var to = document.getElementById("speedTwo").value; 6 | var resultado = 0; 7 | 8 | switch (from) { 9 | case 'km/h': 10 | if (to == "km/h") { 11 | resultado = speed; 12 | } else if (to == "m/s") { 13 | resultado = speed * 0.277778; 14 | } else if (to == "mph") { 15 | resultado = speed * 0.621371; 16 | } else if (to == "ft/s") { 17 | resultado = speed * 0.911344; 18 | } else if (to == "knots") { 19 | resultado = speed * 0.539957; 20 | } 21 | break; 22 | case 'm/s': 23 | if (to == "km/h") { 24 | resultado = speed / 0.277778; 25 | } else if (to == "m/s") { 26 | resultado = speed; 27 | } else if (to == "mph") { 28 | resultado = speed / 0.44704; 29 | } else if (to == "ft/s") { 30 | resultado = speed / 0.3048; 31 | } else if (to == "knots") { 32 | resultado = speed / 0.514444; 33 | } 34 | break; 35 | case 'mph': 36 | if (to == "km/h") { 37 | resultado = speed / 0.621371; 38 | } else if (to == "m/s") { 39 | resultado = speed * 0.44704; 40 | } else if (to == "mph") { 41 | resultado = speed; 42 | } else if (to == "ft/s") { 43 | resultado = speed / 0.681818; 44 | } else if (to == "knots") { 45 | resultado = speed * 0.868976; 46 | } 47 | break; 48 | 49 | case 'ft/s': 50 | if (to == "km/h") { 51 | resultado = speed / 0.911344; 52 | } else if (to == "m/s") { 53 | resultado = speed * 0.3048; 54 | } else if (to == "mph") { 55 | resultado = speed * 0.681818; 56 | } else if (to == "ft/s") { 57 | resultado = speed; 58 | } else if (to == "knots") { 59 | resultado = speed * 0.592484; 60 | } 61 | break; 62 | 63 | case 'knots': 64 | if (to == "km/h") { 65 | resultado = speed / 0.539957; 66 | } else if (to == "m/s") { 67 | resultado = speed * 0.514444; 68 | } else if (to == "mph") { 69 | resultado = speed / 0.868976; 70 | } else if (to == "ft/s") { 71 | resultado = speed / 0.592484; 72 | } else if (to == "knots") { 73 | resultado = speed; 74 | } 75 | break; 76 | } 77 | 78 | document.getElementById("idResult").innerHTML = resultado; 79 | 80 | } -------------------------------------------------------------------------------- /financeTools/mortgageCalculator/mortgageCalc.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 17 | 21 | 22 | 23 | 24 | 38 | 39 | 40 |
41 | 42 |

Mortgage Calculator.

43 |
44 |

Monthly Payment:

45 |
46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
Mortgage Amount:
Interest Rate (%) :
Amortization Period (Years):
60 |

61 | 62 |

63 |

Mortgage Payment: ____________

64 |
65 |
66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /dailyUseTools/morseConverter/morse.js: -------------------------------------------------------------------------------- 1 | 2 | var converter = { 3 | 'a': '.-', 4 | 'b': '-...', 5 | 'c': '-.-.', 6 | 'd': '-..', 7 | 'e': '.', 8 | 'f': '..-.', 9 | 'g': '--.', 10 | 'h': '....', 11 | 'i': '..', 12 | 'j': '.---', 13 | 'k': '-.-', 14 | 'l': '.-..', 15 | 'm': '--', 16 | 'n': '-.', 17 | 'o': '---', 18 | 'p': '.--.', 19 | 'q': '--.-', 20 | 'r': '.-.', 21 | 's': '...', 22 | 't': '-', 23 | 'u': '..-', 24 | 'v': '...-', 25 | 'w': '.--', 26 | 'x': '-..-', 27 | 'y': '-.--', 28 | 'z': '--..', 29 | '1': '.----', 30 | '2': '..---', 31 | '3': '...--', 32 | '4': '....-', 33 | '5': '.....', 34 | '6': '-....', 35 | '7': '--...', 36 | '8': '---..', 37 | '9': '----.', 38 | '0': '-----', 39 | '.': '.-.-.-', 40 | ',': '--..--', 41 | '?': '..--..', 42 | "'": '.----.', 43 | '!': '-.-.--', 44 | '/': '-..-.', 45 | '(': '-.--.', 46 | ')': '-.--.-', 47 | '&': '.-...', 48 | ':': '---...', 49 | ';': '-.-.-.', 50 | '=': '-...-', 51 | '+': '.-.-.', 52 | '-': '-....-', 53 | '_': '..--.-', 54 | '"': '.-..-.', 55 | '$': '...-..-', 56 | '@': '.--.-.', 57 | ' ': ' ', 58 | '\n': ' ', 59 | '\t': ' ' 60 | } 61 | 62 | function morseConv(value) { 63 | // console.log(value); 64 | var output = ''; 65 | for (var i = 0; i < value.length; i++) { 66 | if(converter[value.charAt(i)]==' ') 67 | output += '\\'; 68 | else{ 69 | output += converter[value.charAt(i).toLowerCase()]; 70 | 71 | output += ' '; 72 | } 73 | } 74 | document.getElementById("morse").innerHTML = output; 75 | } 76 | 77 | function play(){ 78 | var AudioContext = window.AudioContext || window.webkitAudioContext; 79 | var ctx = new AudioContext(); 80 | var dot = 1.2 / 15; 81 | var t = ctx.currentTime; 82 | 83 | var oscillator = ctx.createOscillator(); 84 | oscillator.type = "sine"; 85 | oscillator.frequency.value = 600; 86 | 87 | var gainNode = ctx.createGain(); 88 | gainNode.gain.setValueAtTime(0, t); 89 | 90 | document.getElementById("morse").innerHTML.split("").forEach(function(letter) { 91 | switch(letter) { 92 | case ".": 93 | 94 | gainNode.gain.setValueAtTime(1, t); 95 | t += dot; 96 | gainNode.gain.setValueAtTime(0, t); 97 | t += dot; 98 | break; 99 | case "-": 100 | gainNode.gain.setValueAtTime(1, t); 101 | t += 3 * dot; 102 | gainNode.gain.setValueAtTime(0, t); 103 | t += dot; 104 | break; 105 | case "\\": 106 | t += 7 * dot; 107 | break; 108 | case " ": 109 | t += 3 * dot; 110 | } 111 | }); 112 | 113 | oscillator.connect(gainNode); 114 | gainNode.connect(ctx.destination); 115 | 116 | oscillator.start(); 117 | 118 | return false; 119 | } -------------------------------------------------------------------------------- /boilerplate.template: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <!--$TOOL TITLE$--> | Utility Website 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 30 | 31 |
32 | 33 |
34 | 35 | 36 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /conversionTools/length/length.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-image: linear-gradient(90deg, #020024 0%, #090979 35%, #00d4ff 100%); 3 | } 4 | 5 | .container1 { 6 | height: 35vh; 7 | width: 100%; 8 | } 9 | 10 | .container2 { 11 | height: 47vh; 12 | } 13 | 14 | h1 { 15 | color: white; 16 | font-size: 65px; 17 | text-align: center; 18 | font-family: 'Lobster'; 19 | } 20 | 21 | h2 { 22 | color: white; 23 | text-align: center; 24 | } 25 | 26 | .container1 input { 27 | outline: none; 28 | margin: 0; 29 | border: none; 30 | -webkit-box-shadow: none; 31 | -moz-box-shadow: none; 32 | box-shadow: none; 33 | width: 15%; 34 | font-size: 50px; 35 | padding-top: 15px; 36 | border-bottom: 2px solid white; 37 | color: white; 38 | position: relative; 39 | top: 50%; 40 | left: 34%; 41 | background: transparent; 42 | } 43 | 44 | .container2 input { 45 | outline: none; 46 | margin: 0; 47 | border: none; 48 | -webkit-box-shadow: none; 49 | -moz-box-shadow: none; 50 | box-shadow: none; 51 | width: 15%; 52 | font-size: 50px; 53 | padding-top: 15px; 54 | border-bottom: 2px solid white; 55 | color: white; 56 | position: relative; 57 | top: 50%; 58 | left: 34%; 59 | background: transparent; 60 | } 61 | 62 | .container1 select { 63 | outline: none; 64 | margin: 0; 65 | border: none; 66 | -webkit-box-shadow: none; 67 | -moz-box-shadow: none; 68 | box-shadow: none; 69 | width: 13%; 70 | font-size: 20px; 71 | padding: 11px; 72 | background-color: blue; 73 | color: white; 74 | border: 2px solid white; 75 | border-radius: 15px; 76 | position: relative; 77 | top: 50%; 78 | left: 34%; 79 | background: transparent; 80 | margin-left: 15px; 81 | } 82 | 83 | .container2 select { 84 | outline: none; 85 | margin: 0; 86 | border: none; 87 | -webkit-box-shadow: none; 88 | -moz-box-shadow: none; 89 | box-shadow: none; 90 | width: 13%; 91 | font-size: 20px; 92 | padding: 11px; 93 | color: white; 94 | border: 2px solid white; 95 | border-radius: 15px; 96 | position: relative; 97 | top: 50%; 98 | left: 34%; 99 | background: transparent; 100 | margin-left: 15px; 101 | } 102 | 103 | @media (max-width: 576px) { 104 | .container1 select { 105 | top: 80%; 106 | left: -15%; 107 | width: 50%; 108 | } 109 | .container2 select { 110 | top: 80%; 111 | left: -15%; 112 | width: 50%; 113 | } 114 | .container2 { 115 | padding-bottom: 100px; 116 | } 117 | .container1 input { 118 | width: 40%; 119 | } 120 | .container2 input { 121 | width: 40%; 122 | padding-bottom: 5%; 123 | } 124 | } 125 | 126 | @media (max-width: 992px) { 127 | .container1 select { 128 | top: 80%; 129 | left: -15%; 130 | width: 50%; 131 | } 132 | .container2 select { 133 | top: 80%; 134 | left: -15%; 135 | width: 50%; 136 | } 137 | .container2 { 138 | padding-bottom: 100px; 139 | } 140 | .container1 input { 141 | width: 40%; 142 | } 143 | .container2 input { 144 | width: 40%; 145 | padding-bottom: 3.5%; 146 | } 147 | } 148 | 149 | .container1 option { 150 | background-color: #090979; 151 | } 152 | 153 | .container2 option { 154 | background-color: #090979; 155 | } -------------------------------------------------------------------------------- /dailyUseTools/notes/notes.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | 3 | localforage.iterate(function (value, key, iterationNumber) { 4 | // Resulting key/value pair -- this callback 5 | // will be executed for every item in the 6 | // database. 7 | createSavedEntry(key, value); 8 | 9 | }).then(function () { 10 | 11 | }).catch(function (err) { 12 | // This code runs if there were any errors 13 | console.log(err); 14 | }); 15 | }); 16 | 17 | 18 | let createSavedEntry = (timestamp, entry) => { 19 | let creationDate = new Date(parseFloat(timestamp)); 20 | let creationDateString = creationDate.toLocaleString(); 21 | let htmlEntry = ` 22 |
23 |
24 |
25 | 26 | ${creationDateString} 27 |
28 |
29 |
30 | 32 | 33 |
34 |
35 | 39 |
40 |
41 | 42 | ` 43 | $("#entryRow").append(htmlEntry); 44 | $('#' + timestamp).on('click', function (e) { 45 | let id = e.target.id; 46 | updateEntry(id); 47 | }); 48 | $('#' + timestamp + '-Delete').on('click', function (e) { 49 | let id = e.target.id.replace('-Delete', ''); 50 | removeEntry(id); 51 | 52 | }); 53 | } 54 | 55 | let removeEntry = (id) => { 56 | 57 | localforage.removeItem(id) 58 | .then(() => { 59 | // Do other things once the value has been saved. 60 | let entryCard = $('#' + id + '-Card'); 61 | entryCard.remove(); 62 | }).catch((err) => { 63 | // This code runs if there were any errors 64 | console.log(err); 65 | }); 66 | } 67 | 68 | 69 | let updateEntry = (id) => { 70 | let noteBody = $('#' + id + '-Body'); 71 | let noteTitle = $('#' + id + '-Title'); 72 | 73 | let note = { 74 | title: noteTitle.val(), 75 | body: noteBody.val() 76 | } 77 | saveEntry(id, note); 78 | } 79 | 80 | let saveEntry = (id, entry) => { 81 | 82 | localforage.setItem(id, entry) 83 | .then((value) => { 84 | // Do other things once the value has been saved. 85 | createSavedEntry(id, entry); 86 | }).catch((err) => { 87 | // This code runs if there were any errors 88 | console.log(err); 89 | }); 90 | 91 | } 92 | 93 | $('.saveNote').on('click', function () { 94 | let noteBody = $('#notesTextArea'); 95 | let noteTitle = $('#noteTitle'); 96 | let timestamp = new Date().getTime().toString(); 97 | let note = { 98 | title: noteTitle.val(), 99 | body: noteBody.val() 100 | } 101 | noteBody.val(''); 102 | noteTitle.val(''); 103 | saveEntry(timestamp, note); 104 | }); 105 | 106 | 107 | -------------------------------------------------------------------------------- /dailyUseTools/compass/Compass.html: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Compass 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 37 | 38 | 39 | 40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 | 50 |
51 | 52 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /conversionTools/image/image.js: -------------------------------------------------------------------------------- 1 | 2 | let imageName = 'image'; 3 | 4 | function readFile(input) { 5 | if (input.files && input.files[0] && input.files[0].name) { 6 | imageName = input.files[0].name; 7 | let imageLower = imageName.toLowerCase(); 8 | if (imageLower.endsWith('.png') || 9 | imageLower.endsWith('.jpg') || 10 | imageLower.endsWith('.jpeg')) { 11 | let reader = new FileReader(); 12 | 13 | reader.onload = function (e) { 14 | 15 | let isPng = false; 16 | if (imageLower.endsWith('.png')) { 17 | isPng = true; 18 | let button = $('.downloadJpg'); 19 | button.removeClass('hidden'); 20 | } else { 21 | let button = $('.downloadPng'); 22 | 23 | button.removeClass('hidden'); 24 | } 25 | const img = new Image(); 26 | img.onload = function () { 27 | 28 | let canvas = document.getElementById("convertCanvas"); 29 | let ctx = canvas.getContext("2d"); 30 | canvas.width = this.width; 31 | canvas.height = this.height; 32 | if (isPng) { 33 | ctx.fillStyle = "white"; 34 | ctx.fillRect(0, 0, canvas.width, canvas.height); 35 | } 36 | ctx.drawImage(img, 0, 0); 37 | } 38 | img.src = e.target.result 39 | 40 | let htmlPreview = 41 | '' + 42 | '

' + input.files[0].name + '

'; 43 | let wrapperZone = $(input).parent(); 44 | let previewZone = $('.preview-zone'); 45 | let boxZone = $('.preview-zone').find('.box').find('.box-body'); 46 | 47 | wrapperZone.removeClass('dragover'); 48 | previewZone.removeClass('hidden'); 49 | boxZone.empty(); 50 | boxZone.append(htmlPreview); 51 | // drawImage(); 52 | }; 53 | 54 | reader.readAsDataURL(input.files[0]); 55 | } 56 | 57 | } 58 | } 59 | 60 | 61 | function triggerDownload(imgURI, name) { 62 | let a = document.createElement('a'); 63 | a.setAttribute('download', name); 64 | a.setAttribute('href', imgURI); 65 | a.setAttribute('target', '_blank'); 66 | // a.dispatchEvent(evt); 67 | a.click(); 68 | a.remove(); 69 | } 70 | 71 | 72 | $(".dropzone").change(function () { 73 | readFile(this); 74 | }); 75 | 76 | $('.dropzone-wrapper').on('dragover', function (e) { 77 | e.preventDefault(); 78 | e.stopPropagation(); 79 | $(this).addClass('dragover'); 80 | }); 81 | 82 | $('.dropzone-wrapper').on('dragleave', function (e) { 83 | e.preventDefault(); 84 | e.stopPropagation(); 85 | $(this).removeClass('dragover'); 86 | }); 87 | 88 | $('.remove-preview').on('click', function () { 89 | let boxZone = $(this).parents('.preview-zone').find('.box-body'); 90 | let previewZone = $(this).parents('.preview-zone'); 91 | let dropzone = $(this).parents('.form-group').find('.dropzone'); 92 | boxZone.empty(); 93 | previewZone.addClass('hidden'); 94 | 95 | let jpgButton = $('.downloadJpg'); 96 | jpgButton.addClass('hidden'); 97 | 98 | let pngButton = $('.downloadPng'); 99 | pngButton.addClass('hidden'); 100 | $('#imageForm').trigger('reset'); 101 | }); 102 | 103 | $('.downloadPng').on('click', function () { 104 | let canvas = document.getElementById('convertCanvas'); 105 | let imgURI = canvas 106 | .toDataURL('image/png'); 107 | triggerDownload(imgURI, imageName) + '.png'; 108 | }); 109 | 110 | $('.downloadJpg').on('click', function () { 111 | let canvas = document.getElementById('convertCanvas'); 112 | 113 | let imgURI = canvas 114 | .toDataURL('image/jpeg', 0.8); 115 | triggerDownload(imgURI, imageName + '.jpg'); 116 | }); -------------------------------------------------------------------------------- /conversionTools/fuelEfficiency/fuel.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Fuel Efficiency Calculator 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 32 | 33 | 34 |
35 |

Fuel Efficiency Calculator

36 |
37 | 40 | 41 |
42 |
43 | 46 | 47 |
48 |
49 | 50 |
51 |
52 | 55 | 57 |
58 |
59 | 60 | 61 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /mathmeticalTools/LinearEquation/linearEquation.js: -------------------------------------------------------------------------------- 1 | 2 | var a1 = document.querySelector("#a1"); 3 | var a2 = document.querySelector("#a2"); 4 | var a3 = document.querySelector("#a3"); 5 | var b1 = document.querySelector("#b1"); 6 | var b2 = document.querySelector("#b2"); 7 | var b3 = document.querySelector("#b3"); 8 | var c1 = document.querySelector("#c1"); 9 | var c2 = document.querySelector("#c2"); 10 | var c3 = document.querySelector("#c3"); 11 | var d1 = document.querySelector("#d1"); 12 | var d2 = document.querySelector("#d2"); 13 | var d3 = document.querySelector("#d3"); 14 | var submit = document.querySelector("#submit"); 15 | var tryAgain = document.querySelector("#tryagain"); 16 | var doubleVar = document.querySelector("#doubleVar"); 17 | var tripleVar = document.querySelector("#tripleVar"); 18 | var xshow = document.querySelector("#x"); 19 | var yshow = document.querySelector("#y"); 20 | var zshow = document.querySelector("#z"); 21 | var doubleVarSwitch = false; 22 | var tripleVarSwitch = false; 23 | inputs= document.getElementsByTagName("input") 24 | for(var i=0;i 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 36 | 37 |
38 |

Length Converter

39 |
40 | 41 | 52 |
53 |
54 | 55 | 66 |
67 |
68 |

Name: Astha Garhewal

69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /mathmeticalTools/percentageCalculator/percentageCalculator.css: -------------------------------------------------------------------------------- 1 | body{ 2 | background-color: rgba(173, 216, 230, 0.3); 3 | font-family: "Multi", sans-serif; 4 | } 5 | .ans{ 6 | border: 4px; 7 | border-color: black; 8 | color: green; 9 | font-weight: bold; 10 | font-size: 24px; 11 | } 12 | .cont { 13 | /*background: rgba(176, 224, 230, 0.6); 14 | display: flex; 15 | flex-direction: column; 16 | align-items: center; 17 | justify-content: center; 18 | border-radius: 5px ; 19 | padding: 1rem; 20 | box-shadow: 0 5px 20px darkgray; 21 | height: 53vh;*/ 22 | } 23 | 24 | .collapsible { 25 | background-color: #eee; 26 | color: #444; 27 | cursor: pointer; 28 | padding: 18px; 29 | width: 100%; 30 | border: none; 31 | text-align: left; 32 | outline: none; 33 | font-size: 15px; 34 | } 35 | 36 | .content { 37 | padding: 0 18px; 38 | display: none; 39 | overflow: hidden; 40 | background-color: #f1f1f1; 41 | } 42 | 43 | label, button, input{ 44 | font-size: 18px; 45 | } 46 | 47 | input{ 48 | background: rgba(173, 216, 230, 0.9); 49 | border: none; 50 | border-bottom: 2px solid darkgray; 51 | border-radius: 5px; 52 | padding: 9px 22px; 53 | margin: 8px 0; 54 | box-sizing: border-box; 55 | text-align: center; 56 | } 57 | 58 | .formula{ 59 | background: aliceblue; 60 | font-size: 15px; 61 | } 62 | .sec{ 63 | margin: 5%; 64 | margin-left: 15%; 65 | margin-right: 15% 66 | } 67 | @media screen and (max-width: 400px) { 68 | input { 69 | width: 100%; /* The width is 100%, when the viewport is 800px or smaller */ 70 | } 71 | .formula{ 72 | background: aliceblue; 73 | font-size:11.5px; 74 | } 75 | .sec{ 76 | margin: 5%; 77 | margin-left: 5%; 78 | margin-right: 5%; 79 | } 80 | } 81 | 82 | 83 | div.ct1 { 84 | background: rgba(176, 224, 230, 0.7); 85 | display: flex; 86 | flex-direction: column; 87 | align-items: center; 88 | justify-content: center; 89 | border-radius: 5px ; 90 | padding: 1rem; 91 | box-shadow: 0 5px 20px darkgray; 92 | min-height: 30vh; 93 | align-self: left; 94 | width: content; 95 | } 96 | 97 | .ct2 { 98 | background: rgba(173, 216, 230, 0.7); 99 | display: flex; 100 | flex-direction: column; 101 | align-items: center; 102 | justify-content: center; 103 | border-radius: 5px ; 104 | padding: 1rem; 105 | box-shadow: 0 5px 20px darkgray; 106 | min-height: 30vh; 107 | align-self: right; 108 | width: content; 109 | } 110 | 111 | .site-header{ 112 | background-color: rgba(0, 0, 0, .85); 113 | -webkit-backdrop-filter: saturate(180%) blur(20px); 114 | backdrop-filter: saturate(180%) blur(20px); 115 | } 116 | 117 | .hero-section { 118 | background-color: var(--indigo); 119 | } 120 | 121 | .hero-section__graphic, .hero-section__graphic:before, .hero-section__graphic:after { 122 | background-color: rgba(255,255,255,0.1); 123 | width: 10vh; 124 | height: 10vh; 125 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 126 | } 127 | 128 | .hero-section__graphic:before, .hero-section__graphic:after { 129 | content: ''; 130 | display: inline-block; 131 | position: absolute; 132 | left: 0; 133 | top: 0; 134 | animation: float 10s infinite linear; 135 | } 136 | .hero-section__graphic:after { 137 | animation-direction: reverse; 138 | animation-delay: 500ms; 139 | } 140 | 141 | .hero-section__icon{ 142 | fill: var(--light); 143 | width: 100%; 144 | height: auto; 145 | } 146 | 147 | 148 | @keyframes float { 149 | 0% { 150 | transform: translate(0%, 0%) rotate(0); 151 | } 152 | 153 | 33% { 154 | transform: translate(2%, 2%) rotate(120deg); 155 | } 156 | 157 | 66% { 158 | transform: translate(2%, -2%) rotate(240deg); 159 | } 160 | 161 | 162 | to { 163 | transform: translate(0%, 0%) rotate(360deg); 164 | } 165 | } 166 | 167 | -------------------------------------------------------------------------------- /mathmeticalTools/cubicEquation/cubicEquation.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: rgba(173, 216, 230, 0.3); 3 | font-family: "Multi", sans-serif; 4 | } 5 | 6 | @media screen and (max-width: 400px) { 7 | input { 8 | width: 100%; 9 | } 10 | } 11 | 12 | div#calculatorWrap { 13 | width: 400px; 14 | background: rgba(173, 216, 230, 0.9); 15 | padding: 0.5em 0.5em 0.5em 0.5em; 16 | border: 1px solid #aaa; 17 | border-radius: 5px; 18 | font-size: 0.9em; 19 | padding: 9px 22px; 20 | box-sizing: border-box; 21 | text-align: center; 22 | margin: auto; 23 | } 24 | 25 | div.calculatorTitle { 26 | color: #fff; 27 | background-color: #007bff; 28 | font-weight: bold; 29 | margin: -0.3em -0.3em 1em -0.3em; 30 | border-bottom: 1px solid #aaa; 31 | padding: 0.3em; 32 | text-align: center; 33 | border-radius: 5px; 34 | color: #333; 35 | } 36 | 37 | div.calculatorInputs { 38 | margin: 0.5em 0em 0.5em 0em; 39 | } 40 | 41 | div.calculatorInputGroup { 42 | text-align: center; 43 | margin-top: 0.25em; 44 | margin-bottom: 0.5em; 45 | } 46 | 47 | div.calculatorInputGroupAligned { 48 | text-align: left; 49 | margin: auto; 50 | margin-top: 0.25em; 51 | margin-bottom: 0.5em; 52 | } 53 | 54 | div.calculatorInputGroupAligned label, 55 | div.calculatorInputGroupAligned select, 56 | div.calculatorInputGroupAligned input { 57 | display: inline-block; 58 | } 59 | 60 | div.calculatorInputGroupAligned label { 61 | text-align: left; 62 | margin-right: 2px; 63 | } 64 | 65 | div.calculatorInputGroupInline { 66 | display: inline-block; 67 | margin-top: 0.25em; 68 | margin-bottom: 0.5em; 69 | } 70 | 71 | div.calculatorInputGroupInline label.aligned { 72 | width: 16em; 73 | } 74 | 75 | div.calculatorInputGroupPadding { 76 | padding: 6px 0px 6px 0px; 77 | } 78 | 79 | div.calculatorButton { 80 | margin: 0.5em 0em 0.5em 0em; 81 | background-color: #007bff; 82 | border-radius: 5px; 83 | } 84 | 85 | div.calculatorAnswer { 86 | color: #333333; 87 | border: 1px solid #aaa; 88 | border-radius: 4px; 89 | margin: 0em -0.3em -0.3em -0.3em; 90 | padding: 0.3em; 91 | font-size: 100%; 92 | } 93 | 94 | div#calculatorAnswer { 95 | color: #333333; 96 | background-color: #ffffff; 97 | border: 1px solid #aaa; 98 | border-radius: 4px; 99 | margin: 0em -0.3em -0.3em -0.3em; 100 | padding: 0.3em; 101 | font-size: 100%; 102 | } 103 | 104 | .site-header { 105 | background-color: rgba(0, 0, 0, 0.85); 106 | -webkit-backdrop-filter: saturate(180%) blur(20px); 107 | backdrop-filter: saturate(180%) blur(20px); 108 | } 109 | 110 | .hero-section { 111 | background-color: var(--indigo); 112 | } 113 | 114 | .hero-section__graphic, 115 | .hero-section__graphic:before, 116 | .hero-section__graphic:after { 117 | background-color: rgba(255, 255, 255, 0.1); 118 | width: 10vh; 119 | height: 10vh; 120 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 121 | } 122 | 123 | .hero-section__graphic:before, 124 | .hero-section__graphic:after { 125 | content: ""; 126 | display: inline-block; 127 | position: absolute; 128 | left: 0; 129 | top: 0; 130 | animation: float 10s infinite linear; 131 | } 132 | .hero-section__graphic:after { 133 | animation-direction: reverse; 134 | animation-delay: 500ms; 135 | } 136 | 137 | .hero-section__icon { 138 | fill: var(--light); 139 | width: 100%; 140 | height: auto; 141 | } 142 | @keyframes float { 143 | 0% { 144 | transform: translate(0%, 0%) rotate(0); 145 | } 146 | 147 | 33% { 148 | transform: translate(2%, 2%) rotate(120deg); 149 | } 150 | 151 | 66% { 152 | transform: translate(2%, -2%) rotate(240deg); 153 | } 154 | 155 | to { 156 | transform: translate(0%, 0%) rotate(360deg); 157 | } 158 | } 159 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | 2 | ### TLDR of contributing.md: 3 | 4 | - Ensure that no one is working on (or already completed) the tool you want to work on.`Tools marked with ☑ are already completed` 5 | - Use descriptive commit messages 6 | - You can create an issue for the tool you want to claim and work on 7 | - You can only use javascript. 8 | - After completing the tool add it to the `assets/config/tools.js` under the related category 9 | - **FOLLOW THE DIRECTORY STRUCTURE AND NAMING CONVENTION** 10 | - **UPDATE THE `README.md` FILE AS YOU WORK ON A NEW TOOL** 11 | 12 | 13 | ## Contributing Guidelines 14 | 15 | ### Follow the theme design/ Follow the design of `index.html` file. 16 | 17 | ### Folders and Files 18 | - Please make sure your folder is in any one of the Folder `conversionTools`,`mathmeticlaTools`,`financeTools` or `dailyUseTools`. For example if you want to work on length conversion tool then place your folder in the `conversionTools` folder. The list for tools with their respective folder is mentioned above 19 | - The name of your folder should be the name o the tool you are working on for example: if you want to work on length conversion tool, Then name your folder would be `length`. 20 | - Under your folder name your files as follows. For length conversion tool the files would be `length.html`, `length.css`,`length.js` 21 | - Copy the content of `boilerplate.template` to your tool's html file and follow the comments marked with **$**. 22 | - At the end link your files properly 23 | - Add your name to the footer of your tool's html you are working on. For example if you are working on length conversion tool then 24 | add your name in the footer of `lenght.html`. 25 | - `Add screenShot` of your Tool in PR Message and in your Tool's Folder. 26 | - At the end add your tool to the `assets/config/tools.js` under the related category 27 | 28 | ### Tools.js 29 | - Find your tool's category 30 | - Inside the tool's category array, add the tool object 31 | - Add title in a well formatted text; for example: `Length Conversion`. 32 | - Add a short description about your tool. 33 | - Add URL of your tool following this format: `/FOLDER_NAME/TOOL_HTML_NAME.html` 34 | 35 | ### Opening Issues 36 | When you open an issue, please make sure the Tool is not already implemented. 37 | Opened Issues by existing Problem will be closed & PR made to this Issue marked as **spam** 38 | The Contributor who opened an issue will be assigned/prefered to the issue. If there is no PR within about 7 Days the issue will be assigned to another Contributor. 39 | 40 | ### Pull Requests 41 | - Only Pull Requests **joined with an Issue** and matching the **naming-conventions** (See Folders and Files) will be merged! 42 | - If there is no Issue joined in the PR your PR will be labled as **spam** and closed. 43 | - If your code don't passes the Checks your PR will be labled as **"invalid"** and the Issue stays open for the next PR! 44 | - If your PR doesn't follow the Contributing Guidelines of this Repository it will be also marked as **spam** and closed! 45 | 46 | ## Getting Started 47 | * Fork this repository (Click the Fork button, top right of this page) 48 | * Clone your fork down to your local machine 49 | ```markdown 50 | git clone https://github.com/your-username/utility.git 51 | ``` 52 | * Comment to the Issue you want to work on - so I can assign you to it OR create a new Issue. 53 | * Create a branch for a new feature 54 | ```markdown 55 | git checkout -b feature/branch-name 56 | ``` 57 | * Or if its a bugfix to a file 58 | ```markdown 59 | git checkout -b bugfix/branch-name 60 | ``` 61 | * Make your changes (choose from the Tasks above!) 62 | * Commit and Push 63 | ```markdown 64 | git add . 65 | git commit -m 'commit message' 66 | git push origin branch-name 67 | ``` 68 | * Create a New Pull Request from your forked repository ( Click the 'New Pull Request' Button located at the top of your repo) 69 | * Wait for your PR review and merge approval! 70 | * __Star this repository__ if you had fun! 71 | 72 | ## Which PR will be accepted? 73 | * Ones you are assigned to. 74 | * Your PR has to link the Issue. 75 | * Your Solution must be correct. 76 | 77 | __Thank You!__ 78 | -------------------------------------------------------------------------------- /mathmeticalTools/ratio/ratio.css: -------------------------------------------------------------------------------- 1 | /* 2 | *---------------------------------------------------------------- 3 | * SITE HEADER 4 | *---------------------------------------------------------------- 5 | */ 6 | .site-header { 7 | background-color: rgba(0, 0, 0, 0.85); 8 | -webkit-backdrop-filter: saturate(180%) blur(20px); 9 | backdrop-filter: saturate(180%) blur(20px); 10 | } 11 | 12 | /* 13 | *---------------------------------------------------------------- 14 | * heading 15 | *---------------------------------------------------------------- 16 | */ 17 | .heading { 18 | /* margin-top: 50px; */ 19 | text-align: center; 20 | } 21 | 22 | /* 23 | *---------------------------------------------------------------- 24 | * container 25 | *---------------------------------------------------------------- 26 | */ 27 | .container_wrapper { 28 | width: 90%; 29 | height: auto; 30 | display: flex; 31 | margin: .5rem auto auto; 32 | align-items: center; 33 | justify-content: center; 34 | flex-direction: column; 35 | color: white; 36 | padding: 2rem 0; 37 | } 38 | 39 | .container_wrapper label { 40 | color: grey; 41 | } 42 | 43 | /*ratiobox*/ 44 | .ratiobox { 45 | text-align: center; 46 | box-shadow: 1px 2px 20px #2828288c; 47 | padding: 1.5rem; 48 | border-radius: 1rem; 49 | } 50 | 51 | .comparison-box { 52 | background: #2a2a2a; 53 | color: white; 54 | padding: 1rem; 55 | margin-top: 1rem; 56 | border-bottom-left-radius: 0.5rem; 57 | border-bottom-right-radius: 0.5rem; 58 | } 59 | 60 | .comparison-box p { 61 | color: white; 62 | font-size: 0.95rem; 63 | text-align: center; 64 | margin-bottom: 0; 65 | } 66 | 67 | .simplification-box { 68 | margin-top: 1rem; 69 | background: #4CAF50; 70 | color: white; 71 | padding: 0.7rem 1rem; 72 | } 73 | 74 | .simplification-box p { 75 | font-size: 1.1rem; 76 | text-align: center; 77 | margin-bottom: 0; 78 | font-weight: 500; 79 | } 80 | 81 | input, select { 82 | padding: 0.5rem; 83 | border-radius: 0.4rem; 84 | border: 1px solid #abaaaa; 85 | min-width: 13rem; 86 | } 87 | 88 | .eachbox { 89 | margin-top: 1rem; 90 | } 91 | 92 | .eachbox p { 93 | margin-bottom: 0.5rem; 94 | color: grey; 95 | } 96 | 97 | .eachbox button { 98 | color: #6610f2; 99 | border-color: #6610f2; 100 | } 101 | 102 | 103 | input::-webkit-outer-spin-button, 104 | input::-webkit-inner-spin-button { 105 | -webkit-appearance: none; 106 | margin: 0; 107 | } 108 | 109 | *:focus { 110 | outline: none; 111 | } 112 | 113 | 114 | /* 115 | *---------------------------------------------------------------- 116 | * HERO SECTION 117 | *---------------------------------------------------------------- 118 | */ 119 | .hero-section { 120 | background-color: var(--indigo); 121 | } 122 | 123 | .hero-section__graphic, 124 | .hero-section__graphic:before, 125 | .hero-section__graphic:after { 126 | background-color: rgba(255, 255, 255, 0.1); 127 | width: 250px; 128 | height: 200px; 129 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 130 | } 131 | 132 | .hero-section__graphic:before, 133 | .hero-section__graphic:after { 134 | content: ""; 135 | display: inline-block; 136 | position: absolute; 137 | left: 0; 138 | top: 0; 139 | animation: float 10s infinite linear; 140 | } 141 | 142 | .hero-section__graphic:after { 143 | animation-direction: reverse; 144 | animation-delay: 500ms; 145 | } 146 | 147 | .hero-section__icon { 148 | fill: var(--light); 149 | width: 100%; 150 | height: auto; 151 | } 152 | 153 | @keyframes float { 154 | 0% { 155 | transform: translate(0%, 0%) rotate(0); 156 | } 157 | 158 | 33% { 159 | transform: translate(2%, 2%) rotate(120deg); 160 | } 161 | 162 | 66% { 163 | transform: translate(2%, -2%) rotate(240deg); 164 | } 165 | 166 | to { 167 | transform: translate(0%, 0%) rotate(360deg); 168 | } 169 | } 170 | 171 | 172 | /* Testing */ 173 | img { 174 | width: 135px; 175 | height: 135px; 176 | position: relative; 177 | left: 58px; 178 | top: 30px; 179 | } 180 | -------------------------------------------------------------------------------- /conversionTools/frequency/frequency.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | /* margin-top: 50px; */ 21 | text-align: center; 22 | } 23 | /* 24 | *---------------------------------------------------------------- 25 | * container 26 | *---------------------------------------------------------------- 27 | */ 28 | .container_wrapper 29 | { 30 | width: 90%; 31 | height:auto; 32 | display: flex; 33 | margin: .5rem auto auto; 34 | align-items: center; 35 | justify-content: center; 36 | flex-direction: column; 37 | padding: 2rem 0; 38 | } 39 | 40 | .card 41 | { 42 | text-align: center; 43 | box-shadow: 1px 2px 20px #2828288c; 44 | padding: 20px; 45 | border-radius: 1rem; 46 | } 47 | 48 | .formulabox 49 | { 50 | background: #e2dcff; 51 | color: black; 52 | padding: 1rem; 53 | margin-top: 0.5rem; 54 | border-radius: 0.5rem; 55 | } 56 | .formulabox p 57 | { 58 | color: rgb(74, 84, 94); 59 | font-size: 0.95rem; 60 | text-align: center; 61 | margin-bottom: 0; 62 | } 63 | .resultbox 64 | { 65 | margin-top: 0.5rem; 66 | margin-bottom: 0.5rem; 67 | background:rgb(96, 49, 207); 68 | color: white; 69 | padding: 0.7rem 1rem; 70 | border-radius: 0.5rem; 71 | } 72 | .resultbox p 73 | { 74 | font-size: 1.1rem; 75 | text-align: center; 76 | margin-bottom: 0; 77 | font-weight: 500; 78 | } 79 | input,select 80 | { 81 | padding: 0.5rem; 82 | border-radius: 0.4rem; 83 | border: 1px solid #abaaaa; 84 | min-width: 13rem; 85 | } 86 | .eachbox 87 | { 88 | margin-top: 1rem; 89 | } 90 | .eachbox p 91 | { 92 | margin-bottom: 0.5rem; 93 | color: grey; 94 | } 95 | .eachboxp 96 | { 97 | margin-bottom: 0; 98 | margin-top: 1rem; 99 | color: grey; 100 | } 101 | 102 | input::-webkit-outer-spin-button, 103 | input::-webkit-inner-spin-button { 104 | -webkit-appearance: none; 105 | margin: 0; 106 | } 107 | *:focus { 108 | outline: none; 109 | } 110 | 111 | /*list style*/ 112 | 113 | .liststyle 114 | { 115 | font-style: italic; 116 | font-size: 0.9rem; 117 | color: #e1e1e1; 118 | list-style: inside; 119 | padding-left: 0; 120 | } 121 | 122 | /* 123 | *---------------------------------------------------------------- 124 | * HERO SECTION 125 | *---------------------------------------------------------------- 126 | */ 127 | .hero-section { 128 | background-color: var(--indigo); 129 | } 130 | 131 | .hero-section__graphic, 132 | .hero-section__graphic:before, 133 | .hero-section__graphic:after { 134 | background-color: rgba(255, 255, 255, 0.1); 135 | width: 300px; 136 | height: 200px; 137 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 138 | } 139 | 140 | .hero-section__graphic:before, 141 | .hero-section__graphic:after { 142 | content: ""; 143 | display: inline-block; 144 | position: absolute; 145 | left: 0; 146 | top: 0; 147 | animation: float 10s infinite linear; 148 | } 149 | .hero-section__graphic:after { 150 | animation-direction: reverse; 151 | animation-delay: 500ms; 152 | } 153 | 154 | .hero-section__icon { 155 | fill: var(--light); 156 | width: 100%; 157 | height: auto; 158 | } 159 | 160 | @keyframes float { 161 | 0% { 162 | transform: translate(0%, 0%) rotate(0); 163 | } 164 | 165 | 33% { 166 | transform: translate(2%, 2%) rotate(120deg); 167 | } 168 | 169 | 66% { 170 | transform: translate(2%, -2%) rotate(240deg); 171 | } 172 | 173 | to { 174 | transform: translate(0%, 0%) rotate(360deg); 175 | } 176 | } 177 | 178 | img { 179 | width: 135px; 180 | height: 135px; 181 | position: relative; 182 | left: 83px; 183 | top: 30px; 184 | } -------------------------------------------------------------------------------- /conversionTools/pressure/pressure.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | /* margin-top: 50px; */ 21 | text-align: center; 22 | } 23 | /* 24 | *---------------------------------------------------------------- 25 | * container 26 | *---------------------------------------------------------------- 27 | */ 28 | .container_wrapper 29 | { 30 | width: 90%; 31 | height:auto; 32 | display: flex; 33 | margin: .5rem auto auto; 34 | align-items: center; 35 | justify-content: center; 36 | flex-direction: column; 37 | color: white; 38 | padding: 2rem 0 3rem; 39 | } 40 | 41 | /*pressurebox*/ 42 | .pressurebox 43 | { 44 | text-align: center; 45 | box-shadow: 1px 2px 20px #2828288c; 46 | padding: 1.5rem; 47 | border-radius: 1rem; 48 | } 49 | .formulabox 50 | { 51 | background: #2a2a2a; 52 | color: white; 53 | padding: 1rem; 54 | margin-top: 1rem; 55 | border-bottom-left-radius: 0.5rem; 56 | border-bottom-right-radius: 0.5rem; 57 | } 58 | .formulabox p 59 | { 60 | color: white; 61 | font-size: 0.95rem; 62 | text-align: center; 63 | margin-bottom: 0; 64 | } 65 | .resultbox 66 | { 67 | margin-top: 1rem; 68 | background: #4CAF50; 69 | color: white; 70 | padding: 0.7rem 1rem; 71 | } 72 | .resultbox p 73 | { 74 | font-size: 1.1rem; 75 | text-align: center; 76 | margin-bottom: 0; 77 | font-weight: 500; 78 | } 79 | input,select 80 | { 81 | padding: 0.5rem; 82 | border-radius: 0.4rem; 83 | border: 1px solid #abaaaa; 84 | } 85 | .eachbox 86 | { 87 | margin-top: 1rem; 88 | } 89 | .eachbox p 90 | { 91 | margin-bottom: 0.5rem; 92 | color: grey; 93 | } 94 | 95 | 96 | input::-webkit-outer-spin-button, 97 | input::-webkit-inner-spin-button { 98 | -webkit-appearance: none; 99 | margin: 0; 100 | } 101 | *:focus { 102 | outline: none; 103 | } 104 | 105 | /*list style*/ 106 | 107 | .liststyle 108 | { 109 | font-style: italic; 110 | font-size: 0.9rem; 111 | color: #e1e1e1; 112 | list-style: inside; 113 | padding-left: 0; 114 | } 115 | 116 | /*list style ends*/ 117 | 118 | 119 | 120 | 121 | /* 122 | *---------------------------------------------------------------- 123 | * HERO SECTION 124 | *---------------------------------------------------------------- 125 | */ 126 | .hero-section { 127 | background-color: var(--indigo); 128 | } 129 | 130 | .hero-section__graphic, 131 | .hero-section__graphic:before, 132 | .hero-section__graphic:after { 133 | background-color: rgba(255, 255, 255, 0.1); 134 | width: 300px; 135 | height: 200px; 136 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 137 | } 138 | 139 | .hero-section__graphic:before, 140 | .hero-section__graphic:after { 141 | content: ""; 142 | display: inline-block; 143 | position: absolute; 144 | left: 0; 145 | top: 0; 146 | animation: float 10s infinite linear; 147 | } 148 | .hero-section__graphic:after { 149 | animation-direction: reverse; 150 | animation-delay: 500ms; 151 | } 152 | 153 | .hero-section__icon { 154 | fill: var(--light); 155 | width: 100%; 156 | height: auto; 157 | } 158 | 159 | @keyframes float { 160 | 0% { 161 | transform: translate(0%, 0%) rotate(0); 162 | } 163 | 164 | 33% { 165 | transform: translate(2%, 2%) rotate(120deg); 166 | } 167 | 168 | 66% { 169 | transform: translate(2%, -2%) rotate(240deg); 170 | } 171 | 172 | to { 173 | transform: translate(0%, 0%) rotate(360deg); 174 | } 175 | } 176 | 177 | 178 | /* Testing */ 179 | img { 180 | width: 135px; 181 | height: 135px; 182 | position: relative; 183 | left: 83px; 184 | top: 30px; 185 | } -------------------------------------------------------------------------------- /conversionTools/power/power.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | /* margin-top: 50px; */ 21 | text-align: center; 22 | } 23 | /* 24 | *---------------------------------------------------------------- 25 | * container 26 | *---------------------------------------------------------------- 27 | */ 28 | .container_wrapper 29 | { 30 | width: 90%; 31 | height:auto; 32 | display: flex; 33 | margin: .5rem auto auto; 34 | align-items: center; 35 | justify-content: center; 36 | flex-direction: column; 37 | color: white; 38 | padding: 2rem 0; 39 | } 40 | 41 | /*powerbox*/ 42 | .powerbox 43 | { 44 | text-align: center; 45 | box-shadow: 1px 2px 20px #2828288c; 46 | padding: 1.5rem; 47 | border-radius: 1rem; 48 | } 49 | .formulabox 50 | { 51 | background: #2a2a2a; 52 | color: white; 53 | padding: 1rem; 54 | margin-top: 1rem; 55 | border-bottom-left-radius: 0.5rem; 56 | border-bottom-right-radius: 0.5rem; 57 | } 58 | .formulabox p 59 | { 60 | color: white; 61 | font-size: 0.95rem; 62 | text-align: center; 63 | margin-bottom: 0; 64 | } 65 | .resultbox 66 | { 67 | margin-top: 1rem; 68 | background: #4CAF50; 69 | color: white; 70 | padding: 0.7rem 1rem; 71 | } 72 | .resultbox p 73 | { 74 | font-size: 1.1rem; 75 | text-align: center; 76 | margin-bottom: 0; 77 | font-weight: 500; 78 | } 79 | input,select 80 | { 81 | padding: 0.5rem; 82 | border-radius: 0.4rem; 83 | border: 1px solid #abaaaa; 84 | min-width: 13rem; 85 | } 86 | .eachbox 87 | { 88 | margin-top: 1rem; 89 | } 90 | .eachbox p 91 | { 92 | margin-bottom: 0.5rem; 93 | color: grey; 94 | } 95 | 96 | 97 | input::-webkit-outer-spin-button, 98 | input::-webkit-inner-spin-button { 99 | -webkit-appearance: none; 100 | margin: 0; 101 | } 102 | *:focus { 103 | outline: none; 104 | } 105 | 106 | /*list style*/ 107 | 108 | .liststyle 109 | { 110 | font-style: italic; 111 | font-size: 0.9rem; 112 | color: #e1e1e1; 113 | list-style: inside; 114 | padding-left: 0; 115 | } 116 | 117 | /*list style ends*/ 118 | 119 | 120 | 121 | 122 | /* 123 | *---------------------------------------------------------------- 124 | * HERO SECTION 125 | *---------------------------------------------------------------- 126 | */ 127 | .hero-section { 128 | background-color: var(--indigo); 129 | } 130 | 131 | .hero-section__graphic, 132 | .hero-section__graphic:before, 133 | .hero-section__graphic:after { 134 | background-color: rgba(255, 255, 255, 0.1); 135 | width: 300px; 136 | height: 200px; 137 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 138 | } 139 | 140 | .hero-section__graphic:before, 141 | .hero-section__graphic:after { 142 | content: ""; 143 | display: inline-block; 144 | position: absolute; 145 | left: 0; 146 | top: 0; 147 | animation: float 10s infinite linear; 148 | } 149 | .hero-section__graphic:after { 150 | animation-direction: reverse; 151 | animation-delay: 500ms; 152 | } 153 | 154 | .hero-section__icon { 155 | fill: var(--light); 156 | width: 100%; 157 | height: auto; 158 | } 159 | 160 | @keyframes float { 161 | 0% { 162 | transform: translate(0%, 0%) rotate(0); 163 | } 164 | 165 | 33% { 166 | transform: translate(2%, 2%) rotate(120deg); 167 | } 168 | 169 | 66% { 170 | transform: translate(2%, -2%) rotate(240deg); 171 | } 172 | 173 | to { 174 | transform: translate(0%, 0%) rotate(360deg); 175 | } 176 | } 177 | 178 | 179 | /* Testing */ 180 | img { 181 | width: 135px; 182 | height: 135px; 183 | position: relative; 184 | left: 83px; 185 | top: 30px; 186 | } -------------------------------------------------------------------------------- /conversionTools/resistance/resistance.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | /* margin-top: 50px; */ 21 | text-align: center; 22 | } 23 | /* 24 | *---------------------------------------------------------------- 25 | * container 26 | *---------------------------------------------------------------- 27 | */ 28 | .container_wrapper 29 | { 30 | width: 90%; 31 | height:auto; 32 | display: flex; 33 | margin: .5rem auto auto; 34 | align-items: center; 35 | justify-content: center; 36 | flex-direction: column; 37 | color: white; 38 | padding: 2rem 0; 39 | } 40 | 41 | /*resistancebox*/ 42 | .resistancebox 43 | { 44 | text-align: center; 45 | box-shadow: 1px 2px 20px #2828288c; 46 | padding: 1.5rem; 47 | border-radius: 1rem; 48 | } 49 | .formulabox 50 | { 51 | background: #2a2a2a; 52 | color: white; 53 | padding: 1rem; 54 | margin-top: 1rem; 55 | border-bottom-left-radius: 0.5rem; 56 | border-bottom-right-radius: 0.5rem; 57 | } 58 | .formulabox p 59 | { 60 | color: white; 61 | font-size: 0.95rem; 62 | text-align: center; 63 | margin-bottom: 0; 64 | } 65 | .resultbox 66 | { 67 | margin-top: 1rem; 68 | background: #4CAF50; 69 | color: white; 70 | padding: 0.7rem 1rem; 71 | } 72 | .resultbox p 73 | { 74 | font-size: 1.1rem; 75 | text-align: center; 76 | margin-bottom: 0; 77 | font-weight: 500; 78 | } 79 | #resistancetoval 80 | { 81 | cursor: no-drop; 82 | } 83 | input,select 84 | { 85 | padding: 0.5rem; 86 | border-radius: 0.4rem; 87 | border: 1px solid #abaaaa; 88 | min-width: 13rem; 89 | } 90 | .eachbox 91 | { 92 | margin-top: 1rem; 93 | } 94 | .eachbox p 95 | { 96 | margin-bottom: 0.5rem; 97 | color: grey; 98 | } 99 | 100 | 101 | input::-webkit-outer-spin-button, 102 | input::-webkit-inner-spin-button { 103 | -webkit-appearance: none; 104 | margin: 0; 105 | } 106 | *:focus { 107 | outline: none; 108 | } 109 | 110 | /*list style*/ 111 | 112 | .liststyle 113 | { 114 | font-style: italic; 115 | font-size: 0.9rem; 116 | color: #e1e1e1; 117 | list-style: inside; 118 | padding-left: 0; 119 | } 120 | 121 | /*list style ends*/ 122 | 123 | 124 | 125 | 126 | /* 127 | *---------------------------------------------------------------- 128 | * HERO SECTION 129 | *---------------------------------------------------------------- 130 | */ 131 | .hero-section { 132 | background-color: var(--indigo); 133 | } 134 | 135 | .hero-section__graphic, 136 | .hero-section__graphic:before, 137 | .hero-section__graphic:after { 138 | background-color: rgba(255, 255, 255, 0.1); 139 | width: 300px; 140 | height: 200px; 141 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 142 | } 143 | 144 | .hero-section__graphic:before, 145 | .hero-section__graphic:after { 146 | content: ""; 147 | display: inline-block; 148 | position: absolute; 149 | left: 0; 150 | top: 0; 151 | animation: float 10s infinite linear; 152 | } 153 | .hero-section__graphic:after { 154 | animation-direction: reverse; 155 | animation-delay: 500ms; 156 | } 157 | 158 | .hero-section__icon { 159 | fill: var(--light); 160 | width: 100%; 161 | height: auto; 162 | } 163 | 164 | @keyframes float { 165 | 0% { 166 | transform: translate(0%, 0%) rotate(0); 167 | } 168 | 169 | 33% { 170 | transform: translate(2%, 2%) rotate(120deg); 171 | } 172 | 173 | 66% { 174 | transform: translate(2%, -2%) rotate(240deg); 175 | } 176 | 177 | to { 178 | transform: translate(0%, 0%) rotate(360deg); 179 | } 180 | } 181 | 182 | 183 | /* Testing */ 184 | img { 185 | width: 135px; 186 | height: 135px; 187 | position: relative; 188 | left: 83px; 189 | top: 30px; 190 | } -------------------------------------------------------------------------------- /conversionTools/Energy/energy.js: -------------------------------------------------------------------------------- 1 | var unitWeights={}; 2 | unitWeights['nJ'] = 0.000000001; 3 | unitWeights['uJ'] = 0.000001; 4 | unitWeights['mJ'] = 0.001; 5 | unitWeights['J'] = 1; 6 | unitWeights['kJ'] = 1000; 7 | unitWeights['MJ'] = 1000000; 8 | unitWeights['GJ'] = 1000000000; 9 | unitWeights['W-h'] = 3600; 10 | unitWeights['kW-h'] = 3600000; 11 | unitWeights['MW-h'] = 3600000000; 12 | unitWeights['GW-h'] = 3600000000000; 13 | unitWeights['calIT'] = 4.1868; 14 | unitWeights['kcalIT'] = 4186.8; 15 | unitWeights['calth'] = 4.184; 16 | unitWeights['kcalth'] = 4184; 17 | unitWeights['hp-h'] = 2684519.5369; 18 | unitWeights['eV'] = 1.60217733e-19; 19 | unitWeights['keV'] = 1.60217733e-16; 20 | unitWeights['MeV'] = 1.60217733e-13; 21 | unitWeights['GeV'] = 1.60217733e-10; 22 | unitWeights['erg'] = 1e-7; 23 | unitWeights['Nm'] = 1; 24 | unitWeights['dyn-cm'] = 1e-7; 25 | unitWeights['kgf-m'] = 9.8066499997; 26 | unitWeights['gf-m'] = 0.00980665; 27 | unitWeights['gf-cm'] = 0.0000980665; 28 | unitWeights['kgf-cm'] = 0.0980665; 29 | unitWeights['lbf-ft'] = 1.3558179483; 30 | unitWeights['lbf-in'] = 0.112984829; 31 | unitWeights['ozf-in'] = 0.0070615518; 32 | unitWeights['kp-m'] = 9.8066499997; 33 | unitWeights['btu-it'] = 1055.0558526; 34 | unitWeights['btu-th'] = 1054.35; 35 | unitWeights['ton'] = 4184000000; 36 | unitWeights['kton'] = 4184000000000; 37 | unitWeights['Mton'] = 4184000000000000; 38 | 39 | 40 | 41 | var formula={}; 42 | formula['nJ'] = 'nJ'; 43 | formula['uJ'] = 'μJ'; 44 | formula['mJ'] = 'mJ'; 45 | formula['J'] = 'J'; 46 | formula['kJ'] = 'kJ'; 47 | formula['MJ'] = 'MJ'; 48 | formula['GJ'] = 'GJ'; 49 | formula['W-h'] = 'W-h'; 50 | formula['kW-h'] = 'kW-h'; 51 | formula['MW-h'] = 'MW-h'; 52 | formula['GW-h'] = 'GW-h'; 53 | formula['calIT'] = 'cal (IT)'; 54 | formula['kcalIT'] = 'kcal (IT)'; 55 | formula['calth'] = 'cal (th)'; 56 | formula['kcalth'] = 'kcal (th)'; 57 | formula['hp-h'] = 'hp.h'; 58 | formula['eV'] = 'eV'; 59 | formula['keV'] = 'keV'; 60 | formula['MeV'] = 'MeV'; 61 | formula['GeV'] = 'GeV'; 62 | formula['erg'] = 'erg'; 63 | formula['Nm'] = 'N.m'; 64 | formula['dyn-cm'] = 'dyn.cm'; 65 | formula['kgf-m'] = 'kgf.m'; 66 | formula['gf-m'] = 'gf.m'; 67 | formula['gf-cm'] = 'gf.cm'; 68 | formula['kgf-cm'] = 'kgf.cm'; 69 | formula['lbf-ft'] = 'lbf.ft'; 70 | formula['lbf-in'] = 'lbf.in'; 71 | formula['ozf-in'] = 'ozf.in'; 72 | formula['kp-m'] = 'kp.m'; 73 | formula['btu-it'] = 'Btu (IT)'; 74 | formula['btu-th'] = 'Btu (th)'; 75 | formula['ton'] = 'ton (explosive)'; 76 | formula['kton'] = 'kton (explosive)'; 77 | formula['Mton'] = 'Mton (explosive)'; 78 | 79 | const findFloatingCorrection = (x) => { 80 | let correction = 1; 81 | let xSplit; 82 | if (x.toString().includes('e')) { 83 | xSplit = x.toString().split('e'); 84 | correction = Math.pow(10, Math.abs(xSplit[1])); 85 | } 86 | if ((x*correction).toString().includes('.')) { 87 | let parts = x.toString().split('.'); 88 | correction = correction * Math.pow(10, parts[1].length); 89 | } 90 | return correction; 91 | } 92 | 93 | 94 | let factor = 0; 95 | 96 | function calculateUnit1(){ 97 | const unit1 = Number(unitWeights[document.getElementById('s1').value].toString()); 98 | const unit2 = unitWeights[document.getElementById('s2').value]; 99 | const correctionFactor = Math.max(findFloatingCorrection(unit1),findFloatingCorrection(1 / unit2)); 100 | factor = unit1*correctionFactor / (unit2 *correctionFactor); 101 | document.getElementById('inp2').value = document.getElementById('inp1').value * factor; 102 | document.getElementById('formula').innerHTML = '1 '+formula[document.getElementById('s1').value]+' = '+factor+' '+formula[document.getElementById('s2').value]; 103 | } 104 | 105 | function calculateUnit2(){ 106 | const unit1 = Number(unitWeights[document.getElementById('s1').value].toString()); 107 | const unit2 = unitWeights[document.getElementById('s2').value]; 108 | const correctionFactor = Math.max(findFloatingCorrection(unit2),findFloatingCorrection(1 / unit1)); 109 | factor = unit2*correctionFactor / (unit1 *correctionFactor); 110 | document.getElementById('inp1').value = document.getElementById('inp2').value * factor; 111 | document.getElementById('formula').innerHTML = '1 '+formula[document.getElementById('s2').value]+' = '+factor+' '+formula[document.getElementById('s1').value]; 112 | } 113 | function recalculateUnits(){ 114 | document.getElementById('inp1').value = 1; 115 | calculateUnit1(); 116 | } 117 | -------------------------------------------------------------------------------- /conversionTools/imagePdf/imagePdf.js: -------------------------------------------------------------------------------- 1 | 2 | let imageName = 'image'; 3 | let svgData = undefined; 4 | let data = undefined; 5 | imageWidth = 0; 6 | imageHeight = 0; 7 | 8 | function readFile(input) { 9 | if (input.files && input.files[0] && input.files[0].name) { 10 | imageName = input.files[0].name; 11 | let imageLower = imageName.toLowerCase(); 12 | if (imageLower.endsWith('.png') || 13 | imageLower.endsWith('.jpg') || 14 | imageLower.endsWith('.jpeg') 15 | 16 | ) { 17 | let reader = new FileReader(); 18 | 19 | reader.onload = function (e) { 20 | data = e.target.result 21 | console.log('data', data) 22 | let htmlPreview = 23 | '' + 24 | '

' + input.files[0].name + '

'; 25 | 26 | const img = new Image(); 27 | img.onload = function () { 28 | imageWidth = this.width; 29 | imageHeight = this.height; 30 | } 31 | img.src = data; 32 | let wrapperZone = $(input).parent(); 33 | let previewZone = $('.preview-zone'); 34 | let boxZone = $('.preview-zone').find('.box').find('.box-body'); 35 | let pdfTools = $('.pdfTools'); 36 | pdfTools.removeClass('hidden'); 37 | wrapperZone.removeClass('dragover'); 38 | previewZone.removeClass('hidden'); 39 | boxZone.empty(); 40 | boxZone.append(htmlPreview); 41 | // drawImage(); 42 | }; 43 | 44 | reader.readAsDataURL(input.files[0]); 45 | } else if (imageLower.endsWith('.svg')) { 46 | let reader = new FileReader(); 47 | reader.onload = function (e) { 48 | svgData = e.target.result; 49 | let htmlPreview = svgData; 50 | let wrapperZone = $(input).parent(); 51 | let previewZone = $('.preview-zone'); 52 | let boxZone = $('.preview-zone').find('.box').find('.box-body'); 53 | let pdfTools = $('.pdfTools'); 54 | pdfTools.removeClass('hidden'); 55 | wrapperZone.removeClass('dragover'); 56 | previewZone.removeClass('hidden'); 57 | boxZone.empty(); 58 | boxZone.append(htmlPreview); 59 | }; 60 | reader.readAsText(input.files[0]); 61 | } 62 | 63 | } 64 | } 65 | 66 | 67 | function triggerDownload(imgURI, name) { 68 | let a = document.createElement('a'); 69 | a.setAttribute('download', name); 70 | a.setAttribute('href', imgURI); 71 | a.setAttribute('target', '_blank'); 72 | // a.dispatchEvent(evt); 73 | a.click(); 74 | a.remove(); 75 | } 76 | 77 | 78 | $(".dropzone").change(function () { 79 | readFile(this); 80 | }); 81 | 82 | $('.dropzone-wrapper').on('dragover', function (e) { 83 | e.preventDefault(); 84 | e.stopPropagation(); 85 | $(this).addClass('dragover'); 86 | }); 87 | 88 | $('.dropzone-wrapper').on('dragleave', function (e) { 89 | e.preventDefault(); 90 | e.stopPropagation(); 91 | $(this).removeClass('dragover'); 92 | }); 93 | 94 | $('.remove-preview').on('click', function () { 95 | let boxZone = $(this).parents('.preview-zone').find('.box-body'); 96 | let previewZone = $(this).parents('.preview-zone'); 97 | boxZone.empty(); 98 | previewZone.addClass('hidden'); 99 | 100 | let pdfTools = $('.pdfTools'); 101 | pdfTools.addClass('hidden'); 102 | $('#imageForm').trigger('reset'); 103 | }); 104 | 105 | 106 | $('.downloadPdf').on('click', function () { 107 | let orientation = $('#orientation'); 108 | 109 | let imagesSize = [575.28, 821.89]; 110 | if (orientation.val() == 'landscape') { 111 | imagesSize = [821.89, 575.28]; 112 | } 113 | let pageWidth = imagesSize[0]; 114 | let pageHeight = imagesSize[1]; 115 | console.log('imagesSize', imagesSize); 116 | console.log('imageWidth', imageWidth); 117 | console.log('imageHeight', imageHeight); 118 | let content = undefined; 119 | if (data && 120 | (pageWidth > imageWidth || pageHeight > imageHeight)) { 121 | imagesSize = [imageWidth, imageHeight]; 122 | content = { 123 | image: data, 124 | fit: imagesSize 125 | } 126 | } else if (svgData) { 127 | content = { 128 | svg: svgData, 129 | fit: imagesSize 130 | } 131 | } 132 | const docDefinition = { 133 | pageSize: 'A4', 134 | pageOrientation: orientation.val(), 135 | pageMargins: [10, 10, 01, 10], 136 | content: [ 137 | content, 138 | 139 | ], 140 | }; 141 | pdfMake.createPdf(docDefinition).download(`demo.pdf`); 142 | console.log('download pdf', orientation.val()); 143 | }); -------------------------------------------------------------------------------- /mathmeticalTools/scientific-calcuator/sci-calc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Scientific Calculator 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 |
58 |

Created By: Aditi Maurya

59 |
60 | -------------------------------------------------------------------------------- /mathmeticalTools/LinearEquation/linearEquation.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Linear Equation Evaluator 5 | 6 | 7 | 8 | 9 | 10 | 11 | 25 | 26 | 27 |
28 |

29 | Linear Equation Evaluator 30 |

31 |
32 | 33 | 34 |
35 |
36 |

37 |
38 | 39 | 40 | 41 | 42 | 43 |
44 |
45 |
46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |
54 | 55 | 56 | 57 | 58 | 59 |
60 |
61 |
62 | 63 | 64 |
65 |
66 |

40

67 |

40

68 |

40

69 |
70 | 71 | 72 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /financeTools/service-tax-calculator/tools.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Service Tax Calculator 12 | 13 | 14 | 15 | 16 | 17 | 31 | 32 | 33 |
34 |
35 |

Service Tax Calculator

36 |
37 |


38 |
39 |
40 | 41 | 42 |
43 |
44 |
45 | 46 | 47 |
48 | 49 |
50 | 51 |
52 |
53 |
54 | 55 | 56 |
57 |
58 | 59 |
60 | 61 | 62 | 75 | 76 | 77 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /financeTools/stock-return-calculator/stockreturn.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Stock Return Calculator 5 | 6 | 7 | 9 | 11 | 13 | 15 | 16 | 17 | 18 | 19 | 33 | 34 | 35 | 36 |
37 |
38 |
39 | 40 | 41 |

42 |
43 | 44 | 45 |

46 |
47 | 48 | 49 |

50 |
51 | 52 | 53 |

54 |
55 | 58 |
59 |
60 | 61 | % 62 |

63 |
64 | % 65 | 66 |
67 |
68 |
69 | 70 | 71 | 72 | 73 | 74 | 83 | 84 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /conversionTools/Torque/torque.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | /* margin-top: 50px; */ 21 | text-align: center; 22 | } 23 | /* 24 | *---------------------------------------------------------------- 25 | * container 26 | *---------------------------------------------------------------- 27 | */ 28 | .container_wrapper 29 | { 30 | width: 90%; 31 | height: 50vh; 32 | display: flex; 33 | margin: .5rem auto auto; 34 | align-items: center; 35 | justify-content: center; 36 | flex-direction: column; 37 | color: white; 38 | } 39 | /* 40 | *---------------------------------------------------------------- 41 | * temprature wrapper 42 | *---------------------------------------------------------------- 43 | */ 44 | .torque__wrapper 45 | { 46 | width: 50%; 47 | margin: 0 auto; 48 | display: flex; 49 | border-radius: 10px; 50 | height: 300px; 51 | flex-direction: column; 52 | justify-content: center; 53 | background-color: #5452ad; 54 | /* background-color: var(--indigo); */ 55 | } 56 | /* 57 | *---------------------------------------------------------------- 58 | * temprature container 59 | *---------------------------------------------------------------- 60 | */ 61 | .torque__container 62 | { 63 | display: flex; 64 | flex-direction: column; 65 | margin: 0 auto; 66 | } 67 | /* 68 | *---------------------------------------------------------------- 69 | * value ,result, button container 70 | *---------------------------------------------------------------- 71 | */ 72 | .value__container, 73 | .result__container, 74 | .button__container 75 | { 76 | margin: 10px auto; 77 | } 78 | /* 79 | *---------------------------------------------------------------- 80 | * value ,result dropdown box 81 | *---------------------------------------------------------------- 82 | */ 83 | #conversion_value, 84 | #conversion_result 85 | { 86 | color: Black; 87 | /* #fff */ 88 | background-color: rgb(250, 212, 0); 89 | border-color: #020405; 90 | outline: none; 91 | 92 | } 93 | /* 94 | *---------------------------------------------------------------- 95 | * convert button 96 | *---------------------------------------------------------------- 97 | */ 98 | #convert_button 99 | { 100 | color: #fff; 101 | background-color: #ff0000b7; 102 | border-color: #07090a; 103 | outline: none; 104 | } 105 | 106 | /* 107 | *---------------------------------------------------------------- 108 | * HERO SECTION 109 | *---------------------------------------------------------------- 110 | */ 111 | .hero-section { 112 | background-color: var(--indigo); 113 | } 114 | 115 | .hero-section__graphic, 116 | .hero-section__graphic:before, 117 | .hero-section__graphic:after { 118 | background-color: rgba(255, 255, 255, 0.1); 119 | width: 300px; 120 | height: 200px; 121 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 122 | } 123 | 124 | .hero-section__graphic:before, 125 | .hero-section__graphic:after { 126 | content: ""; 127 | display: inline-block; 128 | position: absolute; 129 | left: 0; 130 | top: 0; 131 | animation: float 10s infinite linear; 132 | } 133 | .hero-section__graphic:after { 134 | animation-direction: reverse; 135 | animation-delay: 500ms; 136 | } 137 | 138 | .hero-section__icon { 139 | fill: var(--light); 140 | width: 100%; 141 | height: auto; 142 | } 143 | 144 | @keyframes float { 145 | 0% { 146 | transform: translate(0%, 0%) rotate(0); 147 | } 148 | 149 | 33% { 150 | transform: translate(2%, 2%) rotate(120deg); 151 | } 152 | 153 | 66% { 154 | transform: translate(2%, -2%) rotate(240deg); 155 | } 156 | 157 | to { 158 | transform: translate(0%, 0%) rotate(360deg); 159 | } 160 | } 161 | 162 | 163 | /* Testing */ 164 | img { 165 | width: 135px; 166 | height: 135px; 167 | position: relative; 168 | left: 83px; 169 | top: 30px; 170 | } -------------------------------------------------------------------------------- /mathmeticalTools/proportions/proportions.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | Proportions Calculator 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 41 | 42 | 43 | 44 |
45 |
46 |

Proportions Calculator

47 |
48 |
49 |
50 | If 51 | 52 | x = 53 | 54 | y 55 |
56 |
57 | And 58 | 59 | x = 60 | 61 | y 62 |
63 |
64 | Then 65 | 66 | x = 67 | 68 | y 69 |
70 |
71 |

Round result

72 | 73 |
74 |
75 |
76 | 77 | 78 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | -------------------------------------------------------------------------------- /mathmeticalTools/quadratic/quadratic.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | /* margin-top: 50px; */ 21 | text-align: center; 22 | } 23 | /* 24 | *---------------------------------------------------------------- 25 | * container 26 | *---------------------------------------------------------------- 27 | */ 28 | .container_wrapper 29 | { 30 | width: 90%; 31 | height:auto; 32 | display: flex; 33 | margin: .5rem auto auto; 34 | align-items: center; 35 | justify-content: center; 36 | flex-direction: column; 37 | color: white; 38 | padding: 2rem 0; 39 | } 40 | 41 | /*quadraticbox*/ 42 | .quadraticbox 43 | { 44 | text-align: center; 45 | box-shadow: 1px 2px 20px #2828288c; 46 | padding: 1.5rem; 47 | border-radius: 1rem; 48 | } 49 | .quadeqbox 50 | { 51 | display: block; 52 | } 53 | .dbox 54 | { 55 | background: #7a7979; 56 | color: white; 57 | padding: 1rem; 58 | margin-top: 1rem; 59 | } 60 | .dbox p 61 | { 62 | color: white; 63 | font-size: 1.1rem; 64 | text-align: center; 65 | margin-bottom: 0; 66 | } 67 | .resultbox 68 | { 69 | margin-top: 1.2rem; 70 | background: #ffbbed; 71 | color: white; 72 | padding: 0.7rem 1rem; 73 | display: flex; 74 | justify-content: space-between; 75 | border-bottom-left-radius: 0.5rem; 76 | border-bottom-right-radius: 0.5rem; 77 | } 78 | .xsmallbox 79 | { 80 | font-size: 1.2rem; 81 | text-align: center; 82 | font-weight: 500; 83 | margin-bottom: 0; 84 | } 85 | .xcont 86 | { 87 | margin: 0 0.3rem; 88 | display: inline-block; 89 | min-width: 9rem; 90 | padding: 0.5rem 0.7rem; 91 | background: crimson; 92 | border-radius: 0.4rem; 93 | } 94 | .calcbtn 95 | { 96 | margin: 1.4rem 0 0; 97 | padding: 0.5rem 1rem; 98 | font-size: 1.1rem; 99 | } 100 | .delbtn 101 | { 102 | float: right; 103 | } 104 | input 105 | { 106 | padding: 0.5rem; 107 | border-radius: 0.4rem; 108 | border: 1px solid #abaaaa; 109 | width: 4rem; 110 | text-align: center; 111 | } 112 | .eachbox 113 | { 114 | margin-top: 1rem; 115 | } 116 | .entertext 117 | { 118 | margin-bottom: 1rem; 119 | color: grey; 120 | } 121 | .vboxvar 122 | { 123 | margin: 0 0.5rem; 124 | font-size: 1.2rem; 125 | color: #999595; 126 | font-weight: 700; 127 | } 128 | 129 | 130 | input::-webkit-outer-spin-button, 131 | input::-webkit-inner-spin-button { 132 | -webkit-appearance: none; 133 | margin: 0; 134 | } 135 | *:focus { 136 | outline: none; 137 | } 138 | 139 | /*list style*/ 140 | 141 | .liststyle 142 | { 143 | font-style: italic; 144 | font-size: 0.9rem; 145 | color: #e1e1e1; 146 | list-style: inside; 147 | padding-left: 0; 148 | } 149 | 150 | /*list style ends*/ 151 | 152 | 153 | 154 | 155 | /* 156 | *---------------------------------------------------------------- 157 | * HERO SECTION 158 | *---------------------------------------------------------------- 159 | */ 160 | .hero-section { 161 | background-color: var(--indigo); 162 | } 163 | 164 | .hero-section__graphic, 165 | .hero-section__graphic:before, 166 | .hero-section__graphic:after { 167 | background-color: rgba(255, 255, 255, 0.1); 168 | width: 300px; 169 | height: 200px; 170 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 171 | } 172 | 173 | .hero-section__graphic:before, 174 | .hero-section__graphic:after { 175 | content: ""; 176 | display: inline-block; 177 | position: absolute; 178 | left: 0; 179 | top: 0; 180 | animation: float 10s infinite linear; 181 | } 182 | .hero-section__graphic:after { 183 | animation-direction: reverse; 184 | animation-delay: 500ms; 185 | } 186 | 187 | .hero-section__icon { 188 | fill: var(--light); 189 | width: 100%; 190 | height: auto; 191 | } 192 | 193 | @keyframes float { 194 | 0% { 195 | transform: translate(0%, 0%) rotate(0); 196 | } 197 | 198 | 33% { 199 | transform: translate(2%, 2%) rotate(120deg); 200 | } 201 | 202 | 66% { 203 | transform: translate(2%, -2%) rotate(240deg); 204 | } 205 | 206 | to { 207 | transform: translate(0%, 0%) rotate(360deg); 208 | } 209 | } 210 | 211 | 212 | /* Testing */ 213 | img { 214 | width: 135px; 215 | height: 135px; 216 | position: relative; 217 | left: 83px; 218 | top: 30px; 219 | } -------------------------------------------------------------------------------- /conversionTools/storage/storage.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | /* margin-top: 50px; */ 21 | text-align: center; 22 | } 23 | /* 24 | *---------------------------------------------------------------- 25 | * container 26 | *---------------------------------------------------------------- 27 | */ 28 | .container_wrapper 29 | { 30 | width: 90%; 31 | height: auto; 32 | display: flex; 33 | margin: .5rem auto auto; 34 | align-items: center; 35 | justify-content: center; 36 | flex-direction: column; 37 | color: white; 38 | } 39 | /* 40 | *---------------------------------------------------------------- 41 | * wrapper 42 | *---------------------------------------------------------------- 43 | */ 44 | .storage__wrapper 45 | { 46 | width: 90%; 47 | margin: .5rem auto auto; 48 | align-items: center; 49 | display: flex; 50 | border-radius: 1rem; 51 | height: auto; 52 | flex-direction: column; 53 | justify-content: center; 54 | background-color: var(--indigo); 55 | padding: 2rem 0; 56 | box-shadow: 1px 2px 20px #2828288c; 57 | 58 | 59 | } 60 | /* 61 | *---------------------------------------------------------------- 62 | * container 63 | *---------------------------------------------------------------- 64 | */ 65 | .storage__container 66 | { 67 | display: flex; 68 | flex-direction: column; 69 | margin: 0 auto; 70 | } 71 | .storage__container p 72 | { 73 | margin-bottom: 0.5rem; 74 | } 75 | /* 76 | *---------------------------------------------------------------- 77 | * value ,result, button container 78 | *---------------------------------------------------------------- 79 | */ 80 | .value__container, 81 | .result__container, 82 | .button__container 83 | { 84 | margin: 10px auto; 85 | } 86 | /* 87 | *---------------------------------------------------------------- 88 | * value ,result dropdown box 89 | *---------------------------------------------------------------- 90 | */ 91 | #conversion_value, 92 | #conversion_result 93 | { 94 | color: Black; 95 | /* #fff */ 96 | background-color: mediumturquoise; 97 | border-color: #020405; 98 | outline: none; 99 | 100 | } 101 | /* 102 | *---------------------------------------------------------------- 103 | * convert button 104 | *---------------------------------------------------------------- 105 | */ 106 | #convert_button 107 | { 108 | color: #fff; 109 | background-color: #4CAF50; 110 | border-color: #07090a; 111 | outline: none; 112 | font-weight: 500; 113 | } 114 | 115 | 116 | input,select 117 | { 118 | padding: 0.5rem; 119 | border-radius: 0.4rem; 120 | border: 1px solid #abaaaa; 121 | min-width: 12.5rem; 122 | } 123 | 124 | /* 125 | *---------------------------------------------------------------- 126 | * HERO SECTION 127 | *---------------------------------------------------------------- 128 | */ 129 | .hero-section { 130 | background-color: var(--indigo); 131 | } 132 | 133 | .hero-section__graphic, 134 | .hero-section__graphic:before, 135 | .hero-section__graphic:after { 136 | background-color: rgba(255, 255, 255, 0.1); 137 | width: 300px; 138 | height: 200px; 139 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 140 | } 141 | 142 | .hero-section__graphic:before, 143 | .hero-section__graphic:after { 144 | content: ""; 145 | display: inline-block; 146 | position: absolute; 147 | left: 0; 148 | top: 0; 149 | animation: float 10s infinite linear; 150 | } 151 | .hero-section__graphic:after { 152 | animation-direction: reverse; 153 | animation-delay: 500ms; 154 | } 155 | 156 | .hero-section__icon { 157 | fill: var(--light); 158 | width: 100%; 159 | height: auto; 160 | } 161 | 162 | @keyframes float { 163 | 0% { 164 | transform: translate(0%, 0%) rotate(0); 165 | } 166 | 167 | 33% { 168 | transform: translate(2%, 2%) rotate(120deg); 169 | } 170 | 171 | 66% { 172 | transform: translate(2%, -2%) rotate(240deg); 173 | } 174 | 175 | to { 176 | transform: translate(0%, 0%) rotate(360deg); 177 | } 178 | } 179 | 180 | 181 | /* Testing */ 182 | img { 183 | width: 135px; 184 | height: 135px; 185 | position: relative; 186 | left: 83px; 187 | top: 30px; 188 | } -------------------------------------------------------------------------------- /conversionTools/weight/weight.js: -------------------------------------------------------------------------------- 1 | 2 | function convertweight() { 3 | //getting the value of conversion 4 | let conversion_value=document.getElementById("conversion_value").value; 5 | let conversion_result=document.getElementById("conversion_result").value; 6 | //getting the value of weight 7 | let weight_value=document.getElementById("weight_value").value; 8 | let weight_result=document.getElementById("weight_result"); 9 | //converting the value to int 10 | weight_value=parseInt(weight_value); 11 | //store it on result var 12 | let result=weight_value; 13 | 14 | //checking for condition 15 | //killogram conversion 16 | if(conversion_value==="Kilogram" && conversion_result==="Gram") 17 | { 18 | result=(weight_value*1000); 19 | } 20 | else if(conversion_value==="Kilogram" && conversion_result==="Ounces") 21 | { 22 | result=(weight_value*35.274); 23 | } 24 | else if(conversion_value==="Kilogram" && conversion_result==="Pounds") 25 | { 26 | result=(weight_value*2.205); 27 | } 28 | else if(conversion_value==="Kilogram" && conversion_result==="Stone") 29 | { 30 | result=(weight_value/6.35); 31 | } 32 | else if(conversion_value==="Kilogram" && conversion_result==="Tonnes") 33 | { 34 | result=(weight_value/1000); 35 | } 36 | //gram conversion 37 | else if(conversion_value==="Gram" && conversion_result==="Kilogram") 38 | { 39 | result=(weight_value/1000); 40 | } 41 | else if(conversion_value==="Gram" && conversion_result==="Ounces") 42 | { 43 | result=(weight_value/28.35); 44 | } 45 | else if(conversion_value==="Gram" && conversion_result==="Pounds") 46 | { 47 | result=(weight_value/454); 48 | } 49 | else if(conversion_value==="Gram" && conversion_result==="Stone") 50 | { 51 | result=(weight_value/6350); 52 | } 53 | else if(conversion_value==="Gram" && conversion_result==="Tonnes") 54 | { 55 | result=(weight_value/1000000); 56 | } 57 | //Ounces conversion 58 | else if(conversion_value==="Ounces" && conversion_result==="Kilogram") 59 | { 60 | result=(weight_value/35.274); 61 | } 62 | else if(conversion_value==="Ounces" && conversion_result==="Gram") 63 | { 64 | result=(weight_value*28.35); 65 | } 66 | else if(conversion_value==="Ounces" && conversion_result==="Pounds") 67 | { 68 | result=(weight_value/16); 69 | } 70 | else if(conversion_value==="Ounces" && conversion_result==="Stone") 71 | { 72 | result=(weight_value/224); 73 | } 74 | else if(conversion_value==="Ounces" && conversion_result==="Tonnes") 75 | { 76 | result=(weight_value/35274); 77 | } 78 | //pounds conversion 79 | else if(conversion_value==="Pounds" && conversion_result==="Kilogram") 80 | { 81 | result=(weight_value/2.205); 82 | } 83 | else if(conversion_value==="Pounds" && conversion_result==="Gram") 84 | { 85 | result=(weight_value*454); 86 | } 87 | else if(conversion_value==="Pounds" && conversion_result==="Ounces") 88 | { 89 | result=(weight_value/16); 90 | } 91 | else if(conversion_value==="Pounds" && conversion_result==="Stone") 92 | { 93 | result=(weight_value/14); 94 | } 95 | else if(conversion_value==="Pounds" && conversion_result==="Tonnes") 96 | { 97 | result=(weight_value/2205); 98 | } 99 | //Stone conversion 100 | else if(conversion_value==="Stone" && conversion_result==="Kilogram") 101 | { 102 | result=(weight_value*6.35); 103 | } 104 | else if(conversion_value==="Stone" && conversion_result==="Gram") 105 | { 106 | result=(weight_value*6350); 107 | } 108 | else if(conversion_value==="Stone" && conversion_result==="Ounces") 109 | { 110 | result=(weight_value*224); 111 | } 112 | else if(conversion_value==="Stone" && conversion_result==="Pounds") 113 | { 114 | result=(weight_value*14); 115 | } 116 | else if(conversion_value==="Stone" && conversion_result==="Tonnes") 117 | { 118 | result=(weight_value/157); 119 | } 120 | //Tonnes conversion 121 | else if(conversion_value==="Tonnes" && conversion_result==="Kilogram") 122 | { 123 | result=(weight_value*1000); 124 | } 125 | else if(conversion_value==="Tonnes" && conversion_result==="Gram") 126 | { 127 | result=(weight_value*1000000); 128 | } 129 | else if(conversion_value==="Tonnes" && conversion_result==="Ounces") 130 | { 131 | result=(weight_value*35274); 132 | } 133 | else if(conversion_value==="Tonnes" && conversion_result==="Pounds") 134 | { 135 | result=(weight_value*2205); 136 | } 137 | else if(conversion_value==="Tonnes" && conversion_result==="Stone") 138 | { 139 | result=(weight_value*157); 140 | } 141 | else 142 | { 143 | result=weight_value; 144 | } 145 | //fixed the ouuput to 2 digits 146 | result=result.toFixed(2); 147 | //inform the use if the input is not valid 148 | if(isNaN(result)) 149 | { 150 | weight_result.value="Enter a valid number"; 151 | } 152 | else 153 | { 154 | weight_result.value=result; 155 | } 156 | 157 | } 158 | 159 | //program begins here 160 | function main(argument) { 161 | let convert_button=document.getElementById("convert_button"); 162 | convert_button.addEventListener("click",convertweight); 163 | 164 | } 165 | main(); 166 | --------------------------------------------------------------------------------