diff --git a/icons/mgc/AZ_sort_ascending_letters_cute_re.svg b/icons/mgc/AZ_sort_ascending_letters_cute_re.svg
new file mode 100644
index 000000000..cd207ef4a
--- /dev/null
+++ b/icons/mgc/AZ_sort_ascending_letters_cute_re.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/mgc/AZ_sort_descending_letters_cute_re.svg b/icons/mgc/AZ_sort_descending_letters_cute_re.svg
new file mode 100644
index 000000000..2ae960c17
--- /dev/null
+++ b/icons/mgc/AZ_sort_descending_letters_cute_re.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/mgc/list_collapse_cute_re.svg b/icons/mgc/list_collapse_cute_re.svg
new file mode 100644
index 000000000..a7b71c3d1
--- /dev/null
+++ b/icons/mgc/list_collapse_cute_re.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/mgc/list_expansion_cute_re.svg b/icons/mgc/list_expansion_cute_re.svg
new file mode 100644
index 000000000..b9747bbac
--- /dev/null
+++ b/icons/mgc/list_expansion_cute_re.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/mgc/sort_ascending_cute_re.svg b/icons/mgc/sort_ascending_cute_re.svg
new file mode 100644
index 000000000..d333c3d02
--- /dev/null
+++ b/icons/mgc/sort_ascending_cute_re.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/mgc/sort_descending_cute_re.svg b/icons/mgc/sort_descending_cute_re.svg
new file mode 100644
index 000000000..292e82e5d
--- /dev/null
+++ b/icons/mgc/sort_descending_cute_re.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/renderer/src/modules/feed-column/atom.ts b/src/renderer/src/modules/feed-column/atom.ts
new file mode 100644
index 000000000..bc0a44d42
--- /dev/null
+++ b/src/renderer/src/modules/feed-column/atom.ts
@@ -0,0 +1,41 @@
+import { createAtomHooks } from "@renderer/lib/jotai"
+import { getStorageNS } from "@renderer/lib/ns"
+import { atomWithStorage } from "jotai/utils"
+
+export type FeedListSortBy = "count" | "alphabetical"
+export type FeedListSortOrder = "asc" | "desc"
+const [
+ ,
+ ,
+ useFeedListSort,
+ ,
+ getFeedListSort,
+ setFeedListSort,
+ useFeedListSortSelector,
+] = createAtomHooks(
+ atomWithStorage(
+ getStorageNS("feedListSort"),
+ {
+ by: "count" as FeedListSortBy,
+ order: "desc" as FeedListSortOrder,
+ },
+ undefined,
+ { getOnInit: true },
+ ),
+)
+
+export { getFeedListSort, useFeedListSort, useFeedListSortSelector }
+
+export const setFeedListSortBy = (by: FeedListSortBy) => {
+ setFeedListSort({
+ ...getFeedListSort(),
+ by,
+ })
+}
+
+export const setFeedListSortOrder = (order: FeedListSortOrder) => {
+ setFeedListSort({
+ ...getFeedListSort(),
+ order,
+ })
+}