Skip to content

Commit 7af8d45

Browse files
author
lucifer
committed
feat: 检查更新
1 parent 1835706 commit 7af8d45

File tree

9 files changed

+79
-21
lines changed

9 files changed

+79
-21
lines changed

leetcode-cheat-0.5.1.zip

2.26 MB
Binary file not shown.

leetcode-cheat.zip

-2.26 MB
Binary file not shown.

public/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"manifest_version": 2,
33
"name": "leetcode cheatsheet",
44
"description": "刷题小助手,made by 力扣加加",
5-
"version": "0.5.0",
5+
"version": "0.5.1",
66
"browser_action": {
77
"default_popup": "index.html",
88
"default_title": "力扣加加"

src/App.css

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
width: 800px;
66
}
77
.row {
8-
margin: 0 0 10px 0;
8+
margin: 0;
99
}
1010
.link {
1111
display: block;
@@ -34,3 +34,6 @@
3434
width: 30px;
3535
height: 30px;
3636
}
37+
.guide-wrapper {
38+
display: flex;
39+
}

src/App.js

Lines changed: 42 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, { useState } from "react";
2-
import { Button, Table, Empty, Tabs } from "antd";
2+
import { Button, Table, Empty, Tabs, Image } from "antd";
33

44
import "highlight.js/styles/github.css";
55

@@ -13,6 +13,7 @@ import ProblemDetail from "./Detail";
1313
import Roadmap from "./roadmap/roadmap.jsx";
1414
import TagOrLink from "./TagOrLink";
1515
import tempaltes from "./codeTemplates/index";
16+
import checkUpdate from "./checkUpdates";
1617

1718
// import { bfs } from "./utils";
1819
// import drawTree from "canvas-binary-tree";
@@ -87,12 +88,12 @@ function App() {
8788
setInLeetCode(inLeetCodeWebsite(currentUrl));
8889
});
8990

90-
// setTimeout(() => {
91-
// setProblemId("uncrossed-lines");
92-
// // setProblemId("two-sum");
93-
// setInSelected(!!selected[problemId]);
94-
// setHasSolution(!!problems[problemId]);
95-
// }, 1000);
91+
setTimeout(() => {
92+
// setProblemId("uncrossed-lines");
93+
setProblemId("two-sum");
94+
// setInSelected(!!selected[problemId]);
95+
setHasSolution(!!problems[problemId]);
96+
}, 1000);
9697

9798
const [problemId, setProblemId] = useState("");
9899

@@ -129,7 +130,7 @@ function App() {
129130
<canvas width="1000" height="1000" id="canvas"></canvas>
130131
</div>
131132

132-
<div>
133+
<div className="guide-wrapper">
133134
<div className="guide">
134135
{page !== "" ? (
135136
<Button type="link" onClick={() => setPage("")}>
@@ -172,7 +173,6 @@ function App() {
172173
</Button>
173174
))}
174175
</div>
175-
176176
{page === "detail" && <ProblemDetail problemId={problemId} />}
177177
</div>
178178

@@ -190,14 +190,39 @@ function App() {
190190
</Empty>
191191
</div>
192192

193-
<Tabs type="card">
194-
<TabPane key="roadmap" tab="学习路线">
195-
<Roadmap />
196-
</TabPane>
197-
<TabPane key="app" tab="代码模板">
198-
<CodeTemplates page={page} tempaltes={tempaltes}></CodeTemplates>
199-
</TabPane>
200-
</Tabs>
193+
{page === "" && (
194+
<Tabs type="card">
195+
<TabPane key="roadmap" tab="学习路线">
196+
<Roadmap />
197+
</TabPane>
198+
<TabPane key="app" tab="代码模板">
199+
<CodeTemplates page={page} tempaltes={tempaltes}></CodeTemplates>
200+
</TabPane>
201+
<TabPane key="checkUpdate" tab="检查更新">
202+
<div>
203+
一般只要你开启了自动更新,那么当插件更新之后
204+
chrome会在五个小时以内自动更新。
205+
如果你想第一时间更新,或者您禁用了自动更新,都可以在这里检测最新版。
206+
</div>
207+
<Button
208+
style={{ margin: "20px 0 0 20px" }}
209+
type="primary"
210+
onClick={checkUpdate}
211+
>
212+
检查更新
213+
</Button>
214+
</TabPane>
215+
<TabPane key="about" tab="关于我">
216+
<div>
217+
作者是一个 Github 40K star 的前端架构师,leetcode 刷题插件
218+
leetcode-cheatsheet
219+
作者,掌握各种算法套路,写了十几万字的算法刷题套路电子书,公众号回复
220+
<b>电子书</b>获取。
221+
<Image src="https://tva1.sinaimg.cn/large/007S8ZIlly1gfcuzagjalj30p00dwabs.jpg"></Image>
222+
</div>
223+
</TabPane>
224+
</Tabs>
225+
)}
201226
</div>
202227
);
203228
}

src/checkUpdates.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { message } from "antd";
2+
// eslint-disable-next-line
3+
chrome.runtime.onUpdateAvailable &&
4+
// eslint-disable-next-line
5+
chrome.runtime.onUpdateAvailable.addListener(function (details) {
6+
console.log("updating to version " + details.version);
7+
// eslint-disable-next-line
8+
chrome.runtime.reload();
9+
});
10+
11+
export default function checkUpdate() {
12+
// eslint-disable-next-line
13+
if (!chrome.runtime.requestUpdateCheck) return;
14+
// eslint-disable-next-line
15+
return chrome.runtime.requestUpdateCheck(function (status) {
16+
if (status == "update_available") {
17+
message.success({
18+
content: `检测到有新版本,您可以去 <a href="chrome://extensions/">扩展中心</a> 手动更新`,
19+
});
20+
} else if (status == "no_update") {
21+
message.success({
22+
content: `已经是最新版本了~`,
23+
});
24+
} else if (status == "throttled") {
25+
message.success({
26+
content: `操作太频繁,请稍后再试~`,
27+
});
28+
}
29+
});
30+
}

src/codeTemplates/codeTemplate.jsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ const { Panel } = Collapse;
1414
export default function CodeTemplate({ page, tempaltes }) {
1515
return (
1616
<div style={page === "" ? {} : { display: "none" }}>
17-
<h2 style={{ display: "flex", justifyContent: "center" }}>代码模板</h2>
1817
<Tabs>
1918
{tempaltes.map((tempalte) => (
2019
<TabPane

src/codes.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export default function Codes({ codes, renderHeader }) {
1717
<Panel
1818
key={c.text}
1919
header={
20-
<div className="row" style={{ marginTop: "10px" }}>
20+
<div className="row">
2121
<span className="language language-js">{c.language}</span>
2222
<Button
2323
type="primary"

src/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import ReactDOM from "react-dom";
33
import "./index.css";
44
// import App from "./visualDebug/index";
55
import App from "./App";
6+
import "./checkUpdates";
67

78
import * as serviceWorker from "./serviceWorker";
89

0 commit comments

Comments
 (0)