working on messagesystem, password reset form
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
import Login from "./Components/Login.svelte";
|
||||
import Messages from "./routes/message/Messages.svelte";
|
||||
import Menu from "./Components/Menu.svelte";
|
||||
import ResetPw from "./routes/user/ResetPw.svelte";
|
||||
import Search from "./routes/search/Search.svelte";
|
||||
import User from "./routes/user/User.svelte";
|
||||
import UserEdit from "./routes/user/Edit.svelte";
|
||||
@@ -42,8 +43,11 @@
|
||||
<Route path="/user/oidc/edit/:serviceName" component={EditService} />
|
||||
<Route component={User} />
|
||||
{:else}
|
||||
<Login />
|
||||
<Route path="/user/reset/pw" component={ResetPw} />
|
||||
<Route path="/oidc_callback" component={Callback} />
|
||||
<Route>
|
||||
<Login />
|
||||
</Route>
|
||||
{/if}
|
||||
</Router>
|
||||
<Footer />
|
||||
|
||||
@@ -2,11 +2,14 @@
|
||||
import { onMount } from 'svelte';
|
||||
import { t } from '../translations.svelte.js';
|
||||
import { checkUser, tryLogin } from '../user.svelte.js';
|
||||
import { useTinyRouter } from 'svelte-tiny-router';
|
||||
|
||||
let credentials = { username : null, password : null }
|
||||
let services = $state([]);
|
||||
const router = useTinyRouter();
|
||||
|
||||
function doLogin(ev){
|
||||
ev.preventDefault();
|
||||
tryLogin(credentials);
|
||||
}
|
||||
|
||||
@@ -36,6 +39,11 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function resetPW(ev){
|
||||
ev.preventDefault();
|
||||
router.navigate('/user/reset/pw');
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@@ -49,9 +57,13 @@
|
||||
margin-bottom: 30px;
|
||||
text-align: center;
|
||||
}
|
||||
a{
|
||||
display: block;
|
||||
margin-top: 15px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<form on:submit|preventDefault={doLogin}>
|
||||
<form onsubmit={doLogin}>
|
||||
<fieldset>
|
||||
<legend>{t('login.Login')}</legend>
|
||||
<label>
|
||||
@@ -63,11 +75,12 @@
|
||||
<span>{t('login.Password')}</span>
|
||||
</label>
|
||||
<button>{t('login.do_login')}</button>
|
||||
<a onclick={resetPW}>{t('login.forgot_pass')}</a>
|
||||
</fieldset>
|
||||
</form>
|
||||
<fieldset>
|
||||
<legend>{t('login.OIDC_Login')}</legend>
|
||||
{#each services as service,i}
|
||||
<button on:click={() => redirectTo(service)}>{service}</button>
|
||||
<button onclick={() => redirectTo(service)}>{service}</button>
|
||||
{/each}
|
||||
</fieldset>
|
||||
|
||||
@@ -13,7 +13,7 @@ async function fetchModules(){
|
||||
const resp = await fetch(url,{credentials:'include'});
|
||||
if (resp.ok){
|
||||
const arr = await resp.json();
|
||||
for (let entry of arr) modules.push({name:t('module.'+entry.module),url:entry.url});
|
||||
for (let entry of arr) modules.push({name:t('menu.'+entry.module),url:entry.url});
|
||||
console.log(modules);
|
||||
} else {
|
||||
console.log('error');
|
||||
|
||||
39
frontend/src/routes/user/ResetPw.svelte
Normal file
39
frontend/src/routes/user/ResetPw.svelte
Normal file
@@ -0,0 +1,39 @@
|
||||
<script>
|
||||
import { t } from '../../translations.svelte.js';
|
||||
import { useTinyRouter } from 'svelte-tiny-router';
|
||||
|
||||
let mail = "";
|
||||
let caption = t('user.send_mail');
|
||||
const router = useTinyRouter();
|
||||
|
||||
async function submit(ev){
|
||||
ev.preventDefault();
|
||||
caption = t('user.sent_email');
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<style>
|
||||
label{display:block}
|
||||
fieldset{
|
||||
display: block;
|
||||
position: relative;
|
||||
left: 50%;
|
||||
width: 200px;
|
||||
margin-left: -100px;
|
||||
margin-bottom: 30px;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
|
||||
<form onsubmit={submit}>
|
||||
<fieldset>
|
||||
<legend>{t('user.reset_pw')}</legend>
|
||||
<label>
|
||||
<input type="email" bind:value={mail}/>
|
||||
{t('user.enter_email')}
|
||||
</label>
|
||||
<button type="submit">{caption}</button>
|
||||
</fieldset>
|
||||
</form>
|
||||
Reference in New Issue
Block a user