diff --git a/src/pages/options/App.less b/src/pages/options/App.less
deleted file mode 100644
index e206c67..0000000
--- a/src/pages/options/App.less
+++ /dev/null
@@ -1,9 +0,0 @@
-
-.app {
- width: 100vw;
- height: 100vh;
-
- .title {
- text-align: center;
- }
-}
diff --git a/src/pages/options/Token/index.tsx b/src/pages/options/Token/index.tsx
new file mode 100644
index 0000000..3484af7
--- /dev/null
+++ b/src/pages/options/Token/index.tsx
@@ -0,0 +1,33 @@
+import React, { useContext } from 'react';
+import { Button, Input, Space } from 'antd';
+
+import { YuqueTokenService } from '@/services';
+
+import styles from './style.less';
+
+const Token = () => {
+ const { setYuqueToken, token, syncToCloudStorage } = useContext(
+ YuqueTokenService,
+ );
+
+ return (
+
+
+ 语雀 Token:
+ {
+ setYuqueToken(e.target.value);
+ }}
+ onPressEnter={syncToCloudStorage}
+ />
+
+
+
+ );
+};
+
+export default Token;
diff --git a/src/pages/options/Token/style.less b/src/pages/options/Token/style.less
new file mode 100644
index 0000000..1bfb508
--- /dev/null
+++ b/src/pages/options/Token/style.less
@@ -0,0 +1,5 @@
+@import '~theme/index';
+
+.container {
+ //display: flex;
+}
diff --git a/src/pages/options/index.tsx b/src/pages/options/index.tsx
index 857fd20..9fa8652 100644
--- a/src/pages/options/index.tsx
+++ b/src/pages/options/index.tsx
@@ -1,23 +1,52 @@
import React from 'react';
-import { Button, Input } from 'antd';
+import { Menu } from 'antd';
+import {
+ BulbOutlined,
+ FontColorsOutlined,
+ KeyOutlined,
+ SearchOutlined,
+} from '@ant-design/icons';
+
import { useYuqueTokenService, YuqueTokenService } from '@/services';
+import Token from './Token';
-import './App.less';
+import styles from './style.less';
const App = () => {
const yuqueTokenService = useYuqueTokenService();
- const { setYuqueToken, token, syncToCloudStorage } = yuqueTokenService;
+
return (
- 语雀 Token:
- {
- setYuqueToken(e.target.value);
- }}
- />
-
+
+
Power Yuque 配置面板
+
+
+
+
+
+
+
+
);
};
diff --git a/src/pages/options/style.less b/src/pages/options/style.less
new file mode 100644
index 0000000..75e6540
--- /dev/null
+++ b/src/pages/options/style.less
@@ -0,0 +1,24 @@
+@import '~theme/index';
+
+.container {
+ height: 100vh;
+ padding: 24px;
+ background: @background-color-base;
+}
+
+.menu {
+ width: 200px;
+ min-height: 400px;
+ padding-top: 12px;
+}
+
+.card {
+ display: flex;
+ background: @white;
+ border-radius: 4px;
+}
+
+.content {
+ width: 100%;
+ padding: 24px;
+}
diff --git a/src/services/useYuqueTokenService.ts b/src/services/useYuqueTokenService.ts
index 045560e..f54d140 100644
--- a/src/services/useYuqueTokenService.ts
+++ b/src/services/useYuqueTokenService.ts
@@ -1,6 +1,7 @@
import { useLocalStorageState } from 'ahooks';
import { getServiceToken } from '@/utils';
import { useCallback, useEffect } from 'react';
+import { message } from 'antd';
/**
* Yuque Token
@@ -10,13 +11,14 @@ export const useYuqueTokenService = () => {
const [token, setYuqueToken] = useLocalStorageState('yuque_token', '');
const syncToCloudStorage = useCallback(() => {
- chrome.storage.sync.set({ yuque_token: token }, () => {
+ chrome.storage?.sync.set({ yuque_token: token }, () => {
chrome.storage.sync.get(console.log);
});
+ message.success('保存成功');
}, [token]);
useEffect(() => {
- chrome.storage.sync.get((data) => {
+ chrome.storage?.sync.get((data) => {
console.log(data);
if (data.yuque_token !== token) {
setYuqueToken(data.yuque_token);