Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
40680a5e
Unverified
Commit
40680a5e
authored
Jun 21, 2022
by
Steven
Committed by
GitHub
Jun 21, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: update memo action buttons style (#80)
chore: update memo action btn style
parent
f849a94d
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
56 additions
and
82 deletions
+56
-82
arrow-right-white.svg
web/public/icons/arrow-right-white.svg
+0
-1
edit-white.svg
web/public/icons/edit-white.svg
+0
-1
more-white.svg
web/public/icons/more-white.svg
+0
-1
pin.svg
web/public/icons/pin.svg
+1
-0
Memo.tsx
web/src/components/Memo.tsx
+14
-9
MemoEditor.tsx
web/src/components/MemoEditor.tsx
+5
-9
memo.less
web/src/less/memo.less
+33
-55
main.tsx
web/src/main.tsx
+3
-6
No files found.
web/public/icons/arrow-right-white.svg
deleted
100644 → 0
View file @
f849a94d
<svg
xmlns=
"http://www.w3.org/2000/svg"
height=
"24px"
viewBox=
"0 0 24 24"
width=
"24px"
fill=
"#FFFFFF"
><path
d=
"M0 0h24v24H0V0z"
fill=
"none"
/><path
d=
"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z"
/></svg>
\ No newline at end of file
web/public/icons/edit-white.svg
deleted
100644 → 0
View file @
f849a94d
<svg
xmlns=
"http://www.w3.org/2000/svg"
height=
"24px"
viewBox=
"0 0 24 24"
width=
"24px"
fill=
"#FFFFFF"
><path
d=
"M0 0h24v24H0V0z"
fill=
"none"
/><path
d=
"M14.06 9.02l.92.92L5.92 19H5v-.92l9.06-9.06M17.66 3c-.25 0-.51.1-.7.29l-1.83 1.83 3.75 3.75 1.83-1.83c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29zm-3.6 3.19L3 17.25V21h3.75L17.81 9.94l-3.75-3.75z"
/></svg>
\ No newline at end of file
web/public/icons/more-white.svg
deleted
100644 → 0
View file @
f849a94d
<svg
xmlns=
"http://www.w3.org/2000/svg"
height=
"24px"
viewBox=
"0 0 24 24"
width=
"24px"
fill=
"#FFFFFF"
><path
d=
"M0 0h24v24H0V0z"
fill=
"none"
/><path
d=
"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"
/></svg>
\ No newline at end of file
web/public/icons/pin.svg
0 → 100644
View file @
40680a5e
<svg
xmlns=
"http://www.w3.org/2000/svg"
height=
"48"
width=
"48"
><path
d=
"M31.7 25.6 36 29.45V32.45H25.5V44.5L24 46L22.5 44.5V32.45H12V29.45L16 25.6V9H13.5V6H34.2V9H31.7ZM16.05 29.45H31.65L28.7 26.7V9H19V26.7ZM23.85 29.45Z"
/></svg>
\ No newline at end of file
web/src/components/Memo.tsx
View file @
40680a5e
...
...
@@ -111,21 +111,26 @@ const Memo: React.FC<Props> = (props: Props) => {
</
span
>
<
div
className=
"more-action-btns-wrapper"
>
<
div
className=
"more-action-btns-container"
>
<
div
className=
"btns-container"
>
<
div
className=
"btn"
onClick=
{
handleGenMemoImageBtnClick
}
>
<
img
className=
"icon-img"
src=
"/icons/share.svg"
alt=
""
/>
<
span
className=
"tip-text"
>
Share
</
span
>
</
div
>
<
div
className=
"btn"
onClick=
{
handleEditMemoClick
}
>
<
img
className=
"icon-img"
src=
"/icons/edit.svg"
alt=
""
/>
<
span
className=
"tip-text"
>
Edit
</
span
>
</
div
>
<
div
className=
"btn"
onClick=
{
handleTogglePinMemoBtnClick
}
>
<
img
className=
"icon-img"
src=
"/icons/pin.svg"
alt=
""
/>
<
span
className=
"tip-text"
>
{
memo
.
pinned
?
"Unpin"
:
"Pin"
}
</
span
>
</
div
>
</
div
>
<
span
className=
"btn"
onClick=
{
handleShowMemoStoryDialog
}
>
View Story
</
span
>
<
span
className=
"btn"
onClick=
{
handleTogglePinMemoBtnClick
}
>
{
memo
.
pinned
?
"Unpin"
:
"Pin"
}
</
span
>
<
span
className=
"btn"
onClick=
{
handleMarkMemoClick
}
>
Mark
</
span
>
<
span
className=
"btn"
onClick=
{
handleGenMemoImageBtnClick
}
>
Share
</
span
>
<
span
className=
"btn"
onClick=
{
handleEditMemoClick
}
>
Edit
</
span
>
<
span
className=
{
`btn delete-btn ${showConfirmDeleteBtn ? "final-confirm" : ""}`
}
onClick=
{
handleDeleteMemoClick
}
>
{
showConfirmDeleteBtn
?
"Delete!"
:
"Delete"
}
</
span
>
...
...
web/src/components/MemoEditor.tsx
View file @
40680a5e
...
...
@@ -74,17 +74,13 @@ const MemoEditor: React.FC<Props> = () => {
},
[
editorState
.
markMemoId
,
editorState
.
editMemoId
]);
useEffect
(()
=>
{
if
(
!
editorRef
.
current
)
{
return
;
}
const
handlePasteEvent
=
async
(
event
:
ClipboardEvent
)
=>
{
if
(
event
.
clipboardData
&&
event
.
clipboardData
.
files
.
length
>
0
)
{
event
.
preventDefault
();
const
file
=
event
.
clipboardData
.
files
[
0
];
const
url
=
await
handleUploadFile
(
file
);
if
(
url
)
{
editorRef
.
current
?.
insertText
(
url
);
editorRef
.
current
?.
insertText
(
url
+
" "
);
}
}
};
...
...
@@ -110,10 +106,10 @@ const MemoEditor: React.FC<Props> = () => {
});
};
editorRef
.
current
.
element
.
addEventListener
(
"paste"
,
handlePasteEvent
);
editorRef
.
current
.
element
.
addEventListener
(
"drop"
,
handleDropEvent
);
editorRef
.
current
.
element
.
addEventListener
(
"click"
,
handleClickEvent
);
editorRef
.
current
.
element
.
addEventListener
(
"keydown"
,
handleKeyDownEvent
);
editorRef
.
current
?
.
element
.
addEventListener
(
"paste"
,
handlePasteEvent
);
editorRef
.
current
?
.
element
.
addEventListener
(
"drop"
,
handleDropEvent
);
editorRef
.
current
?
.
element
.
addEventListener
(
"click"
,
handleClickEvent
);
editorRef
.
current
?
.
element
.
addEventListener
(
"keydown"
,
handleKeyDownEvent
);
return
()
=>
{
editorRef
.
current
?.
element
.
removeEventListener
(
"paste"
,
handlePasteEvent
);
...
...
web/src/less/memo.less
View file @
40680a5e
...
...
@@ -2,8 +2,7 @@
@import "./memo-content.less";
.memo-wrapper {
.flex(column, flex-start, flex-start);
@apply w-full max-w-full p-3 px-4 mt-2 bg-white rounded-lg border border-white hover:border-gray-200;
@apply flex flex-col justify-start items-start w-full max-w-full p-3 px-4 mt-2 bg-white rounded-lg border border-white hover:border-gray-200;
&.deleted-memo {
@apply border-gray-200;
...
...
@@ -14,49 +13,50 @@
}
> .memo-top-wrapper {
.flex(row, space-between, center);
@apply w-full h-6 mb-2;
@apply flex flex-row justify-between items-center w-full h-6 mb-2;
> .time-text {
@apply text-xs text-gray-400 cursor-pointer;
}
> .btns-container {
.flex(row, flex-end, center);
@apply relative flex-shrink-0;
@apply flex flex-row justify-end items-center relative flex-shrink-0;
> .more-action-btns-wrapper {
.flex(column, flex-start, center);
@apply absolute flex-nowrap hover:flex;
top: calc(100% - 8px);
right: -16px;
width: auto;
height: auto;
padding: 12px;
z-index: 1;
display: none;
@apply hidden flex-col justify-start items-center absolute top-2 -right-4 z-10 flex-nowrap hover:flex p-3;
> .more-action-btns-container {
width: 112px;
height: auto;
padding: 4px;
white-space: nowrap;
border-radius: 8px;
background-color: white;
@apply w-28 h-auto p-1 whitespace-nowrap rounded-lg bg-white;
box-shadow: 0 0 8px 0 rgb(0 0 0 / 20%);
z-index: 1;
> .btns-container {
@apply w-full flex flex-row justify-between items-center border-b border-gray-100 p-1 mb-1;
> .btn {
@apply relative w-7 h-7 p-1;
&:hover > .tip-text {
@apply block;
}
> .icon-img {
@apply w-5 h-auto;
}
> .tip-text {
@apply hidden absolute top-0 p-1 px-2 rounded text-xs leading-6 -mt-9 bg-black text-white shadow opacity-70;
}
}
}
> .btn {
@apply w-full py-2 px-3 rounded;
height: unset;
line-height: unset;
justify-content: flex-start;
@apply w-full py-2 px-3 rounded justify-start;
&.delete-btn {
color: @text-red
;
@apply text-red-600
;
&.final-confirm {
font-weight:
bold;
@apply font-
bold;
}
}
}
...
...
@@ -64,12 +64,10 @@
}
.btn {
.flex(row, center, center);
@apply px-2 leading-6 text-sm rounded hover:bg-gray-100;
@apply flex flex-row justify-center items-center px-2 leading-6 text-sm rounded hover:bg-gray-100;
&.more-action-btn {
@apply w-8 -mr-2 opacity-60;
cursor: unset;
@apply w-8 -mr-2 opacity-60 cursor-default;
> .icon-img {
@apply w-4 h-auto;
...
...
@@ -92,35 +90,15 @@
}
> .images-wrapper {
.flex(row, flex-start, flex-start);
margin-top: 8px;
width: 100%;
overflow-x: auto;
overflow-y: hidden;
padding-bottom: 4px;
@apply flex flex-row justify-start items-start mt-2 w-full overflow-x-auto overflow-y-hidden pb-1;
.pretty-scroll-bar(0, 2px);
> .memo-img {
margin-right: 8px;
width: auto;
height: 128px;
flex-shrink: 0;
flex-grow: 0;
overflow-y: hidden;
@apply mr-2 last:mr-0 w-auto h-32 shrink-0 grow-0 overflow-y-hidden;
.hide-scroll-bar();
&:hover {
border-color: lightgray;
}
&:last-child {
margin-right: 0;
}
> img {
width: auto;
max-height: 128px;
border-radius: 8px;
@apply w-auto max-h-32 rounded-lg;
}
}
}
...
...
web/src/main.tsx
View file @
40680a5e
import
React
from
"react"
;
import
{
createRoot
}
from
"react-dom/client"
;
import
{
Provider
}
from
"react-redux"
;
import
store
from
"./store"
;
...
...
@@ -11,11 +10,9 @@ import "./css/index.css";
const
container
=
document
.
getElementById
(
"root"
);
const
root
=
createRoot
(
container
as
HTMLElement
);
root
.
render
(
<
React
.
StrictMode
>
<
Provider
store=
{
store
}
>
<
App
/>
</
Provider
>
</
React
.
StrictMode
>
);
window
.
onload
=
()
=>
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment