move public
64
public/css/createProfile.css
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
@media (max-width: 768px) {
|
||||
.over-background > *:first-child {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.over-background > *:last-child {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.over-background > * {
|
||||
margin-bottom: 5px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 769px) {
|
||||
.over-background > *:first-child {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.over-background > *:last-child {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.over-background > * {
|
||||
margin-bottom: 10px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.badges {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
grid-template-rows: repeat(3, 1fr);
|
||||
}
|
||||
|
||||
.badge {
|
||||
border: 2px solid #e1c300;
|
||||
border-radius: 10px;
|
||||
padding: 2%;
|
||||
margin: 1%;
|
||||
}
|
||||
|
||||
.badge input {
|
||||
max-width: 80%;
|
||||
}
|
||||
|
||||
.create-profile-card-section > * {
|
||||
text-align: center;
|
||||
margin-bottom: 10px;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
display: block;
|
||||
max-width: 1000px;
|
||||
}
|
||||
|
||||
.create-profile-card-section .badge img {
|
||||
width: 10%;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
39
public/css/invite.css
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
@media (max-width: 768px) {
|
||||
#nostr-signup-button {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
#invite-card-content {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 769px) {
|
||||
#nostr-signup-button {
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
#invite-card-content {
|
||||
width: 40%;
|
||||
min-width: min-content;
|
||||
}
|
||||
}
|
||||
|
||||
#laseca-logo {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
#nostr-signup-button p {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
#invite-card-content {
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
#invite-card-content > * {
|
||||
margin: 1vh auto;
|
||||
text-align: center;
|
||||
}
|
||||
392
public/css/offers.css
Normal file
|
|
@ -0,0 +1,392 @@
|
|||
@media (max-width: 768px) {
|
||||
#offers-root {
|
||||
margin: 10px 10px;
|
||||
}
|
||||
|
||||
#close-offer-controls-x {
|
||||
width: 25px;
|
||||
}
|
||||
|
||||
.button-group button {
|
||||
max-width: 30%;
|
||||
}
|
||||
|
||||
#premium-selector-area {
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
#amount-area-content {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.create-offer-step {
|
||||
width: 95%;
|
||||
}
|
||||
|
||||
.checkbox-row {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.checkbox-row > input[type='checkbox'] {
|
||||
flex-shrink: 0;
|
||||
margin-left: 5%;
|
||||
}
|
||||
|
||||
.myoffer-card {
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
margin: 5px 5px;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 769px) {
|
||||
#offers-root {
|
||||
width: 75%;
|
||||
margin: 20px auto;
|
||||
}
|
||||
|
||||
#close-offer-controls-x {
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
#premium-selector-area {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
#amount-area-content {
|
||||
width: 33%;
|
||||
}
|
||||
|
||||
.create-offer-step {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 70%;
|
||||
min-width: 500px;
|
||||
max-width: 95%;
|
||||
}
|
||||
|
||||
.checkbox-row {
|
||||
width: 60%;
|
||||
}
|
||||
|
||||
.checkbox-row > input[type='checkbox'] {
|
||||
flex-shrink: 0;
|
||||
margin-left: 20%;
|
||||
}
|
||||
|
||||
.myoffer-card {
|
||||
width: 23%;
|
||||
min-width: 339px;
|
||||
height: 500px;
|
||||
margin: 10px 10px;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
#view-my-offers-root {
|
||||
display: none;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#view-my-offers-root > * {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
#own-offers-container {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-evenly;
|
||||
}
|
||||
|
||||
.myoffer-card {
|
||||
display: grid;
|
||||
grid-template-columns: 48% 4% 48%;
|
||||
grid-template-rows: 25% 1% 30% 1% 18% 1% 14% 1% 10%;
|
||||
}
|
||||
|
||||
.myoffer-card > div {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.myoffer-card p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.trade-desc {
|
||||
grid-column: 1;
|
||||
grid-row: 1;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.left-icon-checkboxed-field {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 2px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.left-icon-checkboxed-field > * {
|
||||
margin-right: 2px;
|
||||
margin-left: 2px;
|
||||
}
|
||||
.left-icon-checkboxed-field img {
|
||||
height: 1.1em;
|
||||
}
|
||||
|
||||
.right-icon-checkboxed-field {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: end;
|
||||
margin-bottom: 2px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.right-icon-checkboxed-field > * {
|
||||
margin-right: 2px;
|
||||
margin-left: 2px;
|
||||
}
|
||||
.right-icon-checkboxed-field img {
|
||||
height: 1.2em;
|
||||
}
|
||||
|
||||
.offer-card-content-title {
|
||||
color: gray;
|
||||
font-size: 0.8em;
|
||||
font-weight: 100;
|
||||
}
|
||||
|
||||
.offer-card-content-data {
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.premium-desc {
|
||||
grid-column: 3;
|
||||
grid-row: 1;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.where-desc {
|
||||
grid-column: 1;
|
||||
grid-row: 3;
|
||||
text-align: left;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.when-desc {
|
||||
grid-column: 3;
|
||||
grid-row: 3;
|
||||
text-align: right;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.bitcoin-methods-desc {
|
||||
grid-column: 1;
|
||||
grid-row: 5;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.visibility-desc {
|
||||
grid-column: 3;
|
||||
grid-row: 5;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.other-desc {
|
||||
grid-column: 1;
|
||||
grid-row: 7;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.offer-action-buttons-area {
|
||||
grid-column-start: 1;
|
||||
grid-column-end: 4;
|
||||
grid-row: 9;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.offer-action-area {
|
||||
cursor: pointer;
|
||||
margin-right: 20px;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.offer-long-text {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
#create-offer-controls {
|
||||
text-align: center;
|
||||
overflow-y: auto;
|
||||
max-height: 800px;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.create-offer-step {
|
||||
text-align: center;
|
||||
border-radius: 20px;
|
||||
box-shadow: 0 0 13px #ccc;
|
||||
padding: 20px 0;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.create-offer-step h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
#close-offer-controls-area {
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
}
|
||||
|
||||
#premium-area > * {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#premium-content-area {
|
||||
width: 80%;
|
||||
height: 50px;
|
||||
align-items: center;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
#premium-selector-area {
|
||||
margin-left: auto;
|
||||
margin-right: 5%;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
#premium-value {
|
||||
border: 1px solid gray;
|
||||
width: 50%;
|
||||
align-content: center;
|
||||
}
|
||||
|
||||
#premium-buttons-container {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.premium-button {
|
||||
background: white;
|
||||
border: 2px solid #e1c300;
|
||||
width: 100%;
|
||||
height: 50%;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
.premium-button:hover {
|
||||
background: #fff8ce;
|
||||
}
|
||||
|
||||
#button-increase-premium {
|
||||
border-top-right-radius: 10px;
|
||||
}
|
||||
|
||||
#button-decrease-premium {
|
||||
border-bottom-right-radius: 10px;
|
||||
}
|
||||
|
||||
#premium-price-display-area {
|
||||
margin-left: 0;
|
||||
margin-right: auto;
|
||||
font-size: 1em;
|
||||
text-align: start;
|
||||
}
|
||||
|
||||
#premium-price-display-area > * {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#market-price-paragraph {
|
||||
color: gray;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
#amount-area-content {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.money-amount-input-area {
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.money-amount-input-area > * {
|
||||
display: inline-block;
|
||||
font-size: 1em;
|
||||
height: 2em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.input-money-amount {
|
||||
width: 75%;
|
||||
margin: 0;
|
||||
}
|
||||
.money-amount-input-area .curr-symbol {
|
||||
background-color: #d8d8d8;
|
||||
width: 25%;
|
||||
margin: 0;
|
||||
border: 1px solid gray;
|
||||
}
|
||||
|
||||
.money-amount-input-area .curr-symbol .curr-character {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.place-and-time-box {
|
||||
height: 100px;
|
||||
width: 30%;
|
||||
min-width: 200px;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.checkbox-row {
|
||||
display: flex;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.checkbox-row > label {
|
||||
text-align: start;
|
||||
margin-right: auto;
|
||||
margin-left: 0;
|
||||
align-content: center;
|
||||
}
|
||||
|
||||
.checkbox-row > input[type='checkbox'] {
|
||||
flex-shrink: 0;
|
||||
margin-right: 1em;
|
||||
height: 2em;
|
||||
width: 2em;
|
||||
}
|
||||
|
||||
#submit-button-area {
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
#button-submit-offer {
|
||||
width: 33%;
|
||||
}
|
||||
|
||||
#close-offer {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
277
public/css/seca.css
Normal file
|
|
@ -0,0 +1,277 @@
|
|||
* {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
html {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.font-medium {
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
|
||||
.button-medium {
|
||||
padding: 0.5em 1em;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.top-notification-good {
|
||||
top: 25px;
|
||||
}
|
||||
|
||||
#app-nav-bar > #laseca-logo {
|
||||
height: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 769px) {
|
||||
html {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.font-medium {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.button-medium {
|
||||
padding: 1em;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.top-notification-good {
|
||||
top: 50px;
|
||||
}
|
||||
|
||||
#app-nav-bar > #laseca-logo {
|
||||
height: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
#app-nav-bar > #laseca-logo {
|
||||
margin-top: 0;
|
||||
transform: translateY(20%);
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #bdd5ea;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #e1c300;
|
||||
}
|
||||
|
||||
.clickable {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.money-input {
|
||||
text-align: end;
|
||||
}
|
||||
|
||||
.input-is-valid {
|
||||
border: 1px solid green;
|
||||
}
|
||||
|
||||
.input-is-invalid {
|
||||
border: 2px solid red;
|
||||
}
|
||||
|
||||
.max-size-zero {
|
||||
max-width: 0;
|
||||
max-height: 0;
|
||||
}
|
||||
|
||||
.top-notification-good {
|
||||
border-radius: 10px;
|
||||
background-color: rgb(9, 165, 9);
|
||||
color: white;
|
||||
font-weight: 800;
|
||||
opacity: 0.8;
|
||||
position: fixed;
|
||||
padding: 20px;
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
align-items: center;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -500px);
|
||||
transition: transform 1s ease-in-out;
|
||||
}
|
||||
|
||||
.top-notification-good.revealed {
|
||||
transform: translate(-50%, 0%);
|
||||
}
|
||||
.top-notification-good > * {
|
||||
margin: 0 20px;
|
||||
}
|
||||
.top-notification-good > *:first-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
.top-notification-good > *:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.top-notification-good img {
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.full-screen-modal-background {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: rgba(0, 0, 0, 0.75);
|
||||
transition: all 0.5s ease-in-out;
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.full-screen-modal-background.shown {
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
.full-screen-modal {
|
||||
background-color: white;
|
||||
border-radius: 20px;
|
||||
padding: 10px;
|
||||
width: fit-content;
|
||||
max-width: 95%;
|
||||
margin: 20px auto;
|
||||
}
|
||||
|
||||
.button-group button {
|
||||
border: 0;
|
||||
padding: 1em;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.button-group button.selected {
|
||||
border: 0;
|
||||
padding: 1em;
|
||||
background: #e1c300;
|
||||
}
|
||||
|
||||
.button-group button.unselected {
|
||||
border: 0;
|
||||
padding: 1em;
|
||||
background: #e1c300;
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.button-group button:first-of-type {
|
||||
border-top-left-radius: 1em;
|
||||
border-bottom-left-radius: 1em;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.button-group button:last-of-type {
|
||||
border-top-right-radius: 1em;
|
||||
border-bottom-right-radius: 1em;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.over-background {
|
||||
background-color: white;
|
||||
border-radius: 1vw;
|
||||
padding: 10px;
|
||||
margin: 1%;
|
||||
}
|
||||
|
||||
.shadowed-round-area {
|
||||
border-radius: 20px;
|
||||
box-shadow: 0 0 13px #ccc;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.subtle-box {
|
||||
border-radius: 10px;
|
||||
border: 1px solid rgb(202, 202, 202);
|
||||
}
|
||||
|
||||
#login-card > * {
|
||||
text-align: center;
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
display: block;
|
||||
margin-bottom: 1vh;
|
||||
}
|
||||
|
||||
.text-warning {
|
||||
color: red;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
.button-primary {
|
||||
background: #e1c300;
|
||||
border: 0;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.button-primary:hover {
|
||||
background-color: #dfca41;
|
||||
}
|
||||
|
||||
.button-primary:disabled {
|
||||
background-color: #d8d8d8;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.button-secondary {
|
||||
background: white;
|
||||
border: 0;
|
||||
color: #e1c300;
|
||||
cursor: pointer;
|
||||
border: 3px solid #e1c300;
|
||||
transition: all 0.5 ease-in-out;
|
||||
}
|
||||
|
||||
.button-secondary:hover {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.button-large {
|
||||
font-weight: bold;
|
||||
font-size: 1.5em;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
.card-secondary {
|
||||
background-color: #369;
|
||||
border-radius: 1vw;
|
||||
padding: 1vw;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.card-secondary a {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.card-secondarya:hover {
|
||||
color: #e1c300;
|
||||
}
|
||||
|
||||
.button-nostr {
|
||||
background: #a915ff;
|
||||
border-radius: 1vw;
|
||||
color: white;
|
||||
padding: 1%;
|
||||
cursor: pointer;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.button-nostr:hover {
|
||||
background-color: #b941ff;
|
||||
}
|
||||
|
||||
.button-nostr:disabled {
|
||||
background-color: #d8d8d8;
|
||||
cursor: default;
|
||||
border: 0;
|
||||
}
|
||||
18
public/img/bolt-lightning-black.svg
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- bolt-lightning icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<path
|
||||
d="M 64 256 L 93 28 L 64 256 L 93 28 Q 98 2 124 0 L 293 0 L 293 0 Q 304 0 312 8 Q 320 16 320 27 Q 320 32 318 37 L 272 160 L 272 160 L 411 160 L 411 160 Q 427 160 437 171 Q 448 181 448 197 Q 448 208 442 217 L 249 498 L 249 498 Q 240 512 224 512 L 221 512 L 221 512 Q 209 512 200 504 Q 192 496 192 484 Q 192 480 193 477 L 240 288 L 240 288 L 96 288 L 96 288 Q 82 288 73 279 Q 64 270 64 256 L 64 256 Z"
|
||||
id="path1"
|
||||
style="fill:#000000;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 829 B |
40
public/img/bolt-lightning-gray.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- bolt-lightning icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="bolt-lightning-black.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6269531"
|
||||
inkscape:cx="255.69268"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 64 256 L 93 28 L 64 256 L 93 28 Q 98 2 124 0 L 293 0 L 293 0 Q 304 0 312 8 Q 320 16 320 27 Q 320 32 318 37 L 272 160 L 272 160 L 411 160 L 411 160 Q 427 160 437 171 Q 448 181 448 197 Q 448 208 442 217 L 249 498 L 249 498 Q 240 512 224 512 L 221 512 L 221 512 Q 209 512 200 504 Q 192 496 192 484 Q 192 480 193 477 L 240 288 L 240 288 L 96 288 L 96 288 Q 82 288 73 279 Q 64 270 64 256 L 64 256 Z"
|
||||
id="path1"
|
||||
style="fill:#808080;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
18
public/img/bolt-lightning-lasecagold.svg
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- bolt-lightning icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<path
|
||||
d="M 64 256 L 93 28 L 64 256 L 93 28 Q 98 2 124 0 L 293 0 L 293 0 Q 304 0 312 8 Q 320 16 320 27 Q 320 32 318 37 L 272 160 L 272 160 L 411 160 L 411 160 Q 427 160 437 171 Q 448 181 448 197 Q 448 208 442 217 L 249 498 L 249 498 Q 240 512 224 512 L 221 512 L 221 512 Q 209 512 200 504 Q 192 496 192 484 Q 192 480 193 477 L 240 288 L 240 288 L 96 288 L 96 288 Q 82 288 73 279 Q 64 270 64 256 L 64 256 Z"
|
||||
id="path1"
|
||||
style="fill:#e1c300;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 829 B |
40
public/img/bolt-lightning.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- bolt-lightning icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="bolt-lightning.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6269531"
|
||||
inkscape:cx="255.69268"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 64 256 L 93 28 L 64 256 L 93 28 Q 98 2 124 0 L 293 0 L 293 0 Q 304 0 312 8 Q 320 16 320 27 Q 320 32 318 37 L 272 160 L 272 160 L 411 160 L 411 160 Q 427 160 437 171 Q 448 181 448 197 Q 448 208 442 217 L 249 498 L 249 498 Q 240 512 224 512 L 221 512 L 221 512 Q 209 512 200 504 Q 192 496 192 484 Q 192 480 193 477 L 240 288 L 240 288 L 96 288 L 96 288 Q 82 288 73 279 Q 64 270 64 256 L 64 256 Z"
|
||||
id="path1"
|
||||
style="fill:#e1c300;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
17
public/img/chains-black.svg
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- link-horizontal icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<path
|
||||
d="M 116 102.4 Q 66.4 104 33.6 136 L 33.6 136 L 33.6 136 Q 1.6 168.8 0 218.4 Q 0.8 261.6 27.2 292.8 Q 54.4 324 96.8 332 L 98.4 332.8 L 98.4 332.8 Q 108.8 333.6 117.6 328 Q 125.6 322.4 128 311.2 Q 128.8 300.8 123.2 292 Q 117.6 284 106.4 281.6 L 104.8 281.6 L 104.8 281.6 Q 81.6 277.6 66.4 260 Q 52 242.4 51.2 218.4 Q 52 190.4 70.4 172.8 Q 88 154.4 116 153.6 L 242.4 153.6 L 242.4 153.6 Q 270.4 154.4 288 172.8 Q 306.4 190.4 307.2 218.4 Q 306.4 242.4 292 260 Q 276.8 277.6 253.6 281.6 L 252 281.6 L 252 281.6 Q 240.8 284 235.2 292 Q 229.6 300.8 230.4 311.2 Q 232.8 322.4 240.8 328 Q 249.6 333.6 260 332 L 261.6 332 L 261.6 332 Q 304 324 331.2 292.8 Q 357.6 261.6 358.4 218.4 Q 356.8 168.8 324.8 136 Q 292 104 242.4 102.4 L 116 102.4 L 116 102.4 Z M 396 409.6 Q 445.6 408 478.4 376 L 478.4 376 L 478.4 376 Q 510.4 343.2 512 293.6 Q 511.2 250.4 484.8 219.2 Q 457.6 188 415.2 180 L 413.6 179.2 L 413.6 179.2 Q 403.2 178.4 394.4 184 Q 386.4 189.6 384.8 200.8 Q 383.2 211.2 388.8 220 Q 394.4 228 405.6 230.4 L 407.2 230.4 L 407.2 230.4 Q 430.4 234.4 445.6 252 Q 460.8 269.6 460.8 293.6 Q 460 321.6 441.6 339.2 Q 424 357.6 396 358.4 L 269.6 358.4 L 269.6 358.4 Q 241.6 357.6 224 339.2 Q 205.6 321.6 204.8 293.6 Q 205.6 269.6 220 252 Q 235.2 234.4 258.4 230.4 L 260 230.4 L 260 230.4 Q 271.2 228 276.8 220 Q 282.4 211.2 281.6 200.8 Q 279.2 189.6 271.2 184 Q 262.4 178.4 252 179.2 L 250.4 180 L 250.4 180 Q 208 188 180.8 219.2 Q 154.4 250.4 153.6 293.6 Q 155.2 343.2 187.2 376 Q 220 408 269.6 409.6 L 396 409.6 L 396 409.6 Z"
|
||||
id="path1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
40
public/img/chains-gray.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- link-horizontal icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="chains-gray.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6269531"
|
||||
inkscape:cx="255.69268"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 116 102.4 Q 66.4 104 33.6 136 L 33.6 136 L 33.6 136 Q 1.6 168.8 0 218.4 Q 0.8 261.6 27.2 292.8 Q 54.4 324 96.8 332 L 98.4 332.8 L 98.4 332.8 Q 108.8 333.6 117.6 328 Q 125.6 322.4 128 311.2 Q 128.8 300.8 123.2 292 Q 117.6 284 106.4 281.6 L 104.8 281.6 L 104.8 281.6 Q 81.6 277.6 66.4 260 Q 52 242.4 51.2 218.4 Q 52 190.4 70.4 172.8 Q 88 154.4 116 153.6 L 242.4 153.6 L 242.4 153.6 Q 270.4 154.4 288 172.8 Q 306.4 190.4 307.2 218.4 Q 306.4 242.4 292 260 Q 276.8 277.6 253.6 281.6 L 252 281.6 L 252 281.6 Q 240.8 284 235.2 292 Q 229.6 300.8 230.4 311.2 Q 232.8 322.4 240.8 328 Q 249.6 333.6 260 332 L 261.6 332 L 261.6 332 Q 304 324 331.2 292.8 Q 357.6 261.6 358.4 218.4 Q 356.8 168.8 324.8 136 Q 292 104 242.4 102.4 L 116 102.4 L 116 102.4 Z M 396 409.6 Q 445.6 408 478.4 376 L 478.4 376 L 478.4 376 Q 510.4 343.2 512 293.6 Q 511.2 250.4 484.8 219.2 Q 457.6 188 415.2 180 L 413.6 179.2 L 413.6 179.2 Q 403.2 178.4 394.4 184 Q 386.4 189.6 384.8 200.8 Q 383.2 211.2 388.8 220 Q 394.4 228 405.6 230.4 L 407.2 230.4 L 407.2 230.4 Q 430.4 234.4 445.6 252 Q 460.8 269.6 460.8 293.6 Q 460 321.6 441.6 339.2 Q 424 357.6 396 358.4 L 269.6 358.4 L 269.6 358.4 Q 241.6 357.6 224 339.2 Q 205.6 321.6 204.8 293.6 Q 205.6 269.6 220 252 Q 235.2 234.4 258.4 230.4 L 260 230.4 L 260 230.4 Q 271.2 228 276.8 220 Q 282.4 211.2 281.6 200.8 Q 279.2 189.6 271.2 184 Q 262.4 178.4 252 179.2 L 250.4 180 L 250.4 180 Q 208 188 180.8 219.2 Q 154.4 250.4 153.6 293.6 Q 155.2 343.2 187.2 376 Q 220 408 269.6 409.6 L 396 409.6 L 396 409.6 Z"
|
||||
id="path1"
|
||||
style="fill:#808080;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
40
public/img/chains-lasecagold.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- link-horizontal icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="chains-lasecagold.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6269531"
|
||||
inkscape:cx="255.69268"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 116 102.4 Q 66.4 104 33.6 136 L 33.6 136 L 33.6 136 Q 1.6 168.8 0 218.4 Q 0.8 261.6 27.2 292.8 Q 54.4 324 96.8 332 L 98.4 332.8 L 98.4 332.8 Q 108.8 333.6 117.6 328 Q 125.6 322.4 128 311.2 Q 128.8 300.8 123.2 292 Q 117.6 284 106.4 281.6 L 104.8 281.6 L 104.8 281.6 Q 81.6 277.6 66.4 260 Q 52 242.4 51.2 218.4 Q 52 190.4 70.4 172.8 Q 88 154.4 116 153.6 L 242.4 153.6 L 242.4 153.6 Q 270.4 154.4 288 172.8 Q 306.4 190.4 307.2 218.4 Q 306.4 242.4 292 260 Q 276.8 277.6 253.6 281.6 L 252 281.6 L 252 281.6 Q 240.8 284 235.2 292 Q 229.6 300.8 230.4 311.2 Q 232.8 322.4 240.8 328 Q 249.6 333.6 260 332 L 261.6 332 L 261.6 332 Q 304 324 331.2 292.8 Q 357.6 261.6 358.4 218.4 Q 356.8 168.8 324.8 136 Q 292 104 242.4 102.4 L 116 102.4 L 116 102.4 Z M 396 409.6 Q 445.6 408 478.4 376 L 478.4 376 L 478.4 376 Q 510.4 343.2 512 293.6 Q 511.2 250.4 484.8 219.2 Q 457.6 188 415.2 180 L 413.6 179.2 L 413.6 179.2 Q 403.2 178.4 394.4 184 Q 386.4 189.6 384.8 200.8 Q 383.2 211.2 388.8 220 Q 394.4 228 405.6 230.4 L 407.2 230.4 L 407.2 230.4 Q 430.4 234.4 445.6 252 Q 460.8 269.6 460.8 293.6 Q 460 321.6 441.6 339.2 Q 424 357.6 396 358.4 L 269.6 358.4 L 269.6 358.4 Q 241.6 357.6 224 339.2 Q 205.6 321.6 204.8 293.6 Q 205.6 269.6 220 252 Q 235.2 234.4 258.4 230.4 L 260 230.4 L 260 230.4 Q 271.2 228 276.8 220 Q 282.4 211.2 281.6 200.8 Q 279.2 189.6 271.2 184 Q 262.4 178.4 252 179.2 L 250.4 180 L 250.4 180 Q 208 188 180.8 219.2 Q 154.4 250.4 153.6 293.6 Q 155.2 343.2 187.2 376 Q 220 408 269.6 409.6 L 396 409.6 L 396 409.6 Z"
|
||||
id="path1"
|
||||
style="fill:#e1c300;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
6
public/img/chains.svg
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<!-- link-horizontal icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="1em" fill="currentColor" viewBox="0 0 512 512">
|
||||
<path
|
||||
d="M 116 102.4 Q 66.4 104 33.6 136 L 33.6 136 L 33.6 136 Q 1.6 168.8 0 218.4 Q 0.8 261.6 27.2 292.8 Q 54.4 324 96.8 332 L 98.4 332.8 L 98.4 332.8 Q 108.8 333.6 117.6 328 Q 125.6 322.4 128 311.2 Q 128.8 300.8 123.2 292 Q 117.6 284 106.4 281.6 L 104.8 281.6 L 104.8 281.6 Q 81.6 277.6 66.4 260 Q 52 242.4 51.2 218.4 Q 52 190.4 70.4 172.8 Q 88 154.4 116 153.6 L 242.4 153.6 L 242.4 153.6 Q 270.4 154.4 288 172.8 Q 306.4 190.4 307.2 218.4 Q 306.4 242.4 292 260 Q 276.8 277.6 253.6 281.6 L 252 281.6 L 252 281.6 Q 240.8 284 235.2 292 Q 229.6 300.8 230.4 311.2 Q 232.8 322.4 240.8 328 Q 249.6 333.6 260 332 L 261.6 332 L 261.6 332 Q 304 324 331.2 292.8 Q 357.6 261.6 358.4 218.4 Q 356.8 168.8 324.8 136 Q 292 104 242.4 102.4 L 116 102.4 L 116 102.4 Z M 396 409.6 Q 445.6 408 478.4 376 L 478.4 376 L 478.4 376 Q 510.4 343.2 512 293.6 Q 511.2 250.4 484.8 219.2 Q 457.6 188 415.2 180 L 413.6 179.2 L 413.6 179.2 Q 403.2 178.4 394.4 184 Q 386.4 189.6 384.8 200.8 Q 383.2 211.2 388.8 220 Q 394.4 228 405.6 230.4 L 407.2 230.4 L 407.2 230.4 Q 430.4 234.4 445.6 252 Q 460.8 269.6 460.8 293.6 Q 460 321.6 441.6 339.2 Q 424 357.6 396 358.4 L 269.6 358.4 L 269.6 358.4 Q 241.6 357.6 224 339.2 Q 205.6 321.6 204.8 293.6 Q 205.6 269.6 220 252 Q 235.2 234.4 258.4 230.4 L 260 230.4 L 260 230.4 Q 271.2 228 276.8 220 Q 282.4 211.2 281.6 200.8 Q 279.2 189.6 271.2 184 Q 262.4 178.4 252 179.2 L 250.4 180 L 250.4 180 Q 208 188 180.8 219.2 Q 154.4 250.4 153.6 293.6 Q 155.2 343.2 187.2 376 Q 220 408 269.6 409.6 L 396 409.6 L 396 409.6 Z"
|
||||
/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
40
public/img/circle-check-green.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- circle-check icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="circle-check.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6855469"
|
||||
inkscape:cx="255.70336"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1978"
|
||||
inkscape:window-height="1088"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 256 512 Q 326 511 384 478 L 384 478 L 384 478 Q 442 444 478 384 Q 512 323 512 256 Q 512 189 478 128 Q 442 68 384 34 Q 326 1 256 0 Q 186 1 128 34 Q 70 68 34 128 Q 0 189 0 256 Q 0 323 34 384 Q 70 444 128 478 Q 186 511 256 512 L 256 512 Z M 369 209 L 241 337 L 369 209 L 241 337 Q 224 351 207 337 L 143 273 L 143 273 Q 129 256 143 239 Q 160 225 177 239 L 224 286 L 224 286 L 335 175 L 335 175 Q 352 161 369 175 Q 383 192 369 209 L 369 209 Z"
|
||||
id="path1"
|
||||
style="fill:#008000" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
40
public/img/circle-check-white.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- circle-check icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="circle-check-white.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6855469"
|
||||
inkscape:cx="255.70336"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1978"
|
||||
inkscape:window-height="1088"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 256 512 Q 326 511 384 478 L 384 478 L 384 478 Q 442 444 478 384 Q 512 323 512 256 Q 512 189 478 128 Q 442 68 384 34 Q 326 1 256 0 Q 186 1 128 34 Q 70 68 34 128 Q 0 189 0 256 Q 0 323 34 384 Q 70 444 128 478 Q 186 511 256 512 L 256 512 Z M 369 209 L 241 337 L 369 209 L 241 337 Q 224 351 207 337 L 143 273 L 143 273 Q 129 256 143 239 Q 160 225 177 239 L 224 286 L 224 286 L 335 175 L 335 175 Q 352 161 369 175 Q 383 192 369 209 L 369 209 Z"
|
||||
id="path1"
|
||||
style="fill:#ffffff" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
40
public/img/circle-xmark-gray.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- circle-xmark icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="circle-xmark-gray.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="2.3300781"
|
||||
inkscape:cx="255.78542"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 256 512 Q 326 511 384 478 L 384 478 L 384 478 Q 442 444 478 384 Q 512 323 512 256 Q 512 189 478 128 Q 442 68 384 34 Q 326 1 256 0 Q 186 1 128 34 Q 70 68 34 128 Q 0 189 0 256 Q 0 323 34 384 Q 70 444 128 478 Q 186 511 256 512 L 256 512 Z M 175 175 Q 192 161 209 175 L 256 222 L 256 222 L 303 175 L 303 175 Q 320 161 337 175 Q 351 192 337 209 L 290 256 L 290 256 L 337 303 L 337 303 Q 351 320 337 337 Q 320 351 303 337 L 256 290 L 256 290 L 209 337 L 209 337 Q 192 351 175 337 Q 161 320 175 303 L 222 256 L 222 256 L 175 209 L 175 209 Q 161 192 175 175 L 175 175 Z"
|
||||
id="path1"
|
||||
style="fill:#808080;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
40
public/img/circle-xmark.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- circle-xmark icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="circle-xmark.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="2.3300781"
|
||||
inkscape:cx="255.78541"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="2490"
|
||||
inkscape:window-height="1376"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 256 512 Q 326 511 384 478 L 384 478 L 384 478 Q 442 444 478 384 Q 512 323 512 256 Q 512 189 478 128 Q 442 68 384 34 Q 326 1 256 0 Q 186 1 128 34 Q 70 68 34 128 Q 0 189 0 256 Q 0 323 34 384 Q 70 444 128 478 Q 186 511 256 512 L 256 512 Z M 175 175 Q 192 161 209 175 L 256 222 L 256 222 L 303 175 L 303 175 Q 320 161 337 175 Q 351 192 337 209 L 290 256 L 290 256 L 337 303 L 337 303 Q 351 320 337 337 Q 320 351 303 337 L 256 290 L 256 290 L 209 337 L 209 337 Q 192 351 175 337 Q 161 320 175 303 L 222 256 L 222 256 L 175 209 L 175 209 Q 161 192 175 175 L 175 175 Z"
|
||||
id="path1"
|
||||
style="fill:#e1c300;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
6
public/img/edit.svg
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<!-- pen-to-square icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="1em" fill="currentColor" viewBox="0 0 512 512">
|
||||
<path
|
||||
d="M 476.65483234714003 17.16765285996055 Q 458.47731755424064 0 436.2603550295858 0 L 436.2603550295858 0 L 436.2603550295858 0 Q 414.043392504931 0 395.86587771203153 17.16765285996055 L 365.57001972386587 47.463510848126234 L 365.57001972386587 47.463510848126234 L 464.53648915187375 146.42998027613413 L 464.53648915187375 146.42998027613413 L 494.8323471400395 116.13412228796844 L 494.8323471400395 116.13412228796844 Q 512 97.95660749506904 512 75.7396449704142 Q 512 53.52268244575937 494.8323471400395 35.34516765285996 L 476.65483234714003 17.16765285996055 L 476.65483234714003 17.16765285996055 Z M 173.69625246548324 239.33727810650888 Q 164.60749506903352 248.42603550295857 160.5680473372781 261.55424063116374 L 130.27218934911244 350.42209072978306 L 130.27218934911244 350.42209072978306 Q 126.23274161735701 364.560157790927 136.33136094674558 375.6686390532544 Q 147.439842209073 385.767258382643 161.57790927021696 381.7278106508876 L 251.45562130177515 351.43195266272187 L 251.45562130177515 351.43195266272187 Q 263.5739644970414 347.3925049309665 272.66272189349115 338.3037475345168 L 442.3195266272189 168.64694280078896 L 442.3195266272189 168.64694280078896 L 343.35305719921104 69.68047337278107 L 343.35305719921104 69.68047337278107 L 173.69625246548324 239.33727810650888 L 173.69625246548324 239.33727810650888 Z M 96.94674556213018 59.581854043392504 Q 55.54240631163708 60.59171597633136 28.276134122287967 87.85798816568047 L 28.276134122287967 87.85798816568047 L 28.276134122287967 87.85798816568047 Q 1.009861932938856 115.12426035502959 0 156.5285996055227 L 0 415.05325443786984 L 0 415.05325443786984 Q 1.009861932938856 456.4575936883629 28.276134122287967 483.72386587771206 Q 55.54240631163708 510.99013806706114 96.94674556213018 512 L 355.4714003944773 512 L 355.4714003944773 512 Q 396.8757396449704 510.99013806706114 424.14201183431953 483.72386587771206 Q 451.4082840236686 456.4575936883629 452.4181459566075 415.05325443786984 L 452.4181459566075 318.1065088757396 L 452.4181459566075 318.1065088757396 Q 452.4181459566075 303.9684418145957 443.3293885601578 294.879684418146 Q 434.2406311637081 285.79092702169623 420.1025641025641 285.79092702169623 Q 405.96449704142015 285.79092702169623 396.8757396449704 294.879684418146 Q 387.7869822485207 303.9684418145957 387.7869822485207 318.1065088757396 L 387.7869822485207 415.05325443786984 L 387.7869822485207 415.05325443786984 Q 387.7869822485207 429.1913214990138 378.698224852071 438.28007889546353 Q 369.6094674556213 447.3688362919132 355.4714003944773 447.3688362919132 L 96.94674556213018 447.3688362919132 L 96.94674556213018 447.3688362919132 Q 82.80867850098619 447.3688362919132 73.7199211045365 438.28007889546353 Q 64.63116370808679 429.1913214990138 64.63116370808679 415.05325443786984 L 64.63116370808679 156.5285996055227 L 64.63116370808679 156.5285996055227 Q 64.63116370808679 142.3905325443787 73.7199211045365 133.301775147929 Q 82.80867850098619 124.21301775147928 96.94674556213018 124.21301775147928 L 193.89349112426035 124.21301775147928 L 193.89349112426035 124.21301775147928 Q 208.03155818540435 124.21301775147928 217.12031558185404 115.12426035502959 Q 226.20907297830374 106.03550295857988 226.20907297830374 91.8974358974359 Q 226.20907297830374 77.75936883629191 217.12031558185404 68.6706114398422 Q 208.03155818540435 59.581854043392504 193.89349112426035 59.581854043392504 L 96.94674556213018 59.581854043392504 L 96.94674556213018 59.581854043392504 Z"
|
||||
/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
40
public/img/envelope.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- envelope icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="envelope.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6269531"
|
||||
inkscape:cx="255.69268"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 48 64 Q 28 65 14 78 L 14 78 L 14 78 Q 1 92 0 112 Q 1 136 19 150 L 237 314 L 237 314 Q 256 326 275 314 L 493 150 L 493 150 Q 511 136 512 112 Q 511 92 498 78 Q 484 65 464 64 L 48 64 L 48 64 Z M 0 176 L 0 384 L 0 176 L 0 384 Q 1 411 19 429 Q 37 447 64 448 L 448 448 L 448 448 Q 475 447 493 429 Q 511 411 512 384 L 512 176 L 512 176 L 294 339 L 294 339 Q 277 352 256 352 Q 235 352 218 339 L 0 176 L 0 176 Z"
|
||||
id="path1"
|
||||
style="fill:#e1c300;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
46
public/img/eur-bill-gray.svg
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- money-bill icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="eur-bill-gray.svg"
|
||||
xml:space="preserve"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs1" /><sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.1504296"
|
||||
inkscape:cx="319.01127"
|
||||
inkscape:cy="302.06108"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" /><g
|
||||
id="g2"
|
||||
style="fill:#808080;fill-opacity:1"><path
|
||||
d="m 99.555556,128 c -0.592593,16 -6.222223,29.33333 -16.888889,40 v 0 0 c -10.666667,10.66667 -24,16.2963 -40,16.88889 v 142.22222 0 c 16,0.59259 29.333333,6.22222 40,16.88889 10.666666,10.66667 16.296296,24 16.888889,40 H 412.44444 v 0 c 0.5926,-16 6.22223,-29.33333 16.88889,-40 10.66667,-10.66667 24,-16.2963 40,-16.88889 v -142.22222 0 c -16,-0.59259 -29.33333,-6.22222 -40,-16.88889 -10.66666,-10.66667 -16.29629,-24 -16.88889,-40 z M 0,142.22222 c 0.59259259,-16 6.2222222,-29.33333 16.888889,-40 v 0 0 c 10.666667,-10.666666 24,-16.296296 40,-16.888889 H 455.11111 v 0 c 16,0.592593 29.33333,6.222223 40,16.888889 10.66667,10.66667 16.2963,24 16.88889,40 v 227.55556 0 c -0.59259,16 -6.22222,29.33333 -16.88889,40 -10.66667,10.66666 -24,16.29629 -40,16.88889 H 56.888889 v 0 c -16,-0.5926 -29.333333,-6.22223 -40,-16.88889 -10.6666668,-10.66667 -16.29629641,-24 -16.888889,-40 z"
|
||||
id="path1"
|
||||
sodipodi:nodetypes="cscsccssccssccsscccscsccssccssccsscc"
|
||||
style="fill:#808080;fill-opacity:1" /><g
|
||||
style="fill:#808080;fill-opacity:1"
|
||||
id="g1"
|
||||
transform="matrix(0.33256844,0,0,0.33256844,170.86248,170.86248)"><path
|
||||
d="m 256,512 q 70,-1 128,-34 v 0 0 q 58,-34 94,-94 34,-61 34,-128 0,-67 -34,-128 Q 442,68 384,34 326,1 256,0 186,1 128,34 70,68 34,128 0,189 0,256 q 0,67 34,128 36,60 94,94 58,33 128,34 z M 128,272 h 16 -16 16 q -1,-8 -1,-15 0,-9 1,-17 h -16 v 0 q -15,-1 -16,-16 1,-15 16,-16 h 25 v 0 q 15,-36 46,-58 32,-21 73,-22 h 41 v 0 q 22,2 24,24 -2,22 -24,24 h -41 v 0 q -41,1 -64,32 h 80 v 0 q 15,1 16,16 -1,15 -16,16 h -95 v 0 q -2,8 -2,17 0,8 2,15 h 95 v 0 q 15,1 16,16 -1,15 -16,16 h -82 v 0 q 24,32 66,34 h 41 v 0 q 22,2 24,24 -2,21 -24,24 h -41 v 0 q -42,-1 -73,-23 -32,-23 -47,-59 h -24 v 0 q -15,-1 -16,-16 1,-15 16,-16 z"
|
||||
id="path1-5"
|
||||
style="fill:#808080;fill-opacity:1" /></g></g></svg>
|
||||
|
After Width: | Height: | Size: 3 KiB |
46
public/img/eur-bill-lasecagold.svg
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- money-bill icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="eur-bill-lasecagold.svg"
|
||||
xml:space="preserve"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs1" /><sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6269531"
|
||||
inkscape:cx="268.60024"
|
||||
inkscape:cy="228.34094"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" /><g
|
||||
id="g2"
|
||||
style="fill:#e1c300;fill-opacity:1"><path
|
||||
d="m 99.555556,128 c -0.592593,16 -6.222223,29.33333 -16.888889,40 v 0 0 c -10.666667,10.66667 -24,16.2963 -40,16.88889 v 142.22222 0 c 16,0.59259 29.333333,6.22222 40,16.88889 10.666666,10.66667 16.296296,24 16.888889,40 H 412.44444 v 0 c 0.5926,-16 6.22223,-29.33333 16.88889,-40 10.66667,-10.66667 24,-16.2963 40,-16.88889 v -142.22222 0 c -16,-0.59259 -29.33333,-6.22222 -40,-16.88889 -10.66666,-10.66667 -16.29629,-24 -16.88889,-40 z M 0,142.22222 c 0.59259259,-16 6.2222222,-29.33333 16.888889,-40 v 0 0 c 10.666667,-10.666666 24,-16.296296 40,-16.888889 H 455.11111 v 0 c 16,0.592593 29.33333,6.222223 40,16.888889 10.66667,10.66667 16.2963,24 16.88889,40 v 227.55556 0 c -0.59259,16 -6.22222,29.33333 -16.88889,40 -10.66667,10.66666 -24,16.29629 -40,16.88889 H 56.888889 v 0 c -16,-0.5926 -29.333333,-6.22223 -40,-16.88889 -10.6666668,-10.66667 -16.29629641,-24 -16.888889,-40 z"
|
||||
id="path1"
|
||||
sodipodi:nodetypes="cscsccssccssccsscccscsccssccssccsscc"
|
||||
style="fill:#e1c300;fill-opacity:1" /><g
|
||||
style="fill:#e1c300;fill-opacity:1"
|
||||
id="g1"
|
||||
transform="matrix(0.33256844,0,0,0.33256844,170.86248,170.86248)"><path
|
||||
d="m 256,512 q 70,-1 128,-34 v 0 0 q 58,-34 94,-94 34,-61 34,-128 0,-67 -34,-128 Q 442,68 384,34 326,1 256,0 186,1 128,34 70,68 34,128 0,189 0,256 q 0,67 34,128 36,60 94,94 58,33 128,34 z M 128,272 h 16 -16 16 q -1,-8 -1,-15 0,-9 1,-17 h -16 v 0 q -15,-1 -16,-16 1,-15 16,-16 h 25 v 0 q 15,-36 46,-58 32,-21 73,-22 h 41 v 0 q 22,2 24,24 -2,22 -24,24 h -41 v 0 q -41,1 -64,32 h 80 v 0 q 15,1 16,16 -1,15 -16,16 h -95 v 0 q -2,8 -2,17 0,8 2,15 h 95 v 0 q 15,1 16,16 -1,15 -16,16 h -82 v 0 q 24,32 66,34 h 41 v 0 q 22,2 24,24 -2,21 -24,24 h -41 v 0 q -42,-1 -73,-23 -32,-23 -47,-59 h -24 v 0 q -15,-1 -16,-16 1,-15 16,-16 z"
|
||||
id="path1-5"
|
||||
style="fill:#e1c300;fill-opacity:1" /></g></g></svg>
|
||||
|
After Width: | Height: | Size: 3 KiB |
45
public/img/eur-bill.svg
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- money-bill icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="eur-bill.svg"
|
||||
xml:space="preserve"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs1" /><sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6269531"
|
||||
inkscape:cx="268.60024"
|
||||
inkscape:cy="228.34094"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" /><g
|
||||
id="g2"><path
|
||||
d="m 99.555556,128 c -0.592593,16 -6.222223,29.33333 -16.888889,40 v 0 0 c -10.666667,10.66667 -24,16.2963 -40,16.88889 v 142.22222 0 c 16,0.59259 29.333333,6.22222 40,16.88889 10.666666,10.66667 16.296296,24 16.888889,40 H 412.44444 v 0 c 0.5926,-16 6.22223,-29.33333 16.88889,-40 10.66667,-10.66667 24,-16.2963 40,-16.88889 v -142.22222 0 c -16,-0.59259 -29.33333,-6.22222 -40,-16.88889 -10.66666,-10.66667 -16.29629,-24 -16.88889,-40 z M 0,142.22222 c 0.59259259,-16 6.2222222,-29.33333 16.888889,-40 v 0 0 c 10.666667,-10.666666 24,-16.296296 40,-16.888889 H 455.11111 v 0 c 16,0.592593 29.33333,6.222223 40,16.888889 10.66667,10.66667 16.2963,24 16.88889,40 v 227.55556 0 c -0.59259,16 -6.22222,29.33333 -16.88889,40 -10.66667,10.66666 -24,16.29629 -40,16.88889 H 56.888889 v 0 c -16,-0.5926 -29.333333,-6.22223 -40,-16.88889 -10.6666668,-10.66667 -16.29629641,-24 -16.888889,-40 z"
|
||||
id="path1"
|
||||
sodipodi:nodetypes="cscsccssccssccsscccscsccssccssccsscc"
|
||||
style="fill:#000000" /><g
|
||||
style="fill:#000000"
|
||||
id="g1"
|
||||
transform="matrix(0.33256844,0,0,0.33256844,170.86248,170.86248)"><path
|
||||
d="m 256,512 q 70,-1 128,-34 v 0 0 q 58,-34 94,-94 34,-61 34,-128 0,-67 -34,-128 Q 442,68 384,34 326,1 256,0 186,1 128,34 70,68 34,128 0,189 0,256 q 0,67 34,128 36,60 94,94 58,33 128,34 z M 128,272 h 16 -16 16 q -1,-8 -1,-15 0,-9 1,-17 h -16 v 0 q -15,-1 -16,-16 1,-15 16,-16 h 25 v 0 q 15,-36 46,-58 32,-21 73,-22 h 41 v 0 q 22,2 24,24 -2,22 -24,24 h -41 v 0 q -41,1 -64,32 h 80 v 0 q 15,1 16,16 -1,15 -16,16 h -95 v 0 q -2,8 -2,17 0,8 2,15 h 95 v 0 q 15,1 16,16 -1,15 -16,16 h -82 v 0 q 24,32 66,34 h 41 v 0 q 22,2 24,24 -2,21 -24,24 h -41 v 0 q -42,-1 -73,-23 -32,-23 -47,-59 h -24 v 0 q -15,-1 -16,-16 1,-15 16,-16 z"
|
||||
id="path1-5"
|
||||
style="fill:#000000" /></g></g></svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
30
public/img/laseca-logo-transparent-textonly.svg
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="59.403683mm"
|
||||
height="11.539121mm"
|
||||
viewBox="0 0 59.403683 11.539121"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xml:space="preserve"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs1" /><g
|
||||
id="layer1"
|
||||
transform="translate(111.82987,-65.432599)"><rect
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.91734;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none"
|
||||
id="rect58-1"
|
||||
width="86.405785"
|
||||
height="86.405769"
|
||||
x="-125.3309"
|
||||
y="-3.5853474" /><text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.5542px;line-height:1.35;font-family:Bocklin;-inkscape-font-specification:Bocklin;text-align:center;letter-spacing:-1.29658px;text-anchor:middle;fill:#d4aa00;stroke-width:0.0731426"
|
||||
x="-81.934418"
|
||||
y="76.533325"
|
||||
id="text1-6"><tspan
|
||||
id="tspan1-0"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:17.5542px;line-height:1.35;font-family:Bocklin;-inkscape-font-specification:Bocklin;letter-spacing:-1.29658px;fill:#d4aa00;stroke-width:0.0731426"
|
||||
x="-82.58271"
|
||||
y="76.533325">LASECA</tspan></text></g></svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
BIN
public/img/laseca_logo_white.png
Normal file
|
After Width: | Height: | Size: 123 KiB |
40
public/img/lasecagold_ostrich.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="542.50018"
|
||||
height="619.32013"
|
||||
viewBox="0 0 542.50018 619.32013"
|
||||
fill="none"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="lasecagold_ostrich.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="0.833"
|
||||
inkscape:cx="309.72389"
|
||||
inkscape:cy="310.32413"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="m 457.468,262.48314 c 11.881,82.304 -73.312,99.719 -122.325,98.197 -3.147,-0.098 -6.113,1.434 -7.972,3.975 -5.07,6.931 -13.175,15.894 -19.432,15.894 -7.027,0 -13.351,13.514 -16.235,21.921 -0.303,0.883 0.565,1.697 1.453,1.409 77.623,-25.204 108.082,-33.849 121.204,-31.419 10.593,1.961 30.406,37.425 38.988,54.912 -21.333,1.226 -28.444,-17.896 -33.348,-21.328 -3.924,-2.745 -5.395,9.806 -5.64,16.425 -4.659,-2.451 -10.544,-5.883 -11.035,-16.425 -0.49,-10.541 -5.885,-7.844 -10.053,-7.354 -4.169,0.49 -68.169,21.082 -77.732,23.779 -9.563,2.697 -20.598,6.374 -29.67,12.747 -15.204,7.355 -25.012,2.207 -27.709,-10.296 -2.158,-10.002 11.852,-40.775 19.126,-54.912 -8.991,3.35 -27.66,10.149 -30.406,10.541 -2.663,0.381 -36.447,26.462 -54.513,40.632 -1.054,0.827 -1.732,2.038 -1.975,3.355 -2.89,15.705 -12.116,20.101 -28.11,28.331 -12.87,6.623 -57.821,75.699 -80.934,112.989 -1.599,2.578 -3.944,4.56 -6.463,6.25 -14.682,9.856 -29.634,34.938 -35.698,47.214 -8.632,-24.907 2.615,-46.332 9.318,-53.932 -2.943,-2.549 -9.727,-1.062 -12.751,0 8.337,-28.682 37.517,-28.682 36.536,-28.682 5.395,-4.658 68.659,-95.116 70.13,-99.283 1.46,-4.134 -0.942,-23.466 30.855,-34.065 0.505,-0.169 1.006,-0.399 1.453,-0.686 24.772,-15.922 43.355,-41.588 49.593,-52.521 -33.073,-2.274 -70.946,-20.713 -90.748,-32.556 -4.269,-2.553 -8.796,-4.775 -13.739,-5.334 -27.113,-3.069 -54.26,14.275 -65.199,24.162 -4.512,-6.275 0.572,-24.514 3.678,-32.849 -10.986,-1.569 -27.137,14.382 -33.839,22.553 -7.258,-11.374 -0.899,-31.705 3.188,-40.449 -14.517,0.393 -24.358,7.028 -27.464,10.297 12.015,-89.478 103.921,-63.455 104.95,-62.267 -4.904,-5.099 -4.495,-11.767 -3.678,-14.464 55.663,1.471 81.655,-7.844 98.084,-17.405 129.472,-72.317 185.257,-27.946 205.855,-16.792 20.597,11.154 57.992,15.689 83.862,5.393 30.896,-13.973 26.245,-49.991 19.984,-63.738 -6.865,-15.076 -45.609,-35.914002 -59.341,-62.266002 -13.731,-26.353 -1.766,-58.3989998 14.142,-62.8659998 15.156,-4.256 25.98,0.695 34.287,8.198 5.539,5.0029998 21.089,8.5799998 27.587,10.9089998 6.498,2.329 17.287,5.393 16.674,7.232 -0.613,1.839 -11.016,1.593 -12.628,1.593 -3.311,0 -7.234,0.49 -3.311,2.329 4.601,1.866 11.546,4.578 14.871,6.363 0.432,0.232 0.343,0.836 -0.131,0.963 -22.565,6.073 -42.713,-6.458 -57.652,7.996 -15.203,14.708 17.165,25.985 33.84,43.635 16.674,17.651002 33.839,38.733002 20.107,86.781002 -10.631,37.198 -55.186,68.824 -78.2,81.195 -1.323,0.712 -2.049,2.232 -1.834,3.719 z"
|
||||
fill="white"
|
||||
id="path1"
|
||||
style="fill:#e1c300;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
40
public/img/many-users-gray.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- users icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="many-users-gray.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6269531"
|
||||
inkscape:cx="255.69268"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 115.2 179.2 Q 151.2 178.4 170.4 147.2 Q 188 115.2 170.4 83.2 Q 151.2 52 115.2 51.2 Q 79.2 52 60 83.2 Q 42.4 115.2 60 147.2 Q 79.2 178.4 115.2 179.2 L 115.2 179.2 Z M 409.6 179.2 Q 445.6 178.4 464.8 147.2 Q 482.4 115.2 464.8 83.2 Q 445.6 52 409.6 51.2 Q 373.6 52 354.4 83.2 Q 336.8 115.2 354.4 147.2 Q 373.6 178.4 409.6 179.2 L 409.6 179.2 Z M 0 290.4 Q 1.6 305.6 16.8 307.2 L 188 307.2 L 188 307.2 Q 188 307.2 188 307.2 Q 188 307.2 188 307.2 Q 155.2 277.6 153.6 230.4 Q 153.6 221.6 155.2 212.8 Q 138.4 204.8 119.2 204.8 L 85.6 204.8 L 85.6 204.8 Q 48.8 205.6 24.8 229.6 Q 0.8 253.6 0 290.4 L 0 290.4 Z M 324 307.2 L 495.2 307.2 L 324 307.2 L 495.2 307.2 Q 510.4 305.6 512 290.4 Q 511.2 253.6 487.2 229.6 Q 463.2 205.6 426.4 204.8 L 392.8 204.8 L 392.8 204.8 Q 373.6 204.8 356.8 212.8 Q 358.4 221.6 358.4 230.4 Q 356.8 277.6 324 307.2 Q 324 307.2 324 307.2 Q 324 307.2 324 307.2 L 324 307.2 Z M 256 192 Q 277.6 192.8 289.6 211.2 Q 299.2 230.4 289.6 249.6 Q 277.6 268 256 268.8 Q 234.4 268 222.4 249.6 Q 212.8 230.4 222.4 211.2 Q 234.4 192.8 256 192 L 256 192 Z M 256 307.2 Q 276.8 307.2 294.4 296.8 L 294.4 296.8 L 294.4 296.8 Q 312 286.4 322.4 268.8 Q 332.8 250.4 332.8 230.4 Q 332.8 210.4 322.4 192 Q 312 174.4 294.4 164 Q 276.8 153.6 256 153.6 Q 235.2 153.6 217.6 164 Q 200 174.4 189.6 192 Q 179.2 210.4 179.2 230.4 Q 179.2 250.4 189.6 268.8 Q 200 286.4 217.6 296.8 Q 235.2 307.2 256 307.2 L 256 307.2 Z M 208.8 371.2 L 303.2 371.2 L 208.8 371.2 L 303.2 371.2 Q 327.2 372 344.8 385.6 Q 363.2 400 368.8 422.4 L 143.2 422.4 L 143.2 422.4 Q 148.8 400 167.2 385.6 Q 184.8 372 208.8 371.2 L 208.8 371.2 Z M 208.8 332.8 Q 164 333.6 133.6 364 L 133.6 364 L 133.6 364 Q 103.2 394.4 102.4 439.2 Q 104 459.2 124 460.8 L 388 460.8 L 388 460.8 Q 408 459.2 409.6 439.2 Q 408.8 394.4 378.4 364 Q 348 333.6 303.2 332.8 L 208.8 332.8 L 208.8 332.8 Z"
|
||||
id="path1"
|
||||
style="fill:#808080;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3 KiB |
40
public/img/many-users-lasecagold.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- users icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="many-users-lasecagold.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6269531"
|
||||
inkscape:cx="255.69268"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 115.2 179.2 Q 151.2 178.4 170.4 147.2 Q 188 115.2 170.4 83.2 Q 151.2 52 115.2 51.2 Q 79.2 52 60 83.2 Q 42.4 115.2 60 147.2 Q 79.2 178.4 115.2 179.2 L 115.2 179.2 Z M 409.6 179.2 Q 445.6 178.4 464.8 147.2 Q 482.4 115.2 464.8 83.2 Q 445.6 52 409.6 51.2 Q 373.6 52 354.4 83.2 Q 336.8 115.2 354.4 147.2 Q 373.6 178.4 409.6 179.2 L 409.6 179.2 Z M 0 290.4 Q 1.6 305.6 16.8 307.2 L 188 307.2 L 188 307.2 Q 188 307.2 188 307.2 Q 188 307.2 188 307.2 Q 155.2 277.6 153.6 230.4 Q 153.6 221.6 155.2 212.8 Q 138.4 204.8 119.2 204.8 L 85.6 204.8 L 85.6 204.8 Q 48.8 205.6 24.8 229.6 Q 0.8 253.6 0 290.4 L 0 290.4 Z M 324 307.2 L 495.2 307.2 L 324 307.2 L 495.2 307.2 Q 510.4 305.6 512 290.4 Q 511.2 253.6 487.2 229.6 Q 463.2 205.6 426.4 204.8 L 392.8 204.8 L 392.8 204.8 Q 373.6 204.8 356.8 212.8 Q 358.4 221.6 358.4 230.4 Q 356.8 277.6 324 307.2 Q 324 307.2 324 307.2 Q 324 307.2 324 307.2 L 324 307.2 Z M 256 192 Q 277.6 192.8 289.6 211.2 Q 299.2 230.4 289.6 249.6 Q 277.6 268 256 268.8 Q 234.4 268 222.4 249.6 Q 212.8 230.4 222.4 211.2 Q 234.4 192.8 256 192 L 256 192 Z M 256 307.2 Q 276.8 307.2 294.4 296.8 L 294.4 296.8 L 294.4 296.8 Q 312 286.4 322.4 268.8 Q 332.8 250.4 332.8 230.4 Q 332.8 210.4 322.4 192 Q 312 174.4 294.4 164 Q 276.8 153.6 256 153.6 Q 235.2 153.6 217.6 164 Q 200 174.4 189.6 192 Q 179.2 210.4 179.2 230.4 Q 179.2 250.4 189.6 268.8 Q 200 286.4 217.6 296.8 Q 235.2 307.2 256 307.2 L 256 307.2 Z M 208.8 371.2 L 303.2 371.2 L 208.8 371.2 L 303.2 371.2 Q 327.2 372 344.8 385.6 Q 363.2 400 368.8 422.4 L 143.2 422.4 L 143.2 422.4 Q 148.8 400 167.2 385.6 Q 184.8 372 208.8 371.2 L 208.8 371.2 Z M 208.8 332.8 Q 164 333.6 133.6 364 L 133.6 364 L 133.6 364 Q 103.2 394.4 102.4 439.2 Q 104 459.2 124 460.8 L 388 460.8 L 388 460.8 Q 408 459.2 409.6 439.2 Q 408.8 394.4 378.4 364 Q 348 333.6 303.2 332.8 L 208.8 332.8 L 208.8 332.8 Z"
|
||||
id="path1"
|
||||
style="fill:#e1c300;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3 KiB |
6
public/img/many-users.svg
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<!-- users icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="1em" fill="currentColor" viewBox="0 0 512 512">
|
||||
<path
|
||||
d="M 115.2 179.2 Q 151.2 178.4 170.4 147.2 Q 188 115.2 170.4 83.2 Q 151.2 52 115.2 51.2 Q 79.2 52 60 83.2 Q 42.4 115.2 60 147.2 Q 79.2 178.4 115.2 179.2 L 115.2 179.2 Z M 409.6 179.2 Q 445.6 178.4 464.8 147.2 Q 482.4 115.2 464.8 83.2 Q 445.6 52 409.6 51.2 Q 373.6 52 354.4 83.2 Q 336.8 115.2 354.4 147.2 Q 373.6 178.4 409.6 179.2 L 409.6 179.2 Z M 0 290.4 Q 1.6 305.6 16.8 307.2 L 188 307.2 L 188 307.2 Q 188 307.2 188 307.2 Q 188 307.2 188 307.2 Q 155.2 277.6 153.6 230.4 Q 153.6 221.6 155.2 212.8 Q 138.4 204.8 119.2 204.8 L 85.6 204.8 L 85.6 204.8 Q 48.8 205.6 24.8 229.6 Q 0.8 253.6 0 290.4 L 0 290.4 Z M 324 307.2 L 495.2 307.2 L 324 307.2 L 495.2 307.2 Q 510.4 305.6 512 290.4 Q 511.2 253.6 487.2 229.6 Q 463.2 205.6 426.4 204.8 L 392.8 204.8 L 392.8 204.8 Q 373.6 204.8 356.8 212.8 Q 358.4 221.6 358.4 230.4 Q 356.8 277.6 324 307.2 Q 324 307.2 324 307.2 Q 324 307.2 324 307.2 L 324 307.2 Z M 256 192 Q 277.6 192.8 289.6 211.2 Q 299.2 230.4 289.6 249.6 Q 277.6 268 256 268.8 Q 234.4 268 222.4 249.6 Q 212.8 230.4 222.4 211.2 Q 234.4 192.8 256 192 L 256 192 Z M 256 307.2 Q 276.8 307.2 294.4 296.8 L 294.4 296.8 L 294.4 296.8 Q 312 286.4 322.4 268.8 Q 332.8 250.4 332.8 230.4 Q 332.8 210.4 322.4 192 Q 312 174.4 294.4 164 Q 276.8 153.6 256 153.6 Q 235.2 153.6 217.6 164 Q 200 174.4 189.6 192 Q 179.2 210.4 179.2 230.4 Q 179.2 250.4 189.6 268.8 Q 200 286.4 217.6 296.8 Q 235.2 307.2 256 307.2 L 256 307.2 Z M 208.8 371.2 L 303.2 371.2 L 208.8 371.2 L 303.2 371.2 Q 327.2 372 344.8 385.6 Q 363.2 400 368.8 422.4 L 143.2 422.4 L 143.2 422.4 Q 148.8 400 167.2 385.6 Q 184.8 372 208.8 371.2 L 208.8 371.2 Z M 208.8 332.8 Q 164 333.6 133.6 364 L 133.6 364 L 133.6 364 Q 103.2 394.4 102.4 439.2 Q 104 459.2 124 460.8 L 388 460.8 L 388 460.8 Q 408 459.2 409.6 439.2 Q 408.8 394.4 378.4 364 Q 348 333.6 303.2 332.8 L 208.8 332.8 L 208.8 332.8 Z"
|
||||
/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2 KiB |
6
public/img/message-exclamation.svg
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<!-- message-exclamation icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="1em" fill="currentColor" viewBox="0 0 512 512">
|
||||
<path
|
||||
d="M 0.9961089494163424 63.750972762645915 Q 1.9922178988326849 36.856031128404666 19.92217898832685 18.926070038910506 L 19.92217898832685 18.926070038910506 L 19.92217898832685 18.926070038910506 Q 37.85214007782101 0.9961089494163424 64.74708171206225 0 L 447.25291828793775 0 L 447.25291828793775 0 Q 474.147859922179 0.9961089494163424 492.07782101167317 18.926070038910506 Q 510.0077821011673 36.856031128404666 511.00389105058366 63.750972762645915 L 511.00389105058366 350.63035019455253 L 511.00389105058366 350.63035019455253 Q 510.0077821011673 377.5252918287938 492.07782101167317 395.45525291828795 Q 474.147859922179 413.3852140077821 447.25291828793775 414.38132295719845 L 308.79377431906613 414.38132295719845 L 308.79377431906613 414.38132295719845 L 186.27237354085602 507.0194552529183 L 186.27237354085602 507.0194552529183 Q 178.30350194552528 512 169.3385214007782 508.01556420233464 Q 160.37354085603113 504.0311284046693 160.37354085603113 494.07003891050584 L 160.37354085603113 414.38132295719845 L 160.37354085603113 414.38132295719845 L 64.74708171206225 414.38132295719845 L 64.74708171206225 414.38132295719845 Q 37.85214007782101 413.3852140077821 19.92217898832685 395.45525291828795 Q 1.9922178988326849 377.5252918287938 0.9961089494163424 350.63035019455253 L 0.9961089494163424 63.750972762645915 L 0.9961089494163424 63.750972762645915 Z M 256 79.6887159533074 Q 234.08560311284046 81.68093385214007 232.09338521400778 103.59533073929961 L 232.09338521400778 215.15953307392996 L 232.09338521400778 215.15953307392996 Q 234.08560311284046 237.0739299610895 256 239.06614785992218 Q 277.9143968871595 237.0739299610895 279.9066147859922 215.15953307392996 L 279.9066147859922 103.59533073929961 L 279.9066147859922 103.59533073929961 Q 277.9143968871595 81.68093385214007 256 79.6887159533074 L 256 79.6887159533074 Z M 287.87548638132296 302.8171206225681 Q 287.87548638132296 288.8715953307393 278.91050583657585 279.9066147859922 L 278.91050583657585 279.9066147859922 L 278.91050583657585 279.9066147859922 Q 269.9455252918288 270.94163424124514 256 270.94163424124514 Q 242.0544747081712 270.94163424124514 233.08949416342412 279.9066147859922 Q 224.12451361867704 288.8715953307393 224.12451361867704 302.8171206225681 Q 224.12451361867704 316.7626459143969 233.08949416342412 325.72762645914395 Q 242.0544747081712 334.69260700389106 256 334.69260700389106 Q 269.9455252918288 334.69260700389106 278.91050583657585 325.72762645914395 Q 287.87548638132296 316.7626459143969 287.87548638132296 302.8171206225681 L 287.87548638132296 302.8171206225681 Z"
|
||||
/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
40
public/img/phone.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- phone icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="phone.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6269531"
|
||||
inkscape:cx="255.69268"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 164.3579766536965 26.894941634241246 Q 158.38132295719845 11.95330739299611 145.431906614786 5.976653696498055 L 145.431906614786 5.976653696498055 L 145.431906614786 5.976653696498055 Q 131.4863813229572 0 116.54474708171206 2.9883268482490273 L 28.88715953307393 26.894941634241246 L 28.88715953307393 26.894941634241246 Q 1.9922178988326849 36.856031128404666 0 65.7431906614786 Q 0.9961089494163424 190.2568093385214 60.762645914396884 290.863813229572 Q 120.52918287937743 391.47081712062254 221.13618677042803 451.2373540856031 Q 321.7431906614786 511.00389105058366 446.2568093385214 512 Q 475.14396887159535 510.0077821011673 485.10505836575874 483.11284046692606 L 509.011673151751 395.45525291828795 L 509.011673151751 395.45525291828795 Q 512 380.5136186770428 506.02334630350197 366.568093385214 Q 500.0466926070039 353.61867704280155 485.10505836575874 347.6420233463035 L 389.47859922178986 307.7976653696498 L 389.47859922178986 307.7976653696498 Q 362.58365758754866 298.83268482490274 343.6575875486381 319.7509727626459 L 303.81322957198444 368.5603112840467 L 303.81322957198444 368.5603112840467 Q 251.01945525291828 343.6575875486381 209.1828793774319 302.8171206225681 Q 168.34241245136187 260.9805447470817 143.4396887159533 208.18677042801556 L 192.24902723735408 168.34241245136187 L 192.24902723735408 168.34241245136187 Q 213.1673151750973 149.41634241245137 204.2023346303502 122.52140077821012 L 164.3579766536965 26.894941634241246 L 164.3579766536965 26.894941634241246 Z"
|
||||
id="path1"
|
||||
style="fill:#e1c300;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
40
public/img/signal-messenger.svg
Normal file
|
After Width: | Height: | Size: 9 KiB |
40
public/img/square-whatsapp.svg
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
40
public/img/telegram.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- telegram icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="telegram.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6269531"
|
||||
inkscape:cx="255.69268"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 256 0 Q 184.7741935483871 1.032258064516129 126.96774193548387 35.096774193548384 L 126.96774193548387 35.096774193548384 L 126.96774193548387 35.096774193548384 Q 69.16129032258064 69.16129032258064 35.096774193548384 126.96774193548387 L 35.096774193548384 126.96774193548387 L 35.096774193548384 126.96774193548387 Q 1.032258064516129 184.7741935483871 0 256 Q 1.032258064516129 327.2258064516129 35.096774193548384 385.03225806451616 Q 69.16129032258064 442.83870967741933 126.96774193548387 476.9032258064516 Q 184.7741935483871 510.96774193548384 256 512 Q 327.2258064516129 510.96774193548384 385.03225806451616 476.9032258064516 Q 442.83870967741933 442.83870967741933 476.9032258064516 385.03225806451616 Q 510.96774193548384 327.2258064516129 512 256 Q 510.96774193548384 184.7741935483871 476.9032258064516 126.96774193548387 Q 442.83870967741933 69.16129032258064 385.03225806451616 35.096774193548384 Q 327.2258064516129 1.032258064516129 256 0 L 256 0 Z M 374.7096774193548 174.4516129032258 Q 372.64516129032256 195.09677419354838 367.48387096774195 230.19354838709677 L 367.48387096774195 230.19354838709677 L 367.48387096774195 230.19354838709677 Q 362.3225806451613 264.258064516129 356.1290322580645 299.35483870967744 L 356.1290322580645 299.35483870967744 L 356.1290322580645 299.35483870967744 Q 349.93548387096774 334.4516129032258 345.80645161290323 358.19354838709677 Q 339.61290322580646 385.03225806451616 328.258064516129 384 Q 311.741935483871 384 296.258064516129 371.61290322580646 Q 292.1290322580645 368.51612903225805 288 365.4193548387097 Q 270.4516129032258 354.06451612903226 258.06451612903226 344.7741935483871 Q 245.67741935483872 336.51612903225805 230.19354838709677 327.2258064516129 Q 214.70967741935485 315.8709677419355 217.80645161290323 308.64516129032256 Q 219.8709677419355 300.38709677419354 230.19354838709677 292.1290322580645 Q 233.29032258064515 289.03225806451616 236.38709677419354 285.93548387096774 Q 237.41935483870967 283.8709677419355 247.74193548387098 275.61290322580646 Q 264.258064516129 260.1290322580645 283.8709677419355 240.51612903225808 Q 304.51612903225805 221.93548387096774 306.5806451612903 216.7741935483871 Q 307.61290322580646 215.74193548387098 305.5483870967742 212.6451612903226 Q 302.4516129032258 210.58064516129033 300.38709677419354 211.61290322580646 Q 296.258064516129 212.6451612903226 192 283.8709677419355 Q 176.51612903225808 294.19354838709677 164.1290322580645 293.16129032258067 Q 156.90322580645162 293.16129032258067 145.5483870967742 290.06451612903226 Q 134.19354838709677 288 124.90322580645162 283.8709677419355 Q 121.80645161290323 282.83870967741933 118.70967741935483 282.83870967741933 Q 97.03225806451613 277.6774193548387 97.03225806451613 267.35483870967744 Q 98.06451612903226 260.1290322580645 115.61290322580645 252.90322580645162 Q 228.1290322580645 204.38709677419354 265.2903225806452 188.90322580645162 Q 316.9032258064516 167.2258064516129 335.48387096774195 161.03225806451613 Q 355.0967741935484 153.80645161290323 360.258064516129 153.80645161290323 Q 365.4193548387097 153.80645161290323 370.5806451612903 156.90322580645162 Q 373.6774193548387 160 374.7096774193548 164.1290322580645 Q 374.7096774193548 169.29032258064515 374.7096774193548 174.4516129032258 L 374.7096774193548 174.4516129032258 Z"
|
||||
id="path1"
|
||||
style="fill:#e1c300;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.4 KiB |
40
public/img/trash-can-darkred.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- trash-can icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="trash-can-darkred.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6855469"
|
||||
inkscape:cx="255.70336"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1978"
|
||||
inkscape:window-height="1088"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 167 18 Q 176 1 196 0 L 316 0 L 316 0 Q 336 1 345 18 L 352 32 L 352 32 L 448 32 L 448 32 Q 462 32 471 41 Q 480 50 480 64 Q 480 78 471 87 Q 462 96 448 96 L 64 96 L 64 96 Q 50 96 41 87 Q 32 78 32 64 Q 32 50 41 41 Q 50 32 64 32 L 160 32 L 160 32 L 167 18 L 167 18 Z M 64 128 L 448 128 L 64 128 L 448 128 L 448 448 L 448 448 Q 447 475 429 493 Q 411 511 384 512 L 128 512 L 128 512 Q 101 511 83 493 Q 65 475 64 448 L 64 128 L 64 128 Z M 160 192 Q 145 193 144 208 L 144 432 L 144 432 Q 145 447 160 448 Q 175 447 176 432 L 176 208 L 176 208 Q 175 193 160 192 L 160 192 Z M 256 192 Q 241 193 240 208 L 240 432 L 240 432 Q 241 447 256 448 Q 271 447 272 432 L 272 208 L 272 208 Q 271 193 256 192 L 256 192 Z M 352 192 Q 337 193 336 208 L 336 432 L 336 432 Q 337 447 352 448 Q 367 447 368 432 L 368 208 L 368 208 Q 367 193 352 192 L 352 192 Z"
|
||||
id="path1"
|
||||
style="fill:#800000;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2 KiB |
40
public/img/trash-can-lasecagold.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- trash-can icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="trash-can-lasecagold.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6855469"
|
||||
inkscape:cx="255.70336"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1978"
|
||||
inkscape:window-height="1088"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 167 18 Q 176 1 196 0 L 316 0 L 316 0 Q 336 1 345 18 L 352 32 L 352 32 L 448 32 L 448 32 Q 462 32 471 41 Q 480 50 480 64 Q 480 78 471 87 Q 462 96 448 96 L 64 96 L 64 96 Q 50 96 41 87 Q 32 78 32 64 Q 32 50 41 41 Q 50 32 64 32 L 160 32 L 160 32 L 167 18 L 167 18 Z M 64 128 L 448 128 L 64 128 L 448 128 L 448 448 L 448 448 Q 447 475 429 493 Q 411 511 384 512 L 128 512 L 128 512 Q 101 511 83 493 Q 65 475 64 448 L 64 128 L 64 128 Z M 160 192 Q 145 193 144 208 L 144 432 L 144 432 Q 145 447 160 448 Q 175 447 176 432 L 176 208 L 176 208 Q 175 193 160 192 L 160 192 Z M 256 192 Q 241 193 240 208 L 240 432 L 240 432 Q 241 447 256 448 Q 271 447 272 432 L 272 208 L 272 208 Q 271 193 256 192 L 256 192 Z M 352 192 Q 337 193 336 208 L 336 432 L 336 432 Q 337 447 352 448 Q 367 447 368 432 L 368 208 L 368 208 Q 367 193 352 192 L 352 192 Z"
|
||||
id="path1"
|
||||
style="fill:#e1c300;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2 KiB |
6
public/img/trash-can.svg
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<!-- trash-can icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="1em" fill="currentColor" viewBox="0 0 512 512">
|
||||
<path
|
||||
d="M 167 18 Q 176 1 196 0 L 316 0 L 316 0 Q 336 1 345 18 L 352 32 L 352 32 L 448 32 L 448 32 Q 462 32 471 41 Q 480 50 480 64 Q 480 78 471 87 Q 462 96 448 96 L 64 96 L 64 96 Q 50 96 41 87 Q 32 78 32 64 Q 32 50 41 41 Q 50 32 64 32 L 160 32 L 160 32 L 167 18 L 167 18 Z M 64 128 L 448 128 L 64 128 L 448 128 L 448 448 L 448 448 Q 447 475 429 493 Q 411 511 384 512 L 128 512 L 128 512 Q 101 511 83 493 Q 65 475 64 448 L 64 128 L 64 128 Z M 160 192 Q 145 193 144 208 L 144 432 L 144 432 Q 145 447 160 448 Q 175 447 176 432 L 176 208 L 176 208 Q 175 193 160 192 L 160 192 Z M 256 192 Q 241 193 240 208 L 240 432 L 240 432 Q 241 447 256 448 Q 271 447 272 432 L 272 208 L 272 208 Q 271 193 256 192 L 256 192 Z M 352 192 Q 337 193 336 208 L 336 432 L 336 432 Q 337 447 352 448 Q 367 447 368 432 L 368 208 L 368 208 Q 367 193 352 192 L 352 192 Z"
|
||||
/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1 KiB |
40
public/img/user-gray.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- user icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="user-gray.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6269531"
|
||||
inkscape:cx="255.69268"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 256 256 Q 291 256 320 239 L 320 239 L 320 239 Q 349 222 367 192 Q 384 162 384 128 Q 384 94 367 64 Q 349 34 320 17 Q 291 0 256 0 Q 221 0 192 17 Q 163 34 145 64 Q 128 94 128 128 Q 128 162 145 192 Q 163 222 192 239 Q 221 256 256 256 L 256 256 Z M 210 304 Q 135 306 84 356 L 84 356 L 84 356 Q 34 407 32 482 Q 32 495 41 503 Q 49 512 62 512 L 450 512 L 450 512 Q 463 512 471 503 Q 480 495 480 482 Q 478 407 428 356 Q 377 306 302 304 L 210 304 L 210 304 Z"
|
||||
id="path1"
|
||||
style="fill:#808080;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
40
public/img/user-group-gray.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- user-group icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="user-group-gray.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6269531"
|
||||
inkscape:cx="255.69268"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 179.2 89.6 Q 215.2 90.4 234.4 121.6 Q 252 153.6 234.4 185.6 Q 215.2 216.8 179.2 217.6 Q 143.2 216.8 124 185.6 Q 106.4 153.6 124 121.6 Q 143.2 90.4 179.2 89.6 L 179.2 89.6 Z M 179.2 256 Q 207.2 256 230.4 242.4 L 230.4 242.4 L 230.4 242.4 Q 253.6 228.8 268 204.8 Q 281.6 180.8 281.6 153.6 Q 281.6 126.4 268 102.4 Q 253.6 78.4 230.4 64.8 Q 207.2 51.2 179.2 51.2 Q 151.2 51.2 128 64.8 Q 104.8 78.4 90.4 102.4 Q 76.8 126.4 76.8 153.6 Q 76.8 180.8 90.4 204.8 Q 104.8 228.8 128 242.4 Q 151.2 256 179.2 256 L 179.2 256 Z M 142.4 332.8 L 216 332.8 L 142.4 332.8 L 216 332.8 Q 256 333.6 284.8 358.4 Q 312.8 383.2 319.2 422.4 L 39.2 422.4 L 39.2 422.4 Q 45.6 383.2 73.6 358.4 Q 102.4 333.6 142.4 332.8 L 142.4 332.8 Z M 142.4 294.4 Q 82.4 296 41.6 336 L 41.6 336 L 41.6 336 Q 1.6 376.8 0 436.8 Q 0 447.2 7.2 453.6 Q 13.6 460.8 24 460.8 L 334.4 460.8 L 334.4 460.8 Q 344.8 460.8 351.2 453.6 Q 358.4 447.2 358.4 436.8 Q 356.8 376.8 316.8 336 Q 276 296 216 294.4 L 142.4 294.4 L 142.4 294.4 Z M 487.2 460.8 Q 497.6 460.8 504.8 453.6 L 504.8 453.6 L 504.8 453.6 Q 512 446.4 512 436 Q 510.4 381.6 474.4 344.8 Q 437.6 308.8 383.2 307.2 L 333.6 307.2 L 333.6 307.2 Q 328.8 307.2 323.2 308 Q 351.2 331.2 367.2 364 Q 384 397.6 384 436.8 Q 384 450.4 377.6 460.8 L 487.2 460.8 L 487.2 460.8 Z M 345.6 256 Q 384 255.2 408.8 229.6 L 408.8 229.6 L 408.8 229.6 Q 434.4 204.8 435.2 166.4 Q 434.4 128 408.8 103.2 Q 384 77.6 345.6 76.8 Q 315.2 77.6 292.8 94.4 Q 307.2 120.8 307.2 153.6 Q 306.4 196.8 282.4 229.6 Q 307.2 255.2 345.6 256 L 345.6 256 Z"
|
||||
id="path1"
|
||||
style="fill:#808080;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
40
public/img/user-group-lasecagold.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- user-group icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="user-group-lasecagold.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6269531"
|
||||
inkscape:cx="255.69268"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 179.2 89.6 Q 215.2 90.4 234.4 121.6 Q 252 153.6 234.4 185.6 Q 215.2 216.8 179.2 217.6 Q 143.2 216.8 124 185.6 Q 106.4 153.6 124 121.6 Q 143.2 90.4 179.2 89.6 L 179.2 89.6 Z M 179.2 256 Q 207.2 256 230.4 242.4 L 230.4 242.4 L 230.4 242.4 Q 253.6 228.8 268 204.8 Q 281.6 180.8 281.6 153.6 Q 281.6 126.4 268 102.4 Q 253.6 78.4 230.4 64.8 Q 207.2 51.2 179.2 51.2 Q 151.2 51.2 128 64.8 Q 104.8 78.4 90.4 102.4 Q 76.8 126.4 76.8 153.6 Q 76.8 180.8 90.4 204.8 Q 104.8 228.8 128 242.4 Q 151.2 256 179.2 256 L 179.2 256 Z M 142.4 332.8 L 216 332.8 L 142.4 332.8 L 216 332.8 Q 256 333.6 284.8 358.4 Q 312.8 383.2 319.2 422.4 L 39.2 422.4 L 39.2 422.4 Q 45.6 383.2 73.6 358.4 Q 102.4 333.6 142.4 332.8 L 142.4 332.8 Z M 142.4 294.4 Q 82.4 296 41.6 336 L 41.6 336 L 41.6 336 Q 1.6 376.8 0 436.8 Q 0 447.2 7.2 453.6 Q 13.6 460.8 24 460.8 L 334.4 460.8 L 334.4 460.8 Q 344.8 460.8 351.2 453.6 Q 358.4 447.2 358.4 436.8 Q 356.8 376.8 316.8 336 Q 276 296 216 294.4 L 142.4 294.4 L 142.4 294.4 Z M 487.2 460.8 Q 497.6 460.8 504.8 453.6 L 504.8 453.6 L 504.8 453.6 Q 512 446.4 512 436 Q 510.4 381.6 474.4 344.8 Q 437.6 308.8 383.2 307.2 L 333.6 307.2 L 333.6 307.2 Q 328.8 307.2 323.2 308 Q 351.2 331.2 367.2 364 Q 384 397.6 384 436.8 Q 384 450.4 377.6 460.8 L 487.2 460.8 L 487.2 460.8 Z M 345.6 256 Q 384 255.2 408.8 229.6 L 408.8 229.6 L 408.8 229.6 Q 434.4 204.8 435.2 166.4 Q 434.4 128 408.8 103.2 Q 384 77.6 345.6 76.8 Q 315.2 77.6 292.8 94.4 Q 307.2 120.8 307.2 153.6 Q 306.4 196.8 282.4 229.6 Q 307.2 255.2 345.6 256 L 345.6 256 Z"
|
||||
id="path1"
|
||||
style="fill:#e1c300;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
6
public/img/user-group.svg
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<!-- user-group icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="1em" fill="currentColor" viewBox="0 0 512 512">
|
||||
<path
|
||||
d="M 179.2 89.6 Q 215.2 90.4 234.4 121.6 Q 252 153.6 234.4 185.6 Q 215.2 216.8 179.2 217.6 Q 143.2 216.8 124 185.6 Q 106.4 153.6 124 121.6 Q 143.2 90.4 179.2 89.6 L 179.2 89.6 Z M 179.2 256 Q 207.2 256 230.4 242.4 L 230.4 242.4 L 230.4 242.4 Q 253.6 228.8 268 204.8 Q 281.6 180.8 281.6 153.6 Q 281.6 126.4 268 102.4 Q 253.6 78.4 230.4 64.8 Q 207.2 51.2 179.2 51.2 Q 151.2 51.2 128 64.8 Q 104.8 78.4 90.4 102.4 Q 76.8 126.4 76.8 153.6 Q 76.8 180.8 90.4 204.8 Q 104.8 228.8 128 242.4 Q 151.2 256 179.2 256 L 179.2 256 Z M 142.4 332.8 L 216 332.8 L 142.4 332.8 L 216 332.8 Q 256 333.6 284.8 358.4 Q 312.8 383.2 319.2 422.4 L 39.2 422.4 L 39.2 422.4 Q 45.6 383.2 73.6 358.4 Q 102.4 333.6 142.4 332.8 L 142.4 332.8 Z M 142.4 294.4 Q 82.4 296 41.6 336 L 41.6 336 L 41.6 336 Q 1.6 376.8 0 436.8 Q 0 447.2 7.2 453.6 Q 13.6 460.8 24 460.8 L 334.4 460.8 L 334.4 460.8 Q 344.8 460.8 351.2 453.6 Q 358.4 447.2 358.4 436.8 Q 356.8 376.8 316.8 336 Q 276 296 216 294.4 L 142.4 294.4 L 142.4 294.4 Z M 487.2 460.8 Q 497.6 460.8 504.8 453.6 L 504.8 453.6 L 504.8 453.6 Q 512 446.4 512 436 Q 510.4 381.6 474.4 344.8 Q 437.6 308.8 383.2 307.2 L 333.6 307.2 L 333.6 307.2 Q 328.8 307.2 323.2 308 Q 351.2 331.2 367.2 364 Q 384 397.6 384 436.8 Q 384 450.4 377.6 460.8 L 487.2 460.8 L 487.2 460.8 Z M 345.6 256 Q 384 255.2 408.8 229.6 L 408.8 229.6 L 408.8 229.6 Q 434.4 204.8 435.2 166.4 Q 434.4 128 408.8 103.2 Q 384 77.6 345.6 76.8 Q 315.2 77.6 292.8 94.4 Q 307.2 120.8 307.2 153.6 Q 306.4 196.8 282.4 229.6 Q 307.2 255.2 345.6 256 L 345.6 256 Z"
|
||||
/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
40
public/img/user-lasecagold.svg
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- user icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
|
||||
<svg
|
||||
height="1em"
|
||||
fill="currentColor"
|
||||
viewBox="0 0 512 512"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="user-lasecagold.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.6269531"
|
||||
inkscape:cx="255.69268"
|
||||
inkscape:cy="256"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="M 256 256 Q 291 256 320 239 L 320 239 L 320 239 Q 349 222 367 192 Q 384 162 384 128 Q 384 94 367 64 Q 349 34 320 17 Q 291 0 256 0 Q 221 0 192 17 Q 163 34 145 64 Q 128 94 128 128 Q 128 162 145 192 Q 163 222 192 239 Q 221 256 256 256 L 256 256 Z M 210 304 Q 135 306 84 356 L 84 356 L 84 356 Q 34 407 32 482 Q 32 495 41 503 Q 49 512 62 512 L 450 512 L 450 512 Q 463 512 471 503 Q 480 495 480 482 Q 478 407 428 356 Q 377 306 302 304 L 210 304 L 210 304 Z"
|
||||
id="path1"
|
||||
style="fill:#e1c300;fill-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
6
public/img/user.svg
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<!-- user icon by Free Icons (https://free-icons.github.io/free-icons/) -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="1em" fill="currentColor" viewBox="0 0 512 512">
|
||||
<path
|
||||
d="M 256 256 Q 291 256 320 239 L 320 239 L 320 239 Q 349 222 367 192 Q 384 162 384 128 Q 384 94 367 64 Q 349 34 320 17 Q 291 0 256 0 Q 221 0 192 17 Q 163 34 145 64 Q 128 94 128 128 Q 128 162 145 192 Q 163 222 192 239 Q 221 256 256 256 L 256 256 Z M 210 304 Q 135 306 84 356 L 84 356 L 84 356 Q 34 407 32 482 Q 32 495 41 503 Q 49 512 62 512 L 450 512 L 450 512 Q 463 512 471 503 Q 480 495 480 482 Q 478 407 428 356 Q 377 306 302 304 L 210 304 L 210 304 Z"
|
||||
/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 650 B |
39
public/img/white_ostrich.svg
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="542.50018"
|
||||
height="619.32013"
|
||||
viewBox="0 0 542.50018 619.32013"
|
||||
fill="none"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="white_ostrich.svg"
|
||||
inkscape:version="1.4 (1:1.4+202410161351+e7c3feb100)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="0.833"
|
||||
inkscape:cx="309.72389"
|
||||
inkscape:cy="310.32413"
|
||||
inkscape:window-width="1850"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<path
|
||||
d="m 457.468,262.48314 c 11.881,82.304 -73.312,99.719 -122.325,98.197 -3.147,-0.098 -6.113,1.434 -7.972,3.975 -5.07,6.931 -13.175,15.894 -19.432,15.894 -7.027,0 -13.351,13.514 -16.235,21.921 -0.303,0.883 0.565,1.697 1.453,1.409 77.623,-25.204 108.082,-33.849 121.204,-31.419 10.593,1.961 30.406,37.425 38.988,54.912 -21.333,1.226 -28.444,-17.896 -33.348,-21.328 -3.924,-2.745 -5.395,9.806 -5.64,16.425 -4.659,-2.451 -10.544,-5.883 -11.035,-16.425 -0.49,-10.541 -5.885,-7.844 -10.053,-7.354 -4.169,0.49 -68.169,21.082 -77.732,23.779 -9.563,2.697 -20.598,6.374 -29.67,12.747 -15.204,7.355 -25.012,2.207 -27.709,-10.296 -2.158,-10.002 11.852,-40.775 19.126,-54.912 -8.991,3.35 -27.66,10.149 -30.406,10.541 -2.663,0.381 -36.447,26.462 -54.513,40.632 -1.054,0.827 -1.732,2.038 -1.975,3.355 -2.89,15.705 -12.116,20.101 -28.11,28.331 -12.87,6.623 -57.821,75.699 -80.934,112.989 -1.599,2.578 -3.944,4.56 -6.463,6.25 -14.682,9.856 -29.634,34.938 -35.698,47.214 -8.632,-24.907 2.615,-46.332 9.318,-53.932 -2.943,-2.549 -9.727,-1.062 -12.751,0 8.337,-28.682 37.517,-28.682 36.536,-28.682 5.395,-4.658 68.659,-95.116 70.13,-99.283 1.46,-4.134 -0.942,-23.466 30.855,-34.065 0.505,-0.169 1.006,-0.399 1.453,-0.686 24.772,-15.922 43.355,-41.588 49.593,-52.521 -33.073,-2.274 -70.946,-20.713 -90.748,-32.556 -4.269,-2.553 -8.796,-4.775 -13.739,-5.334 -27.113,-3.069 -54.26,14.275 -65.199,24.162 -4.512,-6.275 0.572,-24.514 3.678,-32.849 -10.986,-1.569 -27.137,14.382 -33.839,22.553 -7.258,-11.374 -0.899,-31.705 3.188,-40.449 -14.517,0.393 -24.358,7.028 -27.464,10.297 12.015,-89.478 103.921,-63.455 104.95,-62.267 -4.904,-5.099 -4.495,-11.767 -3.678,-14.464 55.663,1.471 81.655,-7.844 98.084,-17.405 129.472,-72.317 185.257,-27.946 205.855,-16.792 20.597,11.154 57.992,15.689 83.862,5.393 30.896,-13.973 26.245,-49.991 19.984,-63.738 -6.865,-15.076 -45.609,-35.914002 -59.341,-62.266002 -13.731,-26.353 -1.766,-58.3989998 14.142,-62.8659998 15.156,-4.256 25.98,0.695 34.287,8.198 5.539,5.0029998 21.089,8.5799998 27.587,10.9089998 6.498,2.329 17.287,5.393 16.674,7.232 -0.613,1.839 -11.016,1.593 -12.628,1.593 -3.311,0 -7.234,0.49 -3.311,2.329 4.601,1.866 11.546,4.578 14.871,6.363 0.432,0.232 0.343,0.836 -0.131,0.963 -22.565,6.073 -42.713,-6.458 -57.652,7.996 -15.203,14.708 17.165,25.985 33.84,43.635 16.674,17.651002 33.839,38.733002 20.107,86.781002 -10.631,37.198 -55.186,68.824 -78.2,81.195 -1.323,0.712 -2.049,2.232 -1.834,3.719 z"
|
||||
fill="#ffffff"
|
||||
id="path1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
10
public/javascript/app.js
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
const navbuttonHome = document.getElementById('navbutton-home');
|
||||
const navbuttonOffers = document.getElementById('navbutton-offers');
|
||||
|
||||
navbuttonHome.addEventListener('click', () => {
|
||||
window.location.href = '/home';
|
||||
});
|
||||
|
||||
navbuttonOffers.addEventListener('click', () => {
|
||||
window.location.href = '/offers';
|
||||
});
|
||||
121
public/javascript/createProfile.js
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
const createProfileConfirmation = document.querySelector(
|
||||
'#create-profile-success'
|
||||
);
|
||||
|
||||
function debounce(func, wait) {
|
||||
let timeout;
|
||||
return function (...args) {
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(() => func.apply(this, args), wait);
|
||||
};
|
||||
}
|
||||
|
||||
const validateNymInput = debounce(() => {
|
||||
const nymValue = nymInput.value.trim();
|
||||
const isValid = nymValue.length >= 3 && nymValue.length <= 128;
|
||||
if (isValid) {
|
||||
nymInputValidationWarning.style.display = 'none';
|
||||
} else {
|
||||
nymInputValidationWarning.style.display = 'block';
|
||||
}
|
||||
}, 500);
|
||||
|
||||
const checkIfSubmittable = debounce((allInputs) => {
|
||||
const nymIsFilled = allInputs.nymInput.value !== '';
|
||||
let atLeastOneContactIsFilled = false;
|
||||
|
||||
for (const contactInput of allInputs.contactInputs) {
|
||||
if (contactInput.value !== '') {
|
||||
atLeastOneContactIsFilled = true;
|
||||
}
|
||||
}
|
||||
|
||||
const buttonShouldBeDisabled = !(nymIsFilled && atLeastOneContactIsFilled);
|
||||
submitProfileButton.disabled = buttonShouldBeDisabled;
|
||||
}, 500);
|
||||
|
||||
async function createProfile(allInputs) {
|
||||
const contactDetails = [];
|
||||
for (const someInput of allInputs.contactInputs) {
|
||||
contactDetails.push({
|
||||
type: someInput.getAttribute('data-type'),
|
||||
value: someInput.value,
|
||||
});
|
||||
}
|
||||
const encryptedContactDetails = await window.nostr.nip04.encrypt(
|
||||
await window.nostr.getPublicKey(),
|
||||
JSON.stringify(contactDetails)
|
||||
);
|
||||
await fetch('/api/set-contact-details', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: JSON.stringify({ encryptedContactDetails }),
|
||||
});
|
||||
|
||||
const nym = allInputs.nymInput.value;
|
||||
await fetch('/api/set-nym', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: JSON.stringify({ nym }),
|
||||
});
|
||||
|
||||
createProfileConfirmation.classList.add('revealed');
|
||||
setTimeout(() => {
|
||||
window.location.href = '/home';
|
||||
}, 5000);
|
||||
}
|
||||
|
||||
function onLoadErrands(allInputs, submitProfileButton) {
|
||||
allInputs.nymInput.addEventListener('input', validateNymInput);
|
||||
|
||||
for (const someInput of allInputs.allInputs) {
|
||||
someInput.addEventListener('input', () => {
|
||||
checkIfSubmittable(allInputs);
|
||||
});
|
||||
}
|
||||
|
||||
checkIfSubmittable(allInputs);
|
||||
|
||||
submitProfileButton.addEventListener('click', () => {
|
||||
createProfile(allInputs);
|
||||
});
|
||||
}
|
||||
|
||||
const nymInput = document.getElementById('nym-input');
|
||||
const nymInputValidationWarning = document.getElementById(
|
||||
'nym-input-validation-warning'
|
||||
);
|
||||
const phoneInput = document.getElementById('phone-input');
|
||||
const whatsappInput = document.getElementById('whatsapp-input');
|
||||
const telegramInput = document.getElementById('telegram-input');
|
||||
const emailInput = document.getElementById('email-input');
|
||||
const nostrInput = document.getElementById('nostr-input');
|
||||
const signalInput = document.getElementById('signal-input');
|
||||
const submitProfileButton = document.getElementById('submit-profile-button');
|
||||
|
||||
const allInputs = {
|
||||
nymInput: nymInput,
|
||||
contactInputs: [
|
||||
phoneInput,
|
||||
whatsappInput,
|
||||
telegramInput,
|
||||
emailInput,
|
||||
nostrInput,
|
||||
signalInput,
|
||||
],
|
||||
allInputs: [
|
||||
nymInput,
|
||||
phoneInput,
|
||||
whatsappInput,
|
||||
telegramInput,
|
||||
emailInput,
|
||||
nostrInput,
|
||||
signalInput,
|
||||
],
|
||||
};
|
||||
|
||||
onLoadErrands(allInputs, submitProfileButton);
|
||||
0
public/javascript/home.js
Normal file
74
public/javascript/invite.js
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
window.onload = function () {
|
||||
if (!window.nostr) {
|
||||
console.log('Nostr extension not present');
|
||||
document.querySelector('#nostr-signup-button').disabled = true;
|
||||
document.querySelector('#no-extension-nudges').style.display = 'block';
|
||||
} else {
|
||||
console.log('Nostr extension present');
|
||||
}
|
||||
};
|
||||
|
||||
const signUpConfirmation = document.querySelector('#sign-up-success');
|
||||
|
||||
function showConfirmationAndRedirect() {
|
||||
signUpConfirmation.classList.add('revealed');
|
||||
setTimeout(() => {
|
||||
window.location.href = '/createProfile';
|
||||
}, 5000);
|
||||
}
|
||||
|
||||
async function acceptInvite() {
|
||||
let challengeResponse;
|
||||
try {
|
||||
challengeResponse = await fetch('/api/signup/nostr-challenge', {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(`Something went wrong: ${error}`);
|
||||
return;
|
||||
}
|
||||
|
||||
const { challenge } = await challengeResponse.json();
|
||||
|
||||
let pubkey;
|
||||
try {
|
||||
pubkey = await window.nostr.getPublicKey();
|
||||
} catch (error) {
|
||||
document.querySelector('#rejected-nostr-nudges').style.display = 'block';
|
||||
return;
|
||||
}
|
||||
const event = {
|
||||
kind: 22242,
|
||||
created_at: Math.floor(Date.now() / 1000),
|
||||
tags: [['challenge', challenge]],
|
||||
content: 'Sign this challenge to authenticate',
|
||||
pubkey: pubkey,
|
||||
};
|
||||
|
||||
let signedEvent;
|
||||
try {
|
||||
signedEvent = await window.nostr.signEvent(event);
|
||||
} catch (error) {
|
||||
document.querySelector('#rejected-nostr-nudges').style.display = 'block';
|
||||
return;
|
||||
}
|
||||
|
||||
let verifyResponse;
|
||||
try {
|
||||
verifyResponse = await fetch('/api/signup/nostr-verify', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify(signedEvent),
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(`Something went wrong: ${error}`);
|
||||
return;
|
||||
}
|
||||
|
||||
if (verifyResponse.ok) {
|
||||
showConfirmationAndRedirect();
|
||||
}
|
||||
}
|
||||
72
public/javascript/login.js
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
window.onload = function () {
|
||||
if (!window.nostr) {
|
||||
console.log('Nostr extension not present');
|
||||
document.querySelector('#login-button').disabled = true;
|
||||
document.querySelector('#no-extension-nudges').style.display = 'block';
|
||||
} else {
|
||||
console.log('Nostr extension present');
|
||||
}
|
||||
};
|
||||
|
||||
async function login() {
|
||||
let challengeResponse;
|
||||
try {
|
||||
challengeResponse = await fetch('/api/login/nostr-challenge', {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(`Something went wrong: ${error}`);
|
||||
return;
|
||||
}
|
||||
|
||||
const { challenge } = await challengeResponse.json();
|
||||
|
||||
let pubkey;
|
||||
try {
|
||||
pubkey = await window.nostr.getPublicKey();
|
||||
} catch (error) {
|
||||
document.querySelector('#rejected-nostr-nudges').style.display = 'block';
|
||||
return;
|
||||
}
|
||||
const event = {
|
||||
kind: 22242,
|
||||
created_at: Math.floor(Date.now() / 1000),
|
||||
tags: [['challenge', challenge]],
|
||||
content: 'Sign this challenge to authenticate',
|
||||
pubkey: pubkey,
|
||||
};
|
||||
|
||||
let signedEvent;
|
||||
try {
|
||||
signedEvent = await window.nostr.signEvent(event);
|
||||
} catch (error) {
|
||||
document.querySelector('#rejected-nostr-nudges').style.display = 'block';
|
||||
return;
|
||||
}
|
||||
|
||||
let verifyResponse;
|
||||
try {
|
||||
verifyResponse = await fetch('/api/login/nostr-verify', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify(signedEvent),
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(`Something went wrong: ${error}`);
|
||||
return;
|
||||
}
|
||||
|
||||
if (verifyResponse.status === 403) {
|
||||
document.querySelector('#rejected-public-key').style.display = 'block';
|
||||
}
|
||||
|
||||
if (verifyResponse.ok) {
|
||||
document.querySelector('#sign-up-success').style.display = 'block';
|
||||
setTimeout(() => {
|
||||
window.location.href = '/home';
|
||||
}, 1000);
|
||||
}
|
||||
}
|
||||
697
public/javascript/offers.js
Normal file
|
|
@ -0,0 +1,697 @@
|
|||
function offersPage() {
|
||||
const buttonStartCreateOffer = document.getElementById(
|
||||
'button-start-create-offer'
|
||||
);
|
||||
const buttonViewMyOffers = document.getElementById('button-view-my-offers');
|
||||
const closeOffer = document.getElementById('close-offer');
|
||||
const createOfferModalRoot = document.getElementById(
|
||||
'create-offer-modal-root'
|
||||
);
|
||||
const viewMyOffersRoot = document.getElementById('view-my-offers-root');
|
||||
const buyOrSellButtonGroup = document.getElementById(
|
||||
'button-group-buy-or-sell'
|
||||
);
|
||||
const buyOrSellButtons = buyOrSellButtonGroup.querySelectorAll('button');
|
||||
const buyButton = document.getElementById('button-buy-bitcoin');
|
||||
const sellButton = document.getElementById('button-sell-bitcoin');
|
||||
|
||||
const premiumValue = document.getElementById('premium-value');
|
||||
const buttonIncreasePremium = document.getElementById(
|
||||
'button-increase-premium'
|
||||
);
|
||||
|
||||
const buttonDecreasePremium = document.getElementById(
|
||||
'button-decrease-premium'
|
||||
);
|
||||
|
||||
const eurAmountInput = document.getElementById('input-eur-amount');
|
||||
const btcAmountInput = document.getElementById('input-btc-amount');
|
||||
|
||||
const placeInput = document.getElementById('place-input');
|
||||
const timeInput = document.getElementById('time-input');
|
||||
|
||||
const onchainCheckbox = document.getElementById('onchain-checkbox');
|
||||
const lightningCheckbox = document.getElementById('lightning-checkbox');
|
||||
|
||||
const btcMethodCheckboxes = [onchainCheckbox, lightningCheckbox];
|
||||
|
||||
const myTrustedCheckbox = document.getElementById('my-trusted-checkbox');
|
||||
const myTrustedTrustedCheckbox = document.getElementById(
|
||||
'my-trusted-trusted-checkbox'
|
||||
);
|
||||
const allMembersCheckbox = document.getElementById('all-members-checkbox');
|
||||
|
||||
const bigNotesAcceptedCheckbox = document.getElementById(
|
||||
'large-bills-checkbox'
|
||||
);
|
||||
|
||||
const publishOfferButton = document.getElementById('button-submit-offer');
|
||||
|
||||
const offerCreatedPopup = document.getElementById(
|
||||
'offer-created-confirmation'
|
||||
);
|
||||
const offerDeletedPopup = document.getElementById(
|
||||
'offer-deleted-confirmation'
|
||||
);
|
||||
|
||||
const ownOffersContainer = document.getElementById('own-offers-container');
|
||||
|
||||
function toggleCreateOfferModal() {
|
||||
createOfferModalRoot.classList.toggle('shown');
|
||||
}
|
||||
|
||||
function toggleViewMyOffersPanel() {
|
||||
viewMyOffersRoot.style.display =
|
||||
viewMyOffersRoot.style.display === 'block' ? 'none' : 'block';
|
||||
}
|
||||
|
||||
function modifyPremiumValue(delta) {
|
||||
const regexExpression = /-*\d+/;
|
||||
const numValue = parseInt(premiumValue.innerText.match(regexExpression)[0]);
|
||||
|
||||
const newValue = `${numValue + delta}%`;
|
||||
|
||||
premiumValue.innerText = newValue;
|
||||
}
|
||||
|
||||
function toggleBuyOrSellButtonGroup() {
|
||||
buyOrSellButtons.forEach((button) => {
|
||||
if (button.classList.contains('selected')) {
|
||||
button.classList.remove('selected');
|
||||
} else {
|
||||
button.classList.add('selected');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function readIntFromEurAmountInput() {
|
||||
const eurAmountFieldValue = eurAmountInput.value;
|
||||
const regularExpression = /([\d\s]+)/;
|
||||
const matchResult = eurAmountFieldValue.match(regularExpression);
|
||||
|
||||
if (!matchResult) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const numberString = matchResult[1];
|
||||
const cleanInputNumber = parseInt(numberString.replace(/\s/gi, ''));
|
||||
|
||||
return cleanInputNumber;
|
||||
}
|
||||
|
||||
function validateAndFormatEurAmountInput() {
|
||||
const cleanInputNumber = readIntFromEurAmountInput();
|
||||
eurAmountInput.classList.remove('input-is-valid', 'input-is-invalid');
|
||||
if (cleanInputNumber) {
|
||||
eurAmountInput.value = formatNumberWithSpaces(cleanInputNumber);
|
||||
eurAmountInput.classList.add('input-is-valid');
|
||||
return;
|
||||
}
|
||||
|
||||
eurAmountInput.classList.add('input-is-invalid');
|
||||
}
|
||||
|
||||
function updateBtcInput() {
|
||||
const eurToSatRate = 1021;
|
||||
const cleanEurAmount = readIntFromEurAmountInput();
|
||||
|
||||
const satsAmount = cleanEurAmount * eurToSatRate;
|
||||
const formattedSatsAmount = formatNumberWithSpaces(satsAmount);
|
||||
btcAmountInput.value = formattedSatsAmount;
|
||||
}
|
||||
|
||||
function validateBitcoinMethodCheckboxes(clickedCheckbox) {
|
||||
let checkedCount = btcMethodCheckboxes.filter((cb) => cb.checked).length;
|
||||
if (checkedCount === 0) {
|
||||
clickedCheckbox.checked = true;
|
||||
}
|
||||
}
|
||||
|
||||
function applyTrustCheckboxConstraints(pressedCheckbox) {
|
||||
if (pressedCheckbox === myTrustedTrustedCheckbox) {
|
||||
console.log('first case!');
|
||||
if (!myTrustedTrustedCheckbox.checked && allMembersCheckbox.checked) {
|
||||
allMembersCheckbox.checked = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (pressedCheckbox === allMembersCheckbox) {
|
||||
console.log('second case!');
|
||||
if (!myTrustedTrustedCheckbox.checked && allMembersCheckbox.checked) {
|
||||
myTrustedTrustedCheckbox.checked = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function publishOffer() {
|
||||
let wants;
|
||||
if (buyButton.classList.contains('selected')) {
|
||||
wants = 'BTC';
|
||||
}
|
||||
if (sellButton.classList.contains('selected')) {
|
||||
wants = 'EUR';
|
||||
}
|
||||
|
||||
const premium = parseInt(premiumValue.innerText.match(/\d+/)[0]) / 100;
|
||||
const trade_amount_eur = eurAmountInput.value;
|
||||
const location_details = placeInput.value;
|
||||
const time_availability_details = timeInput.value;
|
||||
const is_onchain_accepted = onchainCheckbox.checked;
|
||||
const is_lightning_accepted = lightningCheckbox.checked;
|
||||
const show_offer_to_trusted = myTrustedCheckbox.checked;
|
||||
const show_offer_to_trusted_trusted = myTrustedTrustedCheckbox.checked;
|
||||
const show_offer_to_all_members = allMembersCheckbox.checked;
|
||||
const are_big_notes_accepted = bigNotesAcceptedCheckbox.checked;
|
||||
|
||||
const offerDetails = {
|
||||
wants,
|
||||
premium,
|
||||
trade_amount_eur,
|
||||
location_details,
|
||||
time_availability_details,
|
||||
is_onchain_accepted,
|
||||
is_lightning_accepted,
|
||||
show_offer_to_trusted,
|
||||
show_offer_to_trusted_trusted,
|
||||
show_offer_to_all_members,
|
||||
are_big_notes_accepted,
|
||||
};
|
||||
|
||||
await fetch('/api/offer', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: JSON.stringify({ offerDetails }),
|
||||
});
|
||||
|
||||
toggleOfferCreatedAlert();
|
||||
|
||||
toggleCreateOfferModal();
|
||||
}
|
||||
|
||||
function toggleOfferCreatedAlert() {
|
||||
offerCreatedPopup.classList.remove('max-size-zero');
|
||||
offerCreatedPopup.classList.add('revealed');
|
||||
setTimeout(() => {
|
||||
offerCreatedPopup.classList.remove('revealed');
|
||||
}, 3000);
|
||||
setTimeout(() => {
|
||||
offerCreatedPopup.classList.add('max-size-zero');
|
||||
}, 4000);
|
||||
}
|
||||
|
||||
function toggleOfferDeletedAlert() {
|
||||
offerDeletedPopup.classList.remove('max-size-zero');
|
||||
offerDeletedPopup.classList.add('revealed');
|
||||
setTimeout(() => {
|
||||
offerDeletedPopup.classList.remove('revealed');
|
||||
}, 3000);
|
||||
setTimeout(() => {
|
||||
offerDeletedPopup.classList.add('max-size-zero');
|
||||
}, 4000);
|
||||
}
|
||||
|
||||
class Offer {
|
||||
constructor(offerData) {
|
||||
this.uuid = offerData.uuid;
|
||||
this.public_key = offerData.public_key;
|
||||
this.wants = offerData.wants;
|
||||
this.premium = offerData.premium;
|
||||
this.trade_amount_eur = offerData.trade_amount_eur;
|
||||
this.location_details = offerData.location_details;
|
||||
this.time_availability_details = offerData.time_availability_details;
|
||||
this.show_offer_to_trusted = offerData.show_offer_to_trusted;
|
||||
this.show_offer_to_trusted_trusted =
|
||||
offerData.show_offer_to_trusted_trusted;
|
||||
this.show_offer_to_all_members = offerData.show_offer_to_all_members;
|
||||
this.is_onchain_accepted = offerData.is_onchain_accepted;
|
||||
this.is_lightning_accepted = offerData.is_lightning_accepted;
|
||||
this.are_big_notes_accepted = offerData.are_big_notes_accepted;
|
||||
this.created_at = offerData.created_at;
|
||||
this.last_updated_at = offerData.last_updated_at;
|
||||
}
|
||||
|
||||
buildHTML() {
|
||||
const offerCard = document.createElement('div');
|
||||
offerCard.classList.add('myoffer-card');
|
||||
offerCard.classList.add('shadowed-round-area');
|
||||
|
||||
const tradeDescDiv = document.createElement('div');
|
||||
tradeDescDiv.classList.add('trade-desc');
|
||||
|
||||
const youBuyText = document.createElement('p');
|
||||
youBuyText.classList.add('offer-card-content-title');
|
||||
youBuyText.innerText = 'Compras';
|
||||
tradeDescDiv.append(youBuyText);
|
||||
|
||||
const youBuyData = document.createElement('p');
|
||||
youBuyData.classList.add('offer-card-content-data');
|
||||
if (this.wants === 'BTC') {
|
||||
youBuyData.innerText = `${this.trade_amount_eur * 1021} sats`;
|
||||
}
|
||||
if (this.wants === 'EUR') {
|
||||
youBuyData.innerText = `${this.trade_amount_eur} €`;
|
||||
}
|
||||
tradeDescDiv.append(youBuyData);
|
||||
|
||||
const youSellText = document.createElement('p');
|
||||
youSellText.id = 'you-sell-title';
|
||||
youSellText.classList.add('offer-card-content-title');
|
||||
youSellText.innerText = 'Vendes';
|
||||
tradeDescDiv.append(youSellText);
|
||||
|
||||
const youSellData = document.createElement('p');
|
||||
youSellData.classList.add('offer-card-content-data');
|
||||
if (this.wants === 'BTC') {
|
||||
youSellData.innerText = `${this.trade_amount_eur} €`;
|
||||
}
|
||||
if (this.wants === 'EUR') {
|
||||
youSellData.innerText = `${this.trade_amount_eur * 1021} sats`;
|
||||
}
|
||||
tradeDescDiv.append(youSellData);
|
||||
|
||||
const premiumDescDiv = document.createElement('div');
|
||||
premiumDescDiv.classList.add('premium-desc');
|
||||
|
||||
const premiumTitle = document.createElement('p');
|
||||
premiumTitle.classList.add('offer-card-content-title');
|
||||
premiumTitle.innerText = 'Premium';
|
||||
premiumDescDiv.append(premiumTitle);
|
||||
|
||||
const premiumData = document.createElement('p');
|
||||
premiumData.classList.add('offer-card-content-data');
|
||||
premiumData.innerText = `${this.premium * 100} %`;
|
||||
premiumDescDiv.append(premiumData);
|
||||
|
||||
const offerPriceTitle = document.createElement('p');
|
||||
offerPriceTitle.classList.add('offer-card-content-title');
|
||||
offerPriceTitle.innerText = 'Precio oferta';
|
||||
premiumDescDiv.append(offerPriceTitle);
|
||||
|
||||
const offerPriceData = document.createElement('p');
|
||||
offerPriceData.classList.add('offer-card-content-data');
|
||||
offerPriceData.innerText = `90000 €/BTC`;
|
||||
premiumDescDiv.append(offerPriceData);
|
||||
|
||||
const marketPriceTitle = document.createElement('p');
|
||||
marketPriceTitle.classList.add('offer-card-content-title');
|
||||
marketPriceTitle.innerText = 'Precio mercado';
|
||||
premiumDescDiv.append(marketPriceTitle);
|
||||
|
||||
const marketPriceData = document.createElement('p');
|
||||
marketPriceData.innerText = `88000 €/BTC`;
|
||||
premiumDescDiv.append(marketPriceData);
|
||||
|
||||
const whereDescDiv = document.createElement('div');
|
||||
whereDescDiv.classList.add('where-desc');
|
||||
|
||||
const whereDescTitle = document.createElement('p');
|
||||
whereDescTitle.classList.add('offer-card-content-title');
|
||||
whereDescTitle.innerText = 'Dónde';
|
||||
whereDescDiv.append(whereDescTitle);
|
||||
|
||||
const whereDescData = document.createElement('p');
|
||||
whereDescData.classList.add('offer-long-text');
|
||||
whereDescData.innerText = `${this.location_details}`;
|
||||
whereDescDiv.append(whereDescData);
|
||||
|
||||
const whenDescDiv = document.createElement('div');
|
||||
whenDescDiv.classList.add('when-desc');
|
||||
|
||||
const whenDescTitle = document.createElement('p');
|
||||
whenDescTitle.classList.add('offer-card-content-title');
|
||||
whenDescTitle.innerText = 'Cúando';
|
||||
whenDescDiv.append(whenDescTitle);
|
||||
|
||||
const whenDescData = document.createElement('p');
|
||||
whenDescData.classList.add('offer-long-text');
|
||||
whenDescData.innerText = `${this.time_availability_details}`;
|
||||
whenDescDiv.append(whenDescData);
|
||||
|
||||
const bitcoinMethodsDiv = document.createElement('div');
|
||||
bitcoinMethodsDiv.classList.add('bitcoin-methods-desc');
|
||||
|
||||
const bitcoinMethodsTitle = document.createElement('p');
|
||||
bitcoinMethodsTitle.classList.add('offer-card-content-title');
|
||||
bitcoinMethodsTitle.innerText = 'Protocolos Bitcoin aceptados';
|
||||
bitcoinMethodsDiv.append(bitcoinMethodsTitle);
|
||||
|
||||
const onchainAcceptedContainer = document.createElement('div');
|
||||
onchainAcceptedContainer.classList.add('left-icon-checkboxed-field');
|
||||
if (this.is_onchain_accepted) {
|
||||
const onchainIcon = document.createElement('img');
|
||||
onchainIcon.src = '/img/chains-lasecagold.svg';
|
||||
const onchainText = document.createElement('p');
|
||||
onchainText.innerText = 'Onchain';
|
||||
const checkIcon = document.createElement('img');
|
||||
checkIcon.src = '/img/circle-check-green.svg';
|
||||
|
||||
onchainAcceptedContainer.append(onchainIcon, onchainText, checkIcon);
|
||||
} else {
|
||||
const onchainIcon = document.createElement('img');
|
||||
onchainIcon.src = '/img/chains-gray.svg';
|
||||
const onchainText = document.createElement('p');
|
||||
onchainText.innerText = 'Onchain';
|
||||
const checkIcon = document.createElement('img');
|
||||
checkIcon.src = '/img/circle-xmark-gray.svg';
|
||||
|
||||
onchainAcceptedContainer.append(onchainIcon, onchainText, checkIcon);
|
||||
}
|
||||
const lightningAcceptedContainer = document.createElement('div');
|
||||
|
||||
lightningAcceptedContainer.classList.add('left-icon-checkboxed-field');
|
||||
if (this.is_lightning_accepted) {
|
||||
const lightningIcon = document.createElement('img');
|
||||
lightningIcon.src = '/img/bolt-lightning-lasecagold.svg';
|
||||
const lightningText = document.createElement('p');
|
||||
lightningText.innerText = 'Lightning';
|
||||
const checkIcon = document.createElement('img');
|
||||
checkIcon.src = '/img/circle-check-green.svg';
|
||||
|
||||
lightningAcceptedContainer.append(
|
||||
lightningIcon,
|
||||
lightningText,
|
||||
checkIcon
|
||||
);
|
||||
} else {
|
||||
const lightningIcon = document.createElement('img');
|
||||
lightningIcon.src = '/img/bolt-lightning-gray.svg';
|
||||
const lightningText = document.createElement('p');
|
||||
lightningText.innerText = 'Lightning';
|
||||
const checkIcon = document.createElement('img');
|
||||
checkIcon.src = '/img/circle-xmark-gray.svg';
|
||||
|
||||
lightningAcceptedContainer.append(
|
||||
lightningIcon,
|
||||
lightningText,
|
||||
checkIcon
|
||||
);
|
||||
}
|
||||
|
||||
bitcoinMethodsDiv.append(
|
||||
onchainAcceptedContainer,
|
||||
lightningAcceptedContainer
|
||||
);
|
||||
|
||||
const visibilityDiv = document.createElement('div');
|
||||
visibilityDiv.classList.add('visibility-desc');
|
||||
|
||||
const visibilityTitle = document.createElement('p');
|
||||
visibilityTitle.classList.add('offer-card-content-title');
|
||||
visibilityTitle.innerText = 'Visibilidad';
|
||||
visibilityDiv.append(visibilityTitle);
|
||||
|
||||
const showOfferToTrustedContainer = document.createElement('div');
|
||||
showOfferToTrustedContainer.classList.add('right-icon-checkboxed-field');
|
||||
|
||||
if (this.show_offer_to_trusted) {
|
||||
const showOfferToTrustedIcon = document.createElement('img');
|
||||
showOfferToTrustedIcon.src = '/img/user-lasecagold.svg';
|
||||
const showOfferToTrustedText = document.createElement('p');
|
||||
showOfferToTrustedText.innerText = 'Confiados';
|
||||
const checkIcon = document.createElement('img');
|
||||
checkIcon.src = '/img/circle-check-green.svg';
|
||||
|
||||
showOfferToTrustedContainer.append(
|
||||
showOfferToTrustedIcon,
|
||||
showOfferToTrustedText,
|
||||
checkIcon
|
||||
);
|
||||
} else {
|
||||
const showOfferToTrustedIcon = document.createElement('img');
|
||||
showOfferToTrustedIcon.src = '/img/user-gray.svg';
|
||||
const showOfferToTrustedText = document.createElement('p');
|
||||
showOfferToTrustedText.innerText = 'Confiados';
|
||||
const checkIcon = document.createElement('img');
|
||||
checkIcon.src = '/img/circle-xmark-gray.svg';
|
||||
|
||||
showOfferToTrustedContainer.append(
|
||||
showOfferToTrustedIcon,
|
||||
showOfferToTrustedText,
|
||||
checkIcon
|
||||
);
|
||||
}
|
||||
|
||||
const showOfferToTrustedTrustedContainer = document.createElement('div');
|
||||
showOfferToTrustedTrustedContainer.classList.add(
|
||||
'right-icon-checkboxed-field'
|
||||
);
|
||||
|
||||
if (this.show_offer_to_trusted_trusted) {
|
||||
const showOfferToTrustedTrustedIcon = document.createElement('img');
|
||||
showOfferToTrustedTrustedIcon.src = '/img/user-group-lasecagold.svg';
|
||||
const showOfferToTrustedTrustedText = document.createElement('p');
|
||||
showOfferToTrustedTrustedText.innerText = 'Sus confiados';
|
||||
const checkIcon = document.createElement('img');
|
||||
checkIcon.src = '/img/circle-check-green.svg';
|
||||
|
||||
showOfferToTrustedTrustedContainer.append(
|
||||
showOfferToTrustedTrustedIcon,
|
||||
showOfferToTrustedTrustedText,
|
||||
checkIcon
|
||||
);
|
||||
} else {
|
||||
const showOfferToTrustedTrustedIcon = document.createElement('img');
|
||||
showOfferToTrustedTrustedIcon.src = '/img/user-group-gray.svg';
|
||||
const showOfferToTrustedTrustedText = document.createElement('p');
|
||||
showOfferToTrustedTrustedText.innerText = 'Sus confiados';
|
||||
const checkIcon = document.createElement('img');
|
||||
checkIcon.src = '/img/circle-xmark-gray.svg';
|
||||
|
||||
showOfferToTrustedTrustedContainer.append(
|
||||
showOfferToTrustedTrustedIcon,
|
||||
showOfferToTrustedTrustedText,
|
||||
checkIcon
|
||||
);
|
||||
}
|
||||
|
||||
const showOfferToAllMembersContainer = document.createElement('div');
|
||||
showOfferToAllMembersContainer.classList.add(
|
||||
'right-icon-checkboxed-field'
|
||||
);
|
||||
|
||||
if (this.show_offer_to_all_members) {
|
||||
const showOfferToAllMembersIcon = document.createElement('img');
|
||||
showOfferToAllMembersIcon.src = '/img/many-users-lasecagold.svg';
|
||||
const showOfferToAllMembersText = document.createElement('p');
|
||||
showOfferToAllMembersText.innerText = 'Todos';
|
||||
const checkIcon = document.createElement('img');
|
||||
checkIcon.src = '/img/circle-check-green.svg';
|
||||
|
||||
showOfferToAllMembersContainer.append(
|
||||
showOfferToAllMembersIcon,
|
||||
showOfferToAllMembersText,
|
||||
checkIcon
|
||||
);
|
||||
} else {
|
||||
const showOfferToAllMembersIcon = document.createElement('img');
|
||||
showOfferToAllMembersIcon.src = '/img/many-users-gray.svg';
|
||||
const showOfferToAllMembersText = document.createElement('p');
|
||||
showOfferToAllMembersText.innerText = 'Todos';
|
||||
const checkIcon = document.createElement('img');
|
||||
checkIcon.src = '/img/circle-xmark-gray.svg';
|
||||
|
||||
showOfferToAllMembersContainer.append(
|
||||
showOfferToAllMembersIcon,
|
||||
showOfferToAllMembersText,
|
||||
checkIcon
|
||||
);
|
||||
}
|
||||
visibilityDiv.append(
|
||||
showOfferToTrustedContainer,
|
||||
showOfferToTrustedTrustedContainer,
|
||||
showOfferToAllMembersContainer
|
||||
);
|
||||
|
||||
const otherOfferFeaturesDiv = document.createElement('div');
|
||||
otherOfferFeaturesDiv.classList.add('other-desc');
|
||||
|
||||
const otherOfferFeaturesTitle = document.createElement('p');
|
||||
otherOfferFeaturesTitle.classList.add('offer-card-content-title');
|
||||
otherOfferFeaturesTitle.innerText = 'Otros';
|
||||
otherOfferFeaturesDiv.append(otherOfferFeaturesTitle);
|
||||
|
||||
const areBigNotesAcceptedContainer = document.createElement('div');
|
||||
areBigNotesAcceptedContainer.classList.add('left-icon-checkboxed-field');
|
||||
|
||||
if (this.are_big_notes_accepted) {
|
||||
const areBigNotesAcceptedIcon = document.createElement('img');
|
||||
areBigNotesAcceptedIcon.src = '/img/eur-bill-lasecagold.svg';
|
||||
const areBigNotesAcceptedText = document.createElement('p');
|
||||
areBigNotesAcceptedText.innerText = 'Billetes grandes';
|
||||
const checkIcon = document.createElement('img');
|
||||
checkIcon.src = '/img/circle-check-green.svg';
|
||||
|
||||
areBigNotesAcceptedContainer.append(
|
||||
areBigNotesAcceptedIcon,
|
||||
areBigNotesAcceptedText,
|
||||
checkIcon
|
||||
);
|
||||
} else {
|
||||
const areBigNotesAcceptedIcon = document.createElement('img');
|
||||
areBigNotesAcceptedIcon.src = '/img/eur-bill-gray.svg';
|
||||
const areBigNotesAcceptedText = document.createElement('p');
|
||||
areBigNotesAcceptedText.innerText = 'Billetes grandes';
|
||||
const checkIcon = document.createElement('img');
|
||||
checkIcon.src = '/img/circle-xmark-gray.svg';
|
||||
|
||||
areBigNotesAcceptedContainer.append(
|
||||
areBigNotesAcceptedIcon,
|
||||
areBigNotesAcceptedText,
|
||||
checkIcon
|
||||
);
|
||||
}
|
||||
|
||||
otherOfferFeaturesDiv.append(areBigNotesAcceptedContainer);
|
||||
|
||||
const actionButtonsArea = document.createElement('p');
|
||||
actionButtonsArea.classList.add('offer-action-buttons-area');
|
||||
|
||||
const editActionArea = document.createElement('div');
|
||||
editActionArea.classList.add('offer-action-area');
|
||||
editActionArea.classList.add('subtle-box');
|
||||
const editActionIcon = document.createElement('img');
|
||||
editActionIcon.src = '/img/edit.svg';
|
||||
const editActionText = document.createElement('p');
|
||||
editActionText.innerText = 'Editar';
|
||||
editActionArea.append(editActionIcon, editActionText);
|
||||
|
||||
const deleteActionArea = document.createElement('div');
|
||||
deleteActionArea.classList.add('offer-action-area');
|
||||
deleteActionArea.classList.add('subtle-box');
|
||||
const deleteActionIcon = document.createElement('img');
|
||||
deleteActionIcon.src = '/img/trash-can-darkred.svg';
|
||||
const deleteActionText = document.createElement('p');
|
||||
deleteActionText.innerText = 'Eliminar';
|
||||
deleteActionArea.append(deleteActionIcon, deleteActionText);
|
||||
deleteActionArea.addEventListener('click', async () => {
|
||||
await deleteOfferByUuid(this.uuid);
|
||||
await myOffers.getOffersFromApi();
|
||||
await myOffers.render();
|
||||
toggleOfferDeletedAlert();
|
||||
});
|
||||
|
||||
actionButtonsArea.append(editActionArea, deleteActionArea);
|
||||
|
||||
offerCard.append(
|
||||
tradeDescDiv,
|
||||
premiumDescDiv,
|
||||
whereDescDiv,
|
||||
whenDescDiv,
|
||||
bitcoinMethodsDiv,
|
||||
visibilityDiv,
|
||||
otherOfferFeaturesDiv,
|
||||
actionButtonsArea
|
||||
);
|
||||
|
||||
return offerCard;
|
||||
}
|
||||
}
|
||||
|
||||
class MyOffers {
|
||||
constructor(ownOffersContainerElement) {
|
||||
this.ownOffersContainerElement = ownOffersContainerElement;
|
||||
this.offers = [];
|
||||
}
|
||||
|
||||
async getOffersFromApi() {
|
||||
const offersResponse = await fetch('/api/publickey-offers');
|
||||
|
||||
this.offers = [];
|
||||
|
||||
const offersData = (await offersResponse.json()).data;
|
||||
if (offersResponse.ok) {
|
||||
for (const record of offersData) {
|
||||
this.offers.push(new Offer(record));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async render() {
|
||||
if (this.offers.length === 0) {
|
||||
this.ownOffersContainerElement.innerHTML =
|
||||
'<p class="shadowed-round-area">Vaya, no hay nada por aquí...</p>';
|
||||
return;
|
||||
}
|
||||
this.ownOffersContainerElement.innerHTML = '';
|
||||
|
||||
for (const someOffer of this.offers) {
|
||||
this.ownOffersContainerElement.append(someOffer.buildHTML());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function deleteOfferByUuid(offerUuid) {
|
||||
await fetch(`/api/offer/${offerUuid}`, {
|
||||
method: 'DELETE',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
buttonStartCreateOffer.addEventListener('click', () => {
|
||||
toggleCreateOfferModal();
|
||||
});
|
||||
|
||||
buttonViewMyOffers.addEventListener('click', async () => {
|
||||
await myOffers.getOffersFromApi();
|
||||
await myOffers.render();
|
||||
toggleViewMyOffersPanel();
|
||||
});
|
||||
|
||||
closeOffer.addEventListener('click', () => {
|
||||
toggleCreateOfferModal();
|
||||
});
|
||||
|
||||
buyOrSellButtons.forEach((button) => {
|
||||
button.addEventListener('click', () => {
|
||||
toggleBuyOrSellButtonGroup();
|
||||
});
|
||||
});
|
||||
|
||||
buttonIncreasePremium.addEventListener('click', () => {
|
||||
modifyPremiumValue(1);
|
||||
});
|
||||
|
||||
buttonDecreasePremium.addEventListener('click', () => {
|
||||
modifyPremiumValue(-1);
|
||||
});
|
||||
|
||||
eurAmountInput.addEventListener('blur', () => {
|
||||
validateAndFormatEurAmountInput();
|
||||
updateBtcInput();
|
||||
});
|
||||
|
||||
eurAmountInput.addEventListener('input', () => {
|
||||
eurAmountInput.value = eurAmountInput.value.replace(/[^0-9]/g, '');
|
||||
updateBtcInput();
|
||||
});
|
||||
|
||||
for (const btcMethodCheckbox of btcMethodCheckboxes) {
|
||||
btcMethodCheckbox.addEventListener('click', () => {
|
||||
validateBitcoinMethodCheckboxes(btcMethodCheckbox);
|
||||
});
|
||||
}
|
||||
|
||||
myTrustedTrustedCheckbox.addEventListener('click', () => {
|
||||
applyTrustCheckboxConstraints(myTrustedTrustedCheckbox);
|
||||
});
|
||||
|
||||
allMembersCheckbox.addEventListener('click', () => {
|
||||
applyTrustCheckboxConstraints(allMembersCheckbox);
|
||||
});
|
||||
|
||||
publishOfferButton.addEventListener('click', async () => {
|
||||
await publishOffer();
|
||||
await myOffers.getOffersFromApi();
|
||||
await myOffers.render();
|
||||
});
|
||||
|
||||
updateBtcInput();
|
||||
|
||||
const myOffers = new MyOffers(ownOffersContainer);
|
||||
}
|
||||
|
||||
offersPage;
|
||||
3
public/javascript/utils.js
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
function formatNumberWithSpaces(num) {
|
||||
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ' ');
|
||||
}
|
||||