add loader
This commit is contained in:
19
resources/js/components/Loader.vue
Normal file
19
resources/js/components/Loader.vue
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<template>
|
||||||
|
<div v-if="loading" class="flex-center">
|
||||||
|
<svg-vue icon="loader" class="loader"/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "Loader",
|
||||||
|
data: function () {
|
||||||
|
return {
|
||||||
|
loading: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
setTimeout(() => this.loading = true, 250)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
<a href="#" class="btn" @click="$router.back()">< Back</a>
|
<a href="#" class="btn" @click="$router.back()">< Back</a>
|
||||||
<router-link :to="'/memos/create'" class="btn-primary">Add New Memo</router-link>
|
<router-link :to="'/memos/create'" class="btn-primary">Add New Memo</router-link>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="loading">> Loading...</div>
|
<Loader v-if="loading" />
|
||||||
<div v-else class="container-cards-list">
|
<div v-else class="container-cards-list">
|
||||||
<div v-if="memos.lenght === 0">
|
<div v-if="memos.lenght === 0">
|
||||||
<p>No memos yet. <router-link to="/memos/create">Get Started ></router-link></p>
|
<p>No memos yet. <router-link to="/memos/create">Get Started ></router-link></p>
|
||||||
@@ -18,8 +18,13 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import Loader from "../../components/Loader";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "MemoIndex",
|
name: "MemoIndex",
|
||||||
|
components: {
|
||||||
|
Loader
|
||||||
|
},
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
loading: true,
|
loading: true,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="p-2">
|
<div class="p-2">
|
||||||
<div v-if="loading" >> Loading...</div>
|
<Loader v-if="loading" />
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<div class="flex-between flex-center mb-1">
|
<div class="flex-between flex-center mb-1">
|
||||||
<router-link to="/memos/" class="btn">< Back</router-link>
|
<router-link to="/memos/" class="btn">< Back</router-link>
|
||||||
@@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
// import TagBox from "../Tag/TagBox";
|
// import TagBox from "../Tag/TagBox";
|
||||||
|
import Loader from "../../components/Loader";
|
||||||
let MarkdownIt = require('markdown-it'),
|
let MarkdownIt = require('markdown-it'),
|
||||||
md = new MarkdownIt()
|
md = new MarkdownIt()
|
||||||
.use(require('markdown-it-checkbox'));
|
.use(require('markdown-it-checkbox'));
|
||||||
@@ -34,6 +35,7 @@
|
|||||||
export default {
|
export default {
|
||||||
name: 'MemoShow',
|
name: 'MemoShow',
|
||||||
components: {
|
components: {
|
||||||
|
Loader
|
||||||
// TagBox
|
// TagBox
|
||||||
},
|
},
|
||||||
data: function () {
|
data: function () {
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
<div class="mb-2">
|
<div class="mb-2">
|
||||||
<h2>Liste des utilisateurs</h2>
|
<h2>Liste des utilisateurs</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li v-if="loading">> Loading...</li>
|
<Loader v-if="loading" />
|
||||||
<li v-else v-for="user in users"><a :href="user.links.self">{{ user.data.attributes.name }}</a> - {{ user.data.attributes.email }} - {{ user.data.attributes.is_admin }}</li>
|
<li v-else v-for="user in users"><a :href="user.links.self">{{ user.data.attributes.name }}</a> - {{ user.data.attributes.email }} - {{ user.data.attributes.is_admin }}</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -38,11 +38,12 @@
|
|||||||
import Avatar from '../../components/Avatar';
|
import Avatar from '../../components/Avatar';
|
||||||
import AlertBox from '../../components/AlertBox';
|
import AlertBox from '../../components/AlertBox';
|
||||||
import InputField from '../../components/InputField';
|
import InputField from '../../components/InputField';
|
||||||
|
import Loader from "../../components/Loader";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'UserAdmin',
|
name: 'UserAdmin',
|
||||||
components: {
|
components: {
|
||||||
Avatar, AlertBox, InputField,
|
Avatar, AlertBox, InputField, Loader
|
||||||
},
|
},
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
@@ -53,7 +54,7 @@
|
|||||||
alertType: '',
|
alertType: '',
|
||||||
alertMessage: '',
|
alertMessage: '',
|
||||||
errors: null,
|
errors: null,
|
||||||
loading: '',
|
loading: true,
|
||||||
users: null,
|
users: null,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
1
resources/sass/app.scss
vendored
1
resources/sass/app.scss
vendored
@@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
@import "components/btn";
|
@import "components/btn";
|
||||||
@import "components/elements";
|
@import "components/elements";
|
||||||
|
@import "components/loader";
|
||||||
@import "components/events";
|
@import "components/events";
|
||||||
@import "components/main";
|
@import "components/main";
|
||||||
@import "components/nav";
|
@import "components/nav";
|
||||||
|
|||||||
5
resources/sass/components/loader.scss
vendored
Normal file
5
resources/sass/components/loader.scss
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
.loader {
|
||||||
|
margin-top: 25vh;
|
||||||
|
stroke: $dark;
|
||||||
|
width: 10rem;
|
||||||
|
}
|
||||||
16
resources/svg/loader.svg
Normal file
16
resources/svg/loader.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg width="38" height="38" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg" stroke="#000">
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<g transform="translate(1 1)" stroke-width="2">
|
||||||
|
<circle stroke-opacity=".5" cx="18" cy="18" r="18"/>
|
||||||
|
<path d="M36 18c0-9.94-8.06-18-18-18">
|
||||||
|
<animateTransform
|
||||||
|
attributeName="transform"
|
||||||
|
type="rotate"
|
||||||
|
from="0 18 18"
|
||||||
|
to="360 18 18"
|
||||||
|
dur="1s"
|
||||||
|
repeatCount="indefinite"/>
|
||||||
|
</path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 619 B |
Reference in New Issue
Block a user