fix: column lose state when navigate back

This commit is contained in:
reya
2024-05-23 08:00:33 +07:00
parent 3a3f960dde
commit dc7762ca11
12 changed files with 10238 additions and 7717 deletions

View File

@@ -23,11 +23,7 @@ export const Route = createFileRoute("/create-group")({
}); });
function Screen() { function Screen() {
const contacts = Route.useLoaderData();
const navigate = Route.useNavigate();
const { ark } = Route.useRouteContext(); const { ark } = Route.useRouteContext();
const { label, redirect } = Route.useSearch();
const [title, setTitle] = useState(""); const [title, setTitle] = useState("");
const [npub, setNpub] = useState(""); const [npub, setNpub] = useState("");
@@ -36,6 +32,10 @@ function Screen() {
]); ]);
const [isLoading, setIsLoading] = useState(false); const [isLoading, setIsLoading] = useState(false);
const contacts = Route.useLoaderData();
const search = Route.useSearch();
const navigate = Route.useNavigate();
const toggleUser = (pubkey: string) => { const toggleUser = (pubkey: string) => {
setUsers((prev) => setUsers((prev) =>
prev.includes(pubkey) prev.includes(pubkey)
@@ -56,11 +56,11 @@ function Screen() {
try { try {
setIsLoading(true); setIsLoading(true);
const key = `lume_group_${label}`; const key = `lume_group_${search.label}`;
const createGroup = await ark.set_nstore(key, JSON.stringify(users)); const createGroup = await ark.set_nstore(key, JSON.stringify(users));
if (createGroup) { if (createGroup) {
return navigate({ to: redirect }); return navigate({ to: search.redirect, search: { ...search } });
} }
} catch (e) { } catch (e) {
setIsLoading(false); setIsLoading(false);

View File

@@ -18,12 +18,12 @@ export const Route = createFileRoute("/create-topic")({
}); });
function Screen() { function Screen() {
const { label, redirect } = Route.useSearch();
const { ark } = Route.useRouteContext(); const { ark } = Route.useRouteContext();
const [topics, setTopics] = useState<Topic[]>([]); const [topics, setTopics] = useState<Topic[]>([]);
const [isLoading, setIsLoading] = useState(false); const [isLoading, setIsLoading] = useState(false);
const search = Route.useSearch();
const navigate = Route.useNavigate(); const navigate = Route.useNavigate();
const toggleTopic = (topic: Topic) => { const toggleTopic = (topic: Topic) => {
@@ -38,11 +38,11 @@ function Screen() {
try { try {
setIsLoading(true); setIsLoading(true);
const key = `lume_topic_${label}`; const key = `lume_topic_${search.label}`;
const createTopic = await ark.set_nstore(key, JSON.stringify(topics)); const createTopic = await ark.set_nstore(key, JSON.stringify(topics));
if (createTopic) { if (createTopic) {
return navigate({ to: redirect }); return navigate({ to: search.redirect, search: { ...search } });
} }
} catch (e) { } catch (e) {
setIsLoading(false); setIsLoading(false);

View File

@@ -1,82 +1,82 @@
{ {
"$schema": "../gen/schemas/desktop-schema.json", "$schema": "../gen/schemas/desktop-schema.json",
"identifier": "desktop-capability", "identifier": "desktop-capability",
"description": "Capability for the desktop", "description": "Capability for the desktop",
"platforms": ["linux", "macOS", "windows"], "platforms": ["linux", "macOS", "windows"],
"windows": [ "windows": [
"main", "main",
"splash", "splash",
"settings", "settings",
"search", "search",
"nwc", "nwc",
"activity", "activity",
"zap-*", "zap-*",
"event-*", "event-*",
"user-*", "user-*",
"editor-*", "editor-*",
"column-*" "column-*"
], ],
"permissions": [ "permissions": [
"path:default", "path:default",
"event:default", "event:default",
"window:default", "window:default",
"app:default", "app:default",
"resources:default", "resources:default",
"menu:default", "menu:default",
"tray:default", "tray:default",
"notification:allow-is-permission-granted", "notification:allow-is-permission-granted",
"notification:allow-request-permission", "notification:allow-request-permission",
"notification:default", "notification:default",
"os:allow-locale", "os:allow-locale",
"os:allow-platform", "os:allow-platform",
"updater:default", "updater:default",
"updater:allow-check", "updater:allow-check",
"updater:allow-download-and-install", "updater:allow-download-and-install",
"window:allow-start-dragging", "window:allow-start-dragging",
"window:allow-create", "window:allow-create",
"window:allow-close", "window:allow-close",
"window:allow-set-focus", "window:allow-set-focus",
"window:allow-center", "window:allow-center",
"window:allow-minimize", "window:allow-minimize",
"window:allow-maximize", "window:allow-maximize",
"window:allow-set-size", "window:allow-set-size",
"window:allow-set-focus", "window:allow-set-focus",
"window:allow-start-dragging", "window:allow-start-dragging",
"decorum:allow-show-snap-overlay", "decorum:allow-show-snap-overlay",
"clipboard-manager:allow-write-text", "clipboard-manager:allow-write-text",
"clipboard-manager:allow-read-text", "clipboard-manager:allow-read-text",
"webview:allow-create-webview-window", "webview:allow-create-webview-window",
"webview:allow-create-webview", "webview:allow-create-webview",
"webview:allow-set-webview-size", "webview:allow-set-webview-size",
"webview:allow-set-webview-position", "webview:allow-set-webview-position",
"webview:allow-webview-close", "webview:allow-webview-close",
"dialog:allow-open", "dialog:allow-open",
"dialog:allow-ask", "dialog:allow-ask",
"dialog:allow-message", "dialog:allow-message",
"process:allow-restart", "process:allow-restart",
"fs:allow-read-file", "fs:allow-read-file",
"shell:allow-open", "shell:allow-open",
{ {
"identifier": "http:default", "identifier": "http:default",
"allow": [ "allow": [
{ {
"url": "http://**/" "url": "http://**/"
}, },
{ {
"url": "https://**/" "url": "https://**/"
} }
] ]
}, },
{ {
"identifier": "fs:allow-read-text-file", "identifier": "fs:allow-read-text-file",
"allow": [ "allow": [
{ {
"path": "$RESOURCE/locales/*" "path": "$RESOURCE/locales/*"
}, },
{ {
"path": "$RESOURCE/resources/*" "path": "$RESOURCE/resources/*"
} }
] ]
} }
] ]
} }

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -1,298 +1,298 @@
{ {
"global": { "global": {
"relay": "Relay", "relay": "Relay",
"back": "Back", "back": "Back",
"continue": "Continue", "continue": "Continue",
"loading": "Loading", "loading": "Loading",
"error": "Error", "error": "Error",
"moveLeft": "Move Left", "moveLeft": "Move Left",
"moveRight": "Move Right", "moveRight": "Move Right",
"newColumn": "New Column", "newColumn": "New Column",
"inspect": "Inspect", "inspect": "Inspect",
"loadMore": "Load more", "loadMore": "Load more",
"delete": "Delete", "delete": "Delete",
"refresh": "Refresh", "refresh": "Refresh",
"cancel": "Cancel", "cancel": "Cancel",
"save": "Save", "save": "Save",
"post": "Post", "post": "Post",
"update": "Update", "update": "Update",
"noResult": "No results found.", "noResult": "No results found.",
"emptyFeedTitle": "This feed is empty", "emptyFeedTitle": "This feed is empty",
"emptyFeedSubtitle": "You can follow more users to build up your timeline", "emptyFeedSubtitle": "You can follow more users to build up your timeline",
"apiKey": "API Key", "apiKey": "API Key",
"skip": "Skip", "skip": "Skip",
"close": "Close" "close": "Close"
}, },
"nip89": { "nip89": {
"unsupported": "Lume isn't support this event", "unsupported": "Lume isn't support this event",
"openWith": "Open with" "openWith": "Open with"
}, },
"note": { "note": {
"showThread": "Show thread", "showThread": "Show thread",
"showMore": "Show more", "showMore": "Show more",
"error": "Failed to fetch event.", "error": "Failed to fetch event.",
"posted": "posted", "posted": "posted",
"replied": "replied", "replied": "replied",
"reposted": "reposted", "reposted": "reposted",
"menu": { "menu": {
"viewThread": "View thread", "viewThread": "View thread",
"copyLink": "Copy shareable link", "copyLink": "Copy shareable link",
"copyNoteId": "Copy note ID", "copyNoteId": "Copy note ID",
"copyAuthorId": "Copy author ID", "copyAuthorId": "Copy author ID",
"viewAuthor": "View author", "viewAuthor": "View author",
"pinAuthor": "Pin author", "pinAuthor": "Pin author",
"copyRaw": "Copy raw event", "copyRaw": "Copy raw event",
"mute": "Mute" "mute": "Mute"
}, },
"buttons": { "buttons": {
"pin": "Pin", "pin": "Pin",
"pinTooltip": "Pin Note", "pinTooltip": "Pin Note",
"repost": "Repost", "repost": "Repost",
"quote": "Quote", "quote": "Quote",
"viewProfile": "View profile", "viewProfile": "View profile",
"reply": "Reply this note", "reply": "Reply this note",
"open": "Open in new window" "open": "Open in new window"
}, },
"zap": { "zap": {
"zap": "Zap", "zap": "Zap",
"tooltip": "Send zap", "tooltip": "Send zap",
"modalTitle": "Send zap to", "modalTitle": "Send zap to",
"messagePlaceholder": "Enter message (optional)", "messagePlaceholder": "Enter message (optional)",
"buttonFinish": "Zapped", "buttonFinish": "Zapped",
"buttonLoading": "Processing...", "buttonLoading": "Processing...",
"invoiceButton": "Scan to zap", "invoiceButton": "Scan to zap",
"invoiceFooter": "You must use Bitcoin wallet which support Lightning\nsuch as: Blue Wallet, Bitkit, Phoenix,..." "invoiceFooter": "You must use Bitcoin wallet which support Lightning\nsuch as: Blue Wallet, Bitkit, Phoenix,..."
}, },
"reply": { "reply": {
"single": "reply", "single": "reply",
"plural": "replies", "plural": "replies",
"empty": "Be the first to Reply!" "empty": "Be the first to Reply!"
} }
}, },
"user": { "user": {
"avatar": "Avatar", "avatar": "Avatar",
"displayName": "Display Name", "displayName": "Display Name",
"name": "Name", "name": "Name",
"bio": "Bio", "bio": "Bio",
"lna": "Lightning address", "lna": "Lightning address",
"website": "Website", "website": "Website",
"verified": "Verified", "verified": "Verified",
"unverified": "Unverified", "unverified": "Unverified",
"follow": "Follow", "follow": "Follow",
"unfollow": "Unfollow", "unfollow": "Unfollow",
"latestPosts": "Latest posts", "latestPosts": "Latest posts",
"avatarButton": "Change avatar", "avatarButton": "Change avatar",
"coverButton": "Change cover", "coverButton": "Change cover",
"editProfile": "Edit profile", "editProfile": "Edit profile",
"settings": "Settings", "settings": "Settings",
"logout": "Log out", "logout": "Log out",
"logoutConfirmTitle": "Are you sure!", "logoutConfirmTitle": "Are you sure!",
"logoutConfirmSubtitle": "You can always log back in at any time. If you just want to switch accounts, you can do that by adding an existing account." "logoutConfirmSubtitle": "You can always log back in at any time. If you just want to switch accounts, you can do that by adding an existing account."
}, },
"editor": { "editor": {
"title": "New Post", "title": "New Post",
"placeholder": "What are you up to?", "placeholder": "What are you up to?",
"successMessage": "Your note has been published successfully.", "successMessage": "Your note has been published successfully.",
"replyPlaceholder": "Post your reply" "replyPlaceholder": "Post your reply"
}, },
"search": { "search": {
"placeholder": "Type something to search...", "placeholder": "Type something to search...",
"empty": "Try searching for people, notes, or keywords" "empty": "Try searching for people, notes, or keywords"
}, },
"welcome": { "welcome": {
"title": "Lume is a magnificent client for Nostr to meet, explore\nand freely share your thoughts with everyone.", "title": "Lume is a magnificent client for Nostr to meet, explore\nand freely share your thoughts with everyone.",
"signup": "Join Nostr", "signup": "Join Nostr",
"login": "Login", "login": "Login",
"footer": "Before joining Nostr, you can take time to learn more about Nostr" "footer": "Before joining Nostr, you can take time to learn more about Nostr"
}, },
"login": { "login": {
"title": "Welcome back, anon!", "title": "Welcome back, anon!",
"subtitle": "We're so excited to see you again!", "subtitle": "We're so excited to see you again!",
"footer": "Lume will put your Private Key in Secure Storage depended on your OS Platform. It will be secured by Password or Biometric ID", "footer": "Lume will put your Private Key in Secure Storage depended on your OS Platform. It will be secured by Password or Biometric ID",
"loginWithAddress": "Login with Nostr Address", "loginWithAddress": "Login with Nostr Address",
"loginWithBunker": "Login with nsecBunker", "loginWithBunker": "Login with nsecBunker",
"or": "Or continue with", "or": "Or continue with",
"loginWithPrivkey": "Login with Private Key" "loginWithPrivkey": "Login with Private Key"
}, },
"loginWithAddress": { "loginWithAddress": {
"title": "Enter your Nostr Address" "title": "Enter your Nostr Address"
}, },
"loginWithBunker": { "loginWithBunker": {
"title": "Enter your nsecbunker token" "title": "Enter your nsecbunker token"
}, },
"loginWithPrivkey": { "loginWithPrivkey": {
"title": "Enter your Private Key", "title": "Enter your Private Key",
"subtitle": "Lume will put your private key to <1>{{service}}</1>.\nIt will be secured by your OS." "subtitle": "Lume will put your private key to <1>{{service}}</1>.\nIt will be secured by your OS."
}, },
"signup": { "signup": {
"title": "Let's Get Started", "title": "Let's Get Started",
"subtitle": "Choose one of methods below to create your account", "subtitle": "Choose one of methods below to create your account",
"selfManageMethod": "Self-Managed", "selfManageMethod": "Self-Managed",
"selfManageMethodDescription": "You create your keys and keep them safe.", "selfManageMethodDescription": "You create your keys and keep them safe.",
"providerMethod": "Managed by Provider", "providerMethod": "Managed by Provider",
"providerMethodDescription": "A 3rd party provider will handle your sign in keys for you." "providerMethodDescription": "A 3rd party provider will handle your sign in keys for you."
}, },
"backup": { "backup": {
"title": "This is your new sign in key", "title": "This is your new sign in key",
"subtitle": "Keep your key in safe place. If you lose this key, you will lose access to your account.", "subtitle": "Keep your key in safe place. If you lose this key, you will lose access to your account.",
"confirm1": "I understand the risk of lost private key.", "confirm1": "I understand the risk of lost private key.",
"confirm2": "I will make sure keep it safe and not sharing with anyone.", "confirm2": "I will make sure keep it safe and not sharing with anyone.",
"confirm3": "I understand I cannot recover private key.", "confirm3": "I understand I cannot recover private key.",
"button": "Save & Continue" "button": "Save & Continue"
}, },
"signupWithProvider": { "signupWithProvider": {
"title": "Let's set up your account on Nostr", "title": "Let's set up your account on Nostr",
"username": "Username *", "username": "Username *",
"chooseProvider": "Choose a Provider", "chooseProvider": "Choose a Provider",
"usernameFooter": "Use to login to Lume and other Nostr apps. You can choose provider you trust to manage your account", "usernameFooter": "Use to login to Lume and other Nostr apps. You can choose provider you trust to manage your account",
"email": "Backup Email (optional)", "email": "Backup Email (optional)",
"emailFooter": "Use for recover your account if you lose your password" "emailFooter": "Use for recover your account if you lose your password"
}, },
"onboardingSettings": { "onboardingSettings": {
"title": "You're almost ready to use Lume.", "title": "You're almost ready to use Lume.",
"subtitle": "Let's start personalizing your experience.", "subtitle": "Let's start personalizing your experience.",
"notification": { "notification": {
"title": "Push notification", "title": "Push notification",
"subtitle": "Enabling push notifications will allow you to receive notifications from Lume." "subtitle": "Enabling push notifications will allow you to receive notifications from Lume."
}, },
"lowPower": { "lowPower": {
"title": "Low Power Mode", "title": "Low Power Mode",
"subtitle": "Limited relay connection and hide all media, sustainable for low network environment." "subtitle": "Limited relay connection and hide all media, sustainable for low network environment."
}, },
"translation": { "translation": {
"title": "Translation (nostr.wine)", "title": "Translation (nostr.wine)",
"subtitle": "Translate text to your preferred language, powered by Nostr Wine." "subtitle": "Translate text to your preferred language, powered by Nostr Wine."
}, },
"footer": "There are many more settings you can configure from the 'Settings' Screen. Be sure to visit it later." "footer": "There are many more settings you can configure from the 'Settings' Screen. Be sure to visit it later."
}, },
"relays": { "relays": {
"global": "Global", "global": "Global",
"follows": "Follows", "follows": "Follows",
"sidebar": { "sidebar": {
"title": "Connected relays", "title": "Connected relays",
"empty": "Empty." "empty": "Empty."
}, },
"relayView": { "relayView": {
"empty": "Could not load relay information 😬", "empty": "Could not load relay information 😬",
"owner": "Owner", "owner": "Owner",
"contact": "Contact", "contact": "Contact",
"software": "Software", "software": "Software",
"nips": "Supported NIPs", "nips": "Supported NIPs",
"limit": "Limitation", "limit": "Limitation",
"payment": "Open payment website", "payment": "Open payment website",
"paymentNote": "You need to make a payment to connect this relay" "paymentNote": "You need to make a payment to connect this relay"
} }
}, },
"suggestion": { "suggestion": {
"title": "Suggested Follows", "title": "Suggested Follows",
"error": "Error. Cannot get trending users", "error": "Error. Cannot get trending users",
"button": "Save & Go back" "button": "Save & Go back"
}, },
"interests": { "interests": {
"title": "Interests", "title": "Interests",
"subtitle": "Pick things you'd like to see in your home feed.", "subtitle": "Pick things you'd like to see in your home feed.",
"edit": "Edit Interest", "edit": "Edit Interest",
"followAll": "Follow All", "followAll": "Follow All",
"unfollowAll": "Unfollow All" "unfollowAll": "Unfollow All"
}, },
"settings": { "settings": {
"general": { "general": {
"title": "General", "title": "General",
"update": { "update": {
"title": "Update", "title": "Update",
"subtitle": "Automatically download new update" "subtitle": "Automatically download new update"
}, },
"lowPower": { "lowPower": {
"title": "Low Power", "title": "Low Power",
"subtitle": "Sustainable for low network environment" "subtitle": "Sustainable for low network environment"
}, },
"startup": { "startup": {
"title": "Startup", "title": "Startup",
"subtitle": "Launch Lume at Login" "subtitle": "Launch Lume at Login"
}, },
"media": { "media": {
"title": "Media", "title": "Media",
"subtitle": "Automatically load media" "subtitle": "Automatically load media"
}, },
"hashtag": { "hashtag": {
"title": "Hashtag", "title": "Hashtag",
"subtitle": "Show all hashtags in content" "subtitle": "Show all hashtags in content"
}, },
"notification": { "notification": {
"title": "Notification", "title": "Notification",
"subtitle": "Automatically send notification" "subtitle": "Automatically send notification"
}, },
"translation": { "translation": {
"title": "Translation", "title": "Translation",
"subtitle": "Translate text to your language" "subtitle": "Translate text to your language"
}, },
"appearance": { "appearance": {
"title": "Appearance", "title": "Appearance",
"light": "Light", "light": "Light",
"dark": "Dark", "dark": "Dark",
"system": "System" "system": "System"
} }
}, },
"user": { "user": {
"title": "Account" "title": "Account"
}, },
"zap": { "zap": {
"title": "Zap", "title": "Zap",
"nwc": "Connection String" "nwc": "Connection String"
}, },
"backup": { "backup": {
"title": "Backup", "title": "Backup",
"privkey": { "privkey": {
"title": "Private key", "title": "Private key",
"button": "Remove private key" "button": "Remove private key"
} }
}, },
"advanced": { "advanced": {
"title": "Advanced", "title": "Advanced",
"cache": { "cache": {
"title": "Cache", "title": "Cache",
"subtitle": "Use for boost up nostr connection", "subtitle": "Use for boost up nostr connection",
"button": "Clear" "button": "Clear"
}, },
"instant": { "instant": {
"title": "Instant Zap", "title": "Instant Zap",
"subtitle": "Zap with default amount, no confirmation" "subtitle": "Zap with default amount, no confirmation"
}, },
"defaultAmount": "Default amount" "defaultAmount": "Default amount"
}, },
"about": { "about": {
"title": "About", "title": "About",
"version": "Version", "version": "Version",
"checkUpdate": "Check for update", "checkUpdate": "Check for update",
"installUpdate": "Install" "installUpdate": "Install"
} }
}, },
"onboarding": { "onboarding": {
"home": { "home": {
"title": "Your account was successfully created!", "title": "Your account was successfully created!",
"subtitle": "For starters, let's set up your profile.", "subtitle": "For starters, let's set up your profile.",
"profileSettings": "Profile Settings" "profileSettings": "Profile Settings"
}, },
"profile": { "profile": {
"title": "About you", "title": "About you",
"subtitle": "Tell Lume about yourself to start building your home feed." "subtitle": "Tell Lume about yourself to start building your home feed."
}, },
"finish": { "finish": {
"title": "Profile setup complete!", "title": "Profile setup complete!",
"subtitle": "You can exit the setup here and start using Lume.", "subtitle": "You can exit the setup here and start using Lume.",
"report": "Report a issue" "report": "Report a issue"
} }
}, },
"activity": { "activity": {
"title": "Activity", "title": "Activity",
"empty": "Yo! Nothing new yet.", "empty": "Yo! Nothing new yet.",
"mention": "mention you", "mention": "mention you",
"repost": "reposted", "repost": "reposted",
"zap": "zapped", "zap": "zapped",
"newReply": "New reply", "newReply": "New reply",
"boost": "Boost", "boost": "Boost",
"boostSubtitle": "@ Someone has reposted to your note", "boostSubtitle": "@ Someone has reposted to your note",
"conversation": "Conversation", "conversation": "Conversation",
"conversationSubtitle": "@ Someone has replied to your note" "conversationSubtitle": "@ Someone has replied to your note"
} }
} }

View File

@@ -1,52 +1,52 @@
[ [
{ {
"label": "lZfXLFgPPR4NNrgjlWDxn", "label": "lZfXLFgPPR4NNrgjlWDxn",
"name": "Newsfeed", "name": "Newsfeed",
"content": "/newsfeed", "content": "/newsfeed",
"logo": "", "logo": "",
"cover": "/newsfeed.png", "cover": "/newsfeed.png",
"coverRetina": "/newsfeed@2x.png", "coverRetina": "/newsfeed@2x.png",
"author": "Lume", "author": "Lume",
"description": "Keep up to date with the people you're following." "description": "Keep up to date with the people you're following."
}, },
{ {
"label": "rRtguZwIpd5G8Wt54OTb7", "label": "rRtguZwIpd5G8Wt54OTb7",
"name": "Topic", "name": "Topic",
"content": "/topic", "content": "/topic",
"logo": "", "logo": "",
"cover": "/foryou.png", "cover": "/foryou.png",
"coverRetina": "/foryou@2x.png", "coverRetina": "/foryou@2x.png",
"author": "Lume", "author": "Lume",
"description": "Keep up to date with content based on your interests." "description": "Keep up to date with content based on your interests."
}, },
{ {
"label": "fve9fk2fVyFWORPBkjd79", "label": "fve9fk2fVyFWORPBkjd79",
"name": "Group", "name": "Group",
"content": "/group", "content": "/group",
"logo": "", "logo": "",
"cover": "/group.png", "cover": "/group.png",
"coverRetina": "/group@2x.png", "coverRetina": "/group@2x.png",
"author": "Lume", "author": "Lume",
"description": "Focus feeds for people you like." "description": "Focus feeds for people you like."
}, },
{ {
"label": "gxtcIbgD8YNPbeI5o92I8", "label": "gxtcIbgD8YNPbeI5o92I8",
"name": "Trending", "name": "Trending",
"content": "/trending/notes", "content": "/trending/notes",
"logo": "", "logo": "",
"cover": "/trending.png", "cover": "/trending.png",
"coverRetina": "/trending@2x.png", "coverRetina": "/trending@2x.png",
"author": "Lume", "author": "Lume",
"description": "What is trending on Nostr?." "description": "What is trending on Nostr?."
}, },
{ {
"label": "GLFm44za8rhJDP04LMr3M", "label": "GLFm44za8rhJDP04LMr3M",
"name": "Global", "name": "Global",
"content": "/global", "content": "/global",
"logo": "", "logo": "",
"cover": "/global.png", "cover": "/global.png",
"coverRetina": "/global@2x.png", "coverRetina": "/global@2x.png",
"author": "Lume", "author": "Lume",
"description": "All events from connected relays." "description": "All events from connected relays."
} }
] ]

View File

@@ -1,7 +1,7 @@
[ [
{ "label": "onboarding", "name": "Onboarding", "content": "/onboarding" }, { "label": "onboarding", "name": "Onboarding", "content": "/onboarding" },
{ "label": "lume_newsfeed", "name": "Newsfeed", "content": "/newsfeed" }, { "label": "lume_newsfeed", "name": "Newsfeed", "content": "/newsfeed" },
{ "label": "lume_topic", "name": "Topic", "content": "/topic" }, { "label": "lume_topic", "name": "Topic", "content": "/topic" },
{ "label": "lume_group", "name": "Group", "content": "/group" }, { "label": "lume_group", "name": "Group", "content": "/group" },
{ "label": "open", "name": "Open", "content": "/open" } { "label": "open", "name": "Open", "content": "/open" }
] ]

View File

@@ -109,7 +109,13 @@ pub async fn get_local_events(
}; };
let authors: Vec<PublicKey> = pubkeys let authors: Vec<PublicKey> = pubkeys
.into_iter() .into_iter()
.map(|p| PublicKey::from_hex(p).unwrap()) .map(|p| {
if p.starts_with("npub1") {
PublicKey::from_bech32(p).unwrap()
} else {
PublicKey::from_hex(p).unwrap()
}
})
.collect(); .collect();
let filter = Filter::new() let filter = Filter::new()
.kinds(vec![Kind::TextNote, Kind::Repost]) .kinds(vec![Kind::TextNote, Kind::Repost])

View File

@@ -1,123 +1,123 @@
{ {
"$schema": "../node_modules/@tauri-apps/cli/schema.json", "$schema": "../node_modules/@tauri-apps/cli/schema.json",
"productName": "Lume", "productName": "Lume",
"version": "4.0.4", "version": "4.0.4",
"identifier": "nu.lume.Lume", "identifier": "nu.lume.Lume",
"build": { "build": {
"beforeBuildCommand": "pnpm desktop:build", "beforeBuildCommand": "pnpm desktop:build",
"beforeDevCommand": "pnpm desktop:dev", "beforeDevCommand": "pnpm desktop:dev",
"devUrl": "http://localhost:3000", "devUrl": "http://localhost:3000",
"frontendDist": "../dist" "frontendDist": "../dist"
}, },
"app": { "app": {
"macOSPrivateApi": true, "macOSPrivateApi": true,
"withGlobalTauri": true, "withGlobalTauri": true,
"trayIcon": { "trayIcon": {
"id": "main_tray", "id": "main_tray",
"iconPath": "./icons/tray.png", "iconPath": "./icons/tray.png",
"iconAsTemplate": true "iconAsTemplate": true
}, },
"security": { "security": {
"assetProtocol": { "assetProtocol": {
"enable": true, "enable": true,
"scope": [ "scope": [
"$APPDATA/*", "$APPDATA/*",
"$DATA/*", "$DATA/*",
"$LOCALDATA/*", "$LOCALDATA/*",
"$DESKTOP/*", "$DESKTOP/*",
"$DOCUMENT/*", "$DOCUMENT/*",
"$DOWNLOAD/*", "$DOWNLOAD/*",
"$HOME/*", "$HOME/*",
"$PICTURE/*", "$PICTURE/*",
"$PUBLIC/*", "$PUBLIC/*",
"$VIDEO/*", "$VIDEO/*",
"$APPCONFIG/*", "$APPCONFIG/*",
"$RESOURCE/*" "$RESOURCE/*"
] ]
} }
} }
}, },
"bundle": { "bundle": {
"licenseFile": "../LICENSE", "licenseFile": "../LICENSE",
"longDescription": "nostr client for desktop", "longDescription": "nostr client for desktop",
"shortDescription": "nostr client", "shortDescription": "nostr client",
"targets": "all", "targets": "all",
"active": true, "active": true,
"category": "SocialNetworking", "category": "SocialNetworking",
"resources": ["resources/*", "locales/*"], "resources": ["resources/*", "locales/*"],
"icon": [ "icon": [
"icons/32x32.png", "icons/32x32.png",
"icons/128x128.png", "icons/128x128.png",
"icons/128x128@2x.png", "icons/128x128@2x.png",
"icons/icon.icns", "icons/icon.icns",
"icons/icon.ico" "icons/icon.ico"
], ],
"linux": { "linux": {
"appimage": { "appimage": {
"bundleMediaFramework": true, "bundleMediaFramework": true,
"files": {} "files": {}
}, },
"deb": { "deb": {
"files": {} "files": {}
}, },
"rpm": { "rpm": {
"epoch": 0, "epoch": 0,
"files": {}, "files": {},
"release": "1" "release": "1"
} }
}, },
"macOS": { "macOS": {
"dmg": { "dmg": {
"appPosition": { "appPosition": {
"x": 180, "x": 180,
"y": 170 "y": 170
}, },
"applicationFolderPosition": { "applicationFolderPosition": {
"x": 480, "x": 480,
"y": 170 "y": 170
}, },
"windowSize": { "windowSize": {
"height": 400, "height": 400,
"width": 660 "width": 660
} }
}, },
"files": {}, "files": {},
"minimumSystemVersion": "10.15" "minimumSystemVersion": "10.15"
}, },
"windows": { "windows": {
"allowDowngrades": true, "allowDowngrades": true,
"certificateThumbprint": null, "certificateThumbprint": null,
"digestAlgorithm": "sha256", "digestAlgorithm": "sha256",
"nsis": null, "nsis": null,
"timestampUrl": null, "timestampUrl": null,
"tsp": false, "tsp": false,
"webviewFixedRuntimePath": null, "webviewFixedRuntimePath": null,
"webviewInstallMode": { "webviewInstallMode": {
"silent": true, "silent": true,
"type": "downloadBootstrapper" "type": "downloadBootstrapper"
}, },
"wix": null "wix": null
}, },
"fileAssociations": [ "fileAssociations": [
{ {
"name": "bech32", "name": "bech32",
"description": "Nostr Bech32", "description": "Nostr Bech32",
"ext": ["npub", "nsec", "nprofile", "nevent", "naddr", "nrelay"], "ext": ["npub", "nsec", "nprofile", "nevent", "naddr", "nrelay"],
"role": "Viewer" "role": "Viewer"
} }
] ]
}, },
"plugins": { "plugins": {
"updater": { "updater": {
"active": true, "active": true,
"pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IEU3OTdCMkM3RjU5QzE2NzkKUldSNUZwejF4N0tYNTVHYjMrU0JkL090SlEyNUVLYU5TM2hTU3RXSWtEWngrZWJ4a0pydUhXZHEK", "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IEU3OTdCMkM3RjU5QzE2NzkKUldSNUZwejF4N0tYNTVHYjMrU0JkL090SlEyNUVLYU5TM2hTU3RXSWtEWngrZWJ4a0pydUhXZHEK",
"windows": { "windows": {
"installMode": "quiet" "installMode": "quiet"
}, },
"endpoints": [ "endpoints": [
"https://lus.reya3772.workers.dev/v1/{{target}}/{{arch}}/{{current_version}}", "https://lus.reya3772.workers.dev/v1/{{target}}/{{arch}}/{{current_version}}",
"https://lus.reya3772.workers.dev/{{target}}/{{current_version}}" "https://lus.reya3772.workers.dev/{{target}}/{{current_version}}"
] ]
} }
} }
} }

View File

@@ -1,16 +1,16 @@
{ {
"$schema": "../node_modules/@tauri-apps/cli/schema.json", "$schema": "../node_modules/@tauri-apps/cli/schema.json",
"app": { "app": {
"windows": [ "windows": [
{ {
"title": "Lume", "title": "Lume",
"label": "main", "label": "main",
"titleBarStyle": "Overlay", "titleBarStyle": "Overlay",
"width": 500, "width": 500,
"height": 800, "height": 800,
"minWidth": 500, "minWidth": 500,
"minHeight": 800 "minHeight": 800
} }
] ]
} }
} }

View File

@@ -1,22 +1,22 @@
{ {
"$schema": "../node_modules/@tauri-apps/cli/schema.json", "$schema": "../node_modules/@tauri-apps/cli/schema.json",
"app": { "app": {
"windows": [ "windows": [
{ {
"title": "Lume", "title": "Lume",
"label": "main", "label": "main",
"titleBarStyle": "Overlay", "titleBarStyle": "Overlay",
"width": 500, "width": 500,
"height": 800, "height": 800,
"minWidth": 500, "minWidth": 500,
"minHeight": 800, "minHeight": 800,
"hiddenTitle": true, "hiddenTitle": true,
"decorations": true, "decorations": true,
"transparent": true, "transparent": true,
"windowEffects": { "windowEffects": {
"effects": ["windowBackground"] "effects": ["windowBackground"]
} }
} }
] ]
} }
} }