├── .gitignore
├── README.md
├── babel.config.js
├── docs
└── screenshot.png
├── package-lock.json
├── package.json
├── public
├── favicon.ico
├── images
│ ├── logo.png
│ └── logo.svg
├── index.html
├── manifest.json
└── sw.js
├── src
├── App.vue
├── components
│ └── Home.vue
├── main.js
└── plugins
│ └── vuetify.js
├── vue.config.js
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 | # local env files
6 | .env.local
7 | .env.*.local
8 |
9 | # Log files
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 |
14 | # Editor directories and files
15 | .idea
16 | .vscode
17 | *.suo
18 | *.ntvs*
19 | *.njsproj
20 | *.sln
21 | *.sw?
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Tasks Layout
2 |
3 | Sample vue/vuetify layout for a tasks management web application.
4 |
5 | 
6 |
7 | ## Project setup
8 |
9 | ```
10 | yarn install
11 | ```
12 |
13 | ### Compiles and hot-reloads for development
14 |
15 | ```
16 | yarn run serve
17 | ```
18 |
19 | ### Compiles and minifies for production
20 |
21 | ```
22 | yarn run build
23 | ```
24 |
25 | ### Run your tests
26 |
27 | ```
28 | yarn run test
29 | ```
30 |
31 | ### Lints and fixes files
32 |
33 | ```
34 | yarn run lint
35 | ```
36 |
37 | ### Customize configuration
38 |
39 | See [Configuration Reference](https://cli.vuejs.org/config/).
40 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/docs/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/edderrd/tasks-layout/e41319b0248e7462a4034b40f628c5da8ef4b3d0/docs/screenshot.png
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tasks-layout",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "core-js": "^3.6.5",
12 | "vue": "^2.6.11",
13 | "vuedraggable": "^2.23.2",
14 | "vuetify": "^2.3.1"
15 | },
16 | "devDependencies": {
17 | "@vue/cli-plugin-babel": "^4.4.5",
18 | "@vue/cli-plugin-eslint": "^4.4.5",
19 | "@vue/cli-service": "^4.4.5",
20 | "babel-eslint": "^10.1.0",
21 | "eslint": "^7.3.1",
22 | "eslint-plugin-vue": "^6.2.2",
23 | "sass": "^1.26.9",
24 | "sass-loader": "^8.0.2",
25 | "vue-cli-plugin-vuetify": "^2.0.5",
26 | "vue-template-compiler": "^2.6.11",
27 | "vuetify-loader": "^1.5.0"
28 | },
29 | "eslintConfig": {
30 | "root": true,
31 | "env": {
32 | "node": true
33 | },
34 | "extends": [
35 | "plugin:vue/essential",
36 | "eslint:recommended"
37 | ],
38 | "rules": {},
39 | "parserOptions": {
40 | "parser": "babel-eslint"
41 | }
42 | },
43 | "browserslist": [
44 | "> 1%",
45 | "last 2 versions"
46 | ]
47 | }
48 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/edderrd/tasks-layout/e41319b0248e7462a4034b40f628c5da8ef4b3d0/public/favicon.ico
--------------------------------------------------------------------------------
/public/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/edderrd/tasks-layout/e41319b0248e7462a4034b40f628c5da8ef4b3d0/public/images/logo.png
--------------------------------------------------------------------------------
/public/images/logo.svg:
--------------------------------------------------------------------------------
1 | Artboard 46
2 |
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | Task Layout
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | We're sorry but task-layout doesn't work properly without JavaScript
22 | enabled. Please enable it to continue.
23 |
24 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Tasks Layout",
3 | "short_name": "Tasks Layout",
4 | "icons": [{
5 | "src": "/images/logo.png",
6 | "sizes": "128x128",
7 | "type": "image/png"
8 | },
9 | {
10 | "src": "/images/logo.png",
11 | "sizes": "144x144",
12 | "type": "image/png"
13 | },
14 | {
15 | "src": "/images/logo.png",
16 | "sizes": "152x152",
17 | "type": "image/png"
18 | },
19 | {
20 | "src": "/images/logo.png",
21 | "sizes": "192x192",
22 | "type": "image/png"
23 | },
24 | {
25 | "src": "/images/logo.png",
26 | "sizes": "256x256",
27 | "type": "image/png"
28 | },
29 | {
30 | "src": "/images/logo.png",
31 | "sizes": "512x512",
32 | "type": "image/png"
33 | }
34 | ],
35 | "start_url": "/",
36 | "display": "standalone",
37 | "background_color": "#202020",
38 | "theme_color": "#202020"
39 | }
--------------------------------------------------------------------------------
/public/sw.js:
--------------------------------------------------------------------------------
1 | this.addEventListener('fetch', function (event) {
2 | // it can be empty if you just want to get rid of that error
3 | });
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
12 |
13 |
18 |
19 | {{ link.icon }}
20 |
21 |
22 | {{ link.label }}
23 |
24 |
25 | {{ link.due_count }}
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
38 |
39 | {{ `${project.label[0]}${project.label[1]}` }}
45 |
46 |
47 | {{ project.label }}
48 |
49 |
50 | {{
51 | project.due_count
52 | }}
53 |
54 |
55 |
56 |
57 |
58 | mdi-plus
59 |
60 |
61 | Add a project...
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
85 |
92 |
93 | {{ appBarTitle }}
94 |
95 |
96 |
97 | mdi-magnify
98 |
99 |
100 | mdi-plus
101 |
102 |
103 |
117 |
118 |
119 |
120 | In Process
121 |
122 |
123 |
124 | {{
125 | `${issue.title} ${index}`
126 | }}
127 | {{
128 | issue.description
129 | }}
130 |
131 |
132 |
133 |
134 |
135 | To Do
136 |
137 |
138 |
139 | {{
140 | `${issue.title} ${index}`
141 | }}
142 | {{
143 | issue.description
144 | }}
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 |
159 |
263 |
--------------------------------------------------------------------------------
/src/components/Home.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 | Some random title 1
9 |
10 |
11 | mdi-clock
12 |
13 |
14 | mdi-settings
15 |
16 |
17 | mdi-menu
18 |
19 |
20 |
21 |
22 | Lorem ipsum dolor sit amet consectetur, adipisicing elit. Quisquam alias a aliquam recusandae quia maxime accusantium natus blanditiis perspiciatis unde! Ad aspernatur nulla tempora facere corrupti animi labore iure. Sapiente?
25 |
26 |
27 |
28 | Comments
29 |
30 |
31 |
32 |
33 | ME
34 |
35 | Comment {{ index }}: Lorem ipsum dolor sit amet consectetur adipisicing elit. Ad quod iste laudantium possimus cupiditate reprehenderit. Deleniti facere culpa ut libero quod, nihil ea quo similique vitae, id quas nesciunt ducimus.
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
62 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from "vue";
2 | import App from "./App.vue";
3 | import vuetify from "./plugins/vuetify";
4 |
5 | Vue.config.productionTip = false;
6 |
7 | new Vue({
8 | vuetify,
9 | render: h => h(App)
10 | }).$mount("#app");
--------------------------------------------------------------------------------
/src/plugins/vuetify.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue';
2 | import Vuetify from 'vuetify/lib';
3 |
4 | Vue.use(Vuetify);
5 |
6 | export default new Vuetify({
7 | theme: {
8 | themes: {
9 | dark: {
10 | background: "#303030",
11 | }
12 | }
13 | }
14 | });
--------------------------------------------------------------------------------
/vue.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | "transpileDependencies": [
3 | "vuetify"
4 | ]
5 | }
--------------------------------------------------------------------------------