all repos — go-lift @ 092e7440440b8459d82fb90c05c005f9f38e3c51

Lightweight workout tracker prototype..

ui/src/components/BottomNav.css (view raw)

  1.bottom-nav.mobile {
  2  position: fixed;
  3  left: 0;
  4  right: 0;
  5  bottom: 0;
  6  height: var(--bottom-nav-height);
  7  background: #fff;
  8  border-top: 1px solid var(--light-gray);
  9  display: flex;
 10  justify-content: space-around;
 11  align-items: center;
 12  z-index: 1000;
 13  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
 14}
 15
 16.bottom-nav.mobile a {
 17  color: var(--dark-gray);
 18  text-decoration: none;
 19  font-size: 0.75rem;
 20  flex: 1;
 21  display: flex;
 22  flex-direction: column;
 23  align-items: center;
 24  justify-content: center;
 25  padding: 8px 0;
 26  transition: color 0.2s;
 27}
 28
 29.bottom-nav.mobile a span {
 30  margin-top: 4px;
 31}
 32
 33.bottom-nav.mobile a.active {
 34  color: var(--primary-color);
 35  font-weight: 600;
 36}
 37
 38/* Desktop side navigation */
 39.side-nav.desktop {
 40  position: fixed;
 41  left: 0;
 42  top: 0;
 43  bottom: 0;
 44  width: var(--side-nav-width);
 45  background-color: white;
 46  border-right: 1px solid var(--light-gray);
 47  padding: var(--spacing-lg) var(--spacing-md);
 48  display: flex;
 49  flex-direction: column;
 50  z-index: 1000;
 51}
 52
 53.side-nav .app-title {
 54  font-size: 24px;
 55  font-weight: 700;
 56  color: var(--primary-color);
 57  margin-bottom: var(--spacing-xl);
 58  padding: var(--spacing-md);
 59}
 60
 61.side-nav .nav-links {
 62  display: flex;
 63  flex-direction: column;
 64  gap: 8px;
 65}
 66
 67.side-nav a {
 68  display: flex;
 69  align-items: center;
 70  padding: 10px 16px;
 71  border-radius: var(--border-radius);
 72  color: var(--text-color);
 73  text-decoration: none;
 74  transition: all 0.2s;
 75}
 76
 77.side-nav a span {
 78  margin-left: 12px;
 79}
 80
 81.side-nav a:hover {
 82  background-color: rgba(0, 122, 255, 0.1);
 83}
 84
 85.side-nav a.active {
 86  background-color: var(--primary-color);
 87  color: white;
 88}
 89
 90.side-nav .sub-menu {
 91  margin: var(--spacing-md) 0;
 92  padding-left: var(--spacing-md);
 93  border-left: 2px solid var(--light-gray);
 94}
 95
 96.side-nav .sub-menu-title {
 97  font-size: 14px;
 98  font-weight: 600;
 99  color: var(--dark-gray);
100  margin-bottom: var(--spacing-sm);
101  padding-left: var(--spacing-md);
102}
103@media (min-width: 768px) {
104  .bottom-nav {
105    position: static;
106    height: 48px;
107    border-top: none;
108    border-bottom: 1px solid #eee;
109    justify-content: flex-end;
110    background: #fafbfc;
111  }
112  .bottom-nav a {
113    flex: none;
114    margin-left: 2em;
115    font-size: 1rem;
116  }
117}