headlines: enable button

Also disable news from no api key notif
This commit is contained in:
2 * r + 2 * t 2025-04-10 20:30:18 +10:00
parent 6f62023574
commit 8d4c6bc830
2 changed files with 8 additions and 1 deletions

View file

@ -5,6 +5,7 @@ import { capitalize } from "@/utils/strings";
import { bind, execAsync, Variable } from "astal"; import { bind, execAsync, Variable } from "astal";
import { Gtk } from "astal/gtk3"; import { Gtk } from "astal/gtk3";
import { sidebar } from "config"; import { sidebar } from "config";
import { setConfig } from "config/funcs";
const fixGoogleNews = (colours: IPalette, title: string, desc: string) => { const fixGoogleNews = (colours: IPalette, title: string, desc: string) => {
// Add separator, bold and split at domain (domain is at the end of each headline) // Add separator, bold and split at domain (domain is at the end of each headline)
@ -153,7 +154,11 @@ const HeadlinesDisabled = () => (
<box className="header-bar"> <box className="header-bar">
<label label="Top news headlines" /> <label label="Top news headlines" />
<box hexpand /> <box hexpand />
<button sensitive={false} label="󰑓 Reload" /> <button
cursor="pointer"
onClicked={() => setConfig("sidebar.modules.headlines.enabled", true)}
label="󰞉 Enable"
/>
</box> </box>
<NoNews disabled /> <NoNews disabled />
</box> </box>

View file

@ -1,6 +1,7 @@
import { notify } from "@/utils/system"; import { notify } from "@/utils/system";
import { execAsync, GLib, GObject, property, readFileAsync, register, writeFileAsync } from "astal"; import { execAsync, GLib, GObject, property, readFileAsync, register, writeFileAsync } from "astal";
import { news as config } from "config"; import { news as config } from "config";
import { setConfig } from "config/funcs";
export interface IArticle { export interface IArticle {
title: string; title: string;
@ -55,6 +56,7 @@ export default class News extends GObject.Object {
urgency: "critical", urgency: "critical",
actions: { actions: {
"Get API key": () => execAsync("app2unit -O -- https://newsdata.io").catch(console.error), "Get API key": () => execAsync("app2unit -O -- https://newsdata.io").catch(console.error),
Disable: () => setConfig("sidebar.modules.headlines.enabled", false),
}, },
}); });
this.#notified = true; this.#notified = true;