Currently Uniswap UI is broken for Sepolia and testnets so to use it locally or on some IPFS/Swarm solution you need to go to older version and make a build.
git clone https://github.com/Uniswap/interface
cd interface
git fetch --all --tags
git checkout tags/web/5.19.3
mkdir apps/web/src/utils/__generated__ # https://github.com/Uniswap/interface/issues/7631
# create .env.defaults file under project root.
# https://github.com/Uniswap/interface/issues/7678
cat <<EOL > .env.defaults
ALCHEMY_API_KEY='key'
AMPLITUDE_EXPERIMENTS_DEPLOYMENT_KEY='key'
APPSFLYER_API_KEY='key'
APPSFLYER_APP_ID="123"
FIAT_ON_RAMP_API_URL='https://api.uniswap.org'
MOONPAY_API_KEY='key'
MOONPAY_API_URL='https://api.moonpay.com'
MOONPAY_WIDGET_API_URL='https://api.moonpay.com'
INFURA_PROJECT_ID="123"
ONESIGNAL_APP_ID="123"
QUICKNODE_BNB_RPC_URL='https://api.uniswap.org'
SENTRY_DSN='http://sentry.com'
SHAKE_CLIENT_ID="123"
SHAKE_CLIENT_SECRET="123"
SIMPLEHASH_API_KEY='key'
SIMPLEHASH_API_URL='https://api.simplehash.com'
STATSIG_PROXY_URL='https://api.statsig.com'
TEMP_SCANTASTIC_URL='https://api.uniswap.org'
TRADING_API_KEY='key'
TRADING_API_URL='https://api.uniswap.org'
UNISWAP_API_KEY='key'
UNISWAP_API_BASE_URL='https://api.uniswap.org'
UNISWAP_APP_URL='https://app.uniswap.org'
WALLETCONNECT_PROJECT_ID="123"
UNITAGS_API_URL='https://api.uniswap.org/unitags'
FIREBASE_APP_CHECK_DEBUG_TOKEN='token'
EOL
yarn
yarn web start
Also this will make a good output for UI if you are running some node server or similar, but to make it run as standalone HTML/CSS/JS you will need to fix paths of build.
To do that I also added PUBLIC_URL value into .env file, source it and then do
yarn build:production
REACT_APP_IS_UNISWAP_INTERFACE=true
PUBLIC_URL="./"
and your app will be in web/app/build ready to use with proper paths for css/js and fonts.