Skip to content
Snippets Groups Projects
Commit 744c248c authored by Štěpán Farka's avatar Štěpán Farka
Browse files

Merge remote-tracking branch 'origin/feature/pirati-cz' into feature/pirati-cz

parents 042772bd 342e706b
No related branches found
No related tags found
2 merge requests!609Release,!608Small tuning and fixes of pirati.cz (main) module
Pipeline #9634 passed
......@@ -2679,6 +2679,7 @@ p{
padding-top: 2rem;
padding-bottom: 2rem;
text-align: center;
min-height: 20rem;
width: 280px;
}
......@@ -3347,6 +3348,10 @@ p{
margin-bottom: 2.25rem;
}
.mb-1{
margin-bottom: 0.25rem;
}
.mr-1{
margin-right: 0.25rem;
}
......@@ -3403,18 +3408,14 @@ p{
margin-top: 5rem;
}
.mb-1{
margin-bottom: 0.25rem;
.mt-8{
margin-top: 2rem;
}
.mr-0{
margin-right: 0px;
}
.mt-8{
margin-top: 2rem;
}
.mt-1{
margin-top: 0.25rem;
}
......@@ -4355,8 +4356,8 @@ a.icon-link:hover span{
margin-bottom: 0px;
}
.lg\:mb-24{
margin-bottom: 6rem;
.lg\:mt-24{
margin-top: 6rem;
}
.lg\:flex{
......
......@@ -4,7 +4,7 @@
Co právě děláme
</h2>
</div>
<div class="flex flex-wrap justify-center mb-8 lg:mb-24">
<div class="flex flex-wrap justify-center">
<div class="w-full flex max-w-sm sm:max-w-xs">
{{> molecules-twitter-box }}
</div>
......@@ -18,7 +18,7 @@
{{> molecules-twitter-box }}
</div>
</div>
<div class="flex justify-center">
<div class="flex justify-center mt-8 lg:mt-24">
{{> atoms-button-animate(btn-text: "Zobrazit další") }}
</div>
</div>
.contact-box {
@apply border border-grey-100 flex flex-col h-auto min-h-80 items-center justify-between px-16 py-8 text-center;
@apply border border-grey-100 flex flex-col h-auto items-center justify-between px-16 py-8 text-center;
min-height: 20rem;
width: 280px;
}
......@@ -8,13 +8,14 @@
{% include 'main/includes/twitter_widget.html' with tweet_list=tweet_list %}
</div>
{% if show_next_tweet %}
<div class="text-center">
<div class="flex justify-center mt-8 lg:mt-24">
<a
onclick="showMoreTweets(event, this)"
href="#"
data-url="{{ page_url }}?page="
data-page="2"
class="btn btn__slide__wrap">
class="btn btn__slide__wrap"
>
<span class="btn text-sm bg-black text-white px-1 lg:text-base">
Zobrazit starší
</span>
......@@ -25,25 +26,25 @@
</div>
{% endif %}
</div>
<script type="text/javascript">
function showMoreTweets(event, tweet) {
async function showMoreTweets(event, btn) {
event.preventDefault()
let btn = tweet;
let tweetsList = document.getElementById('tweetsList');
const tweetsList = document.getElementById('tweetsList');
let url = tweet.getAttribute('data-url') + tweet.getAttribute('data-page')
fetch(url, {
const url = btn.getAttribute('data-url') + btn.getAttribute('data-page')
const response = await fetch(url, {
method: "GET",
headers: {
"X-Requested-With": "XMLHttpRequest",
},
}).then((response) => response.json())
.then((data) => {
})
const data = await response.json()
tweetsList.innerHTML += data.html;
if (tweet.getAttribute('data-page') === data.last_page)
btn.hide();
let dataPage = parseInt(tweet.getAttribute('data-page')) + 1
tweet.setAttribute('data-page', dataPage)
});
if (btn.getAttribute('data-page') === data.last_page) { btn.hide() }
const dataPage = parseInt(btn.getAttribute('data-page')) + 1
btn.setAttribute('data-page', dataPage)
}
</script>
<div class="flex flex-wrap justify-center mb-8 lg:mb-24">
<div class="flex flex-wrap justify-center">
{% for tweet in tweet_list %}
<div class="w-full flex max-w-sm sm:max-w-xs">
<div class="mb-5 p-4 flex flex-col items-center text-center border border-grey-100 sm:mb-0">
......
......@@ -6,7 +6,7 @@ from django.utils import timezone
from tweepy import Client
from tweepy.errors import BadRequest
from main.models import MainHomePage
from main.models import MainHomePage, MainPersonPage
from .models import Tweet
......@@ -48,6 +48,7 @@ class TweetDownloadService:
"""
tweets_response = self.client.get_users_tweets(
user_id,
exclude=["retweets"],
expansions=["author_id", "entities.mentions.username"],
max_results=100,
start_time=timezone.now() - timedelta(days=self.days_back),
......@@ -59,15 +60,25 @@ class TweetDownloadService:
def get_user_list_data(self) -> list["User"]:
twitter_usernames_block = MainHomePage.objects.first().twitter_usernames
person_username_list = (
MainPersonPage.objects.filter(twitter_username__isnull=False)
.values_list("twitter_username", flat=True)
.distinct()
)
homepage_username_list = [
username_data["value"] for username_data in twitter_usernames_block.raw_data
]
username_list = [*person_username_list, *homepage_username_list]
user_data_list = []
for username_data in twitter_usernames_block.raw_data:
for username in username_list:
try:
user_data_list.append(self.get_user_response(username_data["value"]))
user_data_list.append(self.get_user_response(username))
except BadRequest:
logger.error(
"Cannot download tweets for the username",
extra={"username": username_data["value"]},
extra={"username": username},
)
return user_data_list
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment