Refactor web frontend and remove unnecessary dependencies.

- Eliminate frontend JS build step completely:
  (remove dep: NodeJS, npx, tailwind, postcss, autoprefixer)

- Declutter and cleanup index.html (8.49 KB to 3.4 KB) = ~60% savings.

- Replace tailwind with custom CSS (10.64 KB to 1.96 KB) = ~81% savings.

- Remove Google font (~100 KB) as there is very little text on the page.

- Refactor and cleanup main.js and remove tailwind styling logic.
  (2.82 KB to 1.12 KB) = ~60% savings.

- Net static asset reduction = 21.95 KB to 6.48 KB = ~70% savings
  apart from the 100+ KB elimination of Google fonts.
This commit is contained in:
Kailash Nadh 2021-03-11 00:03:06 +05:30 committed by Karan Sharma
parent 0dc61ac8ec
commit b8ba782cf3
5 changed files with 337 additions and 1435 deletions

View file

@ -0,0 +1,195 @@
:root {
--primary: #4338ca;
--secondary: #333;
}
* {
box-sizing: border-box;
}
:focus {
outline: 0;
}
body {
font-family: "Segoe UI", "Helvetica Neue", Inter, sans-serif;
font-size: 16px;
line-height: 24px;
color: #111;
}
a {
color: var(--primary);
}
a:hover {
color: #111;
text-decoration: none;
}
input, select, button {
border-radius: 5px;
border: 1px solid #ddd;
font-size: 1.3rem;
padding: 10px 15px;
width: 100%;
}
input:focus, select:focus {
border-color: var(--primary);
}
button {
border-color: var(--primary);
background: var(--primary);
color: #fff;
cursor: pointer;
width: auto;
padding: 10px 30px;
}
button:focus,
button:hover {
border-color: var(--secondary);
background: var(--secondary);
}
label {
display: block;
}
.box {
box-shadow: 1px 1px 4px #eee;
border: 1px solid #eee;
padding: 30px;
border-radius: 3px;
}
.hidden {
display: none !important;
}
.main {
margin: 60px auto 30px auto;
max-width: 900px;
}
header {
text-align: center;
font-size: 1.5em;
margin-bottom: 60px;
}
.logo span {
color: var(--primary);
font-weight: 900;
}
form {
margin-bottom: 45px;
}
.row {
display: flex;
margin-bottom: 15px;
}
.row .field {
flex: 50%;
}
.row .field:last-child {
margin-left: 30px;
}
.submit {
text-align: right;
}
.help {
color: #666;
font-size: 0.875em;
}
#message {
color: #ff3300;
}
table.box {
width: 100%;
max-width: 100%;
padding: 0;
}
table th {
background: #f9fafb;
color: #666;
font-size: 0.875em;
border-bottom: 1px solid #ddd;
}
table th, tbody td {
padding: 10px 15px;
text-align: left;
}
td.name {
font-weight: bold;
}
th.type, td.type {
text-align: center;
}
td.type {
background: #d1fae5;
color: #065f46;
font-weight: bold;
}
footer {
margin: 60px 0 0 0;
text-align: center;
}
footer a {
text-decoration: none;
}
@media (max-width: 650px) {
.main {
margin: 60px 30px 30px 30px;
}
.box {
box-shadow: none;
border: 0;
padding: 0;
}
.row {
display: block;
}
.field {
margin: 0 0 20px 0;
}
.row .field:last-child {
margin: 0;
}
.submit button {
width: 100%;
}
table {
table-layout: fixed;
}
table th {
width: 100%;
}
table tr {
border-bottom: 0;
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin-bottom: 30px;
}
table td {
border: 1px solid #eee;
margin: 0 -1px -1px 0;
position: relative;
width: 100%;
word-wrap:break-word;
}
table th.type, table td.type {
text-align: left;
}
table td span {
display: block;
}
}