feat: use different icon from unread toggle

This commit is contained in:
DIYgod 2024-06-02 11:51:17 +08:00
parent 8ff486c59a
commit 298b50d615
No known key found for this signature in database
4 changed files with 21 additions and 91 deletions

View File

@ -1,7 +1,7 @@
{
"name": "follow",
"version": "0.0.1",
"packageManager": "pnpm@9.1.1",
"packageManager": "pnpm@9.1.4",
"description": "An Electron application with React and TypeScript",
"author": "example.com",
"homepage": "https://electron-vite.org",
@ -42,7 +42,6 @@
"@radix-ui/react-switch": "1.0.3",
"@radix-ui/react-tabs": "1.0.4",
"@radix-ui/react-toast": "1.1.5",
"@radix-ui/react-toggle": "1.0.3",
"@radix-ui/react-tooltip": "1.0.7",
"@tanstack/query-sync-storage-persister": "5.40.0",
"@tanstack/react-query": "5.40.0",

View File

@ -65,9 +65,6 @@ importers:
'@radix-ui/react-toast':
specifier: 1.1.5
version: 1.1.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-toggle':
specifier: 1.0.3
version: 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-tooltip':
specifier: 1.0.7
version: 1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@ -1579,19 +1576,6 @@ packages:
'@types/react-dom':
optional: true
'@radix-ui/react-toggle@1.0.3':
resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
react: ^16.8 || ^17.0 || ^18.0
react-dom: ^16.8 || ^17.0 || ^18.0
peerDependenciesMeta:
'@types/react':
optional: true
'@types/react-dom':
optional: true
'@radix-ui/react-tooltip@1.0.7':
resolution: {integrity: sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==}
peerDependencies:
@ -6652,18 +6636,6 @@ snapshots:
'@types/react': 18.3.3
'@types/react-dom': 18.3.0
'@radix-ui/react-toggle@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.24.4
'@radix-ui/primitive': 1.0.1
'@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.3)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
'@types/react': 18.3.3
'@types/react-dom': 18.3.0
'@radix-ui/react-tooltip@1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.24.4
@ -7218,7 +7190,7 @@ snapshots:
app-builder-bin@4.0.0: {}
app-builder-lib@24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3)))(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3)):
app-builder-lib@24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8))(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3)):
dependencies:
'@develar/schema-utils': 2.6.5
'@electron/notarize': 2.2.1
@ -7232,7 +7204,7 @@ snapshots:
builder-util-runtime: 9.2.4
chromium-pickle-js: 0.2.0
debug: 4.3.4
dmg-builder: 24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3))
dmg-builder: 24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8)
ejs: 3.1.9
electron-builder-squirrel-windows: 25.0.0-alpha.8(dmg-builder@24.13.3)
electron-publish: 24.13.1
@ -7252,7 +7224,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
app-builder-lib@25.0.0-alpha.8(dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3)))(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3)):
app-builder-lib@25.0.0-alpha.8(dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8))(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3)):
dependencies:
'@develar/schema-utils': 2.6.5
'@electron/notarize': 2.3.0
@ -7267,7 +7239,7 @@ snapshots:
builder-util-runtime: 9.2.5-alpha.2
chromium-pickle-js: 0.2.0
debug: 4.3.4
dmg-builder: 24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3))
dmg-builder: 24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8)
ejs: 3.1.10
electron-builder-squirrel-windows: 25.0.0-alpha.8(dmg-builder@24.13.3)
electron-publish: 25.0.0-alpha.7
@ -7877,9 +7849,9 @@ snapshots:
dlv@1.1.3: {}
dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3)):
dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8):
dependencies:
app-builder-lib: 24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3)))(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3))
app-builder-lib: 24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8))(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3))
builder-util: 24.13.1
builder-util-runtime: 9.2.4
fs-extra: 10.1.0
@ -7929,7 +7901,7 @@ snapshots:
electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3):
dependencies:
app-builder-lib: 25.0.0-alpha.8(dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3)))(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3))
app-builder-lib: 25.0.0-alpha.8(dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8))(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3))
archiver: 5.3.2
builder-util: 25.0.0-alpha.6
fs-extra: 10.1.0
@ -7940,11 +7912,11 @@ snapshots:
electron-builder@24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3)):
dependencies:
app-builder-lib: 24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3)))(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3))
app-builder-lib: 24.13.3(dmg-builder@24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8))(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3))
builder-util: 24.13.1
builder-util-runtime: 9.2.4
chalk: 4.1.2
dmg-builder: 24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8(dmg-builder@24.13.3))
dmg-builder: 24.13.3(electron-builder-squirrel-windows@25.0.0-alpha.8)
fs-extra: 10.1.0
is-ci: 3.0.1
lazy-val: 1.0.5

View File

@ -1,4 +1,4 @@
import { Toggle } from "@renderer/components/ui/toggle"
import { Button } from "@renderer/components/ui/button"
import {
Tooltip,
TooltipContent,
@ -173,14 +173,16 @@ const ListHeader: FC = () => {
Items
</div>
</div>
<Tooltip>
<TooltipTrigger>
<Toggle pressed={unreadOnly} onPressedChange={setUnreadOnly} className="size-8 rounded-full p-0">
<i className="i-mingcute-round-line" />
</Toggle>
</TooltipTrigger>
<TooltipContent side="bottom">{unreadOnly ? "Unread Only" : "All"}</TooltipContent>
</Tooltip>
<div className="flex items-center gap-1">
<Tooltip>
<TooltipTrigger>
<Button className="size-8 rounded-full p-0 text-lg" variant="ghost" onClick={() => setUnreadOnly(!unreadOnly)}>
{unreadOnly ? <i className="i-mingcute-round-fill" /> : <i className="i-mingcute-round-line" />}
</Button>
</TooltipTrigger>
<TooltipContent side="bottom">{unreadOnly ? "Unread Only" : "All"}</TooltipContent>
</Tooltip>
</div>
</div>
)
}

View File

@ -1,43 +0,0 @@
import * as TogglePrimitive from "@radix-ui/react-toggle"
import { cn } from "@renderer/lib/utils"
import type { VariantProps } from "class-variance-authority"
import { cva } from "class-variance-authority"
import * as React from "react"
const toggleVariants = cva(
"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",
{
variants: {
variant: {
default: "bg-transparent",
outline:
"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground",
},
size: {
default: "h-10 px-3",
sm: "h-9 px-2.5",
lg: "h-11 px-5",
},
},
defaultVariants: {
variant: "default",
size: "default",
},
},
)
const Toggle = React.forwardRef<
React.ElementRef<typeof TogglePrimitive.Root>,
React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> &
VariantProps<typeof toggleVariants>
>(({ className, variant, size, ...props }, ref) => (
<TogglePrimitive.Root
ref={ref}
className={cn(toggleVariants({ variant, size, className }))}
{...props}
/>
))
Toggle.displayName = TogglePrimitive.Root.displayName
export { Toggle, toggleVariants }