import { state } from '../store';
import { c } from '../util';
import { req } from '../websocket';
import { createSignal } from "solid-js";
export default function() {//take prop to be user_id or state.user
let email;
const [passphrase, setPassphrase] = createSignal('');
const [pp_visible, set_pp_visible] = createSignal(false);
return <>
<form onsubmit={async e => {
e.preventDefault();
if(email.value !== state.user.email) {
try {
await req('update_profile', {email: email.value});
} catch(err) {
alert(err);
}
}
email.value = '';
}}>
<label>
new email
<input required type="email" placeholder="me@domain.com" ref={email} />
</label>
<br />
<button>set email</button>
</form>
<form onsubmit={async e => {
e.preventDefault();
try {
await req('update_profile', {passphrase: passphrase()});
} catch(err) {
alert(err);
}
setPassphrase('');
}}>
<label style="display: flex /*https://philipwalton.github.io/solved-by-flexbox/demos/input-add-ons/ this just makes the button height match and line up with the input field (2px woopdedoo)*/">
new passphrase
<input class="longplaceholder" type={pp_visible() ? "text" : "password"} placeholder="a long passphrase is both easier to remember and more secure than a password!" value={passphrase()} onInput={e => setPassphrase(e.target.value)} />
<button type="button" onClick={() => set_pp_visible(!pp_visible())}>{pp_visible() ? '👀' : '🙈'}</button>
</label>
<button>set passphrase</button>
</form>
<a onClick={c} href="/user/reservation/">your reservations</a><br />
<button type="button" onClick={() => req('unregister')}>delete account</button>
<Show when={state.user.god}>
<br />
<a onClick={c} href="/user/">see all users</a>
list all stores and checkbox for owner / worker - only one selectable
</Show>
todo: for each store that user is owner, table with other store owners and workers. can remove / switch between owner and worker / add (search by email? create a new user(send otp so new one makes their own pp)), link to manage products?
constraint: store has at least one owner?
for each store that user is worker, just list the store or link to reservations ?
</>
}