feat: request push notification permission when settings button clicked
This commit is contained in:
@@ -40,12 +40,12 @@ pub fn App() -> impl IntoView {
|
|||||||
// Safari requires user gesture for notification permission
|
// Safari requires user gesture for notification permission
|
||||||
// Don't auto-request on Safari - user should click a button
|
// Don't auto-request on Safari - user should click a button
|
||||||
if crate::utils::platform::is_safari() {
|
if crate::utils::platform::is_safari() {
|
||||||
log::info!("Safari detected - notification permission requires user interaction. Please click notification settings.");
|
log::info!("Safari detected - notification permission requires user interaction");
|
||||||
if let Some(store) = use_context::<crate::store::TorrentStore>() {
|
if let Some(store) = use_context::<crate::store::TorrentStore>() {
|
||||||
crate::store::show_toast_with_signal(
|
crate::store::show_toast_with_signal(
|
||||||
store.notifications,
|
store.notifications,
|
||||||
shared::NotificationLevel::Info,
|
shared::NotificationLevel::Info,
|
||||||
"Bildirim izni için lütfen ayarlara gidin ve izin verin.".to_string(),
|
"Bildirim izni için sağ alttaki ayarlar ⚙️ ikonuna basın.".to_string(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -298,7 +298,17 @@ pub fn StatusBar() -> impl IntoView {
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button class="btn btn-ghost btn-xs btn-square" title="Settings">
|
<button
|
||||||
|
class="btn btn-ghost btn-xs btn-square"
|
||||||
|
title="Settings & Notification Permissions"
|
||||||
|
on:click=move |_| {
|
||||||
|
// Request push notification permission when settings button is clicked
|
||||||
|
spawn_local(async {
|
||||||
|
log::info!("Settings button clicked - requesting push notification permission");
|
||||||
|
crate::store::subscribe_to_push_notifications().await;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4">
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4">
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 010 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 01-.22.128c-.331.183-.581.495-.644.869l-.212 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 010-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.087.22-.128.332-.183.582-.495.644-.869l.214-1.281z" />
|
<path stroke-linecap="round" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 010 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 01-.22.128c-.331.183-.581.495-.644.869l-.212 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 010-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.087.22-.128.332-.183.582-.495.644-.869l.214-1.281z" />
|
||||||
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" />
|
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" />
|
||||||
|
|||||||
Reference in New Issue
Block a user