diff --git a/appview/pages/templates/repo/new.html b/appview/pages/templates/repo/new.html index 382e414e..8b37e410 100644 --- a/appview/pages/templates/repo/new.html +++ b/appview/pages/templates/repo/new.html @@ -2,42 +2,42 @@ {{ define "content" }}

new repo

-
- - + +
+ + +
-
- select a knot: - {{ range .Knots }} -
- {{ else }} -

no knots available

- {{ end }} +
+ select a knot +
+ {{ range .Knots }} +
+ +
+ {{ else }} +

No knots available

+ {{ end }} +
- +
+ +
+
- -
{{ end }} diff --git a/appview/pages/templates/settings/keys.html b/appview/pages/templates/settings/keys.html index 0fa89b44..5db9b2ab 100644 --- a/appview/pages/templates/settings/keys.html +++ b/appview/pages/templates/settings/keys.html @@ -3,36 +3,62 @@ {{ define "content" }}

settings

-

profile

-

handle: {{ .LoggedInUser.Handle }}

-

did: {{ .LoggedInUser.Did }}

-

pds: {{ .LoggedInUser.Pds }}

+
+

profile

+
+
handle
+
{{ .LoggedInUser.Handle }}
+
did
+
{{ .LoggedInUser.Did }}
+
pds
+
{{ .LoggedInUser.Pds }}
+
+
-

ssh keys

-
- - +
+

ssh keys

+ +
+ + +
- - +
+ + +
- - + -

existing keys

-
    - {{ range .PubKeys }} -
  • - {{ .Name }}
    - {{ .Key }} -
  • - {{ else }} -

    no ssh keys added yet

    - {{ end }} -
+
+ + +

existing keys

+
    + {{ range .PubKeys }} +
  • +

    {{ .Name }}

    + {{ .Key }} +
  • + {{ else }} +

    no ssh keys added yet

    + {{ end }} +
+
{{ end }} diff --git a/appview/state/settings.go b/appview/state/settings.go index 201b61ca..5a5443b4 100644 --- a/appview/state/settings.go +++ b/appview/state/settings.go @@ -30,7 +30,7 @@ func (s *State) Settings(w http.ResponseWriter, r *http.Request) { func (s *State) SettingsKeys(w http.ResponseWriter, r *http.Request) { switch r.Method { case http.MethodGet: - w.Write([]byte("unimplemented")) + s.pages.Notice(w, "settings-keys", "Unimplemented.") log.Println("unimplemented") return case http.MethodPut: @@ -43,11 +43,13 @@ func (s *State) SettingsKeys(w http.ResponseWriter, r *http.Request) { _, _, _, _, err := ssh.ParseAuthorizedKey([]byte(key)) if err != nil { log.Printf("parsing public key: %s", err) + s.pages.Notice(w, "settings-keys", "That doesn't look like a valid public key. Make sure it's a public key.") return } if err := s.db.AddPublicKey(did, name, key); err != nil { log.Printf("adding public key: %s", err) + s.pages.Notice(w, "settings-keys", "Failed to add public key.") return } @@ -66,11 +68,12 @@ func (s *State) SettingsKeys(w http.ResponseWriter, r *http.Request) { // invalid record if err != nil { log.Printf("failed to create record: %s", err) + s.pages.Notice(w, "settings-keys-bad", "Failed to create record.") return } log.Println("created atproto record: ", resp.Uri) - + s.pages.HxLocation(w, "/settings") return } } diff --git a/input.css b/input.css index 92353eb5..d07413d9 100644 --- a/input.css +++ b/input.css @@ -11,37 +11,52 @@ h1 { @apply text-2xl; @apply font-sans; - @apply text-gray-900; + @apply text-black; @apply py-4; } ::selection { @apply bg-green-400; - @apply text-gray-900; + @apply text-black; @apply bg-opacity-30; } a { - @apply underline text-blue-600 hover:text-blue-800 visited:text-purple-600; + @apply underline text-black hover:text-gray-800 visited:text-gray-600; + } + + @layer base { + label { + @apply block text-sm text-black; + } + input { + @apply bg-white border border-black rounded-sm focus:ring-black p-2; + } + textarea { + @apply bg-white border border-black rounded-sm focus:ring-black p-2; + } } @layer components { .btn { @apply relative z-10 inline-flex min-h-[30px] cursor-pointer items-center justify-center bg-transparent px-2 pb-[0.2rem] text-base - text-gray-900 before:absolute before:inset-0 before:-z-10 - before:block before:rounded-sm before:border before:border-blue-200 - before:bg-white before:shadow-[0_2px_2px_0_rgba(20,20,96,0.1),inset_0_-2px_0_0_#e5edff] - before:content-[''] hover:before:border-blue-300 - hover:before:bg-blue-50 - hover:before:shadow-[0_2px_2px_0_rgba(20,20,96,0.1),inset_0_-2px_0_0_#e5edff] + text-black before:absolute before:inset-0 before:-z-10 + before:block before:rounded-sm before:border before:border-black + before:bg-white before:shadow-[0_2px_2px_0_rgba(0,0,0,0.1),inset_0_-2px_0_0_#ffffff] + before:content-[''] hover:before:border-gray-800 + hover:before:bg-gray-50 + hover:before:shadow-[0_2px_2px_0_rgba(0,0,0,0.1),inset_0_-2px_0_0_#ffffff] focus:outline-none focus-visible:before:outline - focus-visible:before:outline-4 focus-visible:before:outline-blue-500 - active:before:shadow-[inset_0_2px_2px_0_rgba(20,20,96,0.1)]; + focus-visible:before:outline-4 focus-visible:before:outline-black + active:before:shadow-[inset_0_2px_2px_0_rgba(0,0,0,0.1)]; } } @layer utilities { .error { - @apply py-1 border-red-400 text-red-600; + @apply py-1 border-black text-black; + } + .success { + @apply py-1 border-black text-black; } } }