diff options
Diffstat (limited to 'service')
-rw-r--r-- | service/service.go | 10 | ||||
-rw-r--r-- | service/transport.go | 14 |
2 files changed, 16 insertions, 8 deletions
diff --git a/service/service.go b/service/service.go index d9482c8..c9c48eb 100644 --- a/service/service.go +++ b/service/service.go @@ -90,10 +90,12 @@ func (svc *service) GetAuthUrl(ctx context.Context, instance string) ( } sessionID = util.NewSessionId() - err = svc.sessionRepo.Add(model.Session{ + session := model.Session{ ID: sessionID, InstanceDomain: instance, - }) + Settings: *model.NewSettings(), + } + err = svc.sessionRepo.Add(session) if err != nil { return } @@ -276,6 +278,10 @@ func (svc *service) ServeTimelinePage(ctx context.Context, client io.Writer, return err } + for i := range statuses { + statuses[i].ThreadInNewTab = c.Session.Settings.ThreadInNewTab + } + if len(maxID) > 0 && len(statuses) > 0 { hasPrev = true prevLink = fmt.Sprintf("/timeline/$s?min_id=%s", timelineType, statuses[0].ID) diff --git a/service/transport.go b/service/transport.go index bbf1f06..83eeedf 100644 --- a/service/transport.go +++ b/service/transport.go @@ -52,9 +52,9 @@ func NewHandler(s Service, staticDir string) http.Handler { } http.SetCookie(w, &http.Cookie{ - Name: "session_id", - Value: sessionID, - Expires: time.Now().Add(365 * 24 * time.Hour), + Name: "session_id", + Value: sessionID, + Expires: time.Now().Add(365 * 24 * time.Hour), }) w.Header().Add("Location", url) @@ -354,9 +354,11 @@ func NewHandler(s Service, staticDir string) http.Handler { visibility := req.FormValue("visibility") copyScope := req.FormValue("copy_scope") == "true" + threadInNewTab := req.FormValue("thread_in_new_tab") == "true" settings := &model.Settings{ DefaultVisibility: visibility, CopyScope: copyScope, + ThreadInNewTab: threadInNewTab, } err := s.SaveSettings(ctx, w, nil, settings) @@ -372,9 +374,9 @@ func NewHandler(s Service, staticDir string) http.Handler { r.HandleFunc("/signout", func(w http.ResponseWriter, req *http.Request) { // TODO remove session from database http.SetCookie(w, &http.Cookie{ - Name: "session_id", - Value: "", - Expires: time.Now(), + Name: "session_id", + Value: "", + Expires: time.Now(), }) w.Header().Add("Location", "/") w.WriteHeader(http.StatusFound) |