Skip to content

Commit 51f8639

Browse files
committed
feat: clip note upgrade
Signed-off-by: EINDEX <snowstarlbk@gmail.com>
1 parent ed1f74d commit 51f8639

File tree

21 files changed

+642
-290
lines changed

21 files changed

+642
-290
lines changed

package-lock.json

Lines changed: 119 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
"@tailwindcss/typography": "^0.5.9",
2222
"@thedutchcoder/postcss-rem-to-px": "^0.0.2",
2323
"@types/marked": "^4.0.8",
24+
"chakra-react-select": "^4.6.0",
25+
"date-fns": "^2.29.3",
2426
"lodash": "^4.17.21",
2527
"marked": "^4.2.12",
2628
"markit": "^0.2.0",

src/assets/img/logo-192.png

7.58 KB
Loading

src/components/LogseqCopilot.tsx

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
import { IconSettings } from '@tabler/icons-react';
2+
import styles from './logseq.module.scss';
3+
import React from 'react';
4+
import Browser from 'webextension-polyfill';
5+
import { LogseqBlock } from './LogseqBlock';
6+
import LogseqPageLink from './LogseqPage';
7+
8+
const connect = Browser.runtime.connect();
9+
10+
const LogseqCopilot = ({ graph, pages, blocks }) => {
11+
const goOptionPage = () => {
12+
connect.postMessage({ type: 'open-options' });
13+
};
14+
15+
const count = () => {
16+
return pages.length + blocks.length;
17+
};
18+
19+
const blocksRender = () => {
20+
return (
21+
<>
22+
{blocks.map((block) => {
23+
return <LogseqBlock key={block.uuid} block={block} graph={graph} />;
24+
})}
25+
</>
26+
);
27+
};
28+
29+
const pagesRender = () => {
30+
return (
31+
<>
32+
{pages.length > 0 ? (
33+
<div className="pages">
34+
<ul>
35+
{pages.map((page) => {
36+
if (!page) return <></>;
37+
return (
38+
<p>
39+
<LogseqPageLink
40+
key={page.uuid}
41+
graph={graph}
42+
page={page}
43+
></LogseqPageLink>
44+
</p>
45+
);
46+
})}
47+
</ul>
48+
</div>
49+
) : (
50+
<></>
51+
)}
52+
</>
53+
);
54+
};
55+
56+
if (count() === 0) {
57+
return (
58+
<span>
59+
Nothing here, Do some research with Logseq!{' '}
60+
<a href={`logseq://graph/${graph}`}>Go</a>
61+
</span>
62+
);
63+
}
64+
65+
return (
66+
<>
67+
<div className={styles.copilotCardHeader}>
68+
<span>Graph: {graph}</span>
69+
<IconSettings onClick={goOptionPage} size={16} />
70+
</div>
71+
{pagesRender()}
72+
{blocksRender()}
73+
</>
74+
);
75+
};
76+
77+
export default LogseqCopilot;

src/components/logseq.module.scss

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,18 @@
2929
@apply flex flex-row justify-end;
3030
}
3131

32+
.copilotCardHeader {
33+
@apply flex flex-row justify-between items-center text-sm pb-2;
34+
35+
a {
36+
@apply text-sm text-center object-center;
37+
}
38+
}
39+
40+
.divide {
41+
@apply divide-y divide-x-0 divide-dashed;
42+
}
43+
3244
.block {
3345
@apply py-2;
3446
}

src/config.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ export type LogseqCopliotConfig = {
44
logseqHost: string;
55
logseqAuthToken: string;
66
enableClipNoteFloatButton: boolean;
7+
clipNoteLocation: string;
8+
clipNoteCustomPage: string;
9+
clipNoteTemplate: string;
710
};
811

912
export const getLogseqCopliotConfig =
@@ -12,11 +15,20 @@ export const getLogseqCopliotConfig =
1215
logseqHost = 'http://localhost:12315',
1316
logseqAuthToken = '',
1417
enableClipNoteFloatButton = true,
18+
clipNoteLocation = "journal",
19+
clipNoteCustomPage = "",
20+
clipNoteTemplate = `[[date]] **{{time}}**
21+
url:: [{{title}}]({{url}})
22+
tags:: [[Clip]]
23+
{{content}}`
1524
} = await Browser.storage.local.get();
1625
return {
1726
logseqHost,
1827
logseqAuthToken,
1928
enableClipNoteFloatButton,
29+
clipNoteLocation,
30+
clipNoteCustomPage,
31+
clipNoteTemplate,
2032
};
2133
};
2234

src/manifest.json.cjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ const build = (releaseFor) => {
5555
'Logseq Copilot, Connect with you logseq API server, bring your information when you browsing.',
5656
chrome_url_overrides: {},
5757
icons: {
58-
192: 'assets/img/logo.png',
58+
192: 'assets/img/logo-192.png',
5959
},
6060
content_scripts: [
6161
{

0 commit comments

Comments
 (0)