]> git.plutz.net Git - confetti/commitdiff
Mark modified fieldsets visually
authorPaul Hänsch <paul@plutz.net>
Sun, 12 May 2024 15:50:22 +0000 (17:50 +0200)
committerPaul Hänsch <paul@plutz.net>
Sun, 12 May 2024 15:50:22 +0000 (17:50 +0200)
ledgers/index.cgi
style.css

index f55850d0a3c794e22dcb250820c3f1dbe5da5804..f2c2bf0d0da40d929e2befa2c32a12a2b3ee91fa 100755 (executable)
@@ -45,6 +45,9 @@ credit() {
     cat "${_DATA}"/ledgers/????-??-??\ -\ ????-??-??\ -\ ????.tbl
   } | "${_EXEC}"/ledgers/iban_assign.awk \
   | while read -r state iban data; do
+    iban="$(UNSTRING "$iban")"
+    [ ! "$iban" ] && iban="??????????"
+    printf '[input type=checkbox id="use_%s" name="use_%s" value=true]' "$iban" "$iban"
     printf '[fieldset .iban .%s [legend . %s ]' \
            "$state" "$iban"
     if   [ $state = sure ]; then
@@ -62,7 +65,6 @@ credit() {
       amount="${record#*       *       *       *       *       }" amount="${amount%%   *}"
       printf '[p .principal . %s][p .date %s][p .amount %s][p .subject . %s]' \
              "$(UNSTRING "$principal" |HTML)" "$date" "$(credit "$amount")" "$(UNSTRING "$subject" |HTML)"
-      printf '[input type=checkbox id="use_%s" name="use_%s" value=true]' "$iban" "$iban"
       n=0; for card in $cards; do
         n=$((n+1)); uid="${card%%/*}" name="$(UNSTRING "${card#*/}")"
         cat <<-EOF
@@ -78,8 +80,8 @@ credit() {
          [label .add for="check_${iban}_$((n+m))" . +]
        EOF
       done
-      printf '[label for="use_%s" . %s]' "$iban" "$(l10n Accept Suggestions)"
-      printf '[label for="use_%s" . %s]' "$iban" "$(l10n Ignore Suggestions)"
+      printf '[label .button for="use_%s" . %s]' "$iban" "$(l10n Accept Suggestions)"
+      printf '[label .button for="use_%s" . %s]' "$iban" "$(l10n Ignore Suggestions)"
     elif [ $state = unknown ]; then
       date="${data%%   *}"
       principal="${data#*      *       *       }" principal="${principal%%     *}"
@@ -95,6 +97,8 @@ credit() {
          [label .add for="check_${iban}_$((n+m))" . +]
        EOF
       done
+      printf '[label .button for="use_%s" . %s]' "$iban" "$(l10n Accept Suggestions)"
+      printf '[label .button for="use_%s" . %s]' "$iban" "$(l10n Ignore Suggestions)"
     fi
   printf ']'
   done
index 13d41a0dd4962eb3805f17fe752002371ee897ff..a8ebe90fe7d99b39cf8bf599226568d5792737ab 100644 (file)
--- a/style.css
+++ b/style.css
@@ -403,6 +403,8 @@ form.ledgers {
   font-weight: bold;
 }
 
+.ibanassign fieldset.iban.sure .card { margin-right: 1em; }
+
 .ibanassign fieldset.iban input[name^="fn_"].disabled {
   pointer-events: none;
 }
@@ -439,16 +441,18 @@ form.ledgers {
   border-radius: 0 2pt 2pt 0;
 }
 
-.ibanassign fieldset.iban input[name^="use_"] {
+.ibanassign input[name^="use_"] {
   display: none;
 }
-.ibanassign fieldset.iban input[name^="use_"]:checked ~ input {
+.ibanassign input[name^="use_"]:checked + fieldset.iban.guess   { background-color: #EFD; }
+.ibanassign input[name^="use_"]:checked + fieldset.iban.unknown { background-color: #FED; }
+.ibanassign input[name^="use_"]:checked + fieldset.iban input {
   background-color: #DFD;
   pointer-events: none;
   border-color: #888;
 }
-.ibanassign fieldset.iban input[name^="use_"]:checked ~ label.del,
-.ibanassign fieldset.iban input[name^="use_"]:checked ~ label.add {
+.ibanassign input[name^="use_"]:checked + fieldset.iban label.del,
+.ibanassign input[name^="use_"]:checked + fieldset.iban label.add {
   display: none !important;
 }
 
@@ -456,14 +460,14 @@ form.ledgers {
   display: block;
   float: right;
   padding: .25em .5em;
-  background-color: #AAF;
+  background-color: #DDF;
   border: 1pt solid;
 }
 
-.ibanassign fieldset.iban input[name^="use_"] ~ label[for^="use_"] { display: block; }
-.ibanassign fieldset.iban input[name^="use_"] ~ label[for^="use_"] + label[for^="use_"] { display: none; }
-.ibanassign fieldset.iban input[name^="use_"]:checked ~ label[for^="use_"] { display: none; }
-.ibanassign fieldset.iban input[name^="use_"]:checked ~ label[for^="use_"] + label[for^="use_"] { display: block; }
+.ibanassign input[name^="use_"] + fieldset.iban label[for^="use_"] { display: block; }
+.ibanassign input[name^="use_"] + fieldset.iban label[for^="use_"] + label[for^="use_"] { display: none; }
+.ibanassign input[name^="use_"]:checked + fieldset.iban label[for^="use_"] { display: none; }
+.ibanassign input[name^="use_"]:checked + fieldset.iban label[for^="use_"] + label[for^="use_"] { display: block; }
 
 .ibanassign > button {
   position: sticky;