Feature/app setting panel notifications#43
Conversation
xEdziu
left a comment
There was a problem hiding this comment.
Ogólnie troszkę rzeczy trzeba przemyśleć i pozmieniać. Też zauważyłem, że teraz powiadomienia się wcale nie wysyłają "w tle" - czyli nie dostaję
żadnego powiadomienia mając to włączone i działające w tle, więc trochę też nie można tego sprawdzić. W razie problemów skontaktowałbym się z @tobiaszrolla który zajmował się timerami, powiadomieniami i Push API
| @@ -1,11 +1,15 @@ | |||
| import { useState } from "react"; | |||
| import Cookies from "js-cookie"; | |||
There was a problem hiding this comment.
Nie jestem pewny, czy chcemy całą nową bibliotekę do ciasteczek, jak mam gotowe natywne rozwiązania: https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Cookies
There was a problem hiding this comment.
- Z tego co rozumiem to jest tylko setting tego, co ma być wyświetlane w tej podstronie?
- Tworzysz swój interface
AppNotificationConfig- ale już istnieje coś bardzo podobnego:src/hooks/useTimeNotification.ts - To po prostu są na razie wyłączniki, które tylko zmieniają i przechowują stan :/
There was a problem hiding this comment.
Hej
notificationConfig.ts to współdzielona konfiguracja dla całej aplikacji.
NOTIFICATIONS jest używane w Powiadomienia.tsx do renderowania listy ( czyli to miejsce tak naprawdę odpowiada za to, co widzi użytkownik w powiadomieniach).
A NOTIFICATION_TITLE_TO_ID w useNotifications.ts do sprawdzania preferencji przed wysłaniem powiadomienia.
Gdybym dała to do useTimeNotification.ts to najprawdopodobniej pojawiłby się błąd. Bo useTimeNotification.ts odpowiada za obliczanie czasu, a nie za sprawdzanie preferencji użytkownika. (czyli plik Powiadomienia.tsx musiałby wtedy importować konfigurację z hooka timera)
| <div className="mt-auto mb-6 text-gray-400 text-sm text-center px-4"> | ||
| Powiadomienia zostały włączone | ||
| </div> |
There was a problem hiding this comment.
Czy tego jakoś specjalnie potrzebujemy? Wydaje mi się, że lepiej byłoby gdzieś tutaj na tej stronie wykrywać, czy mamy dostęp do Push API, a jak nie, zamiast całych ustawień wyświetlać przycisk, który uruchomiłby prompta o zgodę na powiadomienia
|
|
||
| {/* Powiadomienia */} | ||
| <Link | ||
| to="/Powiadomienia" |
There was a problem hiding this comment.
Trzymajmy się raczej wszędzie podobnej konwencji i róbmy /to małymi literami - powiadomienia
|
@pavlovskakristina proszę o pinga tutaj w komentarzach jak będzie gotowe do sprawdzania |
ping @xEdziu |
xEdziu
left a comment
There was a problem hiding this comment.
Opisalem tez problemy na discordzie na pv - oraz w powiadomieniach z push api ze sprawdzenia cookies nie mam tytulu skad to powiadomienie i loga algovisusa :/
| "dependencies": { | ||
| "@radix-ui/react-slot": "^1.2.4", | ||
| "@tailwindcss/vite": "^4.1.18", | ||
| "@types/js-cookie": "^3.0.6", |
There was a problem hiding this comment.
bardzo prosze o odinstalowanie paczki jscookie poprzez npm
- dodano mozliwosc przetestowania tego w TEST PUSH API
|
ping @xEdziu (gotowe do sprawdzenia) |
|
Dobra, @pavlovskakristina @KBruy patrząc na to świeżym i trzeźwym okiem - brakuje mi chyba opcji ustawienia customowych czasów tych powiadomień w ustawieniach - co o tym sądzicie? |

Opis
Dodano ekran ustawień powiadomień (
Powiadomienia.tsx) oraz konfigurację powiadomień (notificationConfig.ts).Ekran umożliwia użytkownikowi włączanie i wyłączanie poszczególnych typów powiadomień aplikacji. Preferencje są przechowywane w cookies (ważne przez 365 dni), dzięki czemu wybory użytkownika są zachowywane między sesjami.
Dodane powiadomienia:
Powiązane zgłoszenie (Issue)
BRAK
Motywacja i kontekst
Użytkownicy potrzebują możliwości personalizacji powiadomień aplikacji – np. wyłączenia tych, które im nie odpowiadają. Ta zmiana wprowadza dedykowany ekran ustawień dostępny z poziomu ekranu Ustawienia, z intuicyjnym interfejsem toggle dla każdego typu powiadomienia.
Jak zostało to przetestowane?
Zrzuty ekranu (jeśli dotyczy):
Rodzaje zmian
Lista kontrolna: