This commit is contained in:
Troplo 2021-04-07 23:08:04 +10:00
parent 308ae85b0e
commit ebc4c938ff
31 changed files with 12320 additions and 133 deletions

10
.eslintrc.js Normal file
View file

@ -0,0 +1,10 @@
module.exports = {
"rules": {
"no-mixed-spaces-and-tabs": 0,
},
"parserOptions": {
"sourceType": "module",
"parser": "babel-eslint",
"ecmaVersion": 6
},
}

7
.gitignore vendored
View file

@ -21,3 +21,10 @@ pnpm-debug.log*
*.njsproj
*.sln
*.sw?
# MetadataService files
*.lmetadata
*.metadata
# Yarn and NPM
.yarn

View file

@ -1,3 +0,0 @@
/*
Soon
*/

View file

@ -17,6 +17,7 @@
"crypto-random-string": "^3.3.0",
"dotenv-webpack": "^6.0.0",
"lodash.throttle": "^4.1.1",
"moment": "^2.29.1",
"nprogress": "^0.2.0",
"socket.io": "^3.1.0",
"tiptap": "^1.32.0",
@ -36,7 +37,6 @@
"devDependencies": {
"@intlify/vue-i18n-loader": "^1.0.0",
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-plugin-router": "~4.5.0",
"@vue/cli-plugin-vuex": "~4.5.0",
"@vue/cli-service": "~4.5.0",

View file

@ -7,7 +7,9 @@
<Footer />
</div>
</template>
<style>
@import './assets/css/kaverti.css';
</style>
<script>
import Navbar from "./components/Navbar";
import Footer from "./components/Footer";

View file

@ -1,6 +1,17 @@
#app {
display: flex !important;
flex-direction: column !important;
min-height: 100vh !important
}
main {
flex: 1 !important
}
.large-icon {
font-size: 60px;
}
.vertical {
margin: 0;
position: absolute;

View file

@ -0,0 +1,3 @@
/*
Soon
*/

View file

@ -49,7 +49,7 @@
</span>
</template>
<script>
import AjaxErrorHandler from "../../assets/js/errorHandler";
import AjaxErrorHandler from ".././assets/js/errorHandler";
export default {
name: 'UserBadges',

View file

@ -77,7 +77,7 @@
</div>
</template>
<script>
import AjaxErrorHandler from '../../assets/js/errorHandler'
import AjaxErrorHandler from '.././assets/js/errorHandler'
export default {
name: 'locale-changer',
data () {

View file

@ -302,7 +302,7 @@
<b-navbar-item @click="toggleBrokenRoute(true)">{{$t('navbar.dev.brokenRoute')}}</b-navbar-item>
</div>
</div>
<div v-if="$store.state.debug" class="navbar-item has-dropdown is-hoverable is-info">
<div class="navbar-item has-dropdown is-hoverable is-info">
<a class="navbar-link">
<p>{{$t('navbar.more.title')}}</p>
</a>
@ -369,7 +369,7 @@
</nav>
</template>
<script>
import AjaxErrorHandler from '../../assets/js/errorHandler'
import AjaxErrorHandler from '.././assets/js/errorHandler'
import axios from "axios";
export default {
data() {

View file

@ -179,7 +179,7 @@ const router = new VueRouter({
routes
});
router.beforeResolve((to, next) => {
router.beforeResolve((to, from, next) => {
if (to.name) {
NProgress.start();
}

View file

@ -70,7 +70,7 @@
</template>
<script>
import AjaxErrorHandler from "../../assets/js/errorHandler";
import AjaxErrorHandler from ".././assets/js/errorHandler";
export default {
name: 'MarketplaceCreate',

View file

@ -42,7 +42,7 @@
</template>
<script>
import AjaxErrorHandler from "../../assets/js/errorHandler";
import AjaxErrorHandler from ".././assets/js/errorHandler";
export default {
name: "Avatar",

View file

@ -164,7 +164,7 @@
</template>
<script>
import AjaxErrorHandler from "../../assets/js/errorHandler";
import AjaxErrorHandler from ".././assets/js/errorHandler";
import { Editor, EditorContent, EditorMenuBar } from 'tiptap'
import {
Blockquote,

View file

@ -7,19 +7,11 @@
<router-link to="/forums/create">
<b-button type="is-info">Create Thread</b-button>
</router-link>
<br />
<br /><br />
<b-menu>
<b-menu-list label="Categories">
<router-link to="/forums/ALL">
<b-menu-item label="All"></b-menu-item>
</router-link>
<router-link
v-for="(category, $index) in categories"
:key="'category-link-' + $index"
:to="'/forums/' + category.value"
>
<b-menu-item :label="category.name"></b-menu-item>
</router-link>
<b-menu-item label="All" tag="router-link" to="/forums/all" :active="selectedCategory === 'ALL'"></b-menu-item> <b-menu-item :label="category.name" v-for="(category, $index) in categories" :active="selectedCategory === category.value"
:key="'category-link-' + $index" tag="router-link" :to="'/forums/' + category.value"></b-menu-item>
</b-menu-list>
</b-menu>
</div>
@ -106,7 +98,7 @@
</template>
<script>
import AjaxErrorHandler from "../../assets/js/errorHandler";
import AjaxErrorHandler from ".././assets/js/errorHandler";
import NoItems from "../components/NoItems";
export default {
name: "Forums",

View file

@ -47,7 +47,7 @@
</main>
</template>
<script>
import AjaxErrorHandler from "../../assets/js/errorHandler";
import AjaxErrorHandler from ".././assets/js/errorHandler";
import NoItems from "../components/NoItems"
export default {
name: 'Friends',

View file

@ -1,8 +1,9 @@
<template>
<div id="home">
<section class="section" v-if="$store.state.user.username">
<div class="container">
<div class="columns is-centered">
<div class="column is-3">
<div class="column is-4">
<div class="title">
{{ $store.state.user.username }}
</div>
@ -48,7 +49,7 @@
<div class="media-content">
<div class="content">
<p>
<strong>{{ post.fromUser.username }}</strong>
<strong>{{ post.fromUser.username }}</strong>&nbsp;
<small>{{ post.createdAt | formatDate() }}</small>
<br>
{{ post.plainText }}
@ -64,8 +65,9 @@
</div>
</div>
</div>
</div>
</section>
<section class="section hero is-info is-large is-fullheight-with-navbar" v-if="!store.state.user.username">
<section class="section hero is-info is-large is-fullheight-with-navbar" v-if="!$store.state.user.username">
<div class="hero-body">
<div class="container has-text-centered">
<div class="title">
@ -81,7 +83,7 @@
</div>
</div>
</section>
<section class="section hero is-white is-medium" v-if="!store.state.user.username">
<section class="section hero is-white is-medium" v-if="!$store.state.user.username">
<div class="hero-body">
<div class="container has-text-centered">
<div class="title">
@ -169,7 +171,7 @@
<script>
import NoItems from "@/components/NoItems";
import AjaxErrorHandler from "../../assets/js/errorHandler";
import AjaxErrorHandler from ".././assets/js/errorHandler";
export default {
name: 'Home',

View file

@ -135,7 +135,7 @@
</main>
</template>
<script>
import AjaxErrorHandler from "../../assets/js/errorHandler";
import AjaxErrorHandler from ".././assets/js/errorHandler";
import NoItems from "../components/NoItems"
import Pagination from "../components/Pagination"
export default {

View file

@ -79,7 +79,7 @@
</main>
</template>
<script>
import AjaxErrorHandler from '../../assets/js/errorHandler'
import AjaxErrorHandler from '.././assets/js/errorHandler'
export default {
name: 'MarketplaceItem',
data() {

View file

@ -1,102 +1,129 @@
<template>
<main class="section">
<div class="columns is-multiline" v-if="!loading">
<div v-if="!teams.length" class="column">
<br>
<NoItems :connection="true" type="users">
</NoItems>
</div>
<Pagination
class='columns is-multiline'
v-if='teams.length'
:loading='loading'
:paginate="paginate"
:wait="wait"
@loadNext='getTeams(false)'
>
<div class="column is-3" v-for='(team) in teams' :key='"team-" + team.id'>
<div class="box">
<h1 class="title">{{team.username}}&nbsp;<Badges :username="team.username" :verified="team.verified" :noPlus="true"></Badges></h1>
<img :src="'/api/v1/teams/view/' + team.username + '/picture'" width="64" length="64"><br>
<b-button tag="router-link" :to='"/u/" + team.username' class="is-centered is-info">View Profile</b-button>
<div id="teams">
<section class="section">
<div class="container">
<div class="columns is-centered is-multiline" v-if="!loading">
<div v-if="!teams.length" class="column">
<br />
<NoItems :connection="true" type="users"> </NoItems>
</div>
<Pagination
class="columns is-multiline"
v-if="teams.length"
:loading="loading"
:paginate="paginate"
:wait="wait"
@loadNext="getTeams(false)"
>
<div
class="column is-3"
v-for="user in teams"
:key="'user-' + user.id"
>
<div class="box">
<h1 class="title">
{{ user.username }}&nbsp;<Badges
:verified="user.verified"
></Badges>
</h1>
<img
:src="
'https://cdn.kaverti.com/user/avatars/full/' +
user.picture +
'.png'
"
/><br />
<b-button
tag="router-link"
:to="'/u/' + user.username"
class="is-centered is-info"
>View Team</b-button
>
</div>
</div>
</Pagination>
</div>
<div class="columns is-multiline" v-if="loading">
<div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div>
<div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div>
<div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div>
<div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div>
<div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div>
<div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div>
<div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div>
<div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div>
<div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div>
</div>
</Pagination>
</div>
<div class="columns is-multiline" v-if="loading">
<div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div>
<div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div> <div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div>
<div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div>
<div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div> <div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div> <div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div> <div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div>
<div class="column is-4">
<div class="box">
<h1 class="title">
<b-skeleton></b-skeleton>
</h1>
<b-skeleton height="100px"></b-skeleton>
</div>
</div>
</div>
</main>
</section>
</div>
</template>
<script>
import AjaxErrorHandler from "../../assets/js/errorHandler";
import AjaxErrorHandler from ".././assets/js/errorHandler";
import Badges from "../components/Badges"
import NoItems from "../components/NoItems"
import Pagination from "../components/Pagination"

View file

@ -43,7 +43,7 @@
</main>
</template>
<script>
import AjaxErrorHandler from '../../assets/js/errorHandler';
import AjaxErrorHandler from '.././assets/js/errorHandler';
import NoItems from '../components/NoItems'
export default {
name: 'Transactions',

View file

@ -154,7 +154,7 @@
</template>
<script>
import AjaxErrorHandler from "../../assets/js/errorHandler";
import AjaxErrorHandler from ".././assets/js/errorHandler";
import Badges from "../components/Badges";
import NoItems from "../components/NoItems";

View file

@ -19,7 +19,7 @@
</main>
</template>
<script>
import AjaxErrorHandler from "../../assets/js/errorHandler";
import AjaxErrorHandler from ".././assets/js/errorHandler";
import NoItems from "../components/NoItems"
export default {
name: 'UserAwards',

View file

@ -15,7 +15,7 @@
</main>
</template>
<script>
import AjaxErrorHandler from "../../assets/js/errorHandler";
import AjaxErrorHandler from ".././assets/js/errorHandler";
export default {
name: 'UserFriends',

View file

@ -17,7 +17,7 @@
</main>
</template>
<script>
import AjaxErrorHandler from "../../assets/js/errorHandler";
import AjaxErrorHandler from ".././assets/js/errorHandler";
import NoItems from "../components/NoItems"
export default {

View file

@ -31,7 +31,7 @@
</template>
<script>
import AjaxErrorHandler from '../../assets/js/errorHandler'
import AjaxErrorHandler from '.././assets/js/errorHandler'
import ThreadPost from '../components/Post'
export default {

View file

@ -128,7 +128,7 @@
</template>
<script>
import AjaxErrorHandler from "../../assets/js/errorHandler";
import AjaxErrorHandler from ".././assets/js/errorHandler";
import Badges from "../components/Badges";
import NoItems from "../components/NoItems";
import Pagination from "../components/Pagination";

12136
yarn.lock Normal file

File diff suppressed because it is too large Load diff