diff --git a/static/directives/repo-view/repo-panel-info.html b/static/directives/repo-view/repo-panel-info.html
index 3cef46919..5fdab5a4c 100644
--- a/static/directives/repo-view/repo-panel-info.html
+++ b/static/directives/repo-view/repo-panel-info.html
@@ -6,12 +6,12 @@
Repo Pulls
-
{{ repository.stats.pulls.today }}
+
{{ repository.stats.pulls.today | abbreviated }}
Last 24 hours
-
{{ repository.stats.pulls.thirty_day }}
+
{{ repository.stats.pulls.thirty_day | abbreviated }}
Last 30 days
@@ -21,12 +21,12 @@
Repo Pushes
-
{{ repository.stats.pushes.today }}
+
{{ repository.stats.pushes.today | abbreviated }}
Last 24 hours
-
{{ repository.stats.pushes.thirty_day }}
+
{{ repository.stats.pushes.thirty_day | abbreviated }}
Last 30 days
diff --git a/static/js/directives/filters/abbreviated.js b/static/js/directives/filters/abbreviated.js
new file mode 100644
index 000000000..bf95c2491
--- /dev/null
+++ b/static/js/directives/filters/abbreviated.js
@@ -0,0 +1,26 @@
+/**
+ * Filter which displays numbers with suffixes.
+ *
+ * Based on: https://gist.github.com/pedrorocha-net/9aa21d5f34d9cc15d18f
+ */
+angular.module('quay').filter('abbreviated', function() {
+ return function(number) {
+ if (number >= 10000000) {
+ return (number / 1000000).toFixed(0) + 'M'
+ }
+
+ if (number >= 1000000) {
+ return (number / 1000000).toFixed(1) + 'M'
+ }
+
+ if (number >= 10000) {
+ return (number / 1000).toFixed(0) + 'K'
+ }
+
+ if (number >= 1000) {
+ return (number / 1000).toFixed(1) + 'K'
+ }
+
+ return number
+ }
+});