feat: add new color themes and styles for rose, violet, and yellow

- Introduced new CSS files for rose, violet, and yellow themes with custom color variables.
- Implemented dark mode styles for each theme.
- Created a color data structure to manage theme colors in the console settings.

feat: implement image cropper component

- Added an image cropper component for user profile picture editing.
- Integrated the image cropper into the user profile page.

feat: enhance console sidebar with user permissions

- Defined sidebar items with permission checks for admin and editor roles.
- Updated user center navigation to reflect user permissions.

feat: add user profile and security settings

- Developed user profile page with avatar upload and editing functionality.
- Implemented user security settings for password and email verification.

feat: create reusable dialog and OTP input components

- Built a dialog component for modal interactions.
- Developed an OTP input component for email verification.

fix: improve file handling utilities

- Added utility functions for file URI generation.
- Implemented permission checks for user roles in the common utilities.
This commit is contained in:
2025-09-20 12:45:10 +08:00
parent f8e4a84d53
commit 709aa82337
62 changed files with 1844 additions and 487 deletions

View File

@ -1 +1,21 @@
package repo
import "github.com/snowykami/neo-blog/internal/model"
type FileRepo struct{}
var File = &FileRepo{}
func (f *FileRepo) Create(file *model.File) (err error) {
return GetDB().Create(file).Error
}
func (f *FileRepo) GetByHash(hash string) (file model.File, err error) {
err = GetDB().Where("hash = ?", hash).First(&file).Error
return
}
func (f *FileRepo) GetByID(id uint) (file model.File, err error) {
err = GetDB().Where("id = ?", id).First(&file).Error
return
}

View File

@ -127,6 +127,7 @@ func migrate() error {
&model.Comment{},
&model.Label{},
&model.Like{},
&model.File{},
&model.OidcConfig{},
&model.Post{},
&model.Session{},