feat: add posts per page setting to site settings
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
d7a5d425b8
commit
550ebf728a
|
|
@ -129,10 +129,11 @@ func (s *Service) ListAllSitesWithOwners(ctx context.Context) ([]db.SiteWithOwne
|
|||
}
|
||||
|
||||
type UpdateSiteSettingsParams struct {
|
||||
SiteID int64 `form:"siteID"`
|
||||
Name string `form:"name"`
|
||||
Tagline string `form:"tagline"`
|
||||
Timezone string `form:"timezone"`
|
||||
SiteID int64 `form:"siteID"`
|
||||
Name string `form:"name"`
|
||||
Tagline string `form:"tagline"`
|
||||
Timezone string `form:"timezone"`
|
||||
PostsPerPage int `form:"postsPerPage"`
|
||||
}
|
||||
|
||||
func (s *Service) UpdateSiteSettings(ctx context.Context, params UpdateSiteSettingsParams) (models.Site, error) {
|
||||
|
|
@ -146,9 +147,17 @@ func (s *Service) UpdateSiteSettings(ctx context.Context, params UpdateSiteSetti
|
|||
return models.Site{}, errors.Wrap(err, "invalid timezone")
|
||||
}
|
||||
|
||||
postsPerPage := params.PostsPerPage
|
||||
if postsPerPage < 1 {
|
||||
postsPerPage = 1
|
||||
} else if postsPerPage > 100 {
|
||||
postsPerPage = 100
|
||||
}
|
||||
|
||||
site.Title = params.Name
|
||||
site.Tagline = params.Tagline
|
||||
site.Timezone = params.Timezone
|
||||
site.PostsPerPage = postsPerPage
|
||||
|
||||
if err := s.db.SaveSite(ctx, &site); err != nil {
|
||||
return models.Site{}, err
|
||||
|
|
|
|||
|
|
@ -41,6 +41,13 @@
|
|||
</datalist>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<label for="postsPerPage" class="col-sm-3 col-form-label text-end">Posts Per Page</label>
|
||||
<div class="col-sm-3">
|
||||
<input type="number" class="form-control" id="postsPerPage" name="postsPerPage" value="{{ .site.PostsPerPage }}" min="1" max="100">
|
||||
<div class="form-text">Number of posts per page on the generated site.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-sm-3"></div>
|
||||
<div class="col-sm-9"><button type="submit" class="btn btn-primary">Save Settings</button></div>
|
||||
|
|
|
|||
Loading…
Reference in a new issue