From ca58bd723bdc8705c6d8e77b64de602440494f88 Mon Sep 17 00:00:00 2001 From: lby Date: Wed, 13 Nov 2024 16:50:28 +0800 Subject: [PATCH 1/2] refactor(web): improve default project image (#1240) --- .../Projects/Project/ProjectGridViewItem.tsx | 7 +++---- .../innerPages/GeneralSettings/index.tsx | 2 +- .../PublicSettings/PublicSettingsDetail.tsx | 11 ++++++----- .../ProjectSettings/innerPages/common.tsx | 5 ++--- .../ui/assets/defaultProjectBackgroundImage.png | Bin 13892 -> 0 bytes .../assets/defaultProjectBackgroundImage.webp | Bin 0 -> 11434 bytes 6 files changed, 12 insertions(+), 13 deletions(-) delete mode 100644 web/src/beta/ui/assets/defaultProjectBackgroundImage.png create mode 100644 web/src/beta/ui/assets/defaultProjectBackgroundImage.webp diff --git a/web/src/beta/features/Dashboard/ContentsContainer/Projects/Project/ProjectGridViewItem.tsx b/web/src/beta/features/Dashboard/ContentsContainer/Projects/Project/ProjectGridViewItem.tsx index f04f307c49..9e379c9eb4 100644 --- a/web/src/beta/features/Dashboard/ContentsContainer/Projects/Project/ProjectGridViewItem.tsx +++ b/web/src/beta/features/Dashboard/ContentsContainer/Projects/Project/ProjectGridViewItem.tsx @@ -1,5 +1,5 @@ import { Button, PopupMenu, TextInput } from "@reearth/beta/lib/reearth-ui"; -import defaultProjectBackgroundImage from "@reearth/beta/ui/assets/defaultProjectBackgroundImage.png"; +import defaultProjectBackgroundImage from "@reearth/beta/ui/assets/defaultProjectBackgroundImage.webp"; import { styled, useTheme } from "@reearth/services/theme"; import { FC } from "react"; @@ -120,9 +120,8 @@ const CardImage = styled("div")<{ }>(({ theme, backgroundImage, isHovered }) => ({ flex: 1, position: "relative", - background: backgroundImage - ? `url(${backgroundImage}) center/cover` - : theme.bg[1], + background: backgroundImage ? `url(${backgroundImage}) center/cover` : "", + backgroundColor: theme.bg[1], borderRadius: theme.radius.normal, boxSizing: "border-box", cursor: "pointer", diff --git a/web/src/beta/features/ProjectSettings/innerPages/GeneralSettings/index.tsx b/web/src/beta/features/ProjectSettings/innerPages/GeneralSettings/index.tsx index 6be2756e96..505c5971d8 100644 --- a/web/src/beta/features/ProjectSettings/innerPages/GeneralSettings/index.tsx +++ b/web/src/beta/features/ProjectSettings/innerPages/GeneralSettings/index.tsx @@ -1,7 +1,7 @@ import { IMAGE_TYPES } from "@reearth/beta/features/AssetsManager/constants"; import ProjectRemoveModal from "@reearth/beta/features/Dashboard/ContentsContainer/Projects/ProjectRemoveModal"; import { Collapse, Button, Typography } from "@reearth/beta/lib/reearth-ui"; -import defaultProjectBackgroundImage from "@reearth/beta/ui/assets/defaultProjectBackgroundImage.png"; +import defaultProjectBackgroundImage from "@reearth/beta/ui/assets/defaultProjectBackgroundImage.webp"; import { InputField, AssetField, TextareaField } from "@reearth/beta/ui/fields"; import { useT } from "@reearth/services/i18n"; import { styled } from "@reearth/services/theme"; diff --git a/web/src/beta/features/ProjectSettings/innerPages/PublicSettings/PublicSettingsDetail.tsx b/web/src/beta/features/ProjectSettings/innerPages/PublicSettings/PublicSettingsDetail.tsx index d4a44599b7..e8b2badc4f 100644 --- a/web/src/beta/features/ProjectSettings/innerPages/PublicSettings/PublicSettingsDetail.tsx +++ b/web/src/beta/features/ProjectSettings/innerPages/PublicSettings/PublicSettingsDetail.tsx @@ -1,6 +1,6 @@ import { IMAGE_TYPES } from "@reearth/beta/features/AssetsManager/constants"; import { Button, Collapse } from "@reearth/beta/lib/reearth-ui"; -import defaultProjectBackgroundImage from "@reearth/beta/ui/assets/defaultProjectBackgroundImage.png"; +import defaultProjectBackgroundImage from "@reearth/beta/ui/assets/defaultProjectBackgroundImage.webp"; import { AssetField, InputField, SwitchField } from "@reearth/beta/ui/fields"; import TextAreaField from "@reearth/beta/ui/fields/TextareaField"; import { Story } from "@reearth/services/api/storytellingApi/utils"; @@ -260,9 +260,10 @@ const ThumbnailField = styled.div` display: inline-grid; `; -const StyledImage = styled.img` - width: 100%; - border-radius: 4px; -`; +const StyledImage = styled("img")(({ theme }) => ({ + width: "100%", + borderRadius: theme.radius.normal, + backgroundColor: theme.relative.dark +})); export default PublicSettingsDetail; diff --git a/web/src/beta/features/ProjectSettings/innerPages/common.tsx b/web/src/beta/features/ProjectSettings/innerPages/common.tsx index c08ab62220..6b5bc23380 100644 --- a/web/src/beta/features/ProjectSettings/innerPages/common.tsx +++ b/web/src/beta/features/ProjectSettings/innerPages/common.tsx @@ -53,9 +53,8 @@ export const Thumbnail = styled("div")<{ src?: string }>(({ src, theme }) => ({ width: "100%", paddingBottom: "52.3%", fontSize: 0, - background: src - ? `url(${src}) center/contain no-repeat` - : theme.relative.dark, + background: src ? `url(${src}) center/contain no-repeat` : "", + backgroundColor: theme.relative.dark, borderRadius: theme.radius.small })); diff --git a/web/src/beta/ui/assets/defaultProjectBackgroundImage.png b/web/src/beta/ui/assets/defaultProjectBackgroundImage.png deleted file mode 100644 index 947667ad9ffe466fe137b2c8a809727628c61441..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13892 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 SHLXGb0000|9|C~p|mT2o1QR*!GY^S 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 literal 0 HcmV?d00001 From 3a7abbc90090ece2d4306ad952ddc8ecb66cf704 Mon Sep 17 00:00:00 2001 From: lby Date: Wed, 13 Nov 2024 16:56:12 +0800 Subject: [PATCH 2/2] fix(web): zoom to layer could go underground on first trigger (#1242) --- .../beta/features/Editor/Map/LayersPanel/LayerItem.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/web/src/beta/features/Editor/Map/LayersPanel/LayerItem.tsx b/web/src/beta/features/Editor/Map/LayersPanel/LayerItem.tsx index e44b4284a6..01928333de 100644 --- a/web/src/beta/features/Editor/Map/LayersPanel/LayerItem.tsx +++ b/web/src/beta/features/Editor/Map/LayersPanel/LayerItem.tsx @@ -47,7 +47,15 @@ const LayerItem: FC = ({ const handleZoomToLayer = useCallback(() => { handleFlyTo?.(layer.id, { duration: 0 }); - }, [layer.id, handleFlyTo]); + // issue: https://github.com/CesiumGS/cesium/issues/4327 + // delay 800ms to trigger a second flyTo, + // time could be related with internet speed, not a stable solution + if (["geojson", "kml"].includes(layer.config?.data?.type)) { + setTimeout(() => { + handleFlyTo?.(layer.id, { duration: 0 }); + }, 800); + } + }, [layer, handleFlyTo]); const handleToggleLayerVisibility = useCallback(() => { handleLayerVisibilityUpdate({ layerId: layer.id, visible: !layer.visible });