import { Component, createSignal, For } from 'solid-js'; import PersonIcon from '@suid/icons-material/Person'; import style from './Account.module.css'; import { Box, IconButton, InputLabel, NativeSelect, TextField, } from '@suid/material'; import { useI18n } from '@solid-primitives/i18n'; import Dialog from '../dialog'; import dispatch from '../../workers/dispatcher-main'; import allGpxes from '../all-gpxes'; import gpx from '../gpx'; import { cloneDeep } from 'lodash'; const Account: Component<{}> = (props) => { const [t] = useI18n(); const [open, setOpen] = createSignal(false); const [settings, setSettings] = createSignal(); const [accounts, setAccounts] = createSignal(); const [account, setAccount] = createSignal({}); const handleClickOpen = async () => { setOpen(true); const newSettings: any = await dispatch({ action: 'getSettings', }); setSettings(newSettings || {}); const newAccounts: any = await dispatch({ action: 'getAccounts', }); setAccounts([ { id: '--new--', name: t('newAccount') }, ...newAccounts.rows, ]); console.log({ caller: 'Account / handleClickOpen', settings: settings(), accounts: accounts(), }); }; const handleClose = (event: any, reason?: string) => { console.log({ caller: 'Account / handleClose', event, reason, }); if (reason === undefined) { setOpen(false); } }; const changeAccountHandler = (event: any) => { const selectedAccountName = event.target.value; const targetAccount = accounts().filter((acc: any) => acc.name === selectedAccountName)[0] || {}; setAccount(cloneDeep(targetAccount)); console.log({ caller: 'Account / changeAccountHandler', event, selectedAccountName, account: account(), }); }; const changeHandlerFactory = (path: string) => (event: any) => { const value = event.target.value; const newAccount = cloneDeep(account()); newAccount[path] = value; setAccount(newAccount); console.log({ caller: 'Account / changeHandlerFactory / ' + path, event, value, account: account(), }); }; return ( <>
{t('accountChooser')} {(account: any) => ( )} ); }; export default Account;