File tree Expand file tree Collapse file tree 4 files changed +102
-34
lines changed Expand file tree Collapse file tree 4 files changed +102
-34
lines changed Original file line number Diff line number Diff line change 1
1
<template >
2
- <nav class =" navbar navbar-expand-lg navbar-light bg-light" >
3
- <router-link class =" navbar-brand" :to =" { name: 'Home'}" >
4
- Kossie Coder
5
- </router-link >
6
-
7
- <ul class =" navbar-nav mr-auto" >
8
- <li class =" nav-item active" >
9
- <router-link class =" nav-link" :to =" { name: 'Todos'}" >
10
- Todos
11
- </router-link >
12
- </li >
13
- </ul >
14
- </nav >
2
+ <Navbar />
15
3
<div class =" container" >
16
4
<router-view />
17
5
</div >
21
9
22
10
<script >
23
11
import Toast from ' @/components/Toast.vue' ;
12
+ import Navbar from ' @/components/Navbar.vue' ;
24
13
25
14
export default {
26
15
components: {
27
- Toast
16
+ Toast,
17
+ Navbar
28
18
},
29
19
}
30
20
</script >
Original file line number Diff line number Diff line change
1
+ <template >
2
+ <nav class =" navbar navbar-expand-lg navbar-light bg-light" >
3
+ <router-link class =" navbar-brand" :to =" { name: 'Home'}" >
4
+ Kossie Coder
5
+ </router-link >
6
+
7
+ <ul class =" navbar-nav mr-auto" >
8
+ <li class =" nav-item active" >
9
+ <router-link class =" nav-link" :to =" { name: 'Todos'}" >
10
+ Todos
11
+ </router-link >
12
+ </li >
13
+ </ul >
14
+ </nav >
15
+ </template >
16
+
17
+ <script >
18
+ export default {
19
+
20
+ }
21
+ </script >
22
+
23
+ <style >
24
+
25
+ </style >
Original file line number Diff line number Diff line change
1
+ <template >
2
+ <nav aria-label =" Page navigation example" >
3
+ <ul class =" pagination" >
4
+ <li v-if =" currentPage !== 1" class =" page-item" >
5
+ <a
6
+ style =" cursor : pointer "
7
+ class =" page-link"
8
+ @click =" onClick(currentPage - 1)"
9
+ >
10
+ Previous
11
+ </a >
12
+ </li >
13
+ <li
14
+ v-for =" page in numberOfPages"
15
+ :key =" page"
16
+ class =" page-item"
17
+ :class =" currentPage === page ? 'active' : ''"
18
+ >
19
+ <a
20
+ style =" cursor : pointer "
21
+ class =" page-link"
22
+ @click =" onClick(page)"
23
+ >{{page}}</a >
24
+ </li >
25
+ <li v-if =" numberOfPages !== currentPage" class =" page-item" >
26
+ <a
27
+ style =" cursor : pointer "
28
+ class =" page-link"
29
+ @click =" onClick(currentPage + 1)"
30
+ >Next</a >
31
+ </li >
32
+ </ul >
33
+ </nav >
34
+ </template >
35
+
36
+ <script >
37
+ import { useContext } from ' vue' ;
38
+ export default {
39
+ props: {
40
+ numberOfPages: {
41
+ type: Number ,
42
+ required: true
43
+ },
44
+ currentPage: {
45
+ type: Number ,
46
+ required: true
47
+ }
48
+ },
49
+ emits: [' click' ],
50
+ setup () {
51
+ const { emit } = useContext ();
52
+ const onClick = (page ) => {
53
+ emit (' click' , page)
54
+ };
55
+
56
+ return {
57
+ onClick
58
+ }
59
+ }
60
+ }
61
+ </script >
62
+
63
+ <style >
64
+
65
+ </style >
Original file line number Diff line number Diff line change 28
28
@delete-todo =" deleteTodo"
29
29
/>
30
30
<hr />
31
- <nav aria-label =" Page navigation example" >
32
- <ul class =" pagination" >
33
- <li v-if =" currentPage !== 1" class =" page-item" >
34
- <a style =" cursor : pointer " class =" page-link" @click =" getTodos(currentPage - 1)" >
35
- Previous
36
- </a >
37
- </li >
38
- <li
39
- v-for =" page in numberOfPages"
40
- :key =" page"
41
- class =" page-item"
42
- :class =" currentPage === page ? 'active' : ''"
43
- >
44
- <a style =" cursor : pointer " class =" page-link" @click =" getTodos(page)" >{{page}}</a >
45
- </li >
46
- <li v-if =" numberOfPages !== currentPage" class =" page-item" >
47
- <a style =" cursor : pointer " class =" page-link" @click =" getTodos(currentPage + 1)" >Next</a >
48
- </li >
49
- </ul >
50
- </nav >
31
+ <Pagination
32
+ v-if =" todos.length"
33
+ :numberOfPages =" numberOfPages"
34
+ :currentPage =" currentPage"
35
+ @click =" getTodos"
36
+ />
51
37
</div >
52
38
</template >
53
39
@@ -57,10 +43,12 @@ import TodoList from '@/components/TodoList.vue';
57
43
import axios from ' @/axios' ;
58
44
import { useToast } from ' @/composables/toast' ;
59
45
import {useRouter } from ' vue-router' ;
46
+ import Pagination from ' @/components/Pagination.vue' ;
60
47
61
48
export default {
62
49
components: {
63
50
TodoList,
51
+ Pagination
64
52
},
65
53
setup () {
66
54
const router = useRouter ();
You can’t perform that action at this time.
0 commit comments