+
+ {listLoading ? (
+
+
+
+ ) : unpushedCommits.length === 0 ? (
+
+ {t("noUnpushedCommits")}
+
+ ) : (
+
+ {unpushedCommits.map((entry) => {
+ const commitKey = entry.full_hash
+ const commitDate = parseDate(entry.date)
+ const isOpen = !!openByCommit[commitKey]
+
+ return (
+
{
+ setOpenByCommit((prev) => ({
+ ...prev,
+ [commitKey]: open,
+ }))
+ }}
+ >
+
+
+
+ {entry.message}
+
+
+
+
+
+ {entry.author}
+
+ {formatRelativeTime(entry.date, tLog)}
+
+
+ {entry.hash}
+
+
+
+
+
+ {entry.files.length === 0 ? (
+
+ {tLog("noFileChangeDetails")}
+
+ ) : (
+
+ handleSelectFile(entry.full_hash, file)
+ }
+ />
+ )}
+
+
+ )
+ })}
+
+ )}
+
+
+ {/* Push button */}
+
+
+
+
+