Artifact 29c5bd43ae690f94e1b544bb3cf3a9fdb0a8d5bd:


0000: 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 32 30 30  ;; Copyright 200
0010: 37 2d 32 30 30 38 2c 20 4d 61 74 74 68 65 77 20  7-2008, Matthew 
0020: 57 65 6c 6c 61 6e 64 2e 20 4b 69 61 74 6f 61 2e  Welland. Kiatoa.
0030: 63 6f 6d 20 41 6c 6c 20 72 69 67 68 74 73 20 72  com All rights r
0040: 65 73 65 72 76 65 64 2e 0a 3b 3b 20 0a 3b 3b 20  eserved..;; .;; 
0050: 6c 65 66 74 6e 61 76 2f 76 69 65 77 2e 73 63 6d  leftnav/view.scm
0060: 0a 0a 28 6c 69 73 74 0a 20 20 20 20 28 73 3a 64  ..(list.    (s:d
0070: 69 76 20 0a 20 20 20 20 20 27 63 6c 61 73 73 20  iv .     'class 
0080: 22 6e 6f 64 65 22 0a 20 20 20 20 20 28 73 3a 68  "node".     (s:h
0090: 31 20 22 4e 61 76 69 67 61 74 69 6f 6e 22 29 0a  1 "Navigation").
00a0: 20 20 20 20 20 28 6c 65 74 20 28 28 73 65 63 74       (let ((sect
00b0: 69 6f 6e 20 28 73 6c 6f 74 2d 72 65 66 20 73 3a  ion (slot-ref s:
00c0: 73 65 73 73 69 6f 6e 20 27 70 61 67 65 29 29 29  session 'page)))
00d0: 0a 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 09 28  .       (cond..(
00e0: 28 6f 72 20 28 6e 6f 74 20 73 65 63 74 69 6f 6e  (or (not section
00f0: 29 20 3b 3b 20 74 68 69 73 20 69 73 20 68 6f 6d  ) ;; this is hom
0100: 65 0a 09 20 20 20 20 20 28 73 74 72 69 6e 67 3d  e..     (string=
0110: 3f 20 73 65 63 74 69 6f 6e 20 22 68 6f 6d 65 22  ? section "home"
0120: 29 29 0a 09 20 22 48 6f 6d 65 20 6d 65 6e 75 22  )).. "Home menu"
0130: 29 0a 09 28 28 73 74 72 69 6e 67 3d 3f 20 73 65  )..((string=? se
0140: 63 74 69 6f 6e 20 22 64 69 73 63 75 73 73 69 6f  ction "discussio
0150: 6e 73 22 29 0a 09 20 28 6c 69 73 74 0a 09 20 20  ns").. (list..  
0160: 28 73 3a 61 20 22 46 69 6c 74 65 72 22 20 20 20  (s:a "Filter"   
0170: 20 20 20 20 20 20 27 68 72 65 66 20 28 73 3a 6c        'href (s:l
0180: 69 6e 6b 2d 74 6f 20 22 64 69 73 63 75 73 73 69  ink-to "discussi
0190: 6f 6e 73 22 20 27 66 69 6c 74 65 72 20 22 6f 6e  ons" 'filter "on
01a0: 22 29 29 29 29 0a 09 28 28 73 74 72 69 6e 67 3d  "))))..((string=
01b0: 3f 20 73 65 63 74 69 6f 6e 20 22 6c 65 61 72 6e  ? section "learn
01c0: 22 29 0a 09 20 28 6c 69 73 74 0a 09 20 20 28 73  ").. (list..  (s
01d0: 3a 61 20 22 4c 65 61 72 6e 22 20 20 27 68 72 65  :a "Learn"  'hre
01e0: 66 20 28 73 3a 6c 69 6e 6b 2d 74 6f 20 22 6c 65  f (s:link-to "le
01f0: 61 72 6e 22 20 20 27 61 63 74 69 6f 6e 20 22 6c  arn"  'action "l
0200: 65 61 72 6e 2e 74 65 61 63 68 22 29 29 28 73 3a  earn.teach"))(s:
0210: 62 72 29 0a 09 20 20 28 73 3a 61 20 22 54 65 73  br)..  (s:a "Tes
0220: 74 22 20 20 20 27 68 72 65 66 20 28 73 3a 6c 69  t"   'href (s:li
0230: 6e 6b 2d 74 6f 20 22 6c 65 61 72 6e 22 20 20 27  nk-to "learn"  '
0240: 61 63 74 69 6f 6e 20 22 6c 65 61 72 6e 2e 74 65  action "learn.te
0250: 73 74 22 29 29 28 73 3a 62 72 29 0a 09 20 20 29  st"))(s:br)..  )
0260: 29 0a 09 28 28 73 74 72 69 6e 67 3d 3f 20 73 65  )..((string=? se
0270: 63 74 69 6f 6e 20 22 70 72 65 66 65 72 65 6e 63  ction "preferenc
0280: 65 73 22 29 0a 09 20 28 6c 69 73 74 20 0a 09 20  es").. (list .. 
0290: 20 28 73 3a 61 20 22 50 61 73 73 77 6f 72 64 22   (s:a "Password"
02a0: 20 20 20 20 20 20 20 27 68 72 65 66 20 28 73 3a         'href (s:
02b0: 6c 69 6e 6b 2d 74 6f 20 22 70 72 65 66 65 72 65  link-to "prefere
02c0: 6e 63 65 73 22 20 27 61 63 74 69 6f 6e 20 22 70  nces" 'action "p
02d0: 61 73 73 77 6f 72 64 22 29 29 28 73 3a 62 72 29  assword"))(s:br)
02e0: 0a 09 20 20 28 73 3a 61 20 22 4d 65 73 73 61 67  ..  (s:a "Messag
02f0: 65 73 22 20 20 20 20 20 20 20 27 68 72 65 66 20  es"       'href 
0300: 28 73 3a 6c 69 6e 6b 2d 74 6f 20 22 70 72 65 66  (s:link-to "pref
0310: 65 72 65 6e 63 65 73 22 20 27 61 63 74 69 6f 6e  erences" 'action
0320: 20 22 6d 65 73 73 61 67 65 73 22 29 29 28 73 3a   "messages"))(s:
0330: 62 72 29 0a 09 20 20 28 73 3a 61 20 22 50 72 65  br)..  (s:a "Pre
0340: 66 65 72 65 6e 63 65 73 22 20 20 20 20 27 68 72  ferences"    'hr
0350: 65 66 20 28 73 3a 6c 69 6e 6b 2d 74 6f 20 22 70  ef (s:link-to "p
0360: 72 65 66 65 72 65 6e 63 65 73 22 20 27 61 63 74  references" 'act
0370: 69 6f 6e 20 22 70 72 65 66 65 72 65 6e 63 65 73  ion "preferences
0380: 22 29 29 28 73 3a 62 72 29 29 29 0a 09 28 65 6c  "))(s:br)))..(el
0390: 73 65 20 27 28 20 22 6e 61 64 61 22 20 29 29 29  se '( "nada" )))
03a0: 29 0a 20 20 20 20 20 28 73 3a 62 72 29 29 0a 20  ).     (s:br)). 
03b0: 20 20 20 28 73 3a 64 69 76 0a 20 20 20 20 20 27     (s:div.     '
03c0: 63 6c 61 73 73 20 22 6e 6f 64 65 22 0a 20 20 20  class "node".   
03d0: 20 20 28 73 3a 68 31 20 22 41 62 6f 75 74 20 79    (s:h1 "About y
03e0: 6f 75 22 29 0a 20 20 20 20 20 28 6c 65 74 20 28  ou").     (let (
03f0: 28 65 6d 61 69 6c 20 28 73 3a 73 65 73 73 69 6f  (email (s:sessio
0400: 6e 2d 76 61 72 2d 67 65 74 20 22 65 6d 61 69 6c  n-var-get "email
0410: 22 29 29 29 0a 20 20 20 20 20 20 20 28 69 66 20  "))).       (if 
0420: 65 6d 61 69 6c 0a 20 20 20 20 20 20 20 20 20 20  email.          
0430: 20 28 6c 69 73 74 20 65 6d 61 69 6c 20 28 73 3a   (list email (s:
0440: 62 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  br)).           
0450: 22 4e 6f 74 20 6c 6f 67 67 65 64 20 69 6e 22 29  "Not logged in")
0460: 29 29 0a 20 20 20 20 28 73 3a 64 69 76 0a 20 20  )).    (s:div.  
0470: 20 20 20 27 63 6c 61 73 73 20 22 6e 6f 64 65 22     'class "node"
0480: 0a 20 20 20 20 20 28 73 3a 63 61 6c 6c 20 22 70  .     (s:call "p
0490: 6c 65 64 67 65 22 29 29 29 0a                    ledge"))).