Signed-off-by: brookjeynes me@brookjeynes.dev
+7
-7
internal/server/handlers/study-session.go
+7
-7
internal/server/handlers/study-session.go
···
435
435
return resource.Status != db.Deleted
436
436
})
437
437
438
-
prePopulated := views.NewStudySessionQueryParams{
438
+
queryParams := views.NewStudySessionQueryParams{
439
439
LanguageCode: r.URL.Query().Get("language_code"),
440
440
DurationHours: r.URL.Query().Get("duration_hours"),
441
441
DurationMinutes: r.URL.Query().Get("duration_minutes"),
···
445
445
}
446
446
447
447
views.NewStudySessionPage(views.NewStudySessionPageParams{
448
-
User: user,
449
-
Profile: profile,
450
-
Activities: activeActivities,
451
-
Resources: activeResources,
452
-
SortedLanguages: profile.Languages,
453
-
PrePopulatedFormData: prePopulated,
448
+
User: user,
449
+
Profile: profile,
450
+
Activities: activeActivities,
451
+
Resources: activeResources,
452
+
SortedLanguages: profile.Languages,
453
+
QueryParams: queryParams,
454
454
}).Render(r.Context(), w)
455
455
case http.MethodPost:
456
456
newStudySession, err := h.parseStudySessionForm(r)
+15
-16
internal/server/views/new-study-session.templ
+15
-16
internal/server/views/new-study-session.templ
···
17
17
}
18
18
19
19
activityName := "Select an activity"
20
-
if params.PrePopulatedFormData.ActivityId != "" {
21
-
for _, a := range params.Activities {
22
-
activityId, err := strconv.ParseInt(params.PrePopulatedFormData.ActivityId, 10, 64)
23
-
if err != nil {
24
-
continue
25
-
}
26
-
if int64(a.ID) == activityId {
27
-
activityName = a.Name
28
-
}
29
-
}
20
+
if params.QueryParams.ActivityId != "" {
21
+
activityId, err := strconv.ParseInt(params.QueryParams.ActivityId, 10, 64)
22
+
if err == nil {
23
+
for _, a := range params.Activities {
24
+
if int64(a.ID) == activityId {
25
+
activityName = a.Name
26
+
}
27
+
}
28
+
}
30
29
}
31
30
}}
32
31
@layouts.Base(layouts.BaseParams{Title: "new study session"}) {
···
296
295
<div class="flex gap-2">
297
296
<div class="flex flex-col gap-1 w-full">
298
297
{{
299
-
hoursStr := params.PrePopulatedFormData.DurationHours
298
+
hoursStr := params.QueryParams.DurationHours
300
299
hours := "0"
301
300
if hoursStr != "" {
302
301
hours = hoursStr
···
319
318
</div>
320
319
<div class="flex flex-col gap-1 w-full">
321
320
{{
322
-
minutesStr := params.PrePopulatedFormData.DurationMinutes
321
+
minutesStr := params.QueryParams.DurationMinutes
323
322
minutes := "0"
324
323
if minutesStr != "" {
325
324
minutes = minutesStr
···
342
341
</div>
343
342
<div class="flex flex-col gap-1 w-full">
344
343
{{
345
-
secondsStr := params.PrePopulatedFormData.DurationSeconds
344
+
secondsStr := params.QueryParams.DurationSeconds
346
345
seconds := "0"
347
346
if secondsStr != "" {
348
347
seconds = secondsStr
···
403
402
>
404
403
Description (optional)
405
404
</label>
406
-
<div x-data={ fmt.Sprintf("{ text: '%s' }", templ.EscapeString(params.PrePopulatedFormData.Description)) }>
405
+
<div x-data={ fmt.Sprintf("{ text: '%s' }", templ.EscapeString(params.QueryParams.Description)) }>
407
406
<textarea
408
407
x-model="text"
409
408
id="description"
···
451
450
activitiesSearchQuery: '',
452
451
activities: {{ params.Activities }} || [],
453
452
selectedActivityName: {{ activityName }},
454
-
selectedActivityId: {{ params.PrePopulatedFormData.ActivityId }},
453
+
selectedActivityId: {{ params.QueryParams.ActivityId }},
455
454
activitiesIsOpen: false,
456
455
457
456
resourcesSearchQuery: '',
···
460
459
selectedResourceId: '',
461
460
resourcesIsOpen: false,
462
461
463
-
selectedLanguage: {{ params.PrePopulatedFormData.LanguageCode }} || {{ initialLangCode }} || '',
462
+
selectedLanguage: {{ params.QueryParams.LanguageCode }} || {{ initialLangCode }} || '',
464
463
465
464
get filteredActivities() {
466
465
if (this.activitiesSearchQuery === '') {
+6
-6
internal/server/views/views.go
+6
-6
internal/server/views/views.go
···
55
55
56
56
type NewStudySessionPageParams struct {
57
57
// The current logged in user.
58
-
User *types.User
59
-
Profile db.Profile
60
-
Activities []db.Activity
61
-
Resources []db.Resource
62
-
SortedLanguages []db.Language
63
-
PrePopulatedFormData NewStudySessionQueryParams
58
+
User *types.User
59
+
Profile db.Profile
60
+
Activities []db.Activity
61
+
Resources []db.Resource
62
+
SortedLanguages []db.Language
63
+
QueryParams NewStudySessionQueryParams
64
64
}
65
65
66
66
type EditStudySessionPageParams struct {
History
2 rounds
0 comments
brookjeynes.dev
submitted
#1
1 commit
expand
collapse
feat(new-study-session): add query params for prefilled data
Signed-off-by: brookjeynes <me@brookjeynes.dev>
expand 0 comments
pull request successfully merged
brookjeynes.dev
submitted
#0
1 commit
expand
collapse
feat(new-study-session): add query params for prefilled data
Signed-off-by: brookjeynes <me@brookjeynes.dev>