Skip to content

Commit f517f30

Browse files
committed
feat(popup): add close button
1 parent ca76c46 commit f517f30

File tree

5 files changed

+34
-4
lines changed

5 files changed

+34
-4
lines changed

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,12 @@ Use `/` menu when editing block content for search & insert
3939

4040
OR use hotkey `ctrl+shift+t` (`mod+shift+t`) 😎
4141

42+
## Icon in content
43+
44+
In addition to use icon codes with other plugins you can insert and view it inline in your content, just like emojis!
45+
46+
![](https://github.com//yoyurec/logseq-tabler-picker/raw/main/screenshots/inline-icons.mp4)
47+
4248
## What is Logseq?
4349
Logseq is a privacy-first, open-source knowledge base. Visit https://logseq.com for more information.
4450

index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<body>
1313
<div id="app">
1414
<div id="app-inner">
15+
<span id="app-close"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path stroke="none" d="M0 0h24v24H0z"/><path d="M18 6 6 18M6 6l12 12"/></svg></span>
1516
<div id="icon-picker">
1617
<input id="icon-picker-search" type="text" placeholder="Search Tabler icon">
1718
<select id="icon-picker-category"><option value="">All</option><option value="Animals">Animals</option><option value="Arrows">Arrows</option><option value="Brand">Brand</option><option value="Buildings">Buildings</option><option value="Charts">Charts</option><option value="Communication">Communication</option><option value="Currencies">Currencies</option><option value="Database">Database</option><option value="Design">Design</option><option value="Devices">Devices</option><option value="Document">Document</option><option value="E-commerce">E-commerce</option><option value="Electrical">Electrical</option><option value="Extensions">Extensions</option><option value="Food">Food</option><option value="Gender">Gender</option><option value="Gestures">Gestures</option><option value="Health">Health</option><option value="Laundry">Laundry</option><option value="Letters">Letters</option><option value="Logic">Logic</option><option value="Map">Map</option><option value="Math">Math</option><option value="Media">Media</option><option value="Mood">Mood</option><option value="Nature">Nature</option><option value="Numbers">Numbers</option><option value="Photography">Photography</option><option value="Shapes">Shapes</option><option value="Sport">Sport</option><option value="Symbols">Symbols</option><option value="System">System</option><option value="Text">Text</option><option value="Vehicles">Vehicles</option><option value="Version control">Version control</option><option value="Weather">Weather</option><option value="Zodiac">Zodiac</option></select>

public/css/tablerPickerInternal.css

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,24 @@ html, body {
2626
#app-inner {
2727
position: absolute;
2828
padding: 8px 0;
29-
background-color: var(--ls-a-chosen-bg);
29+
background-color: var(--ls-primary-background-color);
3030
border: 1px solid var(--ls-border-color);
3131
border-radius: 6px;
32+
box-shadow: 0 10px 15px -3px rgb(0 0 0 / 10%), 0 4px 6px -4px rgb(0 0 0 / 10%);
33+
}
34+
35+
#app-close {
36+
position: absolute;
37+
top: 8px;
38+
right: 8px;
39+
padding: 2px;
40+
opacity: 0.8;
41+
transition: 0.1s;
42+
cursor: pointer;
43+
}
44+
#app-close:hover {
45+
transform: scale(1.3);
46+
opacity: 1;
3247
}
3348

3449
#icon-picker {
@@ -39,17 +54,17 @@ html, body {
3954
#icon-picker-category {
4055
width: 210px;
4156
height: 30px;
42-
margin: 0 0 8px 3px;
57+
margin: 2px 0 10px 2px;
4358
padding: 0 8px;
4459
font-family: var(--font-os-system);
4560
font-size: 14px;
4661
border: 1px solid var(--ls-border-color);
4762
border-radius: 4px;
48-
background-color: var(--ls-primary-background-color);
63+
background-color: var(--ls-a-chosen-bg);
4964
}
5065

5166
#icon-picker-category {
52-
width: 180px;
67+
width: 150px;
5368
}
5469

5570
#icon-picker-category option {

screenshots/inline-icons.mp4

628 KB
Binary file not shown.

src/plugin/pluginPopup.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ type iconItem = {
1414
}
1515

1616
const app = document.getElementById('app');
17+
const appClose = document.getElementById('app-close');
1718
const appInner = document.getElementById('app-inner');
1819
const iconPickerList = document.getElementById('icon-picker-list');
1920
const searchField = document.getElementById('icon-picker-search') as HTMLInputElement;
@@ -35,6 +36,7 @@ export const initPluginPopup = () => {
3536
);
3637

3738
app!.addEventListener('click', containerClickHandler);
39+
appClose!.addEventListener('click', appCloseClickHandler);
3840
iconPickerList!.addEventListener('click', iconPickerListClickHandler);
3941
searchField!.addEventListener('keyup', iconPickerSearchHandler);
4042
searchCategory!.addEventListener('change', iconPickerCategoryHandler);
@@ -112,6 +114,10 @@ const containerClickHandler = (e: Event) => {
112114
}
113115
}
114116

117+
const appCloseClickHandler = () => {
118+
closePluginPopup();
119+
}
120+
115121
const getExistingIconsList = () => {
116122
return tablerIconsListJSON.filter(item => logseqIconsListJSON.includes(item.u));
117123
}
@@ -143,6 +149,7 @@ const iconPickerSearchHandler = debounce((e: KeyboardEvent) => {
143149
const target = e.target as HTMLInputElement;
144150
const searchText = target.value.toLowerCase();
145151
filterListByText(searchText);
152+
iconPickerList!.parentElement!.scrollTop = 0;
146153
updateIconPickerList();
147154
}, 300);
148155

@@ -166,6 +173,7 @@ const iconPickerCategoryHandler = (e: Event) => {
166173
}
167174
const searchText = searchField.value.toLowerCase();
168175
filterListByText(searchText);
176+
iconPickerList!.parentElement!.scrollTop = 0;
169177
updateIconPickerList();
170178
}
171179

0 commit comments

Comments
 (0)