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) | 
