feat: Add submit functionality and styling
This commit is contained in:
		@@ -267,23 +267,56 @@ AN Cards
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.new-animal-ad fieldset {
 | 
					.new-animal-ad fieldset {
 | 
				
			||||||
    border-top: 4px solid var(--bulma-text-weak);
 | 
					  border-top: 4px solid var(--bulma-text-weak);
 | 
				
			||||||
    margin-top: 2em;
 | 
					  margin-top: 2em;
 | 
				
			||||||
    padding-top: 1em;
 | 
					  padding-top: 1em;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.new-animal-ad * {
 | 
					.new-animal-ad * {
 | 
				
			||||||
    transition: all ease 0.5s;
 | 
					  transition: all ease 0.5s;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.new-animal-ad .open {
 | 
					.new-animal-ad .open {
 | 
				
			||||||
    display: block;
 | 
					  display: block;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.new-animal-ad .closed {
 | 
					.new-animal-ad .closed {
 | 
				
			||||||
    display: none;
 | 
					  display: none;
 | 
				
			||||||
    overflow: hidden;
 | 
					  overflow: hidden;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.new-animal-ad legend {
 | 
					.new-animal-ad legend {
 | 
				
			||||||
    font-weight: bold;
 | 
					  font-weight: bold;
 | 
				
			||||||
    padding-right: 0.2em;
 | 
					  padding-right: 0.2em;
 | 
				
			||||||
    color: var(--bulma-label-color);
 | 
					  color: var(--bulma-label-color);
 | 
				
			||||||
    font-size: 130%;
 | 
					  font-size: 130%;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.feedback-backdrop {
 | 
				
			||||||
 | 
					  position: fixed;
 | 
				
			||||||
 | 
					  top: 0;
 | 
				
			||||||
 | 
					  bottom: 0;
 | 
				
			||||||
 | 
					  left: 0;
 | 
				
			||||||
 | 
					  right: 0;
 | 
				
			||||||
 | 
					  background-color: rgba(0, 0, 0, 0.4);
 | 
				
			||||||
 | 
					  display: flex;
 | 
				
			||||||
 | 
					  align-items: center;
 | 
				
			||||||
 | 
					  justify-content: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.feedback-add-new {
 | 
				
			||||||
 | 
					  width: 40ch;
 | 
				
			||||||
 | 
					  min-height: 40ch;
 | 
				
			||||||
 | 
					  padding: 1.5em;
 | 
				
			||||||
 | 
					  background-color: var(--bulma-info-on-scheme);
 | 
				
			||||||
 | 
					  color: black;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.feedback-add-new.error {
 | 
				
			||||||
 | 
					  background-color: var(--bulma-danger-on-scheme);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.feedback-add-new.success {
 | 
				
			||||||
 | 
					  background-color: var(--bulma-success-on-scheme);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -313,7 +313,7 @@ document.addEventListener('DOMContentLoaded', function () {
 | 
				
			|||||||
    div.appendChild(animals);
 | 
					    div.appendChild(animals);
 | 
				
			||||||
    div.appendChild(sButton);
 | 
					    div.appendChild(sButton);
 | 
				
			||||||
    new_form.appendChild(div);
 | 
					    new_form.appendChild(div);
 | 
				
			||||||
    document.querySelector('.content').appendChild(new_form);
 | 
					    document.querySelector('.main-content').appendChild(new_form);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // ------------------------------------------------ listeners
 | 
					    // ------------------------------------------------ listeners
 | 
				
			||||||
    // number of animals
 | 
					    // number of animals
 | 
				
			||||||
@@ -380,15 +380,13 @@ document.addEventListener('DOMContentLoaded', function () {
 | 
				
			|||||||
        let postDate = date.toISOString().slice(0, 10);
 | 
					        let postDate = date.toISOString().slice(0, 10);
 | 
				
			||||||
        const path = '';
 | 
					        const path = '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const xhttp = new XMLHttpRequest();
 | 
					        let elResultsBd = document.createElement('div');
 | 
				
			||||||
        xhttp.onload = function () {
 | 
					        elResultsBd.classList.add('feedback-backdrop');
 | 
				
			||||||
            if (xhttp.status === 201) {
 | 
					        let elResults = document.createElement('div');
 | 
				
			||||||
                console.log(this.responseText);
 | 
					        elResults.classList.add('feedback-add-new');
 | 
				
			||||||
            } else {
 | 
					        elResultsBd.appendChild(elResults);
 | 
				
			||||||
                console.log("Error while posting data!");
 | 
					        document.querySelector('body').appendChild(elResultsBd);
 | 
				
			||||||
            }
 | 
					
 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        const csrftoken = getCookie('csrftoken');
 | 
					 | 
				
			||||||
        let data = JSON.stringify({
 | 
					        let data = JSON.stringify({
 | 
				
			||||||
            "created_at": postDate,
 | 
					            "created_at": postDate,
 | 
				
			||||||
            "searching_since": an_searching_since.value,
 | 
					            "searching_since": an_searching_since.value,
 | 
				
			||||||
@@ -398,10 +396,28 @@ document.addEventListener('DOMContentLoaded', function () {
 | 
				
			|||||||
            "group_only": an_group_only.value,
 | 
					            "group_only": an_group_only.value,
 | 
				
			||||||
            "location_string": an_location_string.value,
 | 
					            "location_string": an_location_string.value,
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        xhttp.open("POST", path + "/api/adoption_notice");
 | 
					 | 
				
			||||||
        xhttp.setRequestHeader("X-CSRFToken", csrftoken);
 | 
					 | 
				
			||||||
        xhttp.setRequestHeader('content-type', 'application/json');
 | 
					 | 
				
			||||||
        xhttp.send(data);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        async function submitAN() {
 | 
				
			||||||
 | 
					            const csrftoken = getCookie('csrftoken');
 | 
				
			||||||
 | 
					            let response = await fetch('http://localhost:8000/api/adoption_notice', {
 | 
				
			||||||
 | 
					                method: 'POST',
 | 
				
			||||||
 | 
					                headers: {
 | 
				
			||||||
 | 
					                    'Content-Type': 'application/json;charset=utf-8',
 | 
				
			||||||
 | 
					                    'X-CSRFToken': csrftoken,
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                body: data,
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					            console.log(response.status);
 | 
				
			||||||
 | 
					            if (response.status === 201) {
 | 
				
			||||||
 | 
					                let result = await response.json();
 | 
				
			||||||
 | 
					                elResults.textContent = result.message + '<br>neue Id: ' + result.id;
 | 
				
			||||||
 | 
					                elResults.classList.add('success');
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                elResults.textContent = 'Fehler! Status Code: ' + response.status;
 | 
				
			||||||
 | 
					                elResults.classList.add('error');
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        submitAN();
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user