@@ -8,12 +8,12 @@ import { getCurrentUser } from '@nextcloud/auth'
88import { PublicAPI , SessionAPI } from '../Api/index.ts'
99import { createDefault , User , AppPermissions } from '../Types/index.ts'
1010import { AppSettings , UpdateType } from './appSettings.ts'
11- import { usePreferencesStore , ViewMode , SessionSettings } from './preferences.ts'
11+ import { usePreferencesStore , ViewMode } from './preferences.ts'
1212import { FilterType , usePollsStore } from './polls.ts'
1313import { Share } from './shares.ts'
1414import { RouteLocationNormalized , RouteRecordNameGeneric } from 'vue-router'
1515import { Logger } from '../helpers/index.ts'
16- import { usePollStore } from './poll.ts'
16+ import { PollType , usePollStore } from './poll.ts'
1717import { useSubscriptionStore } from './subscription.ts'
1818import { AxiosError } from '@nextcloud/axios'
1919import { t } from '@nextcloud/l10n'
@@ -38,6 +38,11 @@ export type UserStatus = {
3838 isAdmin : boolean
3939}
4040
41+ export type SessionSettings = {
42+ viewModeDatePoll : '' | ViewMode
43+ viewModeTextPoll : '' | ViewMode
44+ }
45+
4146export type Watcher = {
4247 id : string
4348 mode : UpdateType
@@ -77,8 +82,8 @@ export const useSessionStore = defineStore('session', {
7782 unrestrictedOwner : false ,
7883 } ,
7984 sessionSettings : {
80- manualViewDatePoll : '' ,
81- manualViewTextPoll : '' ,
85+ viewModeDatePoll : '' ,
86+ viewModeTextPoll : '' ,
8287 } ,
8388 appSettings : {
8489 allAccessGroups : [ ] ,
@@ -159,23 +164,24 @@ export const useSessionStore = defineStore('session', {
159164 return 0
160165 } ,
161166
162- viewTextPoll ( state ) : ViewMode {
163- const preferencesStore = usePreferencesStore ( )
164-
165- if ( state . sessionSettings . manualViewTextPoll ) {
166- return state . sessionSettings . manualViewTextPoll
167+ viewModeTextPoll ( state ) : ViewMode {
168+ if ( state . sessionSettings . viewModeTextPoll ) {
169+ return state . sessionSettings . viewModeTextPoll
167170 }
171+
172+ const preferencesStore = usePreferencesStore ( )
168173 if ( window . innerWidth > MOBILE_BREAKPOINT ) {
169174 return preferencesStore . user . defaultViewTextPoll
170175 }
171176 return 'list-view'
172177 } ,
173178
174- viewDatePoll ( state ) : ViewMode {
175- const preferencesStore = usePreferencesStore ( )
176- if ( state . sessionSettings . manualViewDatePoll ) {
177- return state . sessionSettings . manualViewDatePoll
179+ viewModeDatePoll ( state ) : ViewMode {
180+ if ( state . sessionSettings . viewModeDatePoll ) {
181+ return state . sessionSettings . viewModeDatePoll
178182 }
183+
184+ const preferencesStore = usePreferencesStore ( )
179185 if ( window . innerWidth > MOBILE_BREAKPOINT ) {
180186 return preferencesStore . user . defaultViewDatePoll
181187 }
@@ -214,6 +220,25 @@ export const useSessionStore = defineStore('session', {
214220 } ,
215221
216222 actions : {
223+ getViewMode ( pollType : PollType ) : ViewMode {
224+ if ( pollType === 'datePoll' ) {
225+ return this . viewModeDatePoll
226+ }
227+ if ( pollType === 'textPoll' ) {
228+ return this . viewModeTextPoll
229+ }
230+ return 'list-view'
231+ } ,
232+
233+ setViewMode ( pollType : PollType , viewMode : ViewMode ) : void {
234+ if ( pollType === 'datePoll' ) {
235+ this . sessionSettings . viewModeDatePoll = viewMode
236+ }
237+ if ( pollType === 'textPoll' ) {
238+ this . sessionSettings . viewModeTextPoll = viewMode
239+ }
240+ } ,
241+
217242 generateWatcherId ( ) {
218243 this . watcher . id = Math . random ( ) . toString ( 36 ) . substring ( 2 )
219244 } ,
@@ -260,11 +285,11 @@ export const useSessionStore = defineStore('session', {
260285 } ,
261286
262287 setViewDatePoll ( viewMode : ViewMode ) {
263- this . sessionSettings . manualViewDatePoll = viewMode
288+ this . sessionSettings . viewModeDatePoll = viewMode
264289 } ,
265290
266291 setViewTextPoll ( viewMode : ViewMode ) {
267- this . sessionSettings . manualViewTextPoll = viewMode
292+ this . sessionSettings . viewModeTextPoll = viewMode
268293 } ,
269294
270295 async setRouter ( payload : RouteLocationNormalized ) {
0 commit comments