{% extends 'layout.html' %}
{% block title %}Your Timeline{% endblock %}
{% block content %}
<h2>Your Timeline</h2>
<div class="form-container">
<form action="/add_message" method="post">
<textarea id="message-input" name="message" placeholder="What's happening?" required maxlength="140"></textarea>
<div id="char-count">140 characters remaining</div>
<button id="submit-btn" type="submit">Post</button>
</form>
</div>
<script>
const messageInput = document.getElementById('message-input');
const charCount = document.getElementById('char-count');
messageInput.addEventListener('input', function () {
const remaining = 140 - messageInput.value.length;
charCount.textContent = remaining + " characters remaining";
if (remaining < 0) {
charCount.style.color = 'red';
} else {
charCount.style.color = '#333';
}
});
</script>
<br><br>
<ul class="messages">
{% for message in messages %}
<li>
<h3>{{ message[1] | safe }}</h3>
<a href="/user/{{ message[0] }}">{{ message[0] }}</a> <small>@ {{ message[2] }}</small>
</li>
{% endfor %}
</ul>
{% endblock %}
{% block extra_css %}
<style>
h2 {
text-align: center;
font-size: 28px;
font-weight: 600;
margin-bottom: 20px;
}
.form-container {
display: flex;
flex-direction: column;
gap: 15px;
width: 100%;
max-width: 600px;
margin: 0 auto;
}
#message-input {
width: 100%;
height: 100px;
padding: 15px;
font-size: 18px;
border: 1px solid #ccc;
border-radius: 8px;
outline: none;
transition: border-color 0.3s ease;
resize: none;
}
#message-input:focus {
border-color: #007bff;
}
#char-count {
font-size: 14px;
color: #777;
text-align: right;
}
#submit-btn {
padding: 15px;
font-size: 18px;
border: none;
border-radius: 8px;
background-color: #007bff;
color: #fff;
cursor: pointer;
transition: background 0.3s ease;
width: 25%;
}
#submit-btn:hover {
background-color: #0056b3;
}
/* Responsive Design for Mobile */
@media (max-width: 600px) {
h2 {
font-size: 22px;
text-align: center;
}
.form-container {
width: 90%;
max-width: 100%;
padding: 0 10px;
}
#message-input {
font-size: 16px;
padding: 12px;
height: 100px;
}
#submit-btn {
font-size: 16px;
padding: 12px;
}
}
</style>
{% endblock %}