aboutsummaryrefslogtreecommitdiff
path: root/src/views
diff options
context:
space:
mode:
Diffstat (limited to 'src/views')
-rw-r--r--src/views/Home.vue62
-rw-r--r--src/views/Repository.vue29
-rw-r--r--src/views/RepositoryCommit.vue98
-rw-r--r--src/views/RepositoryLog.vue91
4 files changed, 0 insertions, 280 deletions
diff --git a/src/views/Home.vue b/src/views/Home.vue
deleted file mode 100644
index 79ec4ab..0000000
--- a/src/views/Home.vue
+++ /dev/null
@@ -1,62 +0,0 @@
-<template>
- <HomeHeader />
- <div class="row mx-0 mt-5">
- <div id="projects-header" class="col ms-4">
- <p class="fs-1">
- Projects
- </p>
- </div>
- <div id="projects-search" class="col d-flex justify-content-end">
- <form>
- <input type="search" name="q">
- <input type="submit" value="Search">
- </form>
- </div>
- </div>
- <div class="row mx-0">
- <div class="col ms-4">
- <ul id="repos">
- <li v-for="(project, project_name, index) in projects" :key="index">
- <div v-if="(search !== null && project_name.includes(search)) || search == null">
- <p class="fs-3">
- <router-link :to="project_name">
- {{ project_name }}
- </router-link>
- </p>
- <span class="repo-last-updated fs-5">Last updated about {{ project["last_updated"] }} ago</span>
- <span class="fs-5">{{ project["description"] }}</span>
- </div>
- </li>
- </ul>
- </div>
- </div>
-</template>
-
-<script>
-import HomeHeader from "../components/HomeHeader";
-import { watch, reactive, toRefs } from "vue";
-
-export default {
- name: "Home",
- components: {
- HomeHeader
- },
- setup()
- {
- const state = reactive({ projects: Object, search: String });
-
- watch(() =>
- {
- fetch(`http://localhost:1337/api/v1/repos`)
- .then((res) => res.json())
- .then((data) => state.projects = data["data"]);
- });
-
- state.search = (new URLSearchParams(window.location.search)).get("q");
-
- return {
- ... toRefs(state)
- };
- }
-}
-</script> \ No newline at end of file
diff --git a/src/views/Repository.vue b/src/views/Repository.vue
deleted file mode 100644
index 8863529..0000000
--- a/src/views/Repository.vue
+++ /dev/null
@@ -1,29 +0,0 @@
-<template>
- <RepositoryHeader :repository="repository" />
- <router-view :repository="repository" />
-</template>
-
-<script>
-import RepositoryHeader from "../components/RepositoryHeader";
-
-export default {
- name: "Repository",
- components: {
- RepositoryHeader
- },
- props: {
- repository: {
- type: String,
- required: true
- }
- },
- created()
- {
- if(/^\/[a-zA-Z0-9.\-_]+[/]?$/.test(window.location.pathname)) {
- this.$router.push({ path: `${window.location.pathname}${( window.location.pathname.endsWith("/") ) ? "log" : "/log"}`, replace: true});
- }
-
- console.log(this.repository);
- }
-}
-</script> \ No newline at end of file
diff --git a/src/views/RepositoryCommit.vue b/src/views/RepositoryCommit.vue
deleted file mode 100644
index 283ed69..0000000
--- a/src/views/RepositoryCommit.vue
+++ /dev/null
@@ -1,98 +0,0 @@
-<template>
- <RepositoryNavbar active-page="log" />
- <div class="row mx-0">
- <div class="col ms-2 ps-4 ps-sm-5 fs-5 vld-parent">
- <nav aria-label="breadcrumb">
- <ol class="breadcrumb">
- <li class="breadcrumb-item">
- <router-link :to="'/' + repository + '/log'">
- Log
- </router-link>
- </li>
- <li class="breadcrumb-item active" aria-current="page">
- {{ commit }}
- </li>
- </ol>
- </nav>
- <Loading
- v-model:active="is_loading" :height="24"
- :width="24" color="#ffffff"
- :opacity="0" />
- <table id="commit-info" class="table table-dark">
- <tbody>
- <tr>
- <td class="commit-info-title">
- Author
- </td>
- <td>{{ commit_data["author"] }}</td>
- </tr>
- <tr>
- <td class="commit-info-title">
- Date
- </td>
- <td>{{ commit_data["date"] }}</td>
- </tr>
- <tr>
- <td class="commit-info-title">
- Message
- </td>
- <td>{{ commit_data["message"] }}</td>
- </tr>
- </tbody>
- </table>
-
- <template
- v-for="(patch, index) in commit_data['patches']" :key="index">
- <CommitPatch :patch="patch" />
- </template>
- </div>
- </div>
-</template>
-
-<script>
-import RepositoryNavbar from "../components/RepositoryNavbar";
-import CommitPatch from "../components/CommitPatch";
-import Loading from "vue-loading-overlay";
-import 'vue-loading-overlay/dist/vue-loading.css';
-import { watch, reactive, toRefs } from "vue";
-import { format } from "date-fns";
-
-export default {
- name: "RepositoryCommit",
- components: {
- RepositoryNavbar,
- CommitPatch,
- Loading
- },
- props: {
- repository: {
- type: String,
- required: true
- },
- commit: {
- type: String,
- required: true
- }
- },
- setup(props)
- {
- const state = reactive({ commit_data: {}, is_loading: true });
-
- watch(() =>
- {
- fetch(`http://localhost:1337/api/v1/repos/${props.repository}/log/${props.commit}`)
- .then((res) => res.json())
- .then((data) =>
- {
- data["data"]["date"] = format(new Date(data["data"]["date"]), "yyyy-MM-dd hh:mm");
- state.commit_data = data["data"]
- state.is_loading = false;
- });
- });
-
- return {
- ... toRefs(state)
- };
- }
-}
-</script>
diff --git a/src/views/RepositoryLog.vue b/src/views/RepositoryLog.vue
deleted file mode 100644
index 399fc78..0000000
--- a/src/views/RepositoryLog.vue
+++ /dev/null
@@ -1,91 +0,0 @@
-<template>
- <RepositoryNavbar active-page="log" />
- <div class="row mx-0 vld-parent">
- <Loading
- v-model:active="is_loading" :height="24"
- :width="24" color="#ffffff"
- :opacity="0" />
- <div class="col ms-4 ps-4 ps-sm-5 mt-3">
- <table id="log" class="table table-dark fs-5">
- <thead>
- <tr>
- <th class="text-secondary">
- Subject
- </th>
- <th class="text-secondary">
- Author
- </th>
- <th class="text-secondary">
- Date
- </th>
- <th class="text-secondary">
- Files
- </th>
- <th class="text-secondary">
- Del/Add
- </th>
- </tr>
- </thead>
- <tbody>
- <tr v-for="(commit, index) in commits" :key="index">
- <td>
- <router-link :to="'log/' + commit['commit']">
- {{ commit["message"] }}
- </router-link>
- </td>
- <td>{{ commit["author_name"] }}</td>
- <td>{{ format(new Date(commit["date"]), "yyyy-MM-dd hh:mm") }}</td>
- <td>{{ commit["files_changed"] }}</td>
- <td><span class="text-danger">-{{ commit["deletions"] }}</span> / <span class="text-success">+{{ commit["insertions"] }}</span></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-</template>
-
-<script>
-import RepositoryNavbar from "../components/RepositoryNavbar";
-import Loading from "vue-loading-overlay";
-import 'vue-loading-overlay/dist/vue-loading.css';
-import { format } from "date-fns";
-import { watch, reactive, toRefs } from "vue";
-
-export default {
- name: "RepositoryLog",
- components: {
- RepositoryNavbar,
- Loading
- },
- props: {
- repository: {
- type: String,
- required: true
- }
- },
- data()
- {
- return {
- format: format
- };
- },
- setup(props)
- {
- const state = reactive({ commits: {}, is_loading: true });
-
- watch(() =>
- {
- fetch(`http://localhost:1337/api/v1/repos/${props.repository}/log`)
- .then((res) => res.json())
- .then((data) => {
- state.commits = data["data"];
- state.is_loading = false;
- });
- });
-
- return {
- ... toRefs(state)
- };
- }
-}
-</script> \ No newline at end of file