import * as React from "react"; import * as d from "../../localData"; import { AccountCard } from "../ui/AccountCard"; import type { ElementOperation } from "./ElementOperation"; import { Image } from "../ui/Image"; import { Link } from "../ui/Link"; import { NextIcon } from "../ui/NextIcon"; import type { UseDefinyAppResult } from "../hook/useDefinyApp"; import { css } from "@emotion/css"; import { neverFunc } from "../../common/util"; export type AccountIdSelection = never; export type AccountIdValue = { readonly accountId: d.AccountId; readonly canEdit: boolean; } & Pick; const AccountIdSelectionView: ElementOperation< AccountIdSelection, AccountIdValue >["selectionView"] = React.memo((props) => { React.useEffect(() => { props.value.accountResource.requestToServerIfEmpty(props.value.accountId); }, [props.value.accountId, props.value.accountResource]); const accountResource = props.value.accountResource.getFromMemoryCache( props.value.accountId ); if (accountResource === undefined) { return
アカウント読み込み準備前
; } if (accountResource._ === "Deleted") { return
存在しないしないアカウント
; } if (accountResource._ === "Requesting") { return
アカウント取得中
; } if (accountResource._ === "Unknown") { return
アカウント取得に失敗
; } const account = accountResource.dataWithTime.data; return (
{account.name
{account.name}
); }); AccountIdSelectionView.displayName = "AccountIdSelectionView"; const AccountIdDetailView: ElementOperation< AccountIdSelection, AccountIdValue >["detailView"] = React.memo((props) => { return (
); }); AccountIdDetailView.displayName = "AccountIdDetailView"; export const accountIdOperation: ElementOperation< AccountIdSelection, AccountIdValue > = { moveDown: neverFunc, moveUp: neverFunc, moveFirstChild: () => undefined, moveParent: () => undefined, selectionView: AccountIdSelectionView, detailView: AccountIdDetailView, };