mirror of
https://github.com/usememos/memos.git
synced 2024-10-05 07:47:40 +03:00
chore: update avatar max size (#1109)
This commit is contained in:
parent
bcee0bbf3a
commit
37f9c7c8d6
@ -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 {
|
|||||||
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")
|
||||||
}
|
}
|
||||||
|
@ -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
|
|||||||
create.Nickname,
|
create.Nickname,
|
||||||
create.PasswordHash,
|
create.PasswordHash,
|
||||||
create.OpenID,
|
create.OpenID,
|
||||||
create.AvatarURL,
|
|
||||||
).Scan(
|
).Scan(
|
||||||
&userRaw.ID,
|
&userRaw.ID,
|
||||||
&userRaw.Username,
|
&userRaw.Username,
|
||||||
|
@ -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>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
@ -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");
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -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 {
|
||||||
|
Loading…
Reference in New Issue
Block a user