From 5c9172c512baac4d0616acc3cc0e70dd8a243f6d Mon Sep 17 00:00:00 2001
From: qiqixiong <1016160938@qq.com>
Date: Mon, 10 Oct 2022 16:34:58 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E5=8F=B3=E9=94=AE=E8=8F=9C=E5=8D=95?=
=?UTF-8?q?=E5=9F=BA=E6=9C=ACui?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/common/style/vars.scss | 2 +
.../desktop/RightMouseMenu/index.module.scss | 35 ++++++++++
src/pages/desktop/RightMouseMenu/index.tsx | 69 +++++++++++++++++++
src/pages/desktop/index.tsx | 2 +
4 files changed, 108 insertions(+)
create mode 100644 src/pages/desktop/RightMouseMenu/index.module.scss
create mode 100644 src/pages/desktop/RightMouseMenu/index.tsx
diff --git a/src/common/style/vars.scss b/src/common/style/vars.scss
index 31adbe9..d9650b2 100644
--- a/src/common/style/vars.scss
+++ b/src/common/style/vars.scss
@@ -3,6 +3,8 @@ $primary-color: red;
$desk-background1: rgba(32, 32, 32, 0.75);
$desk-background2: rgba(255, 255, 255, 0.1);
+$right-mouse-menu-background: rgba(32, 32, 32, 0.75);
+
$hover-background1: rgba(255, 255, 255, 0.25);
$hover-background2: rgba(255, 255, 255, 0.15);
diff --git a/src/pages/desktop/RightMouseMenu/index.module.scss b/src/pages/desktop/RightMouseMenu/index.module.scss
new file mode 100644
index 0000000..cd22441
--- /dev/null
+++ b/src/pages/desktop/RightMouseMenu/index.module.scss
@@ -0,0 +1,35 @@
+.rightMouseMenuBox {
+ position: absolute;
+ width: 220px;
+ height: auto;
+ border: 1px solid #555;
+ border-radius: 3px;
+ background: $right-mouse-menu-background;
+}
+
+.item {
+ display: flex;
+ padding: 4px 15px;
+ cursor: pointer;
+ user-select: none;
+ &:hover {
+ background: $hover-background2;
+ }
+}
+
+.name {
+ display: flex;
+ flex-grow: 1;
+}
+
+.bottom {
+ border-bottom: 1px solid #555;
+}
+
+.icon {
+ margin-right: 12px;
+}
+
+.keyboard {
+ color: #555;
+}
diff --git a/src/pages/desktop/RightMouseMenu/index.tsx b/src/pages/desktop/RightMouseMenu/index.tsx
new file mode 100644
index 0000000..d5a21b2
--- /dev/null
+++ b/src/pages/desktop/RightMouseMenu/index.tsx
@@ -0,0 +1,69 @@
+import React from 'react'
+import {
+ RedoOutlined,
+ SortAscendingOutlined,
+ PictureOutlined,
+ UserOutlined,
+ FieldTimeOutlined,
+ SettingOutlined
+} from '@ant-design/icons'
+import styles from './index.module.scss'
+import classnames from 'classnames'
+
+const RightMouseMenu: React.FC = () => {
+ return (
+
+ )
+}
+
+export default RightMouseMenu
diff --git a/src/pages/desktop/index.tsx b/src/pages/desktop/index.tsx
index 91c1cfa..42b8f72 100644
--- a/src/pages/desktop/index.tsx
+++ b/src/pages/desktop/index.tsx
@@ -6,6 +6,7 @@ import styles from './index.module.scss'
import StartMenu from './StartMenu'
import Mask from './Mask'
import Window from './Window'
+import RightMouseMenu from './RightMouseMenu'
const Desktop: React.FC = () => {
const showStartMenu = useStore((state: MyState) => state.showStartMenu)
@@ -19,6 +20,7 @@ const Desktop: React.FC = () => {
{showStartMenu && }
{showStartMenu && }
+
)
}
--
Gitee
From d7c440c15c83c8b603da2c7cd27df5a29ed67722 Mon Sep 17 00:00:00 2001
From: "DESKTOP-HR0JS52\\jun"
Date: Wed, 12 Oct 2022 14:50:09 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E5=8F=B3=E9=94=AE=E8=8F=9C=E5=8D=95?=
=?UTF-8?q?=E4=BA=8B=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/common/style/vars.scss | 6 ++-
src/pages/desktop/Desk/index.tsx | 8 ++++
src/pages/desktop/Mask/index.tsx | 20 ++++++++-
.../desktop/RightMouseMenu/index.module.scss | 9 ++--
src/pages/desktop/RightMouseMenu/index.tsx | 21 ++++++++-
src/pages/desktop/StartMenu/index.tsx | 7 ++-
.../StartToolsBar/DateTime/index.module.scss | 17 +++++++
.../desktop/StartToolsBar/DateTime/index.tsx | 19 ++++++--
.../desktop/StartToolsBar/WindonBar/index.tsx | 7 ++-
src/pages/desktop/StartToolsBar/index.tsx | 10 ++++-
src/pages/desktop/index.tsx | 2 +-
src/store/deskSlice.ts | 45 +++++++++++++++++++
12 files changed, 157 insertions(+), 14 deletions(-)
diff --git a/src/common/style/vars.scss b/src/common/style/vars.scss
index d9650b2..769c67b 100644
--- a/src/common/style/vars.scss
+++ b/src/common/style/vars.scss
@@ -4,6 +4,8 @@ $desk-background1: rgba(32, 32, 32, 0.75);
$desk-background2: rgba(255, 255, 255, 0.1);
$right-mouse-menu-background: rgba(32, 32, 32, 0.75);
+$right-mouse-menu-width: 220px;
+$right-mouse-menu-height: 184px;
$hover-background1: rgba(255, 255, 255, 0.25);
$hover-background2: rgba(255, 255, 255, 0.15);
@@ -24,5 +26,7 @@ $start-menu-height: 550px;
$view-border-color: #555;
:export {
- startToolsBarHeight: $start-tools-bar-height
+ startToolsBarHeight: $start-tools-bar-height;
+ rightMouseMenuWidth: $right-mouse-menu-width;
+ rightMouseMenuHeight: $right-mouse-menu-height;
}
diff --git a/src/pages/desktop/Desk/index.tsx b/src/pages/desktop/Desk/index.tsx
index d2b020c..62c7198 100644
--- a/src/pages/desktop/Desk/index.tsx
+++ b/src/pages/desktop/Desk/index.tsx
@@ -10,6 +10,9 @@ const Desk: React.FC = () => {
const setStartMenuList = useStore((state: MyState) => state.setStartMenuList)
const setUserInfo = useStore((state: MyState) => state.setUserInfo)
const setRoleInfo = useStore((state: MyState) => state.setRoleInfo)
+ const openRightMouseMenu = useStore(
+ (state: MyState) => state.openRightMouseMenu
+ )
React.useEffect(() => {
getUserInfo(res => {
const { data } = res
@@ -22,6 +25,11 @@ const Desk: React.FC = () => {
return (
{
+ event.stopPropagation()
+ event.preventDefault()
+ openRightMouseMenu(event)
+ }}
style={{ backgroundImage: `url(${backgroundImg})` }}>
diff --git a/src/pages/desktop/Mask/index.tsx b/src/pages/desktop/Mask/index.tsx
index e9070ea..d0f929d 100644
--- a/src/pages/desktop/Mask/index.tsx
+++ b/src/pages/desktop/Mask/index.tsx
@@ -4,11 +4,29 @@ import useStore, { MyState } from '@/store'
const Mask: React.FC = () => {
const setShowStartMenu = useStore((state: MyState) => state.setShowStartMenu)
+ const rightMouseMenu = useStore((state: MyState) => state.rightMouseMenu)
+ const closeRightMouseMenu = useStore(
+ (state: MyState) => state.closeRightMouseMenu
+ )
+ const openRightMouseMenu = useStore(
+ (state: MyState) => state.openRightMouseMenu
+ )
+ const showStartMenu = useStore((state: MyState) => state.showStartMenu)
return (
{
+ event.stopPropagation()
+ event.preventDefault()
+ showStartMenu && setShowStartMenu(false)
+ openRightMouseMenu(event)
+ }}
+ style={{
+ display: showStartMenu || rightMouseMenu.show ? 'block' : 'none'
+ }}
onClick={() => {
- setShowStartMenu(false)
+ showStartMenu && setShowStartMenu(false)
+ rightMouseMenu.show && closeRightMouseMenu()
}}
/>
)
diff --git a/src/pages/desktop/RightMouseMenu/index.module.scss b/src/pages/desktop/RightMouseMenu/index.module.scss
index cd22441..3eeeaad 100644
--- a/src/pages/desktop/RightMouseMenu/index.module.scss
+++ b/src/pages/desktop/RightMouseMenu/index.module.scss
@@ -1,10 +1,12 @@
.rightMouseMenuBox {
position: absolute;
- width: 220px;
- height: auto;
+ z-index: 10002;
border: 1px solid #555;
border-radius: 3px;
+ width: $right-mouse-menu-width;
+ height: $right-mouse-menu-height;
background: $right-mouse-menu-background;
+ backdrop-filter: saturate(3) blur(20px);
}
.item {
@@ -12,6 +14,7 @@
padding: 4px 15px;
cursor: pointer;
user-select: none;
+
&:hover {
background: $hover-background2;
}
@@ -31,5 +34,5 @@
}
.keyboard {
- color: #555;
+ color: #666;
}
diff --git a/src/pages/desktop/RightMouseMenu/index.tsx b/src/pages/desktop/RightMouseMenu/index.tsx
index d5a21b2..6b1c543 100644
--- a/src/pages/desktop/RightMouseMenu/index.tsx
+++ b/src/pages/desktop/RightMouseMenu/index.tsx
@@ -9,10 +9,23 @@ import {
} from '@ant-design/icons'
import styles from './index.module.scss'
import classnames from 'classnames'
+import useStore, { MyState } from '@/store'
const RightMouseMenu: React.FC = () => {
+ const rightMouseMenu = useStore((state: MyState) => state.rightMouseMenu)
+ const closeRightMouseMenu = useStore(
+ (state: MyState) => state.closeRightMouseMenu
+ )
return (
-
+