JavaScript

// INPUT
const login = document.getElementById("loginInput");
const password = document.getElementById("passwordInput");
const button = document.getElementById("sendButton");
const loginButton = document.getElementById("loginButton");


// FETCH
const url = "https://crudcrud.com/api/ebf57bbd269048e3ac7cacf52f6ac53f/todos";


const dataRender = (array) => {
  const getHtml = document.getElementById("userTable");
  if (array === undefined) {
    console.log("Loading results...");
  } else {
    let dataList = array.map((item) => {
      return `
        <div class="users">
          <p>${item.login}</p>
          <button onclick="deleteRequest('${item._id}')">Delete</button>
        </div>
      `;
    });
    getHtml.innerHTML = dataList.join("");
  }
};


const fetchData = async () => {
  try {
    const response = await fetch(url);
    const data = await response.json();
    dataRender(data);
  } catch (error) {
    console.error(error);
  }
};


fetchData();


// POST_REQUEST
const postRequest = async () => {
  const data = {
    login: login.value,
    password: password.value,
    isLogin: false,
  };


  try {
    const response = await fetch(url, {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
      },
      body: JSON.stringify(data),
    });


    const results = await response.json();
    console.log(results.message);
    fetchData();
  } catch (error) {
    console.error(error);
  }
};


button.addEventListener("click", () => {
  postRequest();
});


// DELETE_REQUEST
const deleteRequest = async (id) => {
  try {
    const response = await fetch(`${url}/${id}`, {
      method: "DELETE",
      headers: {
        "Content-Type": "application/json",
      },
    });


    const results = await response.json();
    console.log(results.message);
    fetchData();
  } catch (error) {
    console.error(error);
  }
};


//GETLOGGEDIN
const getLoggedIn = async () => {
  try {
    const response = await fetch (`${url}/getLoggedIn`, {
      method: "GET",
      headers: {
        "Content-Type": "application/json"
      }
    })
    const results = await response.json()
    console.log(results.message); 
  }
  catch (error) {
    console.error(error);
  }
}


//UPDATEISLOGIN
const updateIsLogin = async (value) => {
  const data = {
    isLogin: value
  }
  try {
    const response = await fetch (`${url}/updateIsLogin`, {
      method: "PUT",
      headers: {
        "Content-Type": "application/json"
      },
      body: JSON.stringify(data) 
    })
    const results = await response.json()
    console.log(results.message);
  }
  catch (error) {
    console.error(error);
  }
}


// LOGIN_REQUEST
const loginRequest = async () => {
  const data = {
    login: login.value,
    password: password.value,
  };


  try {
    const response = await fetch(`${url}/login`, {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
      },
      body: JSON.stringify(data),
    });


    const results = await response.json();
    console.log(results.message);


    if (results.success) {
      await updateIsLogin(true);
      getLoggedIn()
    }
  } catch (error) {
    console.error(error);
  }
};


loginButton.addEventListener("click", () => {
  loginRequest();
});
...zur Antwort

JavaScript:

const title = document.createElement("h1");
        title.textContent = "My favourite movies!";
        document.body.appendChild(title);

        const inputOne = document.createElement("input");
        document.body.appendChild(inputOne);
        inputOne.placeholder = "Enter a movie name!";

        const inputTwo = document.createElement("input");
        document.body.appendChild(inputTwo);
        inputTwo.placeholder = "Add a link!";

        const buttonsDiv = document.createElement("div");
        document.body.append(buttonsDiv);

        const addMovieButton = document.createElement("button");
        addMovieButton.textContent = "Add this movie!";
        buttonsDiv.appendChild(addMovieButton);

        const otherButtonsDiv = document.createElement("div");
        document.body.append(otherButtonsDiv);

        const deleteLastMovieButton = document.createElement("button");
        deleteLastMovieButton.textContent = "Remove last!";
        otherButtonsDiv.appendChild(deleteLastMovieButton);

        const deleteAllMoviesButton = document.createElement("button");
        deleteAllMoviesButton.textContent = "Remove all!";
        otherButtonsDiv.appendChild(deleteAllMoviesButton);

        const movieDivs = document.createElement("div");
        document.body.append(movieDivs);

        document.body.style.backgroundImage = "url(https://i.pinimg.com/564x/55/af/85/55af8508354f18b2ffbb325a36a3c2bb.jpg)";
        //TITLE_STYLE
        title.style.textAlign = "center"
        title.style.fontSize = "3rem"
        title.style.fontFamily = "'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif"
        title.style.color = "#fff"


        //INPUT_ONE_STYLE
        inputOne.style.width = "50%"
        inputOne.style.height = "35px"
        inputOne.style.marginLeft = "24%"
        inputOne.style.marginTop = "10%"
        inputOne.style.borderRadius = "7px"
        
        
        //INPUT_TWO_STYLE
        inputTwo.style.width = "50%"
        inputTwo.style.height = "35px"
        inputTwo.style.marginTop = "13px"
        inputTwo.style.marginLeft = "24%"
        inputTwo.style.borderRadius = "7px"
        
        
        //BUTTON_DIV_STYLE
        buttonsDiv.style.marginLeft = "355px"
        buttonsDiv.style.marginTop = "20px"
        
        
        //ADD_MOVIE_BUTTON_STYLE
        addMovieButton.style.width = "13%"
        addMovieButton.style.height = "30px"
        addMovieButton.style.background = "linear-gradient(45deg, rgba(201,37,107,1) 15%, rgba(116,16,124,1) 75%)";
        addMovieButton.style.color = "#fff"
        addMovieButton.style.fontWeight = "600"
        addMovieButton.style.borderRadius = "7px"
        addMovieButton.style.border = "#fff"
        addMovieButton.style.cursor = "pointer"
        
        
        //OTHER_BUTTONS_DIV_STYLE
        otherButtonsDiv.style.marginLeft = "355px"
        otherButtonsDiv.style.marginTop = "25px"


        //REMOVE_LAST_MOVIE_BUTTON
        deleteLastMovieButton.style.width = "11%"
        deleteLastMovieButton.style.height = "30px"
        deleteLastMovieButton.style.background = "linear-gradient(45deg, rgba(201,37,107,1) 15%, rgba(116,16,124,1) 75%)";
        deleteLastMovieButton.style.color = "#fff"
        deleteLastMovieButton.style.fontWeight = "600"
        deleteLastMovieButton.style.borderRadius = "7px"
        deleteLastMovieButton.style.border = "#fff"
        deleteLastMovieButton.style.cursor = "pointer"


        //REMOVE_ALL_MOVIES_BUTTON
        deleteAllMoviesButton.style.width = "11%"
        deleteAllMoviesButton.style.height = "30px"
        deleteAllMoviesButton.style.background = "linear-gradient(45deg, rgba(201,37,107,1) 15%, rgba(116,16,124,1) 75%)";
        deleteAllMoviesButton.style.color = "#fff"
        deleteAllMoviesButton.style.fontWeight = "600"
        deleteAllMoviesButton.style.borderRadius = "7px"
        deleteAllMoviesButton.style.border = "#fff"
        deleteAllMoviesButton.style.cursor = "pointer"
        deleteAllMoviesButton.style.marginLeft = "15px"

        addMovieButton.onclick = async () => {
            const pictureLinkAdd = inputTwo.value;
            const textAdd = inputOne.value;

            

            if (pictureLinkAdd && textAdd) {
                try {
                    const response = await fetch('https://crudcrud.com/api/c74c6269d5c245c3bbe96bec091fc01d/movies', {
                        method: 'POST',
                        headers: {
                            'Content-Type': 'application/json',
                        },
                        body: JSON.stringify({ pictureLink: pictureLinkAdd, text: textAdd }),
                    });

                    const data = await response.json();

                    const pictureAdd = document.createElement("img");
                    pictureAdd.src = data.pictureLink;
                    movieDivs.appendChild(pictureAdd);

                    pictureAdd.style.height = "350px"
                    pictureAdd.style.width = "250px"
                    pictureAdd.style.display = "flex"
                    pictureAdd.style.flexDirection = "column"
                    pictureAdd.style.marginTop = "315px"
                    pictureAdd.style.marginLeft = "355px"

                    const textAdding = document.createElement("h3");
                    textAdding.innerHTML = data.text;
                    movieDivs.appendChild(textAdding)

                    textAdding.style.marginLeft = "650px"
                    textAdding.style.marginTop = "-360px"
                    textAdding.style.fontSize = "50px"
                    textAdding.style.color = "#fff"
                    textAdding.style.fontFamily = "'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif"
                } catch (error) {
                    console.error('Error:', error);
                }

                inputTwo.value = ""
                inputOne.value = ""
            }
        };

        deleteAllMoviesButton.onclick = async () => {
          try {
              const response = await fetch('https://crudcrud.com/api/c74c6269d5c245c3bbe96bec091fc01d/movies');
              const data = await response.json();
      
              if (data.length > 0) {
                  movieDivs.innerHTML = "";

                  const movieIds = data.map(movie => movie._id);
      
                  await fetch('https://crudcrud.com/api/c74c6269d5c245c3bbe96bec091fc01d/movies', {
                      method: 'DELETE',
                      headers: {
                          'Content-Type': 'application/json',
                      },
                      body: JSON.stringify({ ids: movieIds }),
                  });
              }
          } catch (error) {
              console.error('Error:', error);
          }
      };
      

        deleteLastMovieButton.onclick = async () => {
            const lastMovie = movieDivs.lastChild;
            const another = movieDivs.lastChild

            if (lastMovie) {
                try {
                    const response = await fetch('https://crudcrud.com/api/c74c6269d5c245c3bbe96bec091fc01d/movies');
                    const data = await response.json();

                    if (data.length > 0) {
                        const lastItemId = data[data.length - 1]._id

                        await fetch(`https://crudcrud.com/api/c74c6269d5c245c3bbe96bec091fc01d/movies/${lastItemId}`, {
                            method: 'DELETE',
                        });

                        movieDivs.removeChild(lastMovie);

                        if(lastMovie) {
                            movieDivs.removeChild(another)
                        }
                        
                    }
                } catch (error) {
                    console.error('Error:', error);
                }
            }
        }


...zur Antwort

Hallo,

mein Vorschlag wäre:

,,Ich habe praktische Erfahrungen in der Anwendung von Python, Matplotlib, NumPy, Jupyter, Spyder, HTML, CSS, Javascript, jQuery, Flexbox, Bootstrap und SASS gesammelt."

Liebe Grüße

MrOsmo

...zur Antwort

Hallo!

Dieses Gefühl habe tatsächlich in manchen Fällen, aber nicht so oft. Vor allem, wenn ich versuche eine Webseite zu programmieren, aber es nicht klappt, da ich im Code irgendeinen Fehler gemacht habe.. In solchen Fällen möchte ich einfach die Arbeit lassen, und mich vergraben gehen.

Liebe Grüße

MrOsmo

...zur Antwort

Guten Abend!

Ja, ich weiß, dass meine Idee banal ist. Aber ich finde, dass "Harry Potter" einer der bekanntesten Filme auf der Welt ist und richtig weihnachtliche Stimmung verbreitet! Die magische Welt von Hogwarts, die winterlichen Szenen und die warmen Beziehungen der Charaktere machen ihn perfekt für gemütliche Weihnachtsabende. Die besondere Atmosphäre, gepaart mit den festlichen Elementen in den Filmen, lässt einen in eine zauberhafte Weihnachtswelt eintauchen.

Liebe Grüße

MrOsmo

...zur Antwort

Hallo!

Ja, ich habe TikTok und habe sogar früher verschiedene Edits erstellt, durch die ich 1000 Abonnenten bekommen habe. Ich dachte, dass man mit 1000 Abonnenten Geld verdienen kann, aber das war nicht der Fall. Man kann zwar mit 1000 Abonnenten Live-Streamen, aber es bringt nicht viel Geld ein. Das war also meine größte Zeitverschwendung und ein Fehler, den ich nie wieder erleben werde!

Liebe Grüße

MrOsmo

...zur Antwort

Hallo!

Die Zeit wird noch kommen, wenn du eine Mutter wirst. Davor musst du jedoch einen guten Ehemann finden, der dich wirklich liebt, und nicht in so einer 'Fake-Beziehung' endet, bei der ihr euch nach zwei Monaten trennt.

Außerdem möchte ich betonen, dass Kinder keine Dinge sind. Wenn du später einmal ein Kind bekommst, solltest du in der Lage sein, dem Kind viel Aufmerksamkeit und Zeit zu widmen. Daher wäre es sinnvoll und auch logisch, zunächst die Schule abzuschließen (das Abitur zu bestehen) und einen Job zu finden.

Ansonsten wünsche ich dir jetzt schon viel Spaß beim Genießen des Lebens! Schätze die Kindheit, denn das Erwachsensein ist nicht so einfach, wie du vielleicht denkst!)))

Liebe Grüße

MrOsmo

...zur Antwort

Guten Abend!

meiner Meinung nach ist der schönste Weinachtsmarkt (Striezelmarkt) in Dresden! Ich war dort schon oft, aber immer wieder, wenn ich dahin komme, ändert sich bei mir die Atmosphäre.. Es wirkt einfach zauberisch und weihnachtlich! Außerdem gibt es dort einen Holz-Pyramiden-Weihnachtsbaum, der atemberaubend ist! Also an allen Nutzern, die meinen Kommentar lesen, würde ich nur empfehlen, dort wenigstens einmal hinzufahren! Ich verspreche es euch, das ihr es nicht bereuen wird!

Hier lasse ich noch paar wunderschöne Bilder von dem Weihnachtsmarkt:

Bild zum Beitrag

Bild zum Beitrag

Bild zum Beitrag

Bild zum Beitrag

Liebe Grüße

MrOsmo

...zur Antwort

Guten Abend,

nein, dieses Jahr haben wir noch keine gebacken, da wir keine Zeit hatten (…viele Ereignisse wie Klassenarbeiten, Tests, mündliche Prüfungen etc.). Aber bald sind ja Winterferien, dort werden wir auf jeden Fall mit der ganzen Familie Plätzchen backen! Zudem ist es bei uns eine Sitte, jedes Jahr Harry Potter zu gucken beim Plätzchenbacken! Es wird wieder spannend sein! An allen schon mal frohe Weihnachten! 🎁🎄

Liebe Grüße

MrOsmo

...zur Antwort
javascript hilfe dringendd?

Hallo zusammen!

Ich habe angefangen eine ToDoListe zu machen und bin schon fast fertig. Allerdings muss ich noch zwei Buttons fertigen und ich weiss nicht wie. Das erste Button ist "Delete All", dieser sollte alle Aufgaben (Aufgaben der ToDoListe) löschen. Das zweite ist "Change Status", dieser sollte, sofort alle Aufgaben wegstreichen oder zeigen dass diese Aufgaben gemacht worden sind. Ich hoffe auf eure Hilfen!

Bin schon richtig müde, und muss die Aufgaben schon bis morgen abschicken..

Dankeschön im Voraus!

LG

const todoInput = document.querySelector(".todo-input");
const todoInputTwo = document.querySelector(".todo-input-two")
const todoButton = document.querySelector(".todo-button");
const todoList = document.querySelector(".todo-list");
const filterOption = document.querySelector(".filter-todo");
const deleteAllTodos = document.querySelector(".deleteAll button")


document.addEventListener("DOMContentLoaded", getLocalTodos);
todoButton.addEventListener("click", addTodo);
todoList.addEventListener("click", deleteCheck);
filterOption.addEventListener("change", filterTodo);


function addTodo(event) {
    event.preventDefault();
    const todoDiv = document.createElement("div");
    todoDiv.classList.add("todo");
    const newTodo = document.createElement("li");
    newTodo.innerText = `${todoInput.value}, Date: ${todoInputTwo.value}`; 
    newTodo.classList.add("todo-item");
    todoDiv.appendChild(newTodo);
+
    saveLocalTodos(todoInput.value);
    
    const completedButton = document.createElement("button");
    completedButton.innerHTML = '<i class="fas fa-check-circle"></li>';
    completedButton.classList.add("complete-btn");
    todoDiv.appendChild(completedButton);


    const trashButton = document.createElement("button");
    trashButton.innerHTML = '<i class="fas fa-trash"></li>';
    trashButton.classList.add("trash-btn");
    todoDiv.appendChild(trashButton);
    
    todoList.appendChild(todoDiv);
    todoInput.value = "";
}


function deleteCheck(e) {
    const item = e.target;


    if(item.classList[0] === "trash-btn") {
        const todo = item.parentElement;
        todo.classList.add("slide");


        removeLocalTodos(todo);
        todo.addEventListener("transitionend", function() {
            todo.remove();
        });
    }


    if(item.classList[0] === "complete-btn") {
        const todo = item.parentElement;
        todo.classList.toggle("completed");
    }
}


function filterTodo(e) {
    const todos = todoList.childNodes;
    todos.forEach(function(todo) {
        switch(e.target.value) {
            case "all": 
                todo.style.display = "flex";
                break;
            case "completed": 
                if(todo.classList.contains("completed")) {
                    todo.style.display = "flex";
                } else {
                    todo.style.display = "none";
                }
                break;
            case "incomplete":
                if(!todo.classList.contains("completed")) {
                    todo.style.display = "flex";
                } else {
                    todo.style.display = "none";
                }
                break;
        }
    });
}


function saveLocalTodos(todo) {
    let todos;
    if(localStorage.getItem("todos") === null) {
        todos = [];
    } else {
        todos = JSON.parse(localStorage.getItem("todos"));
    }
    todos.push(todo);
    localStorage.setItem("todos", JSON.stringify(todos));
}


function getLocalTodos() {
    let todos;
    if(localStorage.getItem("todos") === null) {
        todos = [];
    } else {
        todos = JSON.parse(localStorage.getItem("todos"));
    }
    todos.forEach(function(todo) {
        const todoDiv = document.createElement("div");
        todoDiv.classList.add("todo");
        const newTodo = document.createElement("li");
        newTodo.innerText = todo;
        newTodo.classList.add("todo-item");
        todoDiv.appendChild(newTodo);


        const completedButton = document.createElement("button");
        completedButton.innerHTML = '<i class="fas fa-check-circle"></li>';
        completedButton.classList.add("complete-btn");
        todoDiv.appendChild(completedButton);


        const trashButton = document.createElement("button");
        trashButton.innerHTML = '<i class="fas fa-trash"></li>';
        trashButton.classList.add("trash-btn");
        todoDiv.appendChild(trashButton);


        todoList.appendChild(todoDiv);
    });
}


function removeLocalTodos(todo) {
    let todos;
    if(localStorage.getItem("todos") === null) {
        todos = [];
    } else {
        todos = JSON.parse(localStorage.getItem("todos"));
    }



  deleteAllTodos.addEventListener("click", removeAllTodos);



    const todoIndex = todo.children[0].innerText;
    todos.splice(todos.indexOf(todoIndex), 1);
    localStorage.setItem("todos", JSON.stringify(todos));
}

...zur Frage

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- Google Fonts -->
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Poppins&display=swap" rel="stylesheet">


    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w==" crossorigin="anonymous" referrerpolicy="no-referrer" />
    <link rel="stylesheet" href="./style.css">
    <title>To Do List</title>
</head>
<body>


    <header>
        <h1>My Tasks</h1>
    </header>
    <form action="">
       <div class="inputs">
        <input type="text" class="todo-input">
        <input type="date" class="todo-input-two">
       </div>
        <button class="todo-button" type="submit">
            <i class="fas fa-plus-circle fa-lg"></i>
        </button>
        <div class="select">
            <select name="todos" class="filter-todo">
                <option value="all">All</option>
                <option value="completed">Completed</option>
                <option value="incomplete">Incomplete</option>
            </select>
        </div>
    </form>


    <div class="todo-container">
        <ul class="todo-list"></ul>
    </div>


    <div class="deleteAll">
      <button>Delete All</button>
      <button>Change Status</button>
    </div>


    <script src="./script.js"></script>
    
</body>
</html>

CSS:

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}


body {
  background-image: linear-gradient(45deg, rgb(20, 222, 124) 0%, rgb(20, 222, 124) 21%,rgb(25, 190, 119) 21%, rgb(25, 190, 119) 37%,rgb(30, 158, 113) 37%, rgb(30, 158, 113) 46%,rgb(35, 126, 108) 46%, rgb(35, 126, 108) 53%,rgb(39, 94, 103) 53%, rgb(39, 94, 103) 59%,rgb(44, 62, 97) 59%, rgb(44, 62, 97) 77%,rgb(49, 30, 92) 77%, rgb(49, 30, 92) 100%);
  background-repeat: no-repeat;
  height: 1220px;
  color: white;
  font-family: "Poppins", sans-serif;
  min-height: 100vh;
}


header {
  font-size: 1.5rem;
}


header, 
form {
  min-height: 20vh;
  display: flex;
  justify-content: center;
  align-items: center;
}


.inputs {
  display: flex;
  flex-direction: column;
  gap: 10px;
}


form input, 
form button {
  padding: 0.5rem;
  padding-left: 1rem;
  font-size: 1.8rem;
  border: none;
  background: white;
  border-radius: 2rem;
}


form button {
  color:  #311E5C;
  background: white;
  cursor: pointer;
  transition: all 0.3 ease;
  margin-left: 0.5rem;
}


form button:hover {
  color: white;
  background: #311E5C;
}


.fa-plus-circle {
  margin-top: 0.3rem;
  margin-left: -8px;
}


.todo-container {
  display: flex;
  justify-content: center;
  align-items: center;
}


.todo-list {
  min-width: 30%;
  list-style: none;
}


.todo {
  margin: 0.5rem;
  padding-left: 0.5rem;
  background: white;
  color: black;
  font-size: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: 0.5s;
  border-radius: 2rem;
}


.todo li {
  flex: 1;
}


.trash-btn, 
.complete-btn {
  color: white;
  border: none;
  padding: 1rem;
  cursor: pointer;
  font-size: 1.5rem;
}


.complete-btn {
  background: #311E5C;
}


.trash-btn {
  border-top-right-radius: 1.75rem;
  border-bottom-right-radius: 1.75rem;
  background: #275E67;
}


.todo-item {
  padding: 0rem 0.5rem;
}


.fa-trash, 
.fa-check-circle {
  pointer-events: none;
}


.completed {
  text-decoration: line-through;
  opacity: 0.5;
}


.slide {
  transform: translateX(10rem);
  opacity: 0;
}


select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  border: none;
}


.select {
  margin: 1rem;
  position: relative;
  overflow: hidden;
  border-radius: 50px;
}


select {
  color:#311E5C;
  width: 10rem;
  height: 3.2rem;
  cursor: pointer;
  padding: 1rem;
}


.select::after {
  content: "\25BC";
  position: absolute;
  background:#311E5C;
  top: 0;
  right: 0;
  padding: 1rem;
  pointer-events: none;
  transition: all 0.3s ease;
}


.select:hover::after {
  background: white;
  color: #311E5C;
}


.deleteAll {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-left: -150px;
  margin-top: 35px;
}


.deleteAll button {
  padding: 0.5rem;
  padding-left: 1rem;
  font-size: 30px;
  border: none;
  background: white;
  border-radius: 2rem;
  color: #311E5C;
  text-transform: uppercase;
  cursor: pointer;
}


.deleteAll button:hover {
  color: white;
  background-color: #311E5C;
}


 
...zur Antwort

Guten Abend!
wir haben früher ganz viele Adventskalender gekauft, aber dieses Jahr haben wir uns wirklich entschieden einen Adventskalender zu basteln. Ich persönlich hatte schon früher auf Social Media (TikTok, Youtube...) gebastelte Adventskalender gesehen, aber es hat mich aus welchem Grund auch immer nicht interessiert.. Unser Adventskalender steht schon 2 Tage und wird auch Jahre lang noch stehen! Den werde ich meinen zukünftigen Kinder zeigen! 😄 

Mit freundlichen Grüßen

MrOsmo

...zur Antwort

Hallo!

Ja, wir planen, über die Weihnachtsferien zu verreisen. Wir werden sowohl an Weihnachten als auch an Silvester unterwegs sein, und zwar für einige Tage. Wir freuen uns darauf, die Feiertage an einem neuen Ort zu verbringen und gemeinsam schöne Erlebnisse zu sammeln. Wie sieht es bei euch aus? Habt ihr auch Reisepläne für die Feiertage?

...zur Antwort