├── .github
├── FUNDING.yml
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
└── workflows
│ └── codeql-analysis.yml
├── .gitignore
├── LICENSE
├── babel.config.js
├── package.json
├── public
├── favicon.ico
└── index.html
├── readme.md
├── src
├── App.vue
├── assets
│ ├── images
│ │ ├── dashmin.gif
│ │ ├── icon.png
│ │ └── icon.svg
│ └── scss
│ │ ├── app.scss
│ │ └── dashmin.scss
├── components
│ ├── Navbar.vue
│ └── Sidebar.vue
├── main.js
├── router
│ └── index.js
├── vendor.js
└── views
│ ├── Alerts.vue
│ ├── Forms.vue
│ ├── Index.vue
│ ├── Login.vue
│ ├── Register.vue
│ └── Tables.vue
└── yarn.lock
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: dacoto97
4 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
23 | **Screenshots**
24 | If applicable, add screenshots to help explain your problem.
25 |
26 | **Desktop (please complete the following information):**
27 | - OS: [e.g. iOS]
28 | - Browser [e.g. chrome, safari]
29 | - Version [e.g. 22]
30 |
31 | **Smartphone (please complete the following information):**
32 | - Device: [e.g. iPhone6]
33 | - OS: [e.g. iOS8.1]
34 | - Browser [e.g. stock browser, safari]
35 | - Version [e.g. 22]
36 |
37 | **Additional context**
38 | Add any other context about the problem here.
39 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.github/workflows/codeql-analysis.yml:
--------------------------------------------------------------------------------
1 | # For most projects, this workflow file will not need changing; you simply need
2 | # to commit it to your repository.
3 | #
4 | # You may wish to alter this file to override the set of languages analyzed,
5 | # or to provide custom queries or build logic.
6 | #
7 | # ******** NOTE ********
8 | # We have attempted to detect the languages in your repository. Please check
9 | # the `language` matrix defined below to confirm you have the correct set of
10 | # supported CodeQL languages.
11 | #
12 | name: "CodeQL"
13 |
14 | on:
15 | push:
16 | branches: [ main ]
17 | pull_request:
18 | # The branches below must be a subset of the branches above
19 | branches: [ main ]
20 | schedule:
21 | - cron: '26 2 * * 4'
22 |
23 | jobs:
24 | analyze:
25 | name: Analyze
26 | runs-on: ubuntu-latest
27 | permissions:
28 | actions: read
29 | contents: read
30 | security-events: write
31 |
32 | strategy:
33 | fail-fast: false
34 | matrix:
35 | language: [ 'javascript' ]
36 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
37 | # Learn more:
38 | # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
39 |
40 | steps:
41 | - name: Checkout repository
42 | uses: actions/checkout@v2
43 |
44 | # Initializes the CodeQL tools for scanning.
45 | - name: Initialize CodeQL
46 | uses: github/codeql-action/init@v1
47 | with:
48 | languages: ${{ matrix.language }}
49 | # If you wish to specify custom queries, you can do so here or in a config file.
50 | # By default, queries listed here will override any specified in a config file.
51 | # Prefix the list here with "+" to use these queries and those in the config file.
52 | # queries: ./path/to/local/query, your-org/your-repo/queries@main
53 |
54 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
55 | # If this step fails, then you should remove it and run the build manually (see below)
56 | - name: Autobuild
57 | uses: github/codeql-action/autobuild@v1
58 |
59 | # ℹ️ Command-line programs to run using the OS shell.
60 | # 📚 https://git.io/JvXDl
61 |
62 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
63 | # and modify them (or add more) to build your code if your project
64 | # uses a compiled language
65 |
66 | #- run: |
67 | # make bootstrap
68 | # make release
69 |
70 | - name: Perform CodeQL Analysis
71 | uses: github/codeql-action/analyze@v1
72 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # Editor directories and files
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw?
24 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 dacoto.com
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "dashmin-vue",
3 | "version": "2.0.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 | "@fortawesome/fontawesome-free": "^5.15.3",
12 | "bootstrap": "^4.6.0",
13 | "core-js": "^3.6.5",
14 | "icheck-bootstrap": "^3.0.1",
15 | "jquery": "^3.6.0",
16 | "list.js": "^2.3.1",
17 | "nprogress": "^0.2.0",
18 | "popper.js": "^1.16.1",
19 | "select2": "^4.1.0-rc.0",
20 | "sweetalert": "^2.1.2",
21 | "toastr": "^2.1.4",
22 | "vue": "^2.6.11",
23 | "vue-router": "^3.2.0"
24 | },
25 | "devDependencies": {
26 | "@vue/cli-plugin-babel": "~4.5.0",
27 | "@vue/cli-plugin-eslint": "~4.5.0",
28 | "@vue/cli-plugin-router": "~4.5.0",
29 | "@vue/cli-service": "~4.5.0",
30 | "babel-eslint": "^10.1.0",
31 | "eslint": "^6.7.2",
32 | "eslint-plugin-vue": "^6.2.2",
33 | "sass": "^1.35.1",
34 | "sass-loader": "^10.2.0",
35 | "vue-template-compiler": "^2.6.11"
36 | },
37 | "eslintConfig": {
38 | "root": true,
39 | "env": {
40 | "node": true
41 | },
42 | "extends": [
43 | "plugin:vue/essential",
44 | "eslint:recommended"
45 | ],
46 | "parserOptions": {
47 | "parser": "babel-eslint"
48 | },
49 | "rules": {}
50 | },
51 | "browserslist": [
52 | "> 1%",
53 | "last 2 versions",
54 | "not dead"
55 | ]
56 | }
57 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dacoto/dashmin-vue/ee3dbd7229f8b9a501fe3465fceaafe810de26ea/public/favicon.ico
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= htmlWebpackPlugin.options.title %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | # Dashmin Vue | Bootstrap 4 & Vue.js SPA Dashboard
4 |
5 | Admin dashboard template based on Bootstrap 4.x. with Vue.js and with the SPA architecture.
6 |
7 | ### [VIEW DEMO](https://dashmin-vue.vercel.app/)
8 |
9 | ## Project setup
10 |
11 | ```
12 | yarn install
13 | ```
14 |
15 | ### Compiles and hot-reloads for development
16 |
17 | ```
18 | yarn serve
19 | ```
20 |
21 | ### Compiles and minifies for production
22 |
23 | ```
24 | yarn build
25 | ```
26 |
27 | ### Lints and fixes files
28 |
29 | ```
30 | yarn lint
31 | ```
32 |
33 | ### Customize configuration
34 |
35 | See [Configuration Reference](https://cli.vuejs.org/config/).
36 |
37 | ### Dependencies
38 |
39 | |Package|Docs|
40 | |--- |--- |
41 | | fontawesome-free | https://fontawesome.com/ |
42 | | bootstrap | https://getbootstrap.com/ |
43 | | icheck-bootstrap | https://bantikyan.github.io/icheck-bootstrap/ |
44 | | jquery | https://jquery.com/ |
45 | | list.js| http://listjs.com/ |
46 | | nprogress | http://ricostacruz.com/nprogress/ |
47 | | popper.js | https://popper.js.org/ |
48 | | select2 | https://select2.org/ |
49 | | sweetalert | https://sweetalert.js.org/ |
50 | | toastr | http://codeseven.github.io/toastr/ |
51 | | vue | https://vuejs.org/ |
52 | | vue-router | https://router.vuejs.org/ |
53 |
54 | ### License
55 |
56 | MIT
57 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/assets/images/dashmin.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dacoto/dashmin-vue/ee3dbd7229f8b9a501fe3465fceaafe810de26ea/src/assets/images/dashmin.gif
--------------------------------------------------------------------------------
/src/assets/images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dacoto/dashmin-vue/ee3dbd7229f8b9a501fe3465fceaafe810de26ea/src/assets/images/icon.png
--------------------------------------------------------------------------------
/src/assets/images/icon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
--------------------------------------------------------------------------------
/src/assets/scss/app.scss:
--------------------------------------------------------------------------------
1 | $fa-font-path: "../../../node_modules/@fortawesome/fontawesome-free/webfonts/";
2 |
3 | @import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro');
4 | @import '~bootstrap/scss/bootstrap';
5 | @import '~toastr/toastr';
6 | @import '~select2/dist/css/select2.css';
7 | @import '~@fortawesome/fontawesome-free/scss/fontawesome';
8 | @import '~@fortawesome/fontawesome-free/scss/brands';
9 | @import '~@fortawesome/fontawesome-free/scss/regular';
10 | @import '~@fortawesome/fontawesome-free/scss/solid';
11 | @import '~icheck-bootstrap/icheck-bootstrap.css';
12 | @import '~nprogress/nprogress.css';
13 |
14 | @import "dashmin";
15 |
--------------------------------------------------------------------------------
/src/assets/scss/dashmin.scss:
--------------------------------------------------------------------------------
1 | html, body {
2 | height: 100%;
3 | }
4 |
5 | html {
6 | font-size: 14px;
7 | }
8 |
9 | body {
10 | overflow-x: hidden;
11 | font-family: 'Source Sans Pro', sans-serif;
12 | }
13 |
14 | .navbar-dark {
15 | .navbar-nav .nav-link, .navbar-text {
16 | color: rgba(255, 255, 255, 0.75);
17 | }
18 |
19 | .navbar-nav .nav-link {
20 | &:focus, &:hover {
21 | color: rgba(255, 255, 255, 1);
22 | }
23 | }
24 |
25 | .sidebar-toggle {
26 | color: rgba(255, 255, 255, 1);
27 | }
28 | }
29 |
30 | .navbar-light {
31 | .navbar-nav .nav-link, .navbar-text {
32 | color: rgba(0, 0, 0, 0.75);
33 | }
34 |
35 | .navbar-nav .nav-link {
36 | &:focus, &:hover {
37 | color: rgba(0, 0, 0, 1);
38 | }
39 | }
40 |
41 | .sidebar-toggle {
42 | color: rgba(0, 0, 0, 1);
43 | }
44 | }
45 |
46 | .sidebar {
47 | min-width: 230px;
48 | max-width: 230px;
49 | min-height: calc(100vh - 49px);
50 | transition: all 0.3s;
51 |
52 | ul {
53 | li a {
54 | display: block;
55 | padding: .75rem 1rem;
56 | text-decoration: none;
57 | }
58 |
59 | ul a {
60 | padding-left: 2.5rem;
61 | }
62 | }
63 |
64 | [data-toggle="collapse"] {
65 | position: relative;
66 |
67 | &:before {
68 | content: "\f0d7";
69 | font-family: "Font Awesome 5 Free";
70 | font-weight: 900;
71 | position: absolute;
72 | right: 1rem;
73 | }
74 | }
75 |
76 | [aria-expanded="true"]:before {
77 | content: "\f0d8";
78 | }
79 |
80 | &.toggled {
81 | margin-left: -230px;
82 | }
83 | }
84 |
85 | .sidebar-dark {
86 | ul {
87 | li a {
88 | color: rgba(255, 255, 255, 0.75);
89 | }
90 |
91 | ul a {
92 | background: rgba(0, 0, 0, 0.15);
93 | }
94 |
95 | li a:hover, a.active {
96 | color: rgba(255, 255, 255, 1);
97 | background: rgba(0, 0, 0, 0.15);
98 | }
99 | }
100 |
101 | [aria-expanded="true"] {
102 | background: rgba(0, 0, 0, 0.15);
103 | }
104 | }
105 |
106 | .sidebar-light {
107 | ul {
108 | li a {
109 | color: rgba(0, 0, 0, 0.75);
110 | }
111 |
112 | ul a {
113 | background: rgba(0, 0, 0, 0.05);
114 | }
115 |
116 | li a:hover, a.active {
117 | color: rgba(0, 0, 0, 1);
118 | background: rgba(0, 0, 0, 0.05);
119 | }
120 | }
121 |
122 | [aria-expanded="true"] {
123 | background: rgba(0, 0, 0, 0.05);
124 | }
125 | }
126 |
127 | .btn-square {
128 | border-radius: 0;
129 | }
130 |
131 | .btn-pill {
132 | border-radius: 1.5rem;
133 | }
134 |
135 | .btn-icon {
136 | padding: .375rem .5rem;
137 |
138 | &.btn-sm {
139 | padding: .25rem .375rem;
140 | }
141 |
142 | &.btn-lg {
143 | padding: .5rem .675rem;
144 | }
145 | }
146 |
147 | .accordion .card-header {
148 | padding: 0;
149 |
150 | a {
151 | padding: .75rem 1.25rem;
152 | display: block;
153 | color: inherit;
154 | text-decoration: none;
155 | }
156 |
157 | .collapse-icon:before {
158 | content: "\f068";
159 | font-family: "Font Awesome 5 Free";
160 | font-weight: 900;
161 | }
162 |
163 | .collapsed .collapse-icon:before {
164 | content: "\f067";
165 | }
166 | }
167 |
168 | .content {
169 | width: 100%;
170 | }
171 |
172 | @media (max-width: 768px) {
173 | .sidebar {
174 | margin-left: -230px;
175 |
176 | &.toggled {
177 | margin-left: 0;
178 | }
179 | }
180 | }
181 |
182 | .icon {
183 | margin-right: 5px;
184 | }
185 |
186 | .navbar-icon {
187 | margin-right: 5px;
188 | width: 25px;
189 | }
190 |
191 | .pagination a {
192 | position: relative;
193 | display: block;
194 | padding: 0.5rem 0.75rem;
195 | margin-left: -1px;
196 | line-height: 1.25;
197 | color: #007bff;
198 | background-color: #fff;
199 | border: 1px solid #dee2e6;
200 |
201 | :hover {
202 | z-index: 2;
203 | color: #0056b3;
204 | text-decoration: none;
205 | background-color: #e9ecef;
206 | border-color: #dee2e6;
207 | }
208 |
209 | :focus {
210 | z-index: 2;
211 | outline: 0;
212 | box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
213 | }
214 |
215 | :not(:disabled):not(.disabled) {
216 | cursor: pointer;
217 | }
218 | }
219 |
220 | .sort {
221 | &:after {
222 | display: inline-block;
223 | width: 0;
224 | height: 0;
225 | border-left: 5px solid transparent;
226 | border-right: 5px solid transparent;
227 | border-bottom: 5px solid transparent;
228 | content: "";
229 | position: relative;
230 | top: -10px;
231 | right: -5px;
232 | }
233 |
234 | &.asc:after {
235 | width: 0;
236 | height: 0;
237 | border-left: 5px solid transparent;
238 | border-right: 5px solid transparent;
239 | border-top: 5px solid #fff;
240 | content: "";
241 | position: relative;
242 | top: 4px;
243 | right: -5px;
244 | }
245 |
246 | &.desc:after {
247 | width: 0;
248 | height: 0;
249 | border-left: 5px solid transparent;
250 | border-right: 5px solid transparent;
251 | border-bottom: 5px solid #fff;
252 | content: "";
253 | position: relative;
254 | top: -4px;
255 | right: -5px;
256 | }
257 | }
258 |
259 | html, body {
260 | height: 100%;
261 | }
262 |
263 | .my-login-page {
264 | .brand {
265 | width: 90px;
266 | height: 90px;
267 | overflow: hidden;
268 | border-radius: 50%;
269 | margin: 0 auto;
270 | margin: 40px auto;
271 | box-shadow: 0 0 40px rgba(0, 0, 0, 0.05);
272 |
273 | img {
274 | width: 100%;
275 | }
276 | }
277 |
278 | .card-wrapper {
279 | width: 400px;
280 | }
281 |
282 | .card {
283 | border-color: transparent;
284 | box-shadow: 0 0 40px rgba(0, 0, 0, 0.05);
285 |
286 | &.fat {
287 | padding: 10px;
288 | }
289 |
290 | .card-title {
291 | margin-bottom: 30px;
292 | }
293 | }
294 |
295 | .form-control {
296 | border-width: 2.3px;
297 | }
298 |
299 | .form-group label {
300 | width: 100%;
301 | }
302 |
303 | .margin-top20 {
304 | margin-top: 20px;
305 | }
306 |
307 | .no-margin {
308 | margin: 0;
309 | }
310 |
311 | .footer {
312 | margin: 40px 0;
313 | color: #888;
314 | text-align: center;
315 | }
316 | }
317 |
318 | #nprogress {
319 | .bar {
320 | background: white;
321 | }
322 |
323 | .spinner-icon {
324 | border-top-color: white;
325 | border-left-color: white;
326 | }
327 | }
328 |
--------------------------------------------------------------------------------
/src/components/Navbar.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
23 |
24 |
25 |
26 |
31 |
--------------------------------------------------------------------------------
/src/components/Sidebar.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
25 |
26 |
27 |
28 |
33 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import "./vendor"
2 |
3 | import Vue from "vue"
4 | import App from "./App.vue"
5 | import router from "./router"
6 |
7 | import "./assets/scss/app.scss"
8 |
9 | Vue.config.productionTip = false
10 |
11 | new Vue({
12 | router,
13 | render: h => h(App),
14 | data () {
15 | return {
16 | showSidebar: false
17 | }
18 | }
19 | }).$mount("#app")
20 |
--------------------------------------------------------------------------------
/src/router/index.js:
--------------------------------------------------------------------------------
1 | import Vue from "vue"
2 | import VueRouter from "vue-router"
3 |
4 | Vue.use(VueRouter)
5 |
6 | const routes = [
7 | { path: "/", name: "index", component: require("../views/Index.vue").default },
8 | { path: "/forms", name: "forms", component: require("../views/Forms.vue").default },
9 | { path: "/alerts", name: "alerts", component: require("../views/Alerts.vue").default },
10 | { path: "/tables", name: "tables", component: require("../views/Tables.vue").default },
11 | { path: "/login", name: "login", component: require("../views/Login.vue").default },
12 | { path: "/register", name: "register", component: require("../views/Register.vue").default }
13 | ]
14 |
15 | const router = new VueRouter({
16 | routes,
17 | mode: "history",
18 | linkExactActiveClass: "active"
19 | })
20 |
21 | router.beforeResolve((to, from, next) => {
22 | if (to.name) {
23 | window.NProgress.start()
24 | }
25 | next()
26 | })
27 | router.afterEach(() => {
28 | window.NProgress.done()
29 | })
30 |
31 | export default router
32 |
--------------------------------------------------------------------------------
/src/vendor.js:
--------------------------------------------------------------------------------
1 | window.$ = window.jQuery = require("jquery")
2 | require("popper.js")
3 | require("bootstrap")
4 | require("select2")
5 | window.List = require("list.js")
6 | window.swal = require("sweetalert")
7 | window.toastr = require("toastr")
8 | window.NProgress = require("nprogress")
9 |
--------------------------------------------------------------------------------
/src/views/Alerts.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Alerts
8 |
9 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
68 |
--------------------------------------------------------------------------------
/src/views/Forms.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Forms
8 |
9 |
12 |
13 |
14 |
15 |
16 |
22 |
23 |
24 |
25 |
62 |
63 |
64 |
65 |
66 |
67 |
83 |
--------------------------------------------------------------------------------
/src/views/Index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Home
8 |
9 |
22 |
23 |
24 |
29 |
30 |
Tickets
31 |
374
32 |
33 |
34 |
35 |
36 |
37 |
42 |
43 |
Sales
44 |
73,829
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
64 |
--------------------------------------------------------------------------------
/src/views/Login.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |

10 |
11 |
12 |
46 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
63 |
--------------------------------------------------------------------------------
/src/views/Register.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |

10 |
11 |
12 |
46 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
63 |
--------------------------------------------------------------------------------
/src/views/Tables.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Tables
8 |
9 |
24 |
25 |
26 |
27 |
28 | Name |
29 | Born |
30 |
31 |
32 |
33 |
34 | Jonny Stromberg |
35 | 1986 |
36 |
37 |
38 | Jonas Arnklint |
39 | 1985 |
40 |
41 |
42 | Martina Elm |
43 | 1986 |
44 |
45 |
46 | Gustaf Lindqvist |
47 | 1983 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
77 |
--------------------------------------------------------------------------------