blob: 8d01512380120b2541fb863b28554747ee8093c9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
import * as JSX from './jsx';
import * as user from './user';
import $ from 'jquery';
import { GroupBox, Page, Spinner } from './components';
async function saveNickname() {
const username = $( '#username-input' ).val() as string;
const spinner = $( <Spinner /> );
$( "#confirm-btn" ).append( spinner );
if( username.length > 1 ) {
try {
await user.savePrefs( { nickname: username } );
localStorage.removeItem( 'needs-setup' );
JSX.navigateParams( "/terminal", {} );
} catch( e: any ) {
$( "#landing-error" ).text( e.message );
$( "#landing-error" ).show();
}
}
spinner.remove();
}
export default function FirstLanding() {
if( user.settings && user.settings.nickname && user.settings.nickname.length > 1 )
setTimeout( () => JSX.navigateParams( "/terminal", {} ) );
if( !user.is_loggedin ) {
setTimeout( () => JSX.navigate( "/" ) );
return <Page>not logged in</Page>
}
return <Page>
<GroupBox title="First configuration">
<div>
Welcome to axonbox.net
</div>
<div>
Please input a username. This can be changed at any time.
</div>
<div id="landing-error" style="display: none"></div>
<input type="text" id="username-input" maxlength="15" placeholder="username" />
<div style="width: 100%; text-align: right; margin-top: -20px">
<button style="width: 150px; margin-right: 5px; display: inline; height: 20px"
class="settings-btn"
id="confirm-btn"
onclick={ saveNickname }
>Confirm</button>
</div>
</GroupBox>
</Page>
}
|