CAFECA-IO / BAIFA

https://baifa.vercel.app
GNU General Public License v3.0
0 stars 0 forks source link

[BUG] 貨幣詳細 `/app/currencies/[currencyId]` - DataNotFound 失效了 #968

Closed godmmt closed 6 months ago

godmmt commented 7 months ago

https://github.com/CAFECA-IO/BAIFA/issues/919 原先加上 DataNotFound ok 但可能是我在解衝突的時候不小心誤刪了 😭


New in:

godmmt commented 7 months ago

isCurrencyIdExist 以及 currencyDataError 判斷

isCurrencyIdExist is true 表示 API 有正確回傳資料

也就是說 API 有成功去「執行」資料庫,資料庫也有正確執行「查」的動作 只是沒有查到該筆資料 所以不會報錯(後端寫的方式是不會報錯,因為有成功「查到」) 這裡後端設定是回傳空字串 CurrencyId 所以才用 isCurrencyIdExist 做判斷

因為 API 有正確回傳資料 不會進入 error 所以不會被 catch 所以 currencyDataError 會是 null

正確的判斷方式為 :

const displayedCurrencyDetail =
  isCurrencyIdExist && !currencyDataError ? (
    <CurrencyDetail currencyData={currencyData} isLoading={isCurrencyDataLoading} />
  ) : (
    <DataNotFound />
  );
const displayedTop100Holder =
  isCurrencyIdExist && !currencyDataError ? (
    <Top100HolderSection chainId={chainId} currencyId={currencyId} unit={unit} />
  ) : null;
const displayedTransactionHistory =
  isCurrencyIdExist && !currencyDataError ? (
    !transactionHistoryError ? (
      <TransactionHistorySection
        transactions={transactions}
        period={period}
        setPeriod={setPeriod}
        sorting={sorting}
        setSorting={setSorting}
        setSearch={setSearch}
        activePage={activePage}
        setActivePage={setActivePage}
        isLoading={isTransactionHistoryDataLoading}
        totalPage={totalPages}
        transactionCount={transactionCount}
        // ToDo: (20240315 - Liz) add suggestions
        // suggestions={randomSuggestions}
      />
    ) : null
  ) : null;
godmmt commented 7 months ago

Image

godmmt commented 7 months ago

// Info: (20240321 - Liz) 畫面顯示元件

const displayedCurrencyDetail =
  isCurrencyDataLoading || (isCurrencyIdExist && !currencyDataError) ? (
    <CurrencyDetail currencyData={currencyData} isLoading={isCurrencyDataLoading} />
  ) : (
    <DataNotFound />
  );
const displayedTop100Holder =
  isCurrencyIdExist && !currencyDataError ? (
    <Top100HolderSection chainId={chainId} currencyId={currencyId} unit={unit} />
  ) : null;
const displayedTransactionHistory =
  isCurrencyIdExist && !currencyDataError ? (
    !transactionHistoryError ? (
      <TransactionHistorySection
        transactions={transactions}
        period={period}
        setPeriod={setPeriod}
        sorting={sorting}
        setSorting={setSorting}
        setSearch={setSearch}
        activePage={activePage}
        setActivePage={setActivePage}
        isLoading={isTransactionHistoryDataLoading}
        totalPage={totalPages}
        transactionCount={transactionCount}
        // ToDo: (20240315 - Liz) add suggestions
        // suggestions={randomSuggestions}
      />
    ) : null
  ) : null;
godmmt commented 7 months ago

took 2

done