327 lines
24 KiB
Clojure
327 lines
24 KiB
Clojure
(ns auto-ap.ssr.components.aside
|
|
(:require [auto-ap.ssr.svg :as svg]
|
|
[hiccup2.core :as hiccup]
|
|
[bidi.bidi :as bidi]
|
|
[auto-ap.ssr-routes :as ssr-routes]
|
|
[auto-ap.client-routes :as client-routes]))
|
|
|
|
(defn menu-button- [params & children]
|
|
[:div
|
|
[:a (-> params
|
|
(dissoc :icon)
|
|
(assoc :type "button")
|
|
(update :class str " cursor-pointer flex items-center p-2 w-full text-sm text-gray-600 rounded-lg transition duration-75 group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700")
|
|
(assoc :hx-indicator "find .htmx-indicator")
|
|
(assoc :hx-select "#app-contents")
|
|
(assoc :hx-target "#app-contents")
|
|
(assoc :hx-swap "outerHTML"))
|
|
|
|
(when (:icon params)
|
|
[:span {:class "flex-shrink-0 w-6 h-6 text-gray-400 transition duration-75 group-hover:text-blue-500 dark:text-gray-400 group-hover:scale-110 dark:group-hover:text-white mr-3"}
|
|
(:icon params)])
|
|
|
|
(into [:span {:class "flex-1 text-left whitespace-nowrap text-gray-600 dark:text-white"}] children)
|
|
(when (:data-collapse-toggle params)
|
|
[:svg {:aria-hidden "true", :class "w-6 h-6", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"}
|
|
[:path {:fill-rule "evenodd", :d "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z", :clip-rule "evenodd"}]])
|
|
[:div.htmx-indicator.flex.items-center
|
|
(svg/spinner-primary {:class "inline w-4 h-4 text-white"})]]])
|
|
|
|
(defn sub-menu- [params & children]
|
|
[:ul {:id (:id params) :class "hidden py-2 space-y-2"}
|
|
(for [c children]
|
|
[:li
|
|
(update-in c [1 1 :class ] str " flex items-center p-2 pl-11 w-full text-base font-normal text-gray-900 rounded-lg transition duration-75 group hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700")])])
|
|
|
|
(defn left-aside- [{:keys [nav page-specific]} & children]
|
|
[:aside {:id "left-nav", :class "fixed top-0 left-0 pt-16 z-20 w-64 h-screen transition-transform -translate-x-full lg:translate-x-0", :aria-labelledby "left-nav" :aria-hidden "true"
|
|
"_" (hiccup/raw "init call initSidebarToggle()")}
|
|
|
|
[:div {:class "overflow-y-auto py-5 px-3 h-full bg-gray-50 border-r border-gray-200 dark:bg-gray-800 dark:border-gray-700"}
|
|
nav
|
|
|
|
[:ul {:class "pt-5 mt-5 space-y-2 border-t border-gray-200 dark:border-gray-700"}
|
|
#_[:li
|
|
[:a {:href "#", :class "flex items-center p-2 text-base font-normal text-gray-900 rounded-lg transition duration-75 hover:bg-gray-100 dark:hover:bg-gray-700 dark:text-white group"}
|
|
[:svg {:aria-hidden "true", :class "flex-shrink-0 w-6 h-6 text-gray-400 transition duration-75 dark:text-gray-400 group-hover:text-gray-900 dark:group-hover:text-white", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"}
|
|
[:path {:d "M9 2a1 1 0 000 2h2a1 1 0 100-2H9z"}]
|
|
[:path {:fill-rule "evenodd", :d "M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm3 4a1 1 0 000 2h.01a1 1 0 100-2H7zm3 0a1 1 0 000 2h3a1 1 0 100-2h-3zm-3 4a1 1 0 100 2h.01a1 1 0 100-2H7zm3 0a1 1 0 100 2h3a1 1 0 100-2h-3z", :clip-rule "evenodd"}]]
|
|
[:span {:class "ml-3"} "Docs"]]]
|
|
#_[:li
|
|
[:a {:href "#", :class "flex items-center p-2 text-base font-normal text-gray-900 rounded-lg transition duration-75 hover:bg-gray-100 dark:hover:bg-gray-700 dark:text-white group"}
|
|
[:svg {:aria-hidden "true", :class "flex-shrink-0 w-6 h-6 text-gray-400 transition duration-75 dark:text-gray-400 group-hover:text-gray-900 dark:group-hover:text-white", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"}
|
|
[:path {:d "M7 3a1 1 0 000 2h6a1 1 0 100-2H7zM4 7a1 1 0 011-1h10a1 1 0 110 2H5a1 1 0 01-1-1zM2 11a2 2 0 012-2h12a2 2 0 012 2v4a2 2 0 01-2 2H4a2 2 0 01-2-2v-4z"}]]
|
|
[:span {:class "ml-3"} "Components"]]]
|
|
#_[:li
|
|
[:a {:href "#", :class "flex items-center p-2 text-base font-normal text-gray-900 rounded-lg transition duration-75 hover:bg-gray-100 dark:hover:bg-gray-700 dark:text-white group"}
|
|
[:svg {:aria-hidden "true", :class "flex-shrink-0 w-6 h-6 text-gray-400 transition duration-75 dark:text-gray-400 group-hover:text-gray-900 dark:group-hover:text-white", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"}
|
|
[:path {:fill-rule "evenodd", :d "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-2 0c0 .993-.241 1.929-.668 2.754l-1.524-1.525a3.997 3.997 0 00.078-2.183l1.562-1.562C15.802 8.249 16 9.1 16 10zm-5.165 3.913l1.58 1.58A5.98 5.98 0 0110 16a5.976 5.976 0 01-2.516-.552l1.562-1.562a4.006 4.006 0 001.789.027zm-4.677-2.796a4.002 4.002 0 01-.041-2.08l-.08.08-1.53-1.533A5.98 5.98 0 004 10c0 .954.223 1.856.619 2.657l1.54-1.54zm1.088-6.45A5.974 5.974 0 0110 4c.954 0 1.856.223 2.657.619l-1.54 1.54a4.002 4.002 0 00-2.346.033L7.246 4.668zM12 10a2 2 0 11-4 0 2 2 0 014 0z", :clip-rule "evenodd"}]]
|
|
[:span {:class "ml-3"} "Help"]]]]
|
|
page-specific]
|
|
#_[:div {:class "hidden absolute bottom-0 left-0 justify-center p-4 space-x-4 w-full lg:flex bg-white dark:bg-gray-800 z-20 border-r border-gray-200 dark:border-gray-700"}
|
|
[:a {:href "#", :class "inline-flex justify-center p-2 text-gray-500 rounded cursor-pointer dark:text-gray-400 hover:text-gray-900 dark:hover:text-white hover:bg-gray-100 dark:hover:bg-gray-600"}
|
|
[:svg {:aria-hidden "true", :class "w-6 h-6", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"}
|
|
[:path {:d "M5 4a1 1 0 00-2 0v7.268a2 2 0 000 3.464V16a1 1 0 102 0v-1.268a2 2 0 000-3.464V4zM11 4a1 1 0 10-2 0v1.268a2 2 0 000 3.464V16a1 1 0 102 0V8.732a2 2 0 000-3.464V4zM16 3a1 1 0 011 1v7.268a2 2 0 010 3.464V16a1 1 0 11-2 0v-1.268a2 2 0 010-3.464V4a1 1 0 011-1z"}]]]
|
|
[:a {:href "#", :data-tooltip-target "tooltip-settings", :class "inline-flex justify-center p-2 text-gray-500 rounded cursor-pointer dark:text-gray-400 dark:hover:text-white hover:text-gray-900 hover:bg-gray-100 dark:hover:bg-gray-600"}
|
|
[:svg {:aria-hidden "true", :class "w-6 h-6", :fill "currentColor", :viewbox "0 0 20 20", :xmlns "http://www.w3.org/2000/svg"}
|
|
[:path {:fill-rule "evenodd", :d "M11.49 3.17c-.38-1.56-2.6-1.56-2.98 0a1.532 1.532 0 01-2.286.948c-1.372-.836-2.942.734-2.106 2.106.54.886.061 2.042-.947 2.287-1.561.379-1.561 2.6 0 2.978a1.532 1.532 0 01.947 2.287c-.836 1.372.734 2.942 2.106 2.106a1.532 1.532 0 012.287.947c.379 1.561 2.6 1.561 2.978 0a1.533 1.533 0 012.287-.947c1.372.836 2.942-.734 2.106-2.106a1.533 1.533 0 01.947-2.287c1.561-.379 1.561-2.6 0-2.978a1.532 1.532 0 01-.947-2.287c.836-1.372-.734-2.942-2.106-2.106a1.532 1.532 0 01-2.287-.947zM10 13a3 3 0 100-6 3 3 0 000 6z", :clip-rule "evenodd"}]]]
|
|
[:div {:id "tooltip-settings", :role "tooltip", :class "inline-block absolute invisible z-10 py-2 px-3 text-sm font-medium text-white bg-gray-900 rounded-lg shadow-sm opacity-0 transition-opacity duration-300 tooltip"} "Settings page"]
|
|
[:button {:type "button", :data-dropdown-toggle "language-dropdown", :class "inline-flex justify-center p-2 text-gray-500 rounded cursor-pointer dark:hover:text-white dark:text-gray-400 hover:text-gray-900 hover:bg-gray-100 dark:hover:bg-gray-600"}
|
|
[:svg {:aria-hidden "true", :class "h-5 w-5 rounded-full mt-0.5", :xmlns "http://www.w3.org/2000/svg", :xmlns:xlink "http://www.w3.org/1999/xlink", :viewbox "0 0 3900 3900"}
|
|
[:path {:fill "#b22234", :d "M0 0h7410v3900H0z"}]
|
|
[:path {:d "M0 450h7410m0 600H0m0 600h7410m0 600H0m0 600h7410m0 600H0", :stroke "#fff", :stroke-width "300"}]
|
|
[:path {:fill "#3c3b6e", :d "M0 0h2964v2100H0z"}]
|
|
[:g {:fill "#fff"}
|
|
[:g {:id "d"}
|
|
[:g {:id "c"}
|
|
[:g {:id "e"}
|
|
[:g {:id "b"}
|
|
[:path {:id "a", :d "M247 90l70.534 217.082-184.66-134.164h228.253L176.466 307.082z"}]
|
|
[:use {:xlink:href "#a", :y "420"}]
|
|
[:use {:xlink:href "#a", :y "840"}]
|
|
[:use {:xlink:href "#a", :y "1260"}]]
|
|
[:use {:xlink:href "#a", :y "1680"}]]
|
|
[:use {:xlink:href "#b", :x "247", :y "210"}]]
|
|
[:use {:xlink:href "#c", :x "494"}]]
|
|
[:use {:xlink:href "#d", :x "988"}]
|
|
[:use {:xlink:href "#c", :x "1976"}]
|
|
[:use {:xlink:href "#e", :x "2470"}]]]]
|
|
[:div {:class "hidden z-50 my-4 text-base list-none bg-white rounded divide-y divide-gray-100 shadow dark:bg-gray-700", :id "language-dropdown"}
|
|
[:ul {:class "py-1", :role "none"}
|
|
[:li
|
|
[:a {:href "#", :class "block py-2 px-4 text-sm text-gray-700 hover:bg-gray-100 dark:hover:text-white dark:text-gray-300 dark:hover:bg-gray-600", :role "menuitem"}
|
|
[:div {:class "inline-flex items-center"}
|
|
[:svg {:aria-hidden "true", :class "h-3.5 w-3.5 rounded-full mr-2", :xmlns "http://www.w3.org/2000/svg", :id "flag-icon-css-us", :viewbox "0 0 512 512"}
|
|
[:g {:fill-rule "evenodd"}
|
|
[:g {:stroke-width "1pt"}
|
|
[:path {:fill "#bd3d44", :d "M0 0h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0z", :transform "scale(3.9385)"}]
|
|
[:path {:fill "#fff", :d "M0 10h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0zm0 20h247v10H0z", :transform "scale(3.9385)"}]]
|
|
[:path {:fill "#192f5d", :d "M0 0h98.8v70H0z", :transform "scale(3.9385)"}]
|
|
[:path {:fill "#fff", :d "M8.2 3l1 2.8H12L9.7 7.5l.9 2.7-2.4-1.7L6 10.2l.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7L74 8.5l-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 7.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm-74.1 7l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7H65zm16.4 0l1 2.8H86l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm-74 7l.8 2.8h3l-2.4 1.7.9 2.7-2.4-1.7L6 24.2l.9-2.7-2.4-1.7h3zm16.4 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 21.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm-74.1 7l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7H65zm16.4 0l1 2.8H86l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm-74 7l.8 2.8h3l-2.4 1.7.9 2.7-2.4-1.7L6 38.2l.9-2.7-2.4-1.7h3zm16.4 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 35.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm-74.1 7l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7H65zm16.4 0l1 2.8H86l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm-74 7l.8 2.8h3l-2.4 1.7.9 2.7-2.4-1.7L6 52.2l.9-2.7-2.4-1.7h3zm16.4 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 49.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm-74.1 7l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7H65zm16.4 0l1 2.8H86l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm-74 7l.8 2.8h3l-2.4 1.7.9 2.7-2.4-1.7L6 66.2l.9-2.7-2.4-1.7h3zm16.4 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8H45l-2.4 1.7 1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9zm16.4 0l1 2.8h2.8l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h3zm16.5 0l.9 2.8h2.9l-2.3 1.7.9 2.7-2.4-1.7-2.3 1.7.9-2.7-2.4-1.7h2.9zm16.5 0l.9 2.8h2.9L92 63.5l1 2.7-2.4-1.7-2.4 1.7 1-2.7-2.4-1.7h2.9z", :transform "scale(3.9385)"}]]] " \n English (US)"]]]
|
|
[:li
|
|
[:a {:href "#", :class "block py-2 px-4 text-sm text-gray-700 hover:bg-gray-100 dark:text-gray-300 dark:hover:text-white dark:hover:bg-gray-600", :role "menuitem"}
|
|
[:div {:class "inline-flex items-center"}
|
|
[:svg {:aria-hidden "true", :class "h-3.5 w-3.5 rounded-full mr-2", :xmlns "http://www.w3.org/2000/svg", :id "flag-icon-css-de", :viewbox "0 0 512 512"}
|
|
[:path {:fill "#ffce00", :d "M0 341.3h512V512H0z"}]
|
|
[:path {:d "M0 0h512v170.7H0z"}]
|
|
[:path {:fill "#d00", :d "M0 170.7h512v170.6H0z"}]]]]]
|
|
[:li
|
|
[:a {:href "#", :class "block py-2 px-4 text-sm text-gray-700 hover:bg-gray-100 dark:text-gray-300 dark:hover:text-white dark:hover:bg-gray-600", :role "menuitem"}
|
|
[:div {:class "inline-flex items-center"}
|
|
[:svg {:aria-hidden "true", :class "h-3.5 w-3.5 rounded-full mr-2", :xmlns "http://www.w3.org/2000/svg", :id "flag-icon-css-it", :viewbox "0 0 512 512"}
|
|
[:g {:fill-rule "evenodd", :stroke-width "1pt"}
|
|
[:path {:fill "#fff", :d "M0 0h512v512H0z"}]
|
|
[:path {:fill "#009246", :d "M0 0h170.7v512H0z"}]
|
|
[:path {:fill "#ce2b37", :d "M341.3 0H512v512H341.3z"}]]]]]]
|
|
[:li
|
|
[:a {:href "#", :class "block py-2 px-4 text-sm text-gray-700 hover:bg-gray-100 dark:hover:text-white dark:text-gray-300 dark:hover:bg-gray-600", :role "menuitem"}
|
|
[:div {:class "inline-flex items-center"}
|
|
[:svg {:aria-hidden "true", :class "h-3.5 w-3.5 rounded-full mr-2", :xmlns "http://www.w3.org/2000/svg", :xmlns:xlink "http://www.w3.org/1999/xlink", :id "flag-icon-css-cn", :viewbox "0 0 512 512"}
|
|
[:defs
|
|
[:path {:id "a", :fill "#ffde00", :d "M1-.3L-.7.8 0-1 .6.8-1-.3z"}]]
|
|
[:path {:fill "#de2910", :d "M0 0h512v512H0z"}]
|
|
[:use {:width "30", :height "20", :transform "matrix(76.8 0 0 76.8 128 128)", :xlink:href "#a"}]
|
|
[:use {:width "30", :height "20", :transform "rotate(-121 142.6 -47) scale(25.5827)", :xlink:href "#a"}]
|
|
[:use {:width "30", :height "20", :transform "rotate(-98.1 198 -82) scale(25.6)", :xlink:href "#a"}]
|
|
[:use {:width "30", :height "20", :transform "rotate(-74 272.4 -114) scale(25.6137)", :xlink:href "#a"}]
|
|
[:use {:width "30", :height "20", :transform "matrix(16 -19.968 19.968 16 256 230.4)", :xlink:href "#a"}]] "中文 (繁體)"]]]]]]
|
|
[:script {:lang "text/javascript"}
|
|
(hiccup/raw "
|
|
function initSidebarToggle() {
|
|
var $targetEl = document.getElementById('left-nav');
|
|
|
|
var $triggerEl = document.getElementById('left-nav-toggle');
|
|
|
|
var options = {
|
|
onCollapse: () => {
|
|
document.getElementById('main-content').classList.remove('lg:pl-64')
|
|
},
|
|
onExpand: () => {
|
|
document.getElementById('main-content').classList.add('lg:pl-64')
|
|
},
|
|
onToggle: () => {
|
|
}
|
|
};
|
|
|
|
var collapse = new Collapse($targetEl, $triggerEl, options);
|
|
}
|
|
")]])
|
|
|
|
(defn main-aside-nav- []
|
|
[:ul {:class "space-y-2"}
|
|
|
|
[:li
|
|
(menu-button- {:icon svg/pie
|
|
:href "/"}
|
|
"Dashboard")]
|
|
[:li
|
|
(menu-button- {:aria-controls "dropdown-invoices",
|
|
:data-collapse-toggle "dropdown-invoices"
|
|
:icon svg/accounting-invoice-mail}
|
|
"Invoices")
|
|
(sub-menu- {:id "dropdown-invoices"}
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:invoices)}
|
|
"All")
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:paid-invoices)}
|
|
"Paid")
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:unpaid-invoices)}
|
|
"Unpaid")
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:voided-invoices)}
|
|
"Voided"))]
|
|
[:li
|
|
(menu-button- {:aria-controls "dropdown-sales",
|
|
:data-collapse-toggle "dropdown-sales"
|
|
:icon svg/receipt-register-1}
|
|
"Sales")
|
|
(sub-menu- {:id "dropdown-sales"}
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:sales-orders)} "Sales")
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:expected-deposits)} "Expected Deposits")
|
|
#_(menu-button- {:href "Sales"} "Cash Shifts")
|
|
#_(menu-button- {:href "Sales"} "Tenders"))]
|
|
[:li
|
|
(menu-button- {:aria-controls "dropdown-payments"
|
|
:data-collapse-toggle "dropdown-payments"
|
|
:icon svg/payments}
|
|
"Payments")
|
|
(sub-menu- {:id "dropdown-payments"}
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:payments)} "All")
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:payments)} "Pending")
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:payments)} "Cleared")
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:payments)} "Voided"))]
|
|
|
|
[:li
|
|
(menu-button- {:aria-controls "dropdown-transactions"
|
|
:data-collapse-toggle "dropdown-transactions"
|
|
:icon svg/bank}
|
|
"Transactions")
|
|
|
|
(sub-menu- {:id "dropdown-transactions"}
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:transactions)} "All")
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:unapproved-transactions)} "Unapproved")
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:requires-feedback-transactions)} "Client Review")
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:approved-transactions)} "Approved")
|
|
(menu-button- {:href (bidi/path-for ssr-routes/only-routes
|
|
:transaction-insights)} "Insights"))]
|
|
[:li
|
|
(menu-button- {:aria-controls "dropdown-ledger"
|
|
:data-collapse-toggle "dropdown-ledger"
|
|
:icon svg/receipt}
|
|
"Ledger")
|
|
(sub-menu- {:id "dropdown-ledger"}
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:ledger)} "Register")
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:profit-and-loss)} "Profit & Loss")
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:profit-and-loss-detail)} "Profit & Loss Detail")
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:cash-flows)} "Cash Flows")
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:balance-sheet)} "Balance Sheet")
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:external-import-ledger)} "External Ledger Import"))]])
|
|
|
|
|
|
(defn company-aside-nav- []
|
|
[:ul {:class "space-y-2" :hx-boost "true"}
|
|
[:li
|
|
(menu-button- {:icon svg/vendors
|
|
:href (bidi/path-for ssr-routes/only-routes
|
|
:company)}
|
|
"My Company")]
|
|
|
|
[:li
|
|
(menu-button- {:icon svg/report
|
|
:href (bidi/path-for ssr-routes/only-routes
|
|
:company-reports)}
|
|
"Reports")]
|
|
[:li
|
|
(menu-button- {:icon svg/bank
|
|
:href (bidi/path-for ssr-routes/only-routes
|
|
:company-yodlee)}
|
|
"Yodlee Link")]
|
|
[:li
|
|
(menu-button- {:icon svg/government-building
|
|
:href (bidi/path-for ssr-routes/only-routes
|
|
:company-1099)}
|
|
"1099 Vendor Info"
|
|
)]])
|
|
|
|
(defn admin-aside-nav- []
|
|
[:ul {:class "space-y-2"}
|
|
[:li
|
|
(menu-button- {:icon svg/dashboard
|
|
:href (bidi/path-for client-routes/routes
|
|
:admin)}
|
|
"Dashboard")]
|
|
|
|
[:li
|
|
(menu-button- {:icon svg/restaurant
|
|
:href (bidi/path-for client-routes/routes
|
|
:admin-clients)}
|
|
"Clients")]
|
|
[:li
|
|
(menu-button- {:icon svg/vendors
|
|
:href (bidi/path-for client-routes/routes
|
|
:admin-vendors)}
|
|
"Vendors")]
|
|
[:li
|
|
(menu-button- {:icon svg/user
|
|
:href (bidi/path-for client-routes/routes
|
|
:admin-users)}
|
|
"Users")]
|
|
[:li
|
|
(menu-button- {:icon svg/accounts
|
|
:href (bidi/path-for client-routes/routes
|
|
:admin-accounts)}
|
|
"Accounts")]
|
|
|
|
[:li
|
|
(menu-button- {:icon svg/cog
|
|
:href (bidi/path-for client-routes/routes
|
|
:admin-rules)}
|
|
"Rules")]
|
|
|
|
[:li
|
|
(menu-button- {:icon svg/question
|
|
:href (bidi/path-for ssr-routes/only-routes
|
|
:admin-history)
|
|
:hx-boost "true"}
|
|
"History")]
|
|
|
|
[:li
|
|
(menu-button- {:icon svg/rabbit
|
|
:href (bidi/path-for client-routes/routes
|
|
:admin-jobs)}
|
|
"Background Jobs")]
|
|
[:li
|
|
(menu-button- {:aria-controls "dropdown-import"
|
|
:data-collapse-toggle "dropdown-import"
|
|
:icon svg/arrow-in}
|
|
"Import")
|
|
|
|
(sub-menu- {:id "dropdown-import"}
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:admin-excel-import)} "Excel Invoices")
|
|
(menu-button- {:href (bidi/path-for client-routes/routes
|
|
:admin-import-batches)} "Import Batches")
|
|
(menu-button- {:href (bidi/path-for ssr-routes/only-routes
|
|
:admin-ezcater-xls)
|
|
:hx-boost "true"} "EZCater XLS Import"))]])
|
|
|
|
|