summaryrefslogtreecommitdiff
path: root/src/views
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2021-03-24 21:26:51 +0100
committerSanto Cariotti <santo@dcariotti.me>2021-03-24 21:26:51 +0100
commitc2ab16d3a89df2075f2e0047766168e8b711fe86 (patch)
treeb512ea64746c20eb0e1863c8eeb04398a2781e24 /src/views
parent57e1a9e33597f30da0870a9af4d3e9167a7b3367 (diff)
feat: add new repository
Diffstat (limited to 'src/views')
-rw-r--r--src/views/Repository.vue53
1 files changed, 52 insertions, 1 deletions
diff --git a/src/views/Repository.vue b/src/views/Repository.vue
index 0b9e2cf..abb40a9 100644
--- a/src/views/Repository.vue
+++ b/src/views/Repository.vue
@@ -21,6 +21,20 @@
:committer="emails[i.committer_email]"
:expand="true"
)
+ section(v-else)
+ b-modal#new-repo(
+ @ok="add_new_repo()"
+ ok-title="Add"
+ ok-variant="outline-success"
+ cancel-variant="outline-dark"
+ )
+ <template #modal-title>Add {{ user }}/{{ name }} on Gico!</template>
+ b-form-group(label="Insert the branch name")
+ b-form-input(v-model="form.branch" placeholder="main")
+ .commit.no-hover
+ b-button(variant="outline-success" v-b-modal.new-repo)
+ | Add this repository on Gico
+ i.fas.fa-plus
</template>
<script>
@@ -36,7 +50,9 @@ export default {
},
data() {
return {
- error404: false
+ form: {
+ branch: undefined
+ }
}
},
async mounted() {
@@ -55,5 +71,40 @@ export default {
return this.$store.getters.emails;
},
},
+ methods: {
+ add_new_repo() {
+ this.$store.dispatch('add_repo', {
+ url: `github.com/${this.user}/${this.name}`,
+ branch: this.form.branch || "main"
+ }).then(response => {
+ if(response.detail) {
+ this.$bvToast.toast(response.detail, {
+ title: 'Error!',
+ autoHideDelay: 5000,
+ variant: 'danger',
+ appendToast: true
+ })
+ } else if(response.id) {
+ this.$bvToast.toast(response.url, {
+ title: 'Repository created!',
+ autoHideDelay: 5000,
+ variant: 'success',
+ appendToast: true
+ })
+ window.setTimeout(() => {
+ window.location.href="/repo/"+response.url
+ }, 1000)
+ } else {
+ this.$bvToast.toast("", {
+ title: 'Error!',
+ autoHideDelay: 5000,
+ variant: 'danger',
+ appendToast: true
+ })
+ }
+ })
+
+ }
+ }
}
</script>