fix: adjust layout styles for header and dataset update (#22182)

This commit is contained in:
Wu Tianwei
2025-07-11 11:17:28 +08:00
committed by GitHub
parent e576b989b8
commit c805238471
4 changed files with 30 additions and 19 deletions

View File

@@ -122,7 +122,7 @@ const DatasetUpdateForm = ({ datasetId }: DatasetUpdateFormProps) => {
return <AppUnavailable code={500} unknownReason={t('datasetCreation.error.unavailable') as string} /> return <AppUnavailable code={500} unknownReason={t('datasetCreation.error.unavailable') as string} />
return ( return (
<div className='flex flex-col bg-components-panel-bg' style={{ height: 'calc(100vh - 56px)' }}> <div className='flex flex-col overflow-hidden bg-components-panel-bg' style={{ height: 'calc(100vh - 56px)' }}>
<TopBar activeIndex={step - 1} datasetId={datasetId} /> <TopBar activeIndex={step - 1} datasetId={datasetId} />
<div style={{ height: 'calc(100% - 52px)' }}> <div style={{ height: 'calc(100% - 52px)' }}>
{step === 1 && <StepOne {step === 1 && <StepOne

View File

@@ -1,6 +1,5 @@
.filePreview { .filePreview {
@apply flex flex-col border-l border-components-panel-border shrink-0 bg-background-default-lighter; @apply flex flex-col border-l border-components-panel-border shrink-0 bg-background-default-lighter;
width: 528px;
} }
.previewHeader { .previewHeader {
@@ -28,6 +27,7 @@
background: #f9fafb center no-repeat url(../assets/Loading.svg); background: #f9fafb center no-repeat url(../assets/Loading.svg);
background-size: contain; background-size: contain;
} }
.fileContent { .fileContent {
white-space: pre-line; white-space: pre-line;
} }

View File

@@ -1,5 +1,5 @@
'use client' 'use client'
import React, { useMemo, useState } from 'react' import React, { useCallback, useMemo, useState } from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import { RiArrowRightLine, RiFolder6Line } from '@remixicon/react' import { RiArrowRightLine, RiFolder6Line } from '@remixicon/react'
import FilePreview from '../file-preview' import FilePreview from '../file-preview'
@@ -95,24 +95,29 @@ const StepOne = ({
const modalShowHandle = () => setShowModal(true) const modalShowHandle = () => setShowModal(true)
const modalCloseHandle = () => setShowModal(false) const modalCloseHandle = () => setShowModal(false)
const updateCurrentFile = (file: File) => { const updateCurrentFile = useCallback((file: File) => {
setCurrentFile(file) setCurrentFile(file)
} }, [])
const hideFilePreview = () => {
const hideFilePreview = useCallback(() => {
setCurrentFile(undefined) setCurrentFile(undefined)
} }, [])
const updateCurrentPage = (page: NotionPage) => { const updateCurrentPage = useCallback((page: NotionPage) => {
setCurrentNotionPage(page) setCurrentNotionPage(page)
} }, [])
const hideNotionPagePreview = () => { const hideNotionPagePreview = useCallback(() => {
setCurrentNotionPage(undefined) setCurrentNotionPage(undefined)
} }, [])
const hideWebsitePreview = () => { const updateWebsite = useCallback((website: CrawlResultItem) => {
setCurrentWebsite(website)
}, [])
const hideWebsitePreview = useCallback(() => {
setCurrentWebsite(undefined) setCurrentWebsite(undefined)
} }, [])
const shouldShowDataSourceTypeList = !datasetId || (datasetId && !dataset?.data_source_type) const shouldShowDataSourceTypeList = !datasetId || (datasetId && !dataset?.data_source_type)
const isInCreatePage = shouldShowDataSourceTypeList const isInCreatePage = shouldShowDataSourceTypeList
@@ -139,7 +144,7 @@ const StepOne = ({
<div className={classNames(s.form)}> <div className={classNames(s.form)}>
{ {
shouldShowDataSourceTypeList && ( shouldShowDataSourceTypeList && (
<div className={classNames(s.stepHeader, 'text-text-secondary system-md-semibold')}> <div className={classNames(s.stepHeader, 'system-md-semibold text-text-secondary')}>
{t('datasetCreation.steps.one')} {t('datasetCreation.steps.one')}
</div> </div>
) )
@@ -158,8 +163,8 @@ const StepOne = ({
if (dataSourceTypeDisable) if (dataSourceTypeDisable)
return return
changeType(DataSourceType.FILE) changeType(DataSourceType.FILE)
hideFilePreview()
hideNotionPagePreview() hideNotionPagePreview()
hideWebsitePreview()
}} }}
> >
<span className={cn(s.datasetIcon)} /> <span className={cn(s.datasetIcon)} />
@@ -182,7 +187,7 @@ const StepOne = ({
return return
changeType(DataSourceType.NOTION) changeType(DataSourceType.NOTION)
hideFilePreview() hideFilePreview()
hideNotionPagePreview() hideWebsitePreview()
}} }}
> >
<span className={cn(s.datasetIcon, s.notion)} /> <span className={cn(s.datasetIcon, s.notion)} />
@@ -201,7 +206,13 @@ const StepOne = ({
dataSourceType === DataSourceType.WEB && s.active, dataSourceType === DataSourceType.WEB && s.active,
dataSourceTypeDisable && dataSourceType !== DataSourceType.WEB && s.disabled, dataSourceTypeDisable && dataSourceType !== DataSourceType.WEB && s.disabled,
)} )}
onClick={() => changeType(DataSourceType.WEB)} onClick={() => {
if (dataSourceTypeDisable)
return
changeType(DataSourceType.WEB)
hideFilePreview()
hideNotionPagePreview()
}}
> >
<span className={cn(s.datasetIcon, s.web)} /> <span className={cn(s.datasetIcon, s.web)} />
<span <span
@@ -276,7 +287,7 @@ const StepOne = ({
<> <>
<div className={cn('mb-8 w-[640px]', !shouldShowDataSourceTypeList && 'mt-12')}> <div className={cn('mb-8 w-[640px]', !shouldShowDataSourceTypeList && 'mt-12')}>
<Website <Website
onPreview={setCurrentWebsite} onPreview={updateWebsite}
checkedCrawlResult={websitePages} checkedCrawlResult={websitePages}
onCheckedCrawlResultChange={updateWebsitePages} onCheckedCrawlResultChange={updateWebsitePages}
onCrawlProviderChange={onWebsiteCrawlProviderChange} onCrawlProviderChange={onWebsiteCrawlProviderChange}

View File

@@ -79,7 +79,7 @@ const Header = () => {
} }
return ( return (
<div className='flex h-[60px] items-center'> <div className='flex h-[56px] items-center'>
<div className='flex min-w-0 flex-[1] items-center pl-3 pr-2 min-[1280px]:pr-3'> <div className='flex min-w-0 flex-[1] items-center pl-3 pr-2 min-[1280px]:pr-3'>
<Link href="/apps" className='flex h-8 shrink-0 items-center justify-center px-0.5'> <Link href="/apps" className='flex h-8 shrink-0 items-center justify-center px-0.5'>
{systemFeatures.branding.enabled && systemFeatures.branding.workspace_logo {systemFeatures.branding.enabled && systemFeatures.branding.workspace_logo