about summary refs log tree commit diff
path: root/client/src
diff options
context:
space:
mode:
authorMelonai <einebeere@gmail.com>2020-06-11 02:59:57 +0200
committerMelonai <einebeere@gmail.com>2020-06-11 02:59:57 +0200
commit85443434a6869fc6bae68d075595fb633fd74876 (patch)
tree320fd495762feefca5698602a65d2b30bba0ee5e /client/src
parent9f02f313c56b7bb909010628d2931a4aada3a778 (diff)
downloadshorest-85443434a6869fc6bae68d075595fb633fd74876.tar.zst
shorest-85443434a6869fc6bae68d075595fb633fd74876.zip
a full restyle
Diffstat (limited to 'client/src')
-rw-r--r--client/src/App.css46
-rw-r--r--client/src/Components/Button.js6
-rw-r--r--client/src/Components/CopyButton.js2
-rw-r--r--client/src/Components/Form.js4
-rw-r--r--client/src/Components/Response.js7
-rw-r--r--client/src/index.css7
6 files changed, 38 insertions, 34 deletions
diff --git a/client/src/App.css b/client/src/App.css
index 07c14c2..cf0e529 100644
--- a/client/src/App.css
+++ b/client/src/App.css
@@ -2,17 +2,22 @@
   padding-left: 30px;
   margin-bottom: 10px;
   line-height: 1.42857143;
-  color: #E0E0E0;
+  color: #ffffff;
 }
 
 .response-text {
   margin-bottom: 0;
+  color: #C5C5D3;
 }
 
-.copy-text {
-  color: #E0E0E0;
+.right-item {
+  color: #ffffff;
   padding-right: 30px;
   text-align: right;
+}
+
+.copy-text {
+  color: #c5c5d3;
   -webkit-touch-callout: none !important;
   -webkit-user-select: none !important;
   -moz-user-select: none !important;
@@ -23,19 +28,17 @@
 .input-group {
   position: relative;
   display: table;
-  border-color: #E0E0E0;
   border-collapse: separate;
-  transition: border-color 1s;
 }
 
 .response-container {
   display: flex;
   align-items: center;
-  border: 2px solid #E0E0E0;
   margin: 15px 30px 0 30px;
   height: 14vh;
   justify-content: space-between;
   border-radius: 0 5vh 5vh 5vh;
+  background-color: #ffffff;
 }
 
 .input-field {
@@ -43,7 +46,7 @@
   z-index: 2;
   margin-bottom: 0;
   text-indent: 0;
-  color: #727272;
+  color: #3A3A5C;
   background-color: #fff;
   background-image: none;
   box-sizing: border-box;
@@ -56,7 +59,7 @@
 .input-field-text {
   margin-left: 30px;
   box-sizing: border-box;
-  color: #E0E0E0;
+  color: #C5C5D3;
 }
 
 .input-container {
@@ -68,11 +71,10 @@
   position: relative;
   padding: 0;
   border-radius: 5vh 0 0 5vh;
-  border: 2px solid;
-  border-color: inherit;
   margin: 0;
   box-sizing: border-box;
   height: 10vh;
+  background-color: white;
 }
 
 .button-container {
@@ -83,12 +85,10 @@
   width: 1%;
   height: 0;
   vertical-align: middle;
-  border-color: inherit;
 }
 
 .button {
   z-index: 2;
-  margin-left: -1px;
   display: inline-block;
   margin-bottom: 0;
   font-weight: 400;
@@ -100,7 +100,7 @@
   cursor: pointer;
   background-image: none;
   background-color: #fff;
-  color: #727272;
+  color: #3A3A5C;
   padding: 4px 5vw;
   height: 10vh;
   -webkit-user-select: none;
@@ -108,17 +108,15 @@
   -ms-user-select: none;
   user-select: none;
   border-radius: 0 5vh 5vh 0;
-  border: 2px solid;
-  border-left-style: none;
-  transition: color 1s;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
+  border: none;
 }
 
 strong {
   font-weight: normal;
-  color: #727272;
+  color: #3A3A5C;
 }
 
 a {
@@ -126,16 +124,8 @@ a {
 }
 
 .disabled {
-  border-color: #ffbcbc;
-  color: #ffbcbc;
-}
-
-.border-r-none {
-  border-right: none;
-}
-
-#btn {
-  border-color: inherit;
+  background-color: #ff1a61;
+  color: #ffffff;
 }
 
 @-webkit-keyframes scale {
@@ -179,7 +169,7 @@ a {
   animation: scale 0.75s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }
 
 .ball-pulse > div {
-  background-color: #727272;
+  background-color: #3A3A5C;
   width: 6px;
   height: 6px;
   margin: 5px;
diff --git a/client/src/Components/Button.js b/client/src/Components/Button.js
index 46c0c27..b6ed91b 100644
--- a/client/src/Components/Button.js
+++ b/client/src/Components/Button.js
@@ -1,9 +1,13 @@
 import React from 'react';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import {faArrowRight, faTimes} from '@fortawesome/free-solid-svg-icons';
 
 function Button(props) {
     return (
         <div className="button-container">
-            <input type="submit" value={props.valid ? "→" : ""} className="button" id="btn" onClick={props.submit}/>
+            <button type="submit" className={"button" + (props.valid ? "" : " disabled")} id="btn" onClick={props.submit}>
+                <FontAwesomeIcon icon={props.valid ? faArrowRight : faTimes}/>
+            </button>
         </div>
     )
 }
diff --git a/client/src/Components/CopyButton.js b/client/src/Components/CopyButton.js
index 0ae8e83..65c4cb9 100644
--- a/client/src/Components/CopyButton.js
+++ b/client/src/Components/CopyButton.js
@@ -17,7 +17,7 @@ function CopyButton(props) {
     }
 
     return (
-        <span className="copy-text" onClick={handleClick}>{content}</span>
+        <span className="copy-text right-item" onClick={handleClick}>{content}</span>
     )
 }
 
diff --git a/client/src/Components/Form.js b/client/src/Components/Form.js
index 077cb58..979d9c9 100644
--- a/client/src/Components/Form.js
+++ b/client/src/Components/Form.js
@@ -25,8 +25,8 @@ function Form(props) {
 
     return (
         <form id="form" onSubmit={(e) => e.preventDefault()}>
-            <div className={"input-group" + (state.valid ? "" : " disabled")}>
-                <div className={"input-container" + (state.valid ? "" : " border-r-none")}>
+            <div className="input-group">
+                <div className="input-container">
                     <span className="input-field-text">https://</span>
                     <input className="input-field" required value={state.value} onChange={handleChange} onPaste={handlePaste}/>
                 </div>
diff --git a/client/src/Components/Response.js b/client/src/Components/Response.js
index 83c6ff1..f69000a 100644
--- a/client/src/Components/Response.js
+++ b/client/src/Components/Response.js
@@ -2,6 +2,8 @@ import React, {useEffect, useState} from 'react';
 import axios from "axios";
 import Loader from "./Loader";
 import CopyButton from "./CopyButton";
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { faBomb } from '@fortawesome/free-solid-svg-icons';
 
 function Response(props){
     const CancelToken = axios.CancelToken;
@@ -23,8 +25,10 @@ function Response(props){
     }, [props.url, requestState.cancel])
 
     let text;
+    let rightItem;
     if (!requestState.loading) {
         if (!requestState.error) {
+            rightItem = <CopyButton hash={requestState.hash}/>;
             if (props.url.length < 20) {
                 text =
                     <span>The short link for <strong>{props.url}</strong> is<br/><strong>sho.rest/{requestState.hash}</strong></span>;
@@ -33,6 +37,7 @@ function Response(props){
                     <span>The short link for your URL is<br/><strong>sho.rest/{requestState.hash}</strong></span>;
             }
         } else {
+            rightItem = <FontAwesomeIcon className="right-item" icon={faBomb}/>;
             text = <span>There was an error.</span>
         }
     } else {
@@ -42,7 +47,7 @@ function Response(props){
     return (
         <div className={"response-container" + (requestState.error ? " disabled" : "")}>
             <div className={"title response-text" + (requestState.error ? " disabled" : "")}>{text}</div>
-            {requestState.error || requestState.loading ? "" : <CopyButton hash={requestState.hash}/>}
+            {rightItem}
         </div>
     )
 }
diff --git a/client/src/index.css b/client/src/index.css
index d007edc..b7be091 100644
--- a/client/src/index.css
+++ b/client/src/index.css
@@ -1,8 +1,13 @@
 html * {
-  font-family: Roboto, sans-serif;
+  font-family: 'Ubuntu', sans-serif;
   font-size: 3vmin;
 }
 
+body {
+  background-color: #3A3A5C;
+  margin: 0;
+}
+
 #root {
   justify-content: center;
   position: absolute;