Rewrite user home page in svelte

This commit is contained in:
2021-09-21 21:39:28 +02:00
parent 8ec548351e
commit 11132854b2
18 changed files with 817 additions and 52 deletions

View File

@@ -16,7 +16,7 @@ func (wc *WebController) serveAdClick(w http.ResponseWriter, r *http.Request, p
// The Real IP is used in the API server to determine that the view is not
// fake
var api = wc.api.RealIP(util.RemoteAddress(r))
var api = wc.api.RealIP(util.RemoteAddress(r)).RealAgent(r.UserAgent())
// Log a view on the file
if err := api.PostFileView(p.ByName("id"), wc.viewTokenOrBust()); err != nil {

View File

@@ -21,7 +21,7 @@ func (wc *WebController) serveFilePreview(w http.ResponseWriter, r *http.Request
}
apiKey, _ := wc.getAPIKey(r)
api := wc.api.Login(apiKey).RealIP(util.RemoteAddress(r))
api := wc.api.Login(apiKey).RealIP(util.RemoteAddress(r)).RealAgent(r.UserAgent())
file, err := api.GetFileInfo(p.ByName("id")) // TODO: Error handling
if err != nil {

View File

@@ -78,8 +78,8 @@ func (vd *viewerData) adType(files []pixelapi.ListFile) {
adMavenFloat = 3
// Popunders
clickAduPopup = 1
propellerPopup = 2
// clickAduPopup = 1
// propellerPopup = 2
)
// Intn returns a number up to n, but never n itself. So to get a random 0

View File

@@ -44,7 +44,7 @@ func (wc *WebController) serveShareXConfig(w http.ResponseWriter, r *http.Reques
)),
)))
} else {
w.Write([]byte(fmt.Sprintf(
w.Write([]byte(
`{
"Version": "12.4.1",
"DestinationType": "ImageUploader, TextUploader, FileUploader",
@@ -56,6 +56,6 @@ func (wc *WebController) serveShareXConfig(w http.ResponseWriter, r *http.Reques
"ThumbnailURL": "https://pixeldrain.com/api/file/$json:id$/thumbnail"
}
`,
)))
))
}
}

View File

@@ -52,7 +52,7 @@ func (wc *WebController) newTemplateData(w http.ResponseWriter, r *http.Request)
APIEndpoint: template.URL(wc.apiURLExternal),
// Use the user's IP address for making requests
PixelAPI: wc.api.RealIP(util.RemoteAddress(r)),
PixelAPI: wc.api.RealIP(util.RemoteAddress(r)).RealAgent(r.UserAgent()),
Hostname: template.HTML(wc.hostname),
URLQuery: r.URL.Query(),
@@ -70,7 +70,7 @@ func (wc *WebController) newTemplateData(w http.ResponseWriter, r *http.Request)
if err.Error() == "authentication_required" || err.Error() == "authentication_failed" {
// Disable API authentication
t.PixelAPI = wc.api.RealIP(util.RemoteAddress(r))
t.PixelAPI = wc.api.RealIP(util.RemoteAddress(r)).RealAgent(r.UserAgent())
// Remove the authentication cookie
log.Debug("Deleting invalid API key")
@@ -163,6 +163,9 @@ func (tm *TemplateManager) ParseTemplates(silent bool) {
// Parse static resources
var file []byte
if err = filepath.Walk(tm.resourceDir+"/include", func(path string, f os.FileInfo, err error) error {
if err != nil {
return fmt.Errorf("walk err: %w", err)
}
if f == nil || f.IsDir() {
return nil
}

View File

@@ -159,7 +159,8 @@ func New(
{PST, "password_reset" /* */, wc.serveForm(wc.passwordResetForm, handlerOpts{NoEmbed: true})},
{GET, "logout" /* */, wc.serveTemplate("logout", handlerOpts{Auth: true, NoEmbed: true})},
{PST, "logout" /* */, wc.serveLogout},
{GET, "user" /* */, wc.serveTemplate("user_home", handlerOpts{Auth: true})},
{GET, "user_old" /* */, wc.serveTemplate("user_home", handlerOpts{Auth: true})},
{GET, "user" /* */, wc.serveTemplate("user_home_svelte", handlerOpts{Auth: true})},
{GET, "user/files" /* */, wc.serveTemplate("user_files", handlerOpts{Auth: true})},
{GET, "user/lists" /* */, wc.serveTemplate("user_lists", handlerOpts{Auth: true})},
{GET, "user/buckets" /* */, wc.serveTemplate("user_buckets", handlerOpts{Auth: true})},
@@ -168,8 +169,9 @@ func New(
{GET, "user/export/lists" /**/, wc.serveUserExportLists},
// User account settings
{GET, "user/settings" /* */, wc.serveUserSettings},
{PST, "user/settings" /* */, wc.serveUserSettings},
{GET, "user/settings" /* */, wc.serveTemplate("user_home_svelte", handlerOpts{Auth: true})},
{GET, "user/settings_old" /* */, wc.serveUserSettings},
{PST, "user/settings_old" /* */, wc.serveUserSettings},
{GET, "user/confirm_email" /* */, wc.serveEmailConfirm},
{GET, "user/password_reset_confirm" /**/, wc.serveForm(wc.passwordResetConfirmForm, handlerOpts{NoEmbed: true})},
{PST, "user/password_reset_confirm" /**/, wc.serveForm(wc.passwordResetConfirmForm, handlerOpts{NoEmbed: true})},