feat: update new feature temp for panel

This commit is contained in:
2025-03-04 01:20:55 +08:00
parent 6e96247b50
commit fd3288cb5b
45 changed files with 2559 additions and 954 deletions

View File

@@ -1,2 +1,13 @@
// <a href="https://kevisual.xiongxiao.me/workspace/wallnote/">wallnote v1版工作区/workspace/wallnote)</a>
export const DOCS_NODE = [{"id":"e15owpuh9cv3fgwx5zymtc","position":{"x":-1613.6078090729259,"y":-726.9366215444888},"data":{"html":"<h1>Wallnote 基本使用介绍 v0.0.7</h1><p></p><p>可拖拽的随笔记功能。</p><ul class=\"tight\" data-tight=\"true\"><li><p>纯网页界面,数据存储在浏览器(不登陆情况下,只有单个页面)</p></li><li><p>这个墙随便拖动</p></li><li><p>双击空格添加一条记录并打开编辑esc关闭</p></li><li><p>富文本编辑器md语法</p></li><li><p>点击节点聚焦后delete删除</p></li><li><p>右键空白处粘贴</p><ul class=\"tight\" data-tight=\"true\"><li><p>html的内容编辑会丢失样式</p></li><li><p>图片的内容(粘贴后不能编辑)</p></li><li><p>文本内容</p></li><li><p>复制的节点信息</p></li></ul></li><li><p>边框可拖动大小</p></li></ul><h3>注意</h3><ul class=\"tight\" data-tight=\"true\"><li><p>点击节点聚焦后,如果有滚动条,节点内容才能滚动</p></li><li><p>图片复制只能是二进制文件夹的图片复制后无效。比如snipaste 贴图复制Can To Do。</p></li></ul><p></p><h2>登录后功能</h2><ul class=\"tight\" data-tight=\"true\"><li><p>保存而不是临时编辑</p></li></ul><h2>新版</h2><p></p><p>![ai-workspace](https://kevisual.xiongxiao.me/workspace/wallnote/)</p><p></p><h2>TODO</h2><ul class=\"tight\" data-tight=\"true\"><li><p>do do do</p></li><li><p>ai ++++</p></li></ul>","width":1113,"height":444},"type":"wallnote"},{"id":"kb0vbz4ffi1x6aw8clo0ho","position":{"x":-1613.4790358693674,"y":-256.0352475384902},"data":{"width":356,"height":50,"html":"<a href=\"https://kevisual.xiongxiao.me/workspace/wallnote/\">wallnote v1版工作区/workspace/wallnote)</a>"},"type":"wallnote"}]
export const DOCS_NODE = [
{
id: 'e15owpuh9cv3fgwx5zymtc',
position: { x: -1498.479327713264, y: -734.7581188564604 },
data: {
html: '<h1>Wallnote 基本使用介绍 v0.1.0</h1><p></p><p>可拖拽的随笔记功能。</p><ul class="tight" data-tight="true"><li><p>这个墙随便拖动</p></li><li><p>双击空的地方添加一条文本记录并打开编辑esc关闭</p></li><li><p>富文本编辑器md语法</p></li><li><p>点击节点聚焦后delete删除</p></li><li><p>右键空白处粘贴</p><ul class="tight" data-tight="true"><li><p>html的内容编辑会丢失样式</p></li><li><p>图片的内容(粘贴后不能编辑)</p></li><li><p>文本内容</p></li><li><p>复制的节点信息</p></li></ul></li><li><p>边框可拖动大小</p></li></ul><h3>注意</h3><ul class="tight" data-tight="true"><li><p>点击节点聚焦后,如果有滚动条,节点内容才能滚动</p></li><li><p>图片复制只能是二进制文件夹的图片复制后无效读不到文件。比如snipaste 贴图复制。</p></li></ul>',
width: 1113,
height: 444,
},
type: 'wallnote',
},
];

View File

@@ -25,7 +25,7 @@ import { message } from '@/modules/message';
import { useShallow } from 'zustand/react/shallow';
import { BlankNoteText } from './constants';
import { Toolbar } from './modules/toolbar/Toolbar';
import { useNavigate, useParams } from 'react-router-dom';
// import { useNavigate, useParams } from 'react-router-dom';
import { SaveModal } from './modules/FormDialog';
import { useTabNode } from './hooks/tab-node';
import { Button } from '@mui/material';
@@ -210,8 +210,9 @@ export function FlowContent() {
);
}
export const Flow = ({ checkLogin = true }: { checkLogin?: boolean }) => {
const { id } = useParams();
const navigate = useNavigate();
// const { id } = useParams();
const id = '';
// const navigate = useNavigate();
const wallStore = useWallStore(
useShallow((state) => {
return {
@@ -236,7 +237,7 @@ export const Flow = ({ checkLogin = true }: { checkLogin?: boolean }) => {
<Button
variant='contained'
onClick={() => {
navigate('/');
// navigate('/');
wallStore.clearId();
}}>

View File

@@ -195,7 +195,7 @@ export const ContextMenu: React.FC<ContextMenuProps> = ({ x, y, onClose }) => {
backgroundColor: 'white',
border: '1px solid #ccc',
width: 200,
zIndex: 1000,
zIndex: 100,
}}
onMouseLeave={onClose}>
{menuList.map((item) => (

View File

@@ -5,7 +5,7 @@ import { getNodeData, useWallStore } from '../store/wall';
import { useReactFlow, useStore } from '@xyflow/react';
import { useUserWallStore, Wall } from '../store/user-wall';
import { message } from '@/modules/message';
import { useNavigate } from 'react-router-dom';
// import { useNavigate } from 'react-router-dom';
import { WallData } from './CustomNode';
function FormDialog({ open, handleClose, handleSubmit, initialData }) {
@@ -93,7 +93,7 @@ export const SaveModal = () => {
const userWallStore = useUserWallStore(useShallow((state) => state));
const { showFormDialog, setShowFormDialog, formDialogData, setFormDialogData } = wallStore;
const reactFlowInstance = useReactFlow();
const navigate = useNavigate();
// const navigate = useNavigate();
const { id } = wallStore;
const onSubmit = async (values) => {
const nodes = reactFlowInstance.getNodes();
@@ -122,7 +122,7 @@ export const SaveModal = () => {
message.info('redirect to edit page');
wallStore.clear();
setTimeout(() => {
navigate(`/edit/${data.id}`);
// navigate(`/edit/${data.id}`);
}, 2000);
} else {
// 编辑

View File

@@ -7,7 +7,6 @@ import { useUserWallStore } from '../../store/user-wall';
import { redirectToLogin } from '@/modules/require-to-login';
import { useStore } from '@xyflow/react';
import { message } from '@/modules/message';
import { useNavigate } from 'react-router-dom';
import { ClickAwayListener } from '@mui/material';
export const ToolbarItem = ({
children,
@@ -68,7 +67,6 @@ export const ToolbarContent = ({ open }) => {
const userWallStore = useUserWallStore(useShallow((state) => state));
const store = useStore((state) => state);
const hasLogin = !!userWallStore.user;
const navigate = useNavigate();
const menuList: MenuItem[] = [
{
@@ -149,7 +147,7 @@ export const ToolbarContent = ({ open }) => {
key: 'myWall',
icon: <BrickWall />,
onClick: () => {
navigate('/list');
//
},
});
}
@@ -170,7 +168,7 @@ export const ToolbarContent = ({ open }) => {
onClick: async () => {
const res = await userWallStore.deleteWall(wallStore.id!);
if (res.code === 200) {
navigate('/');
// navigate('/');
}
},
});
@@ -212,7 +210,7 @@ export const ToolbarContent = ({ open }) => {
key: 'add',
icon: <Plus />,
onClick: () => {
navigate(`/`);
// navigate(`/`);
wallStore.clearQueryWall();
},
});
@@ -226,7 +224,7 @@ export const ToolbarContent = ({ open }) => {
if (res.code === 200) {
message.success('删除成功,返回首页');
wallStore.clearQueryWall();
navigate('/');
// navigate('/');
}
},
});

View File

@@ -3,8 +3,12 @@ import { MyCache } from '@kevisual/cache';
const cache = new MyCache('cacheWall');
export async function getWallData() {
const data = await cache.getData();
return data;
try {
const data = await cache.getData();
return data;
} catch (e) {
cache.del();
}
}
export async function setWallData(data: any) {