Skip to content

Commit

Permalink
Added About View
Browse files Browse the repository at this point in the history
- Accessible from login and sidebar
- Shows FAQ and kontakt info
  • Loading branch information
TheBlackbird14 committed Apr 28, 2024
1 parent 460759e commit a2b8c63
Show file tree
Hide file tree
Showing 8 changed files with 100 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ try {
</script>

<template>
<LoginView v-if="!logged_in"></LoginView>
<LoginView v-if="!logged_in && $route.fullPath != '/About'"></LoginView>

<router-view v-else></router-view>

Expand Down
10 changes: 10 additions & 0 deletions src/assets/main.css
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,13 @@ body {

background-color: var(--background-color-primary);
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
color: var(--text-primary-color);
}
4 changes: 4 additions & 0 deletions src/components/enterLogin.vue
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,10 @@ function login() {
<button type="button" class="btn btn-primary login-button btn-lg mt-4" @click="login">
Login
</button>

<div class="mt-3">
<router-link to="/About" class="text-decoration-none">Info</router-link>
</div>
</form>
</template>

Expand Down
6 changes: 6 additions & 0 deletions src/components/homeworkListItem.vue
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,12 @@ function deleteHomework() {
margin: 0;
}
h1,
h2,
p {
color: var(--bs-body-color);
}
.dueInFuture {
background-color: rgba(252, 202, 100, 0.7);
}
Expand Down
7 changes: 7 additions & 0 deletions src/components/sidebarComponent.vue
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,13 @@ async function logout() {
<h2>Einstellungen</h2>
</div>
</router-link>

<router-link to="/About" style="text-decoration: none" @click="emit('toggle')">
<div class="menu-item p-2 d-flex flex-row text-center align-items-center">
<i class="bi bi-info-circle"></i>
<h2>Info</h2>
</div>
</router-link>
</div>

<div
Expand Down
2 changes: 1 addition & 1 deletion src/components/welcomeText.vue
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
display: flex;
flex-direction: row;
justify-content: space-between;
justify-content: space-evenly;
align-items: center;
height: fit-content;
Expand Down
5 changes: 5 additions & 0 deletions src/router/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ const router = createRouter({
path: '/settings',
name: 'Einstellungen',
component: () => import('../views/SettingsView.vue')
},
{
path: '/about',
name: 'About',
component: () => import('../views/AboutView.vue')
}
]
})
Expand Down
66 changes: 66 additions & 0 deletions src/views/AboutView.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<script setup lang="ts"></script>

<template>
<div class="container">
<!-- TODO: back button -->
<button type="button" class="btn btn-secondary" @click="$router.go(-1)">Zurück</button>

<h1>Info</h1>
<br />

<h2>Was ist das hier?</h2>
<p>
Diese Seite ist eine Webapp, die es dir ermöglicht, deine Hausaufgaben von Webuntis anzuzeigen
und abzuhaken/erledigen. Du kannst auch selber welche hinzufügen und dir den Mensaplan
ansehen. Melde dich einfach nur mit deinen Webuntis Anmeldedaten hier an (Momentan nur
verfügbar für Webuntis Aloisiuskolleg).
</p>
<br />

<h2>Wie funktioniert das?</h2>
<p>
Die Seite funktioniert, indem sie sich mit deinen Webuntis Anmeldedaten bei Webuntis einloggt
und die Hausaufgaben von dort abruft. Die Anmeldedaten werden nicht im Server gespeichert,
sondern nur in deinem Browser verschlüsselt gespeichert, um die Anfragen an Webuntis zu
authentifizieren.
</p>
<br />

<h2>Cookies und persönliche Informationen</h2>
<p>
Indem du dich hier anmeldest, stimmst du zu, dass cookies in deinem Browser gespeichert
werden, um dich bei webuntis anzumelden. Diese Daten werden an den server weitergeleitet,
damit so in deinem Namen die hausaufgaben abgerufen werden können. Dort werden sie aber
niemals gespeichert und sind auch zu keinem Zeitpunkt für mich einsehbar. Wenn du auch die
optionalen cookies akzeptierst, erlaubst du mir über Google Analytics wenige Daten über den
Verkehr dieser Website sammeln. Außerdem gibt es im Server ein system, das anhand der
einzelnen Nutzer mir eine genauere Rückmeldung gibt, welche Leute sich angemeldet haben und
wie viele davon aktiv sind.
</p>
<br />

<h2>Wie kann ich mich dem versichern?</h2>
<p>
Dieser Dienst ist komplett Open Source, das heißt, dass du dir jederzeit den Quellcode für
diese Website und den Server ansehen kannst. Der Quellcode ist auf
<a href="https://github.com">GitHub</a> für die
<a href="https://github.com/TheBlackbird14/hausaufgaben.live">Website</a> und für den
<a href="https://github.com/TheBlackbird14/untis-app">Server</a> verfügbar. Somit kann sich
jeder den Quellcode ansehen und überprüfen, was mit den Daten passiert.
</p>
<br />

<h2>Kontakt</h2>
<p>
Wenn du Anregungen oder Fragen hast, kannst du mich über
<a href="mailto:[email protected]">EMail</a> erreichen.
</p>
<br />

<button type="button" class="btn btn-warning" @click="zaraz.showConsentModal()">

Check failure on line 60 in src/views/AboutView.vue

View workflow job for this annotation

GitHub Actions / build (16.x)

Property 'zaraz' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly<...>, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...ar...'.

Check failure on line 60 in src/views/AboutView.vue

View workflow job for this annotation

GitHub Actions / build (18.x)

Property 'zaraz' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly<...>, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...ar...'.

Check failure on line 60 in src/views/AboutView.vue

View workflow job for this annotation

GitHub Actions / build (20.x)

Property 'zaraz' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly<...>, never>; ... 10 more ...; $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...ar...'.
Cookies bearbeiten
</button>
</div>
</template>

<style scoped></style>

0 comments on commit a2b8c63

Please sign in to comment.