update:css样式拆分

This commit is contained in:
xiaozhu
2026-09-02 10:10:41 +08:00
committed by tao.chen
parent ef0000ebe5
commit f452ba70fb
27 changed files with 1404 additions and 3059 deletions
+48 -18
View File
@@ -2,6 +2,22 @@ import { type FormEvent } from "react";
import Icon from "../../components/common/Icon";
import type { ScriptItem, Visibility } from "../../services/api";
import { scriptIcon } from "../../features/platform/WorkspaceTree";
import {
formFieldClass,
formHintClass,
formInputClass,
formTextareaClass,
iconButtonClass,
modalBackdropClass,
modalEyebrowClass,
modalFooterClass,
modalFormClass,
modalHeaderClass,
modalPanelClass,
modalTitleClass,
primaryButtonClass,
secondaryButtonClass,
} from "./modalUi";
type PublishModalProps = {
publishTarget: ScriptItem | null;
@@ -27,15 +43,15 @@ export function PublishModal({
if (!publishTarget) return null;
return (
<div className="modal-backdrop" role="presentation">
<section className="modal publish-modal" role="dialog" aria-modal="true">
<div className="modal__header">
<div className={modalBackdropClass} role="presentation">
<section className={modalPanelClass} role="dialog" aria-modal="true">
<div className={modalHeaderClass}>
<div>
<span className="modal__eyebrow"></span>
<h2></h2>
<span className={modalEyebrowClass}></span>
<h2 className={modalTitleClass}></h2>
</div>
<button
className="icon-button"
className={iconButtonClass}
type="button"
aria-label="关闭"
onClick={onClose}
@@ -43,29 +59,43 @@ export function PublishModal({
<Icon name="close" />
</button>
</div>
<form onSubmit={onSubmit}>
<div className="publish-source">
<span className={`file-icon file-icon--${publishTarget.script_type}`}>
<form className={modalFormClass} onSubmit={onSubmit}>
<div className="mb-[17px] flex items-center gap-2.5 rounded-[7px] border border-[#dce6ef] bg-[#f8fbfd] px-3 py-[11px]">
<span
className={`grid size-[25px] shrink-0 place-items-center rounded-[5px] ${
publishTarget.script_type === "notebook"
? "bg-[#fff0ed] text-[#e15e50]"
: "bg-[#eaf3ff] text-[#2e73c6]"
}`}
>
<Icon name={scriptIcon(publishTarget)} size={18} />
</span>
<span>
<strong>{publishTarget.script_name}</strong>
<small> Workspace </small>
<span className="flex min-w-0 flex-col gap-0.5">
<strong className="truncate text-xs text-[#34485d]">
{publishTarget.script_name}
</strong>
<small className="text-[9px] text-[#8b99a8]">
Workspace
</small>
</span>
</div>
<label className="form-field">
<label className={formFieldClass}>
<span></span>
<textarea
className={formTextareaClass}
maxLength={1000}
placeholder="例如:完成数据清洗和特征工程"
value={releaseNote}
onChange={(event) => onReleaseNoteChange(event.target.value)}
/>
<small></small>
<small className={formHintClass}>
</small>
</label>
<label className="form-field">
<label className={formFieldClass}>
<span></span>
<select
className={formInputClass}
value={publishVisibility}
onChange={(event) =>
onPublishVisibilityChange(event.target.value as Visibility)}
@@ -75,16 +105,16 @@ export function PublishModal({
<option value="public"></option>
</select>
</label>
<div className="modal__footer">
<div className={modalFooterClass}>
<button
className="secondary-button"
className={secondaryButtonClass}
type="button"
onClick={onClose}
>
</button>
<button
className="primary-button"
className={primaryButtonClass}
type="submit"
disabled={publishing}
>