diff --git a/backend/src/main/java/com/alttd/altitudeweb/controllers/history/HistoryApiController.java b/backend/src/main/java/com/alttd/altitudeweb/controllers/history/HistoryApiController.java index 8011e57..38397c5 100644 --- a/backend/src/main/java/com/alttd/altitudeweb/controllers/history/HistoryApiController.java +++ b/backend/src/main/java/com/alttd/altitudeweb/controllers/history/HistoryApiController.java @@ -18,7 +18,7 @@ import java.util.concurrent.CompletableFuture; @Slf4j @RestController -@RateLimit(limit = 30, timeValue = 1, timeUnit = java.util.concurrent.TimeUnit.MINUTES) +@RateLimit(limit = 30, timeValue = 1, timeUnit = java.util.concurrent.TimeUnit.SECONDS) public class HistoryApiController implements HistoryApi { @Override diff --git a/frontend/src/app/bans/bans.component.html b/frontend/src/app/bans/bans.component.html index a25a98d..ae63d34 100644 --- a/frontend/src/app/bans/bans.component.html +++ b/frontend/src/app/bans/bans.component.html @@ -52,20 +52,24 @@
- - - -
diff --git a/frontend/src/app/bans/bans.component.scss b/frontend/src/app/bans/bans.component.scss index fc18d93..597352b 100644 --- a/frontend/src/app/bans/bans.component.scss +++ b/frontend/src/app/bans/bans.component.scss @@ -83,6 +83,67 @@ main .container { padding: 10px 0 30px 0; } -.pageButton { +.historyPageButton { + align-items: center; + border: 1px solid rgba(0, 0, 0, 0.1); + border-radius: .25rem; + box-shadow: rgba(0, 0, 0, 0.02) 0 1px 3px 0; + box-sizing: border-box; + color: rgba(0, 0, 0, 0.85); + cursor: pointer; + display: inline-flex; + font-family: 'opensans', sans-serif; + font-size: 16px; + font-weight: 600; + justify-content: center; + line-height: 1.25; margin: 0 5px 0 5px; + min-height: 3rem; + padding: calc(.875rem - 1px) calc(1.5rem - 1px); + position: relative; + text-decoration: none; + transition: all 250ms; + user-select: none; + -webkit-user-select: none; + touch-action: manipulation; + vertical-align: baseline; + width: auto; } + +.historyPageButton.active:hover, +.historyPageButton.active:focus { + border-color: rgba(0, 0, 0, 0.15); + box-shadow: rgba(0, 0, 0, 0.1) 0 4px 12px; + color: rgba(0, 0, 0, 0.65); +} + +.historyPageButton.active:hover { + transform: translateY(-1px); +} + +.historyPageButton.active:active { + background-color: #F0F0F1; + border-color: rgba(0, 0, 0, 0.15); + box-shadow: rgba(0, 0, 0, 0.06) 0 2px 4px; + color: rgba(0, 0, 0, 0.65); + transform: translateY(0); +} + +.historyPageButton.disabled { + opacity: 0.5; + cursor: not-allowed; + background-color: #f0f0f0; + color: #999; + box-shadow: none; + pointer-events: none; +} + +/* Prevent hover effects on disabled buttons */ +.historyPageButton.disabled:hover, +.historyPageButton.disabled:focus { + border-color: rgba(0, 0, 0, 0.1); + box-shadow: none; + transform: none; + color: #999; +} +