generated from template/vite-react-template
feat: update new feature temp for panel
This commit is contained in:
@@ -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></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',
|
||||
},
|
||||
];
|
||||
|
@@ -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();
|
||||
}}>
|
||||
转到首页
|
||||
|
@@ -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) => (
|
||||
|
@@ -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 {
|
||||
// 编辑
|
||||
|
@@ -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('/');
|
||||
}
|
||||
},
|
||||
});
|
||||
|
@@ -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) {
|
||||
|
Reference in New Issue
Block a user