From 90d453898a5c6481b9b2b6fe356f0a7b3ad2eafc Mon Sep 17 00:00:00 2001
From: Caesar Schinas <caesar@caesarschinas.com>
Date: Sun, 25 Dec 2022 02:35:04 -1000
Subject: [PATCH] [BRANDING] Custom loading animation for Forgejo

(cherry picked from commit a3b3b8a2dfb31f3b8000f1bfeae63ef3190c211f)
(cherry picked from commit de0fd2d2e459aec24dae1293cc1f8f04069dedac)
(cherry picked from commit e1bf4de211a92a2f4645b3f34039749456a10ea3)
(cherry picked from commit 60ffc88a47a158fe4920f05875ea8d156eecaa70)
(cherry picked from commit 7d2beea9ca4b47a29a1737b3a4d1d5486f2db1d3)
(cherry picked from commit 171eadb95225183b3c1a1dfd3a5181953868b7d2)
(cherry picked from commit 5e81f75ed2541fafb72d20911fa1db01154f8ff9)

Conflicts:
	templates/install.tmpl
	templates/post-install.tmpl
	templates/repo/migrate/migrating.tmpl
(cherry picked from commit 641c4a36c5c576d92d3dca952130542496c8c07f)
(cherry picked from commit f1dbb2dcff94bcd734309c55808470d29f497577)
(cherry picked from commit b66de5e5316b09eeaf6c3463542994293f7b2995)
(cherry picked from commit eeccdf21a11e13f796caa45c206c89d9c273bc6b)
(cherry picked from commit af37663f4d12aec35ee42769468e1e733a8bd4a0)
(cherry picked from commit ed3739dccbfdacb6e0c8408ff6a26fcac20f8eb4)
(cherry picked from commit f0036e37cf4f6e4402e2fbbe42763553399b51a8)
---
 public/img/failed.png                 | Bin 11009 -> 0 bytes
 public/img/forgejo-loading.svg        |  14 ++++++++++++++
 public/img/loading.png                | Bin 12629 -> 0 bytes
 templates/install.tmpl                |   2 +-
 templates/post-install.tmpl           |   2 +-
 templates/repo/migrate/migrating.tmpl |   4 ++--
 6 files changed, 18 insertions(+), 4 deletions(-)
 delete mode 100644 public/img/failed.png
 create mode 100644 public/img/forgejo-loading.svg
 delete mode 100644 public/img/loading.png

diff --git a/public/img/failed.png b/public/img/failed.png
deleted file mode 100644
index b37545f90ca3b304357516661efb9e1431fa96aa..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 11009
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

diff --git a/public/img/forgejo-loading.svg b/public/img/forgejo-loading.svg
new file mode 100644
index 0000000000..919552ebb5
--- /dev/null
+++ b/public/img/forgejo-loading.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 212 212">
+  <style>
+    @keyframes draw-orange{0%{stroke-dashoffset:200}25%{stroke-dashoffset:200;stroke-width:0}50%{stroke-dashoffset:0;stroke-width:25}to{stroke-dashoffset:0}}@keyframes draw-red{0%{stroke-dashoffset:130;stroke-width:0}25%{stroke-dashoffset:0;stroke-width:25}50%,to{stroke-dashoffset:0}}@keyframes red-circle{0%{opacity:0}20%{opacity:0;stroke-width:0}25%{opacity:1;stroke-width:15}to{opacity:1}}@keyframes orange-circle{0%{opacity:0}45%{opacity:0;stroke-width:0}50%{opacity:1;stroke-width:15}to{opacity:1}}@keyframes fade{0%,90%{opacity:1}to{opacity:0}}circle,path{fill:none;stroke:#000;stroke-width:15}path{stroke-width:25}.orange{stroke:#f60}.red{stroke:#d40000}
+  </style>
+  <g transform="translate(6 6)">
+    <g style="animation:fade 2000ms ease-in-out 5ms infinite">
+      <path d="M58 168V70a50 50 0 0 1 50-50h20" class="orange" style="stroke-dasharray:200;stroke-dashoffset:200;animation:draw-orange 2000ms ease-out 5ms infinite"/>
+      <path d="M58 168v-30a50 50 0 0 1 50-50h20" class="red" style="stroke-dasharray:130;stroke-dashoffset:130;animation:draw-red 2000ms ease-out 5ms infinite"/>
+      <circle cx="142" cy="20" r="18" class="orange" style="opacity:0;animation:orange-circle 2000ms ease-out 5ms infinite"/>
+      <circle cx="142" cy="88" r="18" class="red" style="opacity:0;animation:red-circle 2000ms ease-out 5ms infinite"/>
+    </g>
+    <circle cx="58" cy="180" r="18" class="red"/>
+  </g>
+</svg>
diff --git a/public/img/loading.png b/public/img/loading.png
deleted file mode 100644
index c5ba3d9cd79960a3990d5c61fa68c98c632a1a50..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 12629
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
M1x@*SxepQl5Au-}zW@LL

diff --git a/templates/install.tmpl b/templates/install.tmpl
index 52be6a6013..ded01379c3 100644
--- a/templates/install.tmpl
+++ b/templates/install.tmpl
@@ -346,5 +346,5 @@
 		</div>
 	</div>
 </div>
-<img class="gt-hidden" src="{{AssetUrlPrefix}}/img/loading.png">
+<img class="gt-hidden" src="{{AssetUrlPrefix}}/img/forgejo-loading.svg" width="256" height="256">
 {{template "base/footer" .}}
diff --git a/templates/post-install.tmpl b/templates/post-install.tmpl
index 7f74a4d0d2..179c741315 100644
--- a/templates/post-install.tmpl
+++ b/templates/post-install.tmpl
@@ -7,7 +7,7 @@
 					<div class="ui stackable middle very relaxed page grid">
 						<div id="repo_migrating" class="sixteen wide center aligned centered column">
 							<div>
-								<img src="{{AssetUrlPrefix}}/img/loading.png">
+								<img src="{{AssetUrlPrefix}}/img/forgejo-loading.svg" width="256" height="256">
 							</div>
 						</div>
 					</div>
diff --git a/templates/repo/migrate/migrating.tmpl b/templates/repo/migrate/migrating.tmpl
index 58c453fe54..82ed660d92 100644
--- a/templates/repo/migrate/migrating.tmpl
+++ b/templates/repo/migrate/migrating.tmpl
@@ -9,12 +9,12 @@
 					<div class="ui stackable middle very relaxed page grid">
 						<div id="repo_migrating" class="sixteen wide center aligned centered column" data-migrating-task-id="{{.MigrateTask.ID}}">
 							<div>
-								<img src="{{AssetUrlPrefix}}/img/loading.png">
+								<img src="{{AssetUrlPrefix}}/img/forgejo-loading.svg" width="256" height="256">
 							</div>
 						</div>
 						<div id="repo_migrating_failed_image" class="sixteen wide center aligned centered column gt-hidden">
 							<div>
-								<img src="{{AssetUrlPrefix}}/img/failed.png">
+								<span class="red">{{svg "octicon-git-pull-request-closed" 256 "ui red icon"}}</span>
 							</div>
 						</div>
 					</div>