Browse Source

Add web

main
Haris Razis 4 years ago
parent
commit
f2c5338dfd
No known key found for this signature in database GPG Key ID: 86A4D290ED03FAB4
  1. 23
      web/.gitignore
  2. 24
      web/README.md
  3. 26267
      web/package-lock.json
  4. 52
      web/package.json
  5. BIN
      web/public/favicon.ico
  6. 17
      web/public/index.html
  7. 31
      web/src/App.vue
  8. BIN
      web/src/assets/logo.png
  9. 1
      web/src/assets/undraw_server_q2pb.svg
  10. 16
      web/src/components/Footer.vue
  11. 20
      web/src/components/Hero.vue
  12. 36
      web/src/components/Navbar.vue
  13. 73
      web/src/components/Panel.vue
  14. 0
      web/src/components/Query.vue
  15. 6
      web/src/main.ts
  16. 5
      web/src/shims-vue.d.ts
  17. 40
      web/tsconfig.json

23
web/.gitignore

@ -0,0 +1,23 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

24
web/README.md

@ -0,0 +1,24 @@
# web
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Lints and fixes files
```
npm run lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

26267
web/package-lock.json

File diff suppressed because it is too large

52
web/package.json

@ -0,0 +1,52 @@
{
"name": "web",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"bulma": "^0.9.1",
"vue": "^3.0.0",
"vue-class-component": "^8.0.0-0"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^2.33.0",
"@typescript-eslint/parser": "^2.33.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-plugin-typescript": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"@vue/compiler-sfc": "^3.0.0",
"@vue/eslint-config-prettier": "^6.0.0",
"@vue/eslint-config-typescript": "^5.0.2",
"eslint": "^6.7.2",
"eslint-plugin-prettier": "^3.1.3",
"eslint-plugin-vue": "^7.0.0-0",
"prettier": "^1.19.1",
"typescript": "~3.9.3"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/vue3-essential",
"eslint:recommended",
"@vue/typescript/recommended",
"@vue/prettier",
"@vue/prettier/@typescript-eslint"
],
"parserOptions": {
"ecmaVersion": 2020
},
"rules": {}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
}

BIN
web/public/favicon.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

17
web/public/index.html

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

31
web/src/App.vue

@ -0,0 +1,31 @@
<template>
<Navbar />
<Hero />
<div class="columns mt-6 mb-6 mx-4">
<div class="column is-one-fifth">
<Panel />
</div>
<div class="column">
Fourth column
</div>
</div>
<Footer />
</template>
<script lang="ts">
import { Options, Vue } from 'vue-class-component';
import Navbar from '@/components/Navbar.vue';
import Hero from '@/components/Hero.vue';
import Panel from '@/components/Panel.vue';
import Footer from '@/components/Footer.vue';
@Options({
components: {
Navbar,
Hero,
Footer,
Panel,
},
})
export default class App extends Vue {}
</script>

BIN
web/src/assets/logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

1
web/src/assets/undraw_server_q2pb.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.5 KiB

16
web/src/components/Footer.vue

@ -0,0 +1,16 @@
<template>
<footer class="footer">
<div class="content has-text-centered">
<p>
<strong>Anciale</strong> by
<a href="https://github.com/xrazis">xrazis</a>.
</p>
</div>
</footer>
</template>
<script lang="ts">
import { Options, Vue } from 'vue-class-component';
export default class Footer extends Vue {}
</script>

20
web/src/components/Hero.vue

@ -0,0 +1,20 @@
<template>
<section class="hero is-primary is-bold">
<div class="hero-body">
<div class="container">
<h1 class="title">
Welcome to the admin panel for anchiale
</h1>
<h2 class="subtitle">
Primary bold subtitle
</h2>
</div>
</div>
</section>
</template>
<script lang="ts">
import { Options, Vue } from 'vue-class-component';
export default class Hero extends Vue {}
</script>

36
web/src/components/Navbar.vue

@ -0,0 +1,36 @@
<template>
<nav class="navbar is-dark" role="navigation" aria-label="main navigation">
<div class="navbar-brand">
<a class="navbar-item" href="swarmlab.io">
<img src="../assets/undraw_server_q2pb.svg" width="60" height="150" />
<h3 class="is-size-4">Anchiale</h3>
</a>
<a
role="button"
class="navbar-burger burger"
aria-label="menu"
aria-expanded="false"
data-target="navbarBasicExample"
>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
</div>
<div id="navbarBasicExample" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="https://github.com/xrazis/anchiale-web">
Documentation
</a>
</div>
</div>
</nav>
</template>
<script lang="ts">
import { Options, Vue } from 'vue-class-component';
export default class Navbar extends Vue {}
</script>

73
web/src/components/Panel.vue

@ -0,0 +1,73 @@
<template>
<nav class="panel is-primary">
<p class="panel-heading">
Repositories
</p>
<div class="panel-block">
<p class="control has-icons-left">
<input class="input" type="text" placeholder="Search" />
<span class="icon is-left">
<i class="fas fa-search" aria-hidden="true"></i>
</span>
</p>
</div>
<p class="panel-tabs">
<a class="is-active">All</a>
<a>Public</a>
<a>Private</a>
<a>Sources</a>
<a>Forks</a>
</p>
<a class="panel-block is-active">
<span class="panel-icon">
<i class="fas fa-book" aria-hidden="true"></i>
</span>
bulma
</a>
<a class="panel-block">
<span class="panel-icon">
<i class="fas fa-book" aria-hidden="true"></i>
</span>
marksheet
</a>
<a class="panel-block">
<span class="panel-icon">
<i class="fas fa-book" aria-hidden="true"></i>
</span>
minireset.css
</a>
<a class="panel-block">
<span class="panel-icon">
<i class="fas fa-book" aria-hidden="true"></i>
</span>
jgthms.github.io
</a>
<a class="panel-block">
<span class="panel-icon">
<i class="fas fa-code-branch" aria-hidden="true"></i>
</span>
daniellowtw/infboard
</a>
<a class="panel-block">
<span class="panel-icon">
<i class="fas fa-code-branch" aria-hidden="true"></i>
</span>
mojs
</a>
<label class="panel-block">
<input type="checkbox" />
remember me
</label>
<div class="panel-block">
<button class="button is-link is-outlined is-fullwidth">
Reset all filters
</button>
</div>
</nav>
</template>
<script lang="ts">
import { Options, Vue } from 'vue-class-component';
export default class Panel extends Vue {}
</script>

0
web/src/components/Query.vue

6
web/src/main.ts

@ -0,0 +1,6 @@
import { createApp } from 'vue';
import App from './App.vue';
import 'bulma/css/bulma.css';
createApp(App).mount('#app');

5
web/src/shims-vue.d.ts

@ -0,0 +1,5 @@
declare module '*.vue' {
import type { DefineComponent } from 'vue'
const component: DefineComponent<{}, {}, any>
export default component
}

40
web/tsconfig.json

@ -0,0 +1,40 @@
{
"compilerOptions": {
"target": "es5",
"module": "esnext",
"strict": true,
"jsx": "preserve",
"importHelpers": true,
"moduleResolution": "node",
"experimentalDecorators": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"baseUrl": ".",
"types": [
"webpack-env"
],
"paths": {
"@/*": [
"src/*"
]
},
"lib": [
"esnext",
"dom",
"dom.iterable",
"scripthost"
]
},
"include": [
"src/**/*.ts",
"src/**/*.tsx",
"src/**/*.vue",
"tests/**/*.ts",
"tests/**/*.tsx"
],
"exclude": [
"node_modules"
]
}
Loading…
Cancel
Save