From 08febdd980c06d752d410be1fa982e5507279f6d Mon Sep 17 00:00:00 2001
From: Santo Cariotti <santo@dcariotti.me>
Date: Tue, 23 Mar 2021 15:14:32 +0100
Subject: feat: commit details page

---
 src/views/Commit.vue | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)
 create mode 100644 src/views/Commit.vue

(limited to 'src/views/Commit.vue')

diff --git a/src/views/Commit.vue b/src/views/Commit.vue
new file mode 100644
index 0000000..d8b0050
--- /dev/null
+++ b/src/views/Commit.vue
@@ -0,0 +1,54 @@
+<template lang="pug">
+  main
+    header-blue
+    b-container(v-if="loading")
+      b-overlay(:show="true" spinner-large)
+    b-container(v-else)
+      commit-card(
+        :data="commit"
+        :author="author_avatar"
+        :committer="committer_avatar"
+        :expand="true"
+      )
+</template>
+
+<script>
+import HeaderBlue from '@/components/HeaderBlue';
+import Commit from '@/components/Commit';
+
+export default {
+  name: "Commit",
+  props: ["hash"],
+  components: {
+    'header-blue': HeaderBlue,
+    'commit-card': Commit,
+  },
+  async mounted() {
+    this.$store.dispatch('set_loading', true);
+    await this.$store.dispatch('get_commit', this.hash);
+    await this.$store.dispatch('get_email',
+                        {type: 'author', email: this.commit.author_email});
+    if(this.commit.author_email != this.commit.committer_email) {
+      await this.$store.dispatch('get_email',
+                        {type: 'committer', email: this.commit.committer_email});
+    } else {
+      await this.$store.dispatch('set_committer', this.author_avatar)
+    }
+    this.$store.dispatch('set_loading', false);
+  },
+  computed: {
+    loading: function() {
+      return this.$store.getters.loading;
+    },
+    commit: function() {
+      return this.$store.getters.commit;
+    },
+    author_avatar: function() {
+      return this.$store.getters.author_avatar;
+    },
+    committer_avatar: function() {
+      return this.$store.getters.committer_avatar;
+    },
+  },
+}
+</script>
-- 
cgit v1.2.3-18-g5258

