Removed imports.
[microbotany.git] / view.scm
1 ;; View a garden
2 ;;
3
4 (lambda (uri)
5   (for-each eval (with-input-from-file "garden.scm" read-list))
6   (serve-document-header (ext->mime "gmi"))
7   (let ((query (uri-query uri)))
8     (if (null? query)
9         (begin
10           (print "=> register.scm Please register first."))
11         (let ((hash (symbol->string (caar query))))
12           (condition-case
13               (let* ((g (with-input-from-file (make-pathname "accounts" hash) read))
14                      (user (garden-prop 'user g))
15                      (visits (+ 1 (garden-prop 'visits g))))
16                 (garden-prop-set! 'visits visits g)
17
18                 (print "# " user "'s garden\n")
19                 (if (> visits 1)
20                     (print "Welcome back, " user "!\n")
21                     (begin
22                       (print "Welcome to your new garden, " user "!\n"
23                              "\n"
24                              "## !!Important!!\n\n"
25                              "To visit and check on your garden, you'll need to use this link:\n"
26                              (uri->string uri) "\n"
27                              "Remember to bookmark it to keep it safe!\n")))
28
29                 (update-garden! g)
30                 (with-output-to-file (make-pathname "accounts" hash)
31                   (lambda ()
32                     (write g)))
33
34                 (print "```")
35                 (display-garden g)
36                 (print "```")
37                 (describe-garden g)
38
39                 (print "\nWater level:")
40                 (print "```")
41                 (display-water-level g)
42                 (print "```")
43
44                 (print "\n## Menu")
45                 (print "\n=> water.scm?" hash " Water plant\n")
46
47                 (when (= (garden-prop 'stage-idx g) 5)
48                     (print "=> plant-new.scm?" hash " Plant a new seed\n"))
49
50                 (print
51                        "=> help.scm?" hash " Caring for your plant (Instructions)\n"
52                        "\n"
53                        "=> delete-confirm.scm?" hash " Delete garden (Irreversible!)\n"
54                        "\n"
55                        "=> ./ μBotany start page"))
56             
57             (o (exn)
58                (print "This garden no longer exists.\n\n"
59                       "=> register.scm Register to create another.")))))))
60