diff --git a/templates/admin/social_publisher.html b/templates/admin/social_publisher.html
index 37eb6f4..b23c5f4 100644
--- a/templates/admin/social_publisher.html
+++ b/templates/admin/social_publisher.html
@@ -454,8 +454,9 @@
{% endif %}
-
-
+
+
+
@@ -823,7 +824,6 @@
return;
}
renderFbPosts(companyId, data.posts, data.next_cursor, isAppend);
- if (!isAppend) saveFbPostsToCache(companyId, data.posts);
})
.catch(function(err) {
btn.textContent = origText;
@@ -952,6 +952,54 @@
}
}
+ async function refreshAllFbPosts(companyId, btn) {
+ var origText = btn.textContent;
+ btn.disabled = true;
+ var container = document.getElementById('fbPostsContainer-' + companyId);
+ container.innerHTML = 'Pobieranie WSZYSTKICH postow z Facebook API...
';
+
+ var allPosts = [];
+ var cursor = null;
+ var page = 0;
+
+ try {
+ while (true) {
+ page++;
+ btn.textContent = 'Pobieranie... (' + allPosts.length + ' postow, strona ' + page + ')';
+
+ var url = '/admin/social-publisher/fb-posts/' + companyId;
+ if (cursor) url += '?after=' + encodeURIComponent(cursor);
+
+ var response = await fetch(url);
+ var data = await response.json();
+
+ if (!data.success || !data.posts || data.posts.length === 0) break;
+
+ allPosts = allPosts.concat(data.posts);
+
+ if (!data.next_cursor) break;
+ cursor = data.next_cursor;
+ }
+
+ btn.textContent = origText;
+ btn.disabled = false;
+
+ if (allPosts.length === 0) {
+ container.innerHTML = 'Brak postow.
';
+ return;
+ }
+
+ renderFbPosts(companyId, allPosts, null, false);
+ container.insertAdjacentHTML('beforeend',
+ 'Pobrano ' + allPosts.length + ' postow z Facebook API i zapisano do cache
');
+ saveFbPostsToCache(companyId, allPosts);
+ } catch (err) {
+ btn.textContent = origText;
+ btn.disabled = false;
+ showToast('Blad polaczenia: ' + err.message, 'error');
+ }
+ }
+
function renderFbCharts(companyId, posts) {
// Sort chronologically (oldest first)
var sorted = posts.slice().sort(function(a, b) {