flash page
This commit is contained in:
parent
dc707605b3
commit
9be480d529
11
app.py
11
app.py
|
|
@ -3,6 +3,9 @@ from html import escape
|
|||
import os
|
||||
import time
|
||||
|
||||
# ── Splash screen ─────────────────────────────────────────────────────────
|
||||
from splash_page import maybe_show_splash
|
||||
|
||||
import pandas as pd
|
||||
import streamlit as st
|
||||
from streamlit_autorefresh import st_autorefresh
|
||||
|
|
@ -38,6 +41,10 @@ st.set_page_config(
|
|||
initial_sidebar_state="expanded"
|
||||
)
|
||||
|
||||
# ── Tampilkan splash saat pertama akses ───────────────────────────────────
|
||||
if maybe_show_splash():
|
||||
st.stop()
|
||||
|
||||
# Initialize timezone selection in session state
|
||||
if "user_timezone" not in st.session_state:
|
||||
st.session_state.user_timezone = get_default_timezone()
|
||||
|
|
@ -906,10 +913,10 @@ with st.sidebar:
|
|||
">📊</div>
|
||||
<div>
|
||||
<div style="font-size:1.02rem;font-weight:800;color:#0f172a;line-height:1.1;">
|
||||
SentimenX
|
||||
SentiTrack
|
||||
</div>
|
||||
<div style="font-size:0.72rem;color:#64748b;font-weight:600;margin-top:2px;">
|
||||
Twitter Analytics Dashboard
|
||||
Dashboard Monitoring Sentimen Netizen terhadap Kebijakan Pembatasan Gratis Ongkir
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
{"activated": true, "updated_at": "2026-05-31T01:21:56.067731+00:00"}
|
||||
{"activated": true, "updated_at": "2026-06-13T08:45:55.522176+00:00"}
|
||||
|
|
@ -496,11 +496,7 @@ def _render_page_header():
|
|||
<div class="ph-card" style="margin-top:-0.8rem;">
|
||||
<div style="display:flex;flex-direction:column;align-items:center;gap:10px;">
|
||||
<div style="display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;">
|
||||
<span style="font-size:0.62rem;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:0.07em;margin-right:4px;">🔍 Query</span>
|
||||
<span style="background:#eef2ff;color:#3b6cf7;border:1px solid #c7d2fe;border-radius:999px;padding:4px 13px;font-size:0.72rem;font-weight:700;">komdigi</span>
|
||||
<span style="background:#dcfce7;color:#15803d;border:1px solid #bbf7d0;border-radius:999px;padding:4px 13px;font-size:0.72rem;font-weight:700;">gratis ongkir</span>
|
||||
<span style="background:#fef3c7;color:#b45309;border:1px solid #fde68a;border-radius:999px;padding:4px 13px;font-size:0.72rem;font-weight:700;">free ongkir</span>
|
||||
<span style="background:#fee2e2;color:#b91c1c;border:1px solid #fecaca;border-radius:999px;padding:4px 13px;font-size:0.72rem;font-weight:700;">pembatasan ongkir</span>
|
||||
|
||||
</div>
|
||||
<div style="display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;">
|
||||
<span style="font-size:0.62rem;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:0.07em;margin-right:4px;">⚙ Alur kerja</span>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,406 @@
|
|||
"""
|
||||
splash_page.py
|
||||
──────────────
|
||||
Splash screen modern, full-viewport centered, tampil sekali per sesi.
|
||||
Menggunakan st.components.v1.html (iframe isolated).
|
||||
|
||||
🕐 PENGATURAN DURASI:
|
||||
_SPLASH_DURATION = 10 ← ganti angka ini (satuan: detik)
|
||||
Rekomendasi: 4–8 detik
|
||||
|
||||
📐 PENGATURAN TINGGI IFRAME:
|
||||
components.html(..., height=700 ...) ← sesuaikan jika konten terpotong
|
||||
"""
|
||||
|
||||
import time
|
||||
import streamlit as st
|
||||
import streamlit.components.v1 as components
|
||||
|
||||
_APP_NAME = "SentiTrack"
|
||||
|
||||
# ┌─────────────────────────────────────────┐
|
||||
# │ ⏱ GANTI ANGKA INI UNTUK UBAH DURASI │
|
||||
# │ Satuan: detik | Rekomendasi: 4–8 │
|
||||
_SPLASH_DURATION = 10
|
||||
# └─────────────────────────────────────────┘
|
||||
|
||||
|
||||
def _build_splash_html(duration: int) -> str:
|
||||
return f"""<!DOCTYPE html>
|
||||
<html lang="id">
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap" rel="stylesheet"/>
|
||||
<style>
|
||||
*, *::before, *::after {{ box-sizing: border-box; margin: 0; padding: 0; }}
|
||||
|
||||
/* ── Full viewport centering — bekerja di semua resolusi ── */
|
||||
html, body {{
|
||||
width: 100%; height: 100%;
|
||||
overflow: hidden;
|
||||
}}
|
||||
body {{
|
||||
font-family: 'Plus Jakarta Sans', sans-serif;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 100vh;
|
||||
/* background ditangani oleh .bg */
|
||||
}}
|
||||
|
||||
/* ── Background gradient ── */
|
||||
.bg {{
|
||||
position: fixed; inset: 0; z-index: 0;
|
||||
background: linear-gradient(160deg, #eef4ff 0%, #f8faff 40%, #f0f7ff 70%, #eef4ff 100%);
|
||||
background-size: 300% 300%;
|
||||
animation: gradMove {duration * 3}s ease infinite;
|
||||
}}
|
||||
@keyframes gradMove {{
|
||||
0% {{ background-position: 0% 50%; }}
|
||||
50% {{ background-position: 100% 50%; }}
|
||||
100% {{ background-position: 0% 50%; }}
|
||||
}}
|
||||
|
||||
/* ── Pola titik ── */
|
||||
.dots {{
|
||||
position: fixed; inset: 0; z-index: 1; pointer-events: none;
|
||||
background-image: radial-gradient(rgba(59,130,246,0.07) 1.5px, transparent 1.5px);
|
||||
background-size: 26px 26px;
|
||||
}}
|
||||
|
||||
/* ── Orb cahaya latar ── */
|
||||
.orb {{
|
||||
position: fixed; border-radius: 50%; z-index: 1; pointer-events: none;
|
||||
will-change: transform;
|
||||
}}
|
||||
.orb-1 {{
|
||||
width: 480px; height: 480px;
|
||||
top: -180px; left: -120px;
|
||||
background: radial-gradient(circle, rgba(99,102,241,0.09) 0%, transparent 70%);
|
||||
animation: floatA 9s ease-in-out infinite;
|
||||
}}
|
||||
.orb-2 {{
|
||||
width: 380px; height: 380px;
|
||||
bottom: -120px; right: -80px;
|
||||
background: radial-gradient(circle, rgba(59,130,246,0.08) 0%, transparent 70%);
|
||||
animation: floatB 11s ease-in-out infinite;
|
||||
}}
|
||||
@keyframes floatA {{ 0%,100% {{ transform: translate(0,0); }} 50% {{ transform: translate(24px,-32px); }} }}
|
||||
@keyframes floatB {{ 0%,100% {{ transform: translate(0,0); }} 50% {{ transform: translate(-18px,26px); }} }}
|
||||
|
||||
/* ── Card utama ── */
|
||||
.card {{
|
||||
position: relative; z-index: 10;
|
||||
background: rgba(255,255,255,0.9);
|
||||
backdrop-filter: blur(18px) saturate(1.4);
|
||||
-webkit-backdrop-filter: blur(18px) saturate(1.4);
|
||||
border: 1.5px solid rgba(226,232,240,0.85);
|
||||
border-radius: 24px;
|
||||
padding: 2.5rem 2.75rem 2rem;
|
||||
|
||||
/*
|
||||
* ──────────────────────────────────────────────────────
|
||||
* 📐 LEBAR CARD
|
||||
* Ubah max-width untuk memperlebar / mempersempit card.
|
||||
* Rekomendasi: 460px – 580px
|
||||
* ──────────────────────────────────────────────────────
|
||||
*/
|
||||
width: calc(100% - 2.5rem);
|
||||
max-width: 520px;
|
||||
|
||||
box-shadow:
|
||||
0 0 0 1px rgba(255,255,255,0.5) inset,
|
||||
0 8px 40px rgba(59,130,246,0.09),
|
||||
0 2px 12px rgba(15,23,42,0.06);
|
||||
animation: fadeUp 0.65s cubic-bezier(0.22,1,0.36,1) forwards;
|
||||
opacity: 0;
|
||||
}}
|
||||
@keyframes fadeUp {{
|
||||
from {{ opacity: 0; transform: translateY(22px); }}
|
||||
to {{ opacity: 1; transform: translateY(0); }}
|
||||
}}
|
||||
|
||||
/* ── Header: logo + nama app ── */
|
||||
.header {{
|
||||
display: flex; align-items: center; gap: 1rem;
|
||||
margin-bottom: 1.5rem;
|
||||
}}
|
||||
.logo {{
|
||||
width: 54px; height: 54px; flex-shrink: 0;
|
||||
background: linear-gradient(135deg, #3b6cf7 0%, #6366f1 100%);
|
||||
border-radius: 16px;
|
||||
display: flex; align-items: center; justify-content: center;
|
||||
font-size: 1.5rem;
|
||||
box-shadow: 0 8px 24px rgba(59,108,247,0.28);
|
||||
animation: pulse 2.5s ease-in-out infinite;
|
||||
}}
|
||||
@keyframes pulse {{
|
||||
0%,100% {{ box-shadow: 0 8px 24px rgba(59,108,247,0.28), 0 0 0 0 rgba(59,108,247,0.18); }}
|
||||
50% {{ box-shadow: 0 10px 30px rgba(59,108,247,0.38), 0 0 0 10px rgba(59,108,247,0); }}
|
||||
}}
|
||||
.title {{
|
||||
font-size: 1.75rem; font-weight: 800; letter-spacing: -0.03em;
|
||||
background: linear-gradient(135deg, #1e3a8a 20%, #3b6cf7 60%, #6366f1 100%);
|
||||
-webkit-background-clip: text; -webkit-text-fill-color: transparent;
|
||||
background-clip: text; line-height: 1.1;
|
||||
}}
|
||||
.subtitle {{
|
||||
font-size: 0.65rem; color: #64748b; font-weight: 600;
|
||||
letter-spacing: 0.01em; margin-top: 4px; line-height: 1.45;
|
||||
max-width: 320px;
|
||||
}}
|
||||
|
||||
/* ── Divider ── */
|
||||
.divider {{
|
||||
height: 1px;
|
||||
background: linear-gradient(90deg, transparent, #e2e8f0 30%, #e2e8f0 70%, transparent);
|
||||
margin: 1.25rem 0;
|
||||
}}
|
||||
|
||||
/* ── Topik penelitian ── */
|
||||
.topic {{
|
||||
background: linear-gradient(135deg, #eff6ff, #eef2ff);
|
||||
border: 1.5px solid #c7d2fe;
|
||||
border-radius: 14px;
|
||||
padding: 0.9rem 1.1rem;
|
||||
margin-bottom: 1.25rem;
|
||||
}}
|
||||
.topic-label {{
|
||||
font-size: 0.6rem; font-weight: 800; color: #4f46e5;
|
||||
text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.3rem;
|
||||
}}
|
||||
.topic-value {{
|
||||
font-size: 0.88rem; font-weight: 700; color: #1e3a8a; line-height: 1.5;
|
||||
}}
|
||||
.topic-sub {{
|
||||
font-size: 0.68rem; color: #6366f1; font-weight: 600; margin-top: 0.25rem;
|
||||
}}
|
||||
|
||||
/* ── Info grid 2×2 ── */
|
||||
.info-grid {{
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 0.65rem;
|
||||
margin-bottom: 1.25rem;
|
||||
}}
|
||||
.info-item {{
|
||||
background: #f8fafc;
|
||||
border: 1px solid #e8edf5;
|
||||
border-radius: 12px;
|
||||
padding: 0.65rem 0.8rem;
|
||||
display: flex; align-items: flex-start; gap: 0.6rem;
|
||||
transition: border-color 0.2s;
|
||||
}}
|
||||
.info-item:hover {{ border-color: #c7d2fe; }}
|
||||
.info-icon {{ font-size: 1rem; flex-shrink: 0; margin-top: 1px; }}
|
||||
.info-text-label {{
|
||||
font-size: 0.58rem; font-weight: 700; color: #94a3b8;
|
||||
text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 2px;
|
||||
}}
|
||||
.info-text-value {{
|
||||
font-size: 0.76rem; font-weight: 700; color: #0f172a; line-height: 1.35;
|
||||
}}
|
||||
|
||||
/* ── Identitas mahasiswa ── */
|
||||
.identity {{
|
||||
display: flex; align-items: center; justify-content: space-between;
|
||||
background: #f0fdf4;
|
||||
border: 1px solid #86efac;
|
||||
border-radius: 12px;
|
||||
padding: 0.65rem 0.9rem;
|
||||
margin-bottom: 1.25rem;
|
||||
}}
|
||||
.identity-left {{
|
||||
font-size: 0.72rem; color: #15803d; font-weight: 600; line-height: 1.6;
|
||||
}}
|
||||
.identity-right {{
|
||||
font-size: 0.66rem; color: #16a34a; font-weight: 700;
|
||||
background: white; border: 1px solid #86efac; border-radius: 8px;
|
||||
padding: 0.2rem 0.6rem; white-space: nowrap;
|
||||
}}
|
||||
|
||||
/* ── Progress bar ── */
|
||||
.progress-wrap {{
|
||||
height: 4px; background: #e2e8f0; border-radius: 99px; overflow: hidden;
|
||||
margin-bottom: 0.6rem;
|
||||
}}
|
||||
.progress-bar {{
|
||||
height: 100%;
|
||||
background: linear-gradient(90deg, #3b6cf7, #6366f1, #818cf8);
|
||||
border-radius: 99px;
|
||||
|
||||
/*
|
||||
* ──────────────────────────────────────────────────────
|
||||
* ⏱ PROGRESS BAR DURATION
|
||||
* Nilai ini otomatis mengikuti _SPLASH_DURATION di atas.
|
||||
* Tidak perlu diubah manual.
|
||||
* ──────────────────────────────────────────────────────
|
||||
*/
|
||||
animation: progress {duration}s linear forwards;
|
||||
width: 0%;
|
||||
}}
|
||||
@keyframes progress {{ from {{ width: 0%; }} to {{ width: 100%; }} }}
|
||||
|
||||
.progress-footer {{
|
||||
display: flex; justify-content: space-between; align-items: center;
|
||||
}}
|
||||
.progress-label {{
|
||||
font-size: 0.68rem; color: #94a3b8; font-weight: 500; letter-spacing: 0.03em;
|
||||
}}
|
||||
.progress-source {{
|
||||
font-size: 0.63rem; color: #cbd5e1; font-weight: 500;
|
||||
}}
|
||||
|
||||
/* ── Shimmer dots loading indicator ── */
|
||||
.dots-loader {{
|
||||
display: flex; align-items: center; gap: 4px; margin-top: 0.2rem;
|
||||
}}
|
||||
.dots-loader span {{
|
||||
width: 5px; height: 5px; border-radius: 50%; background: #c7d2fe;
|
||||
animation: bounce 1.4s ease-in-out infinite;
|
||||
}}
|
||||
.dots-loader span:nth-child(2) {{ animation-delay: 0.18s; }}
|
||||
.dots-loader span:nth-child(3) {{ animation-delay: 0.36s; }}
|
||||
@keyframes bounce {{
|
||||
0%, 80%, 100% {{ transform: scale(0.75); opacity: 0.5; }}
|
||||
40% {{ transform: scale(1.1); opacity: 1; }}
|
||||
}}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="bg"></div>
|
||||
<div class="dots"></div>
|
||||
<div class="orb orb-1"></div>
|
||||
<div class="orb orb-2"></div>
|
||||
|
||||
<div class="card">
|
||||
|
||||
<!-- ── Header ── -->
|
||||
<div class="header">
|
||||
<div class="logo">📊</div>
|
||||
<div>
|
||||
<div class="title">{_APP_NAME}</div>
|
||||
<div class="subtitle">Dashboard Monitoring Sentimen Netizen terhadap Kebijakan Pembatasan Gratis Ongkir</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="divider"></div>
|
||||
|
||||
<!-- ── Topik penelitian ── -->
|
||||
<div class="topic">
|
||||
<div class="topic-label">📌 Topik Penelitian</div>
|
||||
<div class="topic-value">Perancangan dan Implementasi Dashboard Sentimen Netizen X terhadap Kebijakan Pembatasan Gratis Ongkir dengan Naive Bayes</div>
|
||||
<div class="topic-sub">Komdigi · Analisis Opini Publik di Platform X (Twitter)</div>
|
||||
</div>
|
||||
|
||||
<!-- ── Info grid ── -->
|
||||
<div class="info-grid">
|
||||
<div class="info-item">
|
||||
<div class="info-icon">🤖</div>
|
||||
<div>
|
||||
<div class="info-text-label">Model</div>
|
||||
<div class="info-text-value">Naive Bayes</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<div class="info-icon">📡</div>
|
||||
<div>
|
||||
<div class="info-text-label">Sumber Data</div>
|
||||
<div class="info-text-value">X Data Historis via Tweet Harvest & Realtime</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<div class="info-icon">🔤</div>
|
||||
<div>
|
||||
<div class="info-text-label">Preprocessing</div>
|
||||
<div class="info-text-value">Case Folding · Cleaning · Normalisasi · Stopword · Stemming</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<div class="info-icon">📊</div>
|
||||
<div>
|
||||
<div class="info-text-label">Output</div>
|
||||
<div class="info-text-value">Positif · Netral · Negatif</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ── Identitas mahasiswa ── -->
|
||||
<div class="identity">
|
||||
<div class="identity-left">
|
||||
<strong style="color:#0f172a;">Nurizzati Adistya Putri</strong> · E31232465<br/>
|
||||
Politeknik Negeri Jember · Manajemen Informatika
|
||||
</div>
|
||||
<div class="identity-right">Tugas Akhir 2026</div>
|
||||
</div>
|
||||
|
||||
<!-- ── Progress loading ── -->
|
||||
<div class="progress-wrap">
|
||||
<div class="progress-bar"></div>
|
||||
</div>
|
||||
<div class="progress-footer">
|
||||
<div>
|
||||
<div class="progress-label">Memuat dashboard…</div>
|
||||
<div class="dots-loader">
|
||||
<span></span><span></span><span></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="progress-source">Data: X (Twitter)</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>"""
|
||||
|
||||
|
||||
def maybe_show_splash() -> bool:
|
||||
"""
|
||||
Tampilkan splash jika belum tampil di sesi ini.
|
||||
Kembalikan True jika splash baru saja ditampilkan, False jika dilewati.
|
||||
"""
|
||||
if st.session_state.get("splash_done", False):
|
||||
return False
|
||||
|
||||
# Sembunyikan semua elemen Streamlit selama splash
|
||||
st.markdown("""
|
||||
<style>
|
||||
#MainMenu, footer, header,
|
||||
[data-testid="stHeader"],
|
||||
[data-testid="stSidebar"],
|
||||
[data-testid="stToolbar"],
|
||||
[data-testid="collapsedControl"],
|
||||
[data-testid="stStatusWidget"],
|
||||
[data-testid="stDecoration"],
|
||||
.stDeployButton {
|
||||
display: none !important;
|
||||
visibility: hidden !important;
|
||||
opacity: 0 !important;
|
||||
}
|
||||
.main > div { padding: 0 !important; margin: 0 !important; }
|
||||
[data-testid="stMain"],
|
||||
[data-testid="stAppViewContainer"],
|
||||
.stApp, html, body {
|
||||
background: #f8faff !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
iframe { border: none !important; display: block !important; }
|
||||
</style>
|
||||
""", unsafe_allow_html=True)
|
||||
|
||||
# ┌───────────────────────────────────────────────────────┐
|
||||
# │ 📐 TINGGI IFRAME (px) │
|
||||
# │ Naikkan jika card terpotong di layar kecil. │
|
||||
# │ Rekomendasi: 650–750 │
|
||||
components.html(_build_splash_html(_SPLASH_DURATION), height=700, scrolling=False)
|
||||
# └───────────────────────────────────────────────────────┘
|
||||
|
||||
# Tunggu sesuai durasi splash sebelum lanjut ke halaman utama
|
||||
time.sleep(_SPLASH_DURATION + 0.3)
|
||||
|
||||
st.session_state["splash_done"] = True
|
||||
st.rerun()
|
||||
|
||||
return True
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
|
|
@ -1,10 +0,0 @@
|
|||
"conversation_id_str","created_at","favorite_count","full_text","id_str","image_url","in_reply_to_screen_name","lang","location","quote_count","reply_count","retweet_count","tweet_url","user_id_str","username"
|
||||
"2058950559856832819","Mon May 25 16:37:21 +0000 2026","0","setuju bgt komdigi ngeluarin kebijakan gratis ongkir gini","2058950559856832819","","","in","","0","0","0","https://x.com/undefined/status/2058950559856832819","2046458899843170304",
|
||||
"2058829602865451445","Mon May 25 08:36:43 +0000 2026","0","komdigi mending ngurusin aja tuh judol daripada ngurusin pembatasan gratis ongkir","2058829602865451445","","","in","","0","0","0","https://x.com/undefined/status/2058829602865451445","2046458899843170304",
|
||||
"2060580175084204231","Sat May 30 04:32:52 +0000 2026","0","komdigi gratis ongkir sangat banyak yang tidak setuju","2060580175084204231","","","in","","0","0","0","https://x.com/undefined/status/2060580175084204231","1814143201718247424",
|
||||
"2059619299309011403","Wed May 27 12:54:41 +0000 2026","0","komdigi ngeluarin kebijakan ongkir kaya gini ngapain dah","2059619299309011403","","","in","","0","0","0","https://x.com/undefined/status/2059619299309011403","1814143201718247424",
|
||||
"2058950111976386607","Mon May 25 16:35:34 +0000 2026","0","komdigi bagus sih ngeluarin kebijakan gratis ongkir kaya ini setuju","2058950111976386607","","","in","","0","0","0","https://x.com/undefined/status/2058950111976386607","2046458899843170304",
|
||||
"2060641816647790635","Sat May 30 08:37:48 +0000 2026","0","komdigi gk penting deh ngeluarin kebijakan ongkir begini mending tu urusin yang lebih penting!!","2060641816647790635","","","in","","0","0","0","https://x.com/undefined/status/2060641816647790635","1814143201718247424",
|
||||
"2058816188659192179","Mon May 25 07:43:24 +0000 2026","0","komdigi gajelas bikin kebijakan ongkir!","2058816188659192179","","","in","","0","0","0","https://x.com/undefined/status/2058816188659192179","1814143201718247424",
|
||||
"2058816239112446387","Mon May 25 07:43:37 +0000 2026","0","komdigi gk penting buat kebijakan ongkir kaya gini","2058816239112446387","","","in","","0","0","0","https://x.com/undefined/status/2058816239112446387","1814143201718247424",
|
||||
"2060234400777064942","Fri May 29 05:38:53 +0000 2026","0","tadi pagi saya melihat berita mengenai pembatasan gratis ongkir oleh komdigi","2060234400777064942","","","in","","0","0","0","https://x.com/undefined/status/2060234400777064942","1814143201718247424",
|
||||
|
|
|
@ -1,10 +1 @@
|
|||
"conversation_id_str","created_at","favorite_count","full_text","id_str","image_url","in_reply_to_screen_name","lang","location","quote_count","reply_count","retweet_count","tweet_url","user_id_str","username"
|
||||
"2058950559856832819","Mon May 25 16:37:21 +0000 2026","0","setuju bgt komdigi ngeluarin kebijakan gratis ongkir gini","2058950559856832819","","","in","","0","0","0","https://x.com/undefined/status/2058950559856832819","2046458899843170304",
|
||||
"2058829602865451445","Mon May 25 08:36:43 +0000 2026","0","komdigi mending ngurusin aja tuh judol daripada ngurusin pembatasan gratis ongkir","2058829602865451445","","","in","","0","0","0","https://x.com/undefined/status/2058829602865451445","2046458899843170304",
|
||||
"2058950111976386607","Mon May 25 16:35:34 +0000 2026","0","komdigi bagus sih ngeluarin kebijakan gratis ongkir kaya ini setuju","2058950111976386607","","","in","","0","0","0","https://x.com/undefined/status/2058950111976386607","2046458899843170304",
|
||||
"2059619299309011403","Wed May 27 12:54:41 +0000 2026","0","komdigi ngeluarin kebijakan ongkir kaya gini ngapain dah","2059619299309011403","","","in","","0","0","0","https://x.com/undefined/status/2059619299309011403","1814143201718247424",
|
||||
"2060641816647790635","Sat May 30 08:37:48 +0000 2026","0","komdigi gk penting deh ngeluarin kebijakan ongkir begini mending tu urusin yang lebih penting!!","2060641816647790635","","","in","","0","0","0","https://x.com/undefined/status/2060641816647790635","1814143201718247424",
|
||||
"2060580175084204231","Sat May 30 04:32:52 +0000 2026","0","komdigi gratis ongkir sangat banyak yang tidak setuju","2060580175084204231","","","in","","0","0","0","https://x.com/undefined/status/2060580175084204231","1814143201718247424",
|
||||
"2058816188659192179","Mon May 25 07:43:24 +0000 2026","0","komdigi gajelas bikin kebijakan ongkir!","2058816188659192179","","","in","","0","0","0","https://x.com/undefined/status/2058816188659192179","1814143201718247424",
|
||||
"2058816239112446387","Mon May 25 07:43:37 +0000 2026","0","komdigi gk penting buat kebijakan ongkir kaya gini","2058816239112446387","","","in","","0","0","0","https://x.com/undefined/status/2058816239112446387","1814143201718247424",
|
||||
"2060234400777064942","Fri May 29 05:38:53 +0000 2026","0","tadi pagi saya melihat berita mengenai pembatasan gratis ongkir oleh komdigi","2060234400777064942","","","in","","0","0","0","https://x.com/undefined/status/2060234400777064942","1814143201718247424",
|
||||
|
||||
|
|
|
|||
|
Loading…
Reference in New Issue