{{ template "base" . }}
{{ define "title" }}Settings{{ end }}
{{ define "header" }}<a href="./settings">Settings</a>{{ end }}
{{ define "content" }}
  <div class="w-full flex flex-col md:flex-row gap-4">
    <div>
      <div
        class="flex flex-col p-4 items-center rounded shadow-lg md:w-60 lg:w-80 bg-white dark:bg-gray-700 text-gray-500 dark:text-white"
      >
        {{ template "svg/user" (dict "Size" 60) }}
        <p class="text-lg">{{ .Authorization.UserName }}</p>
      </div>
    </div>
    <div class="flex flex-col gap-4 grow">
      <div
        class="flex flex-col gap-2 grow p-4 rounded shadow-lg bg-white dark:bg-gray-700 text-gray-500 dark:text-white"
      >
        <p class="text-lg font-semibold mb-2">Change Password</p>
        <form
          class="flex gap-4 flex-col lg:flex-row"
          action="./settings"
          method="POST"
        >
          <div class="flex flex-col grow">
            <div class="flex relative">
              <span
                class="inline-flex items-center px-3 border-t bg-white border-l border-b border-gray-300 text-gray-500 shadow-sm text-sm"
              >
                {{ template "svg/password" (dict "Size" 15) }}
              </span>
              <input
                type="password"
                id="password"
                name="password"
                class="flex-1 appearance-none rounded-none border border-gray-300 w-full py-2 px-4 bg-white text-gray-700 placeholder-gray-400 shadow-sm text-base focus:outline-none focus:ring-2 focus:ring-purple-600 focus:border-transparent"
                placeholder="Password"
              />
            </div>
          </div>
          <div class="flex flex-col grow">
            <div class="flex relative">
              <span
                class="inline-flex items-center px-3 border-t bg-white border-l border-b border-gray-300 text-gray-500 shadow-sm text-sm"
              >
                {{ template "svg/password" (dict "Size" 15) }}
              </span>
              <input
                type="password"
                id="new_password"
                name="new_password"
                class="flex-1 appearance-none rounded-none border border-gray-300 w-full py-2 px-4 bg-white text-gray-700 placeholder-gray-400 shadow-sm text-base focus:outline-none focus:ring-2 focus:ring-purple-600 focus:border-transparent"
                placeholder="New Password"
              />
            </div>
          </div>
          <div class="lg:w-60">
            {{ template "component/button" (dict
              "Title" "Submit"
              "Variant" "Secondary"
              )
            }}
          </div>
        </form>
        {{ if .PasswordErrorMessage }}
          <span class="text-red-400 text-xs">{{ .PasswordErrorMessage }}</span>
        {{ else if .PasswordMessage }}
          <span class="text-green-400 text-xs">{{ .PasswordMessage }}</span>
        {{ end }}
      </div>
      <div
        class="flex flex-col grow gap-2 p-4 rounded shadow-lg bg-white dark:bg-gray-700 text-gray-500 dark:text-white"
      >
        <p class="text-lg font-semibold mb-2">Change Timezone</p>
        <form
          class="flex gap-4 flex-col lg:flex-row"
          action="./settings"
          method="POST"
        >
          <div class="flex relative grow">
            <span
              class="inline-flex items-center px-3 border-t bg-white border-l border-b border-gray-300 text-gray-500 shadow-sm text-sm"
            >
              {{ template "svg/clock" (dict "Size" 15) }}
            </span>
            <select
              class="flex-1 appearance-none rounded-none border border-gray-300 w-full py-2 px-4 bg-white text-gray-700 placeholder-gray-400 shadow-sm text-base focus:outline-none focus:ring-2 focus:ring-purple-600 focus:border-transparent"
              id="timezone"
              name="timezone"
            >
              {{ range $item := getTimeZones }}
                <option
                  {{ if (eq $item $.Data.Timezone) }}selected{{ end }}
                  value="{{ $item }}"
                >
                  {{ $item }}
                </option>
              {{ end }}
            </select>
          </div>
          <div class="lg:w-60">
            {{ template "component/button" (dict
              "Title" "Submit"
              "Variant" "Secondary"
              )
            }}
          </div>
        </form>
        {{ if .TimeOffsetErrorMessage }}
          <span class="text-red-400 text-xs"
            >{{ .TimeOffsetErrorMessage }}</span
          >
        {{ else if .TimeOffsetMessage }}
          <span class="text-green-400 text-xs">{{ .TimeOffsetMessage }}</span>
        {{ end }}
      </div>
      <div
        class="flex flex-col grow p-4 rounded shadow-lg bg-white dark:bg-gray-700 text-gray-500 dark:text-white"
      >
        <p class="text-lg font-semibold">Devices</p>
        <table class="min-w-full bg-white dark:bg-gray-700 text-sm">
          <thead class="text-gray-800 dark:text-gray-400">
            <tr>
              <th
                scope="col"
                class="p-3 pl-0 font-normal text-left uppercase border-b border-gray-200 dark:border-gray-800"
              >
                Name
              </th>
              <th
                scope="col"
                class="p-3 font-normal text-left uppercase border-b border-gray-200 dark:border-gray-800"
              >
                Last Sync
              </th>
              <th
                scope="col"
                class="p-3 font-normal text-left uppercase border-b border-gray-200 dark:border-gray-800"
              >
                Created
              </th>
            </tr>
          </thead>
          <tbody class="text-black dark:text-white">
            {{ if not .Data.Devices }}
              <tr>
                <td class="text-center p-3" colspan="3">No Results</td>
              </tr>
            {{ end }}
            {{ range $device := .Data.Devices }}
              <tr>
                <td class="p-3 pl-0">
                  <p>{{ $device.DeviceName }}</p>
                </td>
                <td class="p-3">
                  <p>{{ $device.LastSynced }}</p>
                </td>
                <td class="p-3">
                  <p>{{ $device.CreatedAt }}</p>
                </td>
              </tr>
            {{ end }}
          </tbody>
        </table>
      </div>
    </div>
  </div>
{{ end }}
