初始化

This commit is contained in:
lblblong
2021-07-26 15:29:22 +08:00
commit b643682ebd
58 changed files with 14164 additions and 0 deletions
+69
View File
@@ -0,0 +1,69 @@
import { Popups, useController } from 'lbl-popups'
import { Observer, useLocalStore } from 'mobx-react'
import { FC } from 'react'
import styles from './index.module.scss'
interface Props {
defaultValue?: {
port: number
subdomain?: string
}
}
const NatEdit: FC<Props> = (props) => {
const ctl = useController()
const localStore = useLocalStore(() => {
return {
port: props.defaultValue?.port || '',
subdomian: props.defaultValue?.subdomain || '',
bindOnChange: (key: string) => {
return (e: any) => {
localStore[key] = e.target.value
}
},
}
})
return (
<Observer>
{() => (
<div className={styles.index}>
<div className={styles.title}>穿</div>
<input
placeholder="端口号"
value={localStore.port}
onChange={localStore.bindOnChange('port')}
type="number"
/>
<input
placeholder="子域名(可选)"
value={localStore.subdomian}
onChange={localStore.bindOnChange('subdomian')}
/>
<div
className={styles.btn}
onClick={() => {
ctl.close({
port: localStore.port,
subdomain: localStore.subdomian,
})
}}
>
</div>
</div>
)}
</Observer>
)
}
export function openNatEdit(props?: Props): Promise<{
port: number
subdomain?: string
}> {
return Popups.open({
el: NatEdit,
position: 'center',
props
})
}