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
37f9c7c8
Unverified
Commit
37f9c7c8
authored
Feb 18, 2023
by
boojack
Committed by
GitHub
Feb 18, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: update avatar max size (#1109)
parent
bcee0bbf
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
30 additions
and
30 deletions
+30
-30
user.go
api/user.go
+6
-2
user.go
store/user.go
+2
-4
Sidebar.tsx
web/src/components/Sidebar.tsx
+21
-9
UpdateAccountDialog.tsx
web/src/components/UpdateAccountDialog.tsx
+0
-2
UserAvatar.tsx
web/src/components/UserAvatar.tsx
+1
-1
siderbar.less
web/src/less/siderbar.less
+0
-12
No files found.
api/user.go
View file @
37f9c7c8
...
@@ -56,7 +56,6 @@ type UserCreate struct {
...
@@ -56,7 +56,6 @@ type UserCreate struct {
Email
string
`json:"email"`
Email
string
`json:"email"`
Nickname
string
`json:"nickname"`
Nickname
string
`json:"nickname"`
Password
string
`json:"password"`
Password
string
`json:"password"`
AvatarURL
string
`json:"avatarUrl"`
PasswordHash
string
PasswordHash
string
OpenID
string
OpenID
string
}
}
...
@@ -111,7 +110,12 @@ func (patch UserPatch) Validate() error {
...
@@ -111,7 +110,12 @@ func (patch UserPatch) Validate() error {
if
patch
.
Nickname
!=
nil
&&
len
(
*
patch
.
Nickname
)
>
64
{
if
patch
.
Nickname
!=
nil
&&
len
(
*
patch
.
Nickname
)
>
64
{
return
fmt
.
Errorf
(
"nickname is too long, maximum length is 64"
)
return
fmt
.
Errorf
(
"nickname is too long, maximum length is 64"
)
}
}
if
patch
.
Email
!=
nil
{
if
patch
.
AvatarURL
!=
nil
{
if
len
(
*
patch
.
AvatarURL
)
>
2
<<
20
{
return
fmt
.
Errorf
(
"avatar is too large, maximum is 2MB"
)
}
}
if
patch
.
Email
!=
nil
&&
*
patch
.
Email
!=
""
{
if
len
(
*
patch
.
Email
)
>
256
{
if
len
(
*
patch
.
Email
)
>
256
{
return
fmt
.
Errorf
(
"email is too long, maximum length is 256"
)
return
fmt
.
Errorf
(
"email is too long, maximum length is 256"
)
}
}
...
...
store/user.go
View file @
37f9c7c8
...
@@ -182,10 +182,9 @@ func createUser(ctx context.Context, tx *sql.Tx, create *api.UserCreate) (*userR
...
@@ -182,10 +182,9 @@ func createUser(ctx context.Context, tx *sql.Tx, create *api.UserCreate) (*userR
email,
email,
nickname,
nickname,
password_hash,
password_hash,
open_id,
open_id
avatar_url
)
)
VALUES (?, ?, ?, ?, ?, ?
, ?
)
VALUES (?, ?, ?, ?, ?, ?)
RETURNING id, username, role, email, nickname, password_hash, open_id, avatar_url, created_ts, updated_ts, row_status
RETURNING id, username, role, email, nickname, password_hash, open_id, avatar_url, created_ts, updated_ts, row_status
`
`
var
userRaw
userRaw
var
userRaw
userRaw
...
@@ -196,7 +195,6 @@ func createUser(ctx context.Context, tx *sql.Tx, create *api.UserCreate) (*userR
...
@@ -196,7 +195,6 @@ func createUser(ctx context.Context, tx *sql.Tx, create *api.UserCreate) (*userR
create
.
Nickname
,
create
.
Nickname
,
create
.
PasswordHash
,
create
.
PasswordHash
,
create
.
OpenID
,
create
.
OpenID
,
create
.
AvatarURL
,
)
.
Scan
(
)
.
Scan
(
&
userRaw
.
ID
,
&
userRaw
.
ID
,
&
userRaw
.
Username
,
&
userRaw
.
Username
,
...
...
web/src/components/Sidebar.tsx
View file @
37f9c7c8
...
@@ -32,20 +32,32 @@ const Sidebar = () => {
...
@@ -32,20 +32,32 @@ const Sidebar = () => {
<
aside
className=
"sidebar-wrapper"
>
<
aside
className=
"sidebar-wrapper"
>
<
UserBanner
/>
<
UserBanner
/>
<
UsageHeatMap
/>
<
UsageHeatMap
/>
<
div
className=
"action-btns-container"
>
<
div
className=
"w-full px-2 my-2 flex flex-col justify-start items-start shrink-0"
>
<
button
className=
"btn action-btn"
onClick=
{
()
=>
showDailyReviewDialog
()
}
>
<
button
<
span
className=
"icon"
>
📅
</
span
>
{
t
(
"sidebar.daily-review"
)
}
className=
"leading-10 px-4 rounded-lg text-base dark:text-gray-200 hover:bg-white hover:shadow dark:hover:bg-zinc-700"
onClick=
{
()
=>
showDailyReviewDialog
()
}
>
<
span
className=
"mr-1"
>
📅
</
span
>
{
t
(
"sidebar.daily-review"
)
}
</
button
>
</
button
>
<
Link
to=
"/explore"
className=
"btn action-btn"
>
<
Link
<
span
className=
"icon"
>
🏂
</
span
>
{
t
(
"common.explore"
)
}
to=
"/explore"
className=
"leading-10 px-4 rounded-lg text-base dark:text-gray-200 hover:bg-white hover:shadow dark:hover:bg-zinc-700"
>
<
span
className=
"mr-1"
>
🏂
</
span
>
{
t
(
"common.explore"
)
}
</
Link
>
</
Link
>
<
button
className=
"btn action-btn"
onClick=
{
()
=>
showResourcesDialog
()
}
>
<
button
<
span
className=
"icon"
>
🗂️
</
span
>
{
t
(
"sidebar.resources"
)
}
className=
"leading-10 px-4 rounded-lg text-base dark:text-gray-200 hover:bg-white hover:shadow dark:hover:bg-zinc-700"
onClick=
{
()
=>
showResourcesDialog
()
}
>
<
span
className=
"mr-1"
>
🗂️
</
span
>
{
t
(
"sidebar.resources"
)
}
</
button
>
</
button
>
{
!
userStore
.
isVisitorMode
()
&&
(
{
!
userStore
.
isVisitorMode
()
&&
(
<>
<>
<
button
className=
"btn action-btn"
onClick=
{
handleSettingBtnClick
}
>
<
button
<
span
className=
"icon"
>
⚙️
</
span
>
{
t
(
"sidebar.setting"
)
}
className=
"leading-10 px-4 rounded-lg text-base dark:text-gray-200 hover:bg-white hover:shadow dark:hover:bg-zinc-700"
onClick=
{
handleSettingBtnClick
}
>
<
span
className=
"mr-1"
>
⚙️
</
span
>
{
t
(
"sidebar.setting"
)
}
</
button
>
</
button
>
</>
</>
)
}
)
}
...
...
web/src/components/UpdateAccountDialog.tsx
View file @
37f9c7c8
...
@@ -64,8 +64,6 @@ const UpdateAccountDialog: React.FC<Props> = ({ destroy }: Props) => {
...
@@ -64,8 +64,6 @@ const UpdateAccountDialog: React.FC<Props> = ({ destroy }: Props) => {
console
.
error
(
error
);
console
.
error
(
error
);
toastHelper
.
error
(
`Failed to convert image to base64`
);
toastHelper
.
error
(
`Failed to convert image to base64`
);
}
}
}
else
{
toastHelper
.
error
(
"Image not found"
);
}
}
};
};
...
...
web/src/components/UserAvatar.tsx
View file @
37f9c7c8
...
@@ -9,7 +9,7 @@ const UserAvatar = (props: Props) => {
...
@@ -9,7 +9,7 @@ const UserAvatar = (props: Props) => {
const
{
avatarUrl
,
className
}
=
props
;
const
{
avatarUrl
,
className
}
=
props
;
return
(
return
(
<
div
className=
{
`${className ?? ""} w-8 h-8 rounded-full bg-gray-100 dark:bg-zinc-800`
}
>
<
div
className=
{
`${className ?? ""} w-8 h-8 rounded-full bg-gray-100 dark:bg-zinc-800`
}
>
<
img
className=
"w-full h-
full
"
src=
{
avatarUrl
||
MEMOS_LOGO_URL
}
alt=
""
/>
<
img
className=
"w-full h-
auto min-w-full min-h-full object-cover
"
src=
{
avatarUrl
||
MEMOS_LOGO_URL
}
alt=
""
/>
</
div
>
</
div
>
);
);
};
};
...
...
web/src/less/siderbar.less
View file @
37f9c7c8
...
@@ -4,18 +4,6 @@
...
@@ -4,18 +4,6 @@
&.show {
&.show {
@apply translate-x-0 shadow-2xl sm:shadow-none;
@apply translate-x-0 shadow-2xl sm:shadow-none;
}
}
> .action-btns-container {
@apply w-full px-2 my-2 flex flex-col justify-start items-start shrink-0;
> .action-btn {
@apply leading-10 px-4 rounded-lg text-base dark:text-gray-200 hover:bg-white dark:hover:bg-zinc-700;
> .icon {
@apply mr-1;
}
}
}
}
}
.mask {
.mask {
...
...
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