frayerjj-frontend 0.8.28 → 0.8.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frayerjj-frontend",
3
- "version": "0.8.28",
3
+ "version": "0.8.30",
4
4
  "description": "My base frontend for various projects",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
package/src/loading.js CHANGED
@@ -127,8 +127,9 @@ export const loading = {
127
127
  if (unload) {
128
128
  let opacity = 0;
129
129
  let fade = setInterval(() => {
130
- el.style.opacity = '.' + opacity++;
131
- if (opacity == 10) {
130
+ el.style.opacity = opacity;
131
+ opacity += 0.1;
132
+ if (opacity >= 1) {
132
133
  clearInterval(fade);
133
134
  el.style.opacity = null;
134
135
  }
@@ -147,13 +148,18 @@ export const loading = {
147
148
 
148
149
  stop: () => {
149
150
  let el = document.querySelector('.loader');
150
- let opacity = 9;
151
+ if (!el) return;
152
+ let opacity = 0.9;
151
153
  let fade = setInterval(() => {
152
- el.style.opacity = '.' + opacity--;
153
- if (opacity <= 0) {
154
+ if (el && document.body.contains(el)) {
155
+ el.style.opacity = opacity;
156
+ opacity -= 0.1;
157
+ if (opacity <= 0) {
158
+ clearInterval(fade);
159
+ loading.clear();
160
+ }
161
+ } else
154
162
  clearInterval(fade);
155
- loading.clear();
156
- }
157
163
  }, 50);
158
164
  },
159
165
 
@@ -1,17 +1,7 @@
1
- .primary-nav {
2
- @extend .navbar,.navbar-dark,.d-print-none;
3
- background-image: linear-gradient(90deg, $color-blue, $primary-color);
1
+ @mixin nav-hover-effects {
4
2
  .navbar-nav {
5
- > li {
6
- @extend .nav-item,.me-4;
3
+ > li:not(.user-icon) {
7
4
  > a {
8
- @extend .nav-link;
9
- color: $color-white;
10
- font-size: .875rem;
11
- font-weight: 700;
12
- letter-spacing: 1.5px;
13
- text-transform: uppercase;
14
- position: relative;
15
5
  &:before {
16
6
  content: "";
17
7
  background-color: $color-white;
@@ -20,70 +10,56 @@
20
10
  position: absolute;
21
11
  bottom: 0;
22
12
  left: 0;
23
- transition-duration: .3s;
24
- transition-property: width;
25
- transition-timing-function: cubic-bezier(.55,.085,.68,.53);
13
+ transition: width .3s cubic-bezier(.55,.085,.68,.53);
26
14
  }
27
15
  &:hover {
28
16
  text-decoration: none;
29
- &:before {
30
- width: 100%;
31
- }
17
+ &:before { width: 100%; }
32
18
  }
33
19
  }
34
20
  }
35
- }
36
- #userDropDown::after {
37
- display: none;
38
- }
39
- }
40
- @media screen and (min-width: 576px) {
41
- .primary-nav.navbar-expand-sm .navbar-nav .dropdown-menu {
42
- border-top-left-radius: 0;
43
- border-top-right-radius: 0;
44
- margin-top: 14px !important;
45
- &.user-dropdown-menu {
46
- margin-top: 7px !important;
47
- }
48
- }
49
- }
50
- @media screen and (min-width: 768px) {
51
- .primary-nav.navbar-expand-md .navbar-nav .dropdown-menu {
52
- border-top-left-radius: 0;
53
- border-top-right-radius: 0;
54
- margin-top: 14px !important;
55
- &.user-dropdown-menu {
56
- margin-top: 7px !important;
21
+ .dropdown-menu {
22
+ border-top-left-radius: 0;
23
+ border-top-right-radius: 0;
24
+ margin-top: 14px !important;
25
+ &.user-dropdown-menu {
26
+ margin-top: 7px !important;
27
+ }
57
28
  }
58
29
  }
59
30
  }
60
- @media screen and (min-width: 992px) {
61
- .primary-nav.navbar-expand-lg .navbar-nav .dropdown-menu {
62
- border-top-left-radius: 0;
63
- border-top-right-radius: 0;
64
- margin-top: 14px !important;
65
- &.user-dropdown-menu {
66
- margin-top: 7px !important;
31
+ .primary-nav {
32
+ @extend .navbar, .navbar-dark, .d-print-none;
33
+ background-image: linear-gradient(90deg, $color-blue, $primary-color);
34
+ .navbar-nav {
35
+ > li {
36
+ @extend .nav-item, .me-4;
37
+ > a {
38
+ @extend .nav-link;
39
+ color: $color-white;
40
+ font-size: .875rem;
41
+ font-weight: 700;
42
+ letter-spacing: 1.5px;
43
+ text-transform: uppercase;
44
+ position: relative;
45
+ }
67
46
  }
68
47
  }
69
- }
70
- @media screen and (min-width: 1200px) {
71
- .primary-nav.navbar-expand-xl .navbar-nav .dropdown-menu {
72
- border-top-left-radius: 0;
73
- border-top-right-radius: 0;
74
- margin-top: 14px !important;
75
- &.user-dropdown-menu {
76
- margin-top: 7px !important;
77
- }
48
+ #userDropDown::after {
49
+ display: none;
78
50
  }
79
- }
80
- @media screen and (min-width: 1400px) {
81
- .primary-nav.navbar-expand-xxl .navbar-nav .dropdown-menu {
82
- border-top-left-radius: 0;
83
- border-top-right-radius: 0;
84
- margin-top: 14px !important;
85
- &.user-dropdown-menu {
86
- margin-top: 7px !important;
51
+ $breakpoints: (
52
+ "sm": 576px,
53
+ "md": 768px,
54
+ "lg": 992px,
55
+ "xl": 1200px,
56
+ "xxl": 1400px
57
+ );
58
+ @each $suffix, $size in $breakpoints {
59
+ @media screen and (min-width: $size) {
60
+ &.navbar-expand-#{$suffix} {
61
+ @include nav-hover-effects;
62
+ }
87
63
  }
88
64
  }
89
65
  }