Skip to content

Commit 061c65a

Browse files
committed
chore: initial commits for static template
1 parent 4e59489 commit 061c65a

23 files changed

+289
-399
lines changed

.env.example

+10-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
APP_NAME='Daks.ts'
2-
APP_DESCRIPTION='By kabaluyot'
3-
APP_HOST=localhost
4-
APP_PORT=3000
5-
APP_URL=http://localhost:3000
1+
APP_NAME=Rizal Memorial Colleges, School of Law
2+
APP_DESCRIPTION=Excellence, service and justice. For God and country.
3+
APP_HOST=localhost
4+
APP_PORT=3005
5+
6+
APP_URL = http://localhost:3005
7+
#APP_URL = https://lms-webapp-f5e33.web.app
8+
9+
STAGING_API_URL = https://jsonplaceholder.typicode.com
10+
PRODUCTION_API_URL = https://jsonplaceholder.typicode.com
611

7-
API_URL=https://jsonplaceholder.typicode.com

assets/css/global.css

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#app,
2+
#app div,
3+
#app a,
4+
#app span,
5+
#app table,
6+
#app thead,
7+
#app tbody,
8+
#app tr,
9+
#app td {
10+
font-family: 'Poppins', sans-serif !important;
11+
}

components/Logo.vue

-86
This file was deleted.

components/VuetifyLogo.vue

-25
This file was deleted.

components/footer/Footer.vue

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<template>
2+
<v-footer app>
3+
<span class="mx-auto">&copy; {{ new Date().getFullYear() }}</span>
4+
</v-footer>
5+
</template>
6+
7+
<script lang="ts">
8+
import { Component, Vue } from 'nuxt-property-decorator'
9+
10+
@Component
11+
export default class Footer extends Vue {
12+
// declare vaiable
13+
fixed: boolean = false
14+
}
15+
</script>

components/header/Header.vue

+121
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
<template>
2+
<div class="header__container">
3+
<v-app-bar app height="80" class="px-12" flat color="white">
4+
<v-btn
5+
v-for="page in pages"
6+
:key="page.icon"
7+
:to="page.link"
8+
x-large
9+
text
10+
:color="activePage == page.name ? 'primary' : 'accent'"
11+
class="font-weight-bold text-capitalize hidden-sm-and-down"
12+
@click="onPageClick(page)"
13+
>{{ page.title }}</v-btn
14+
>
15+
16+
<v-menu offset-y min-width="100vw">
17+
<template v-slot:activator="{ on, attrs }">
18+
<v-btn
19+
color="primary"
20+
x-large
21+
v-bind="attrs"
22+
text
23+
class="hidden-md-and-up"
24+
v-on="on"
25+
>
26+
<v-icon large>mdi-menu</v-icon>
27+
</v-btn>
28+
</template>
29+
<v-list color="white" flat nav tile elevation="0">
30+
<v-list-item
31+
v-for="(page, key) in pages"
32+
:key="key"
33+
:to="page.to"
34+
class="font-weight-bold"
35+
>
36+
<v-list-item-title
37+
class="ml-3 my-3"
38+
:class="[
39+
{ 'primary--text': activePage == page.name },
40+
{ 'accent--text': activePage != page.name }
41+
]"
42+
>{{ page.title }}</v-list-item-title
43+
>
44+
</v-list-item>
45+
</v-list>
46+
</v-menu>
47+
48+
<v-spacer></v-spacer>
49+
<v-btn color="primary" large class="font-weight-bold">
50+
Login
51+
</v-btn>
52+
</v-app-bar>
53+
</div>
54+
</template>
55+
56+
<script lang="ts">
57+
import { Component, Vue } from 'nuxt-property-decorator'
58+
59+
interface Item {
60+
name: string
61+
title: string
62+
to: string
63+
}
64+
65+
interface Route {
66+
name: string
67+
}
68+
69+
@Component
70+
export default class Header extends Vue {
71+
// * Data
72+
pages: Item[] = [
73+
{
74+
name: 'index',
75+
title: 'Home',
76+
to: '/'
77+
},
78+
{
79+
name: 'subject',
80+
title: 'Subject',
81+
to: '/subject'
82+
},
83+
{
84+
name: 'faculty',
85+
title: 'Faculty',
86+
to: '/faculty'
87+
},
88+
{
89+
name: 'about',
90+
title: 'About',
91+
to: '/about'
92+
}
93+
]
94+
95+
// * * Computed
96+
/**
97+
* return currect active page
98+
*/
99+
get activePage(): string {
100+
if (this.$route.name === undefined || this.$route.name === null) {
101+
return ''
102+
}
103+
return this.$route.name
104+
}
105+
106+
// * * Methods
107+
/**
108+
* return to selected page/route
109+
* @param Item page item object
110+
*/
111+
onPageClick(item: Item): void {
112+
this.$router.push({ name: item.name })
113+
}
114+
}
115+
</script>
116+
117+
<style scoped>
118+
.header__container {
119+
height: 80px;
120+
}
121+
</style>

components/home/Banner.vue

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<template>
2+
<div class="banner__container d-flex justify-content"></div>
3+
</template>
4+
5+
<script lang="ts">
6+
import { Component, Vue } from 'nuxt-property-decorator'
7+
8+
@Component
9+
export default class Banner extends Vue {}
10+
</script>
11+
12+
<style scoped>
13+
.banner__container {
14+
height: calc(100vh - 80px);
15+
}
16+
</style>

components/index.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import Logo from './Logo.vue'
2-
import VuetifyLogo from './VuetifyLogo.vue'
1+
import Header from './header/Header.vue'
2+
import Footer from './footer/Footer.vue'
3+
import Banner from './home/Banner.vue'
34

4-
export { Logo, VuetifyLogo }
5+
export { Header, Footer, Banner }

0 commit comments

Comments
 (0)