From aa8e8666569fbf3993258568430d0b8d7ea318a3 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)
(cherry picked from commit 90d453898a5c6481b9b2b6fe356f0a7b3ad2eafc)
(cherry picked from commit c01154323832c57af7a84cadc4580a00bcc96e5e)
(cherry picked from commit a294f34165c4df7100589dd2b44baf60af9d14b3)
(cherry picked from commit cc00759140bc6bf3f68129ab97995c3bf01db276)
(cherry picked from commit abe6d83b85759a80d82d52faacd36e8f315d5777)
(cherry picked from commit 274d2863398cbb94f075a7532152eb9a090b504d)
(cherry picked from commit 594aaf3c95e9cf671d02a81195653e0dabb1cae9)
(cherry picked from commit 6059a376f48d96dccfaf99ff1eede2d4ba38afc5)
(cherry picked from commit 676eb49a123694beba3bed8c0f00608f80b6b03b)
(cherry picked from commit fc834fdb86e3678c3092d0e64be6ca2e0adb3a54)
(cherry picked from commit e1e89a43495612c4e9a2e57c717c2996f1ad8cce)
(cherry picked from commit 89e0d29cdb9ca413e0e31062997b9276482e5294)
(cherry picked from commit eb7fc7a27eaf7e32d53228b660dfb98049f89b4d)
(cherry picked from commit caa41ff62928df3b032234a945277bddb3c70f4f)
(cherry picked from commit a74b6adb6ae77332638fcc8325072e82ae7f0a2c)
(cherry picked from commit 4fc629b0d4c9fbc3f5933e4d5111dc67af59b393)
(cherry picked from commit 66a3fb5dcdb74c5b4d61f9aa80d14517744776f2)
(cherry picked from commit b26ec6315aa8c5ba2971affa2ac7d78fcfa4a9f4)
(cherry picked from commit 8d9d4d6f6baaa0974455949aa6f122b02062ff89)
---
 public/assets/img/failed.png          | Bin 11009 -> 0 bytes
 public/assets/img/forgejo-loading.svg |  14 ++++++++++++++
 public/assets/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/assets/img/failed.png
 create mode 100644 public/assets/img/forgejo-loading.svg
 delete mode 100644 public/assets/img/loading.png

diff --git a/public/assets/img/failed.png b/public/assets/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/assets/img/forgejo-loading.svg b/public/assets/img/forgejo-loading.svg
new file mode 100644
index 0000000000..919552ebb5
--- /dev/null
+++ b/public/assets/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/assets/img/loading.png b/public/assets/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 e9b267fa1c..60d1d5fd93 100644
--- a/templates/install.tmpl
+++ b/templates/install.tmpl
@@ -347,5 +347,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 fb234008fb..0dbfbdc318 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 class="sixteen wide center aligned centered column">
 							<div>
-								<img src="{{AssetUrlPrefix}}/img/loading.png" alt="{{ctx.Locale.Tr "loading"}}">
+								<img src="{{AssetUrlPrefix}}/img/forgejo-loading.svg" alt="{{ctx.Locale.Tr "loading"}}" width="256" height="256">
 							</div>
 						</div>
 					</div>
diff --git a/templates/repo/migrate/migrating.tmpl b/templates/repo/migrate/migrating.tmpl
index 649d14ad99..8921d97277 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>