diff --git a/apps/server/src/models/staff/staff.router.ts b/apps/server/src/models/staff/staff.router.ts index 31ec09c..c8d73dd 100755 --- a/apps/server/src/models/staff/staff.router.ts +++ b/apps/server/src/models/staff/staff.router.ts @@ -18,7 +18,7 @@ export class StaffRouter { private readonly trpc: TrpcService, private readonly staffService: StaffService, private readonly staffRowService: StaffRowService, - ) {} + ) { } router = this.trpc.router({ create: this.trpc.procedure @@ -77,5 +77,15 @@ export class StaffRouter { .mutation(async ({ input }) => { return this.staffService.updateOrder(input); }), + findManyWithPagination: this.trpc.procedure + .input(z.object({ + page: z.number(), + pageSize: z.number().optional(), + where: StaffWhereInputSchema.optional(), + select: StaffSelectSchema.optional() + })) // Assuming StaffMethodSchema.findMany is the Zod schema for finding staffs by keyword + .query(async ({ input }) => { + return await this.staffService.findManyWithPagination(input); + }), }); } diff --git a/apps/web/src/App.css b/apps/web/src/App.css index 4b64e11..0a774e6 100755 --- a/apps/web/src/App.css +++ b/apps/web/src/App.css @@ -33,8 +33,7 @@ --ag-spacing: 6px; --ag-odd-row-background-color: var(--color-fill-quaternary); --ag-wrapper-border-width: 0px; - /* --ag-wrapper-border-color: var(--color-border-secondary); */ - /* --ag-wrapper-border-radius: 10px; */ + } .ag-root-wrapper { diff --git a/apps/web/src/App.tsx b/apps/web/src/App.tsx index a8652ba..f065c59 100755 --- a/apps/web/src/App.tsx +++ b/apps/web/src/App.tsx @@ -10,7 +10,7 @@ import dayjs from "dayjs"; import "dayjs/locale/zh-cn"; import { AuthProvider } from './providers/auth-provider'; import { Toaster } from 'react-hot-toast'; -import {ThemeProvider} from "@nice/theme" +import ThemeProvider from './providers/theme-provider'; dayjs.locale("zh-cn"); function App() { @@ -23,7 +23,7 @@ function App() { theme={{ algorithm: theme.defaultAlgorithm, token: { - colorPrimary: "#2e75b6", + colorPrimary: "#00308a", }, components: {}, }}> diff --git a/apps/web/src/app/admin/base-setting/page.tsx b/apps/web/src/app/admin/base-setting/page.tsx index ae1060d..693b11b 100644 --- a/apps/web/src/app/admin/base-setting/page.tsx +++ b/apps/web/src/app/admin/base-setting/page.tsx @@ -13,11 +13,10 @@ import { } from "antd"; import { useAppConfig } from "@nice/client"; import { useAuth } from "@web/src/providers/auth-provider"; - -import FixedHeader from "@web/src/components/layout/fix-header"; import { useForm } from "antd/es/form/Form"; import { api } from "@nice/client" -import { MainLayoutContext } from "../layout"; +import AdminHeader from "@web/src/components/layout/admin/AdminHeader"; + export default function BaseSettingPage() { const { update, baseSetting } = useAppConfig(); @@ -31,7 +30,6 @@ export default function BaseSettingPage() { const [isFormChanged, setIsFormChanged] = useState(false); const [loading, setLoading] = useState(false); const { user, hasSomePermissions } = useAuth(); - const { pageWidth } = useContext?.(MainLayoutContext); function handleFieldsChange() { setIsFormChanged(true); } @@ -77,8 +75,8 @@ export default function BaseSettingPage() { } }, [baseSetting, form]); return ( -
- +
+
{isFormChanged && hasSomePermissions(RolePerms.MANAGE_BASE_SETTING) && ( @@ -93,7 +91,7 @@ export default function BaseSettingPage() { )}
- +
diff --git a/apps/web/src/app/admin/department/page.tsx b/apps/web/src/app/admin/department/page.tsx index a453c39..f93dd4f 100755 --- a/apps/web/src/app/admin/department/page.tsx +++ b/apps/web/src/app/admin/department/page.tsx @@ -1,7 +1,7 @@ import DeptEditor from "@web/src/components/models/department/dept-editor"; export default function DepartmentAdminPage() { - return
+ return
} \ No newline at end of file diff --git a/apps/web/src/app/admin/layout.tsx b/apps/web/src/app/admin/layout.tsx deleted file mode 100644 index c87aab6..0000000 --- a/apps/web/src/app/admin/layout.tsx +++ /dev/null @@ -1,115 +0,0 @@ -import React, { - createContext, - CSSProperties, - useEffect, - useState, -} from "react"; -import { Outlet, useLocation } from "react-router-dom"; -import "react-resizable/css/styles.css"; -import { theme } from "antd"; -import ResizableSidebar from "@web/src/components/layout/resizable-sidebar"; -import SidebarContent from "@web/src/components/layout/sidebar-content"; -import UserHeader from "@web/src/components/layout/user-header"; -import { Icon } from "@nice/iconer"; -import { env } from "@web/src/env"; -import RoundedClip from "@web/src/components/svg/rounded-clip"; -import {useTerm} from "@nice/client" - -export const MainLayoutContext = createContext<{ - pageWidth?: number; -}>({ - pageWidth: undefined, -}); -const ParallelogramTag = () => { - const { token } = theme.useToken(); - const parallelogramStyle: CSSProperties = { - display: "inline-flex", - alignItems: "center", // 垂直居中 - transform: "skew(-20deg)", - height: "25px", // 调整高度以适应文本 - padding: "0 20px", - backgroundColor: token.colorPrimaryBg, - // margin: '0 0 0 10px', - }; - - const contentStyle: CSSProperties = { - transform: "skew(20deg)", - fontSize: token.fontSize, - fontWeight: "bold", - color: token.colorPrimary, - }; - - return ( -
- {env.VERSION} -
- ); -}; -const MainLayoutPage: React.FC = () => { - const { token } = theme.useToken(); - const [sidebarWidth, setSidebarWidth] = useState(); - const [pageWidth, setPageWidth] = useState(); - useTerm(); - const updateWidth = () => { - const remainingWidth = - window.innerWidth - Math.max(sidebarWidth || 0, 200); - setPageWidth(remainingWidth); - }; - useEffect(() => { - window.addEventListener("resize", updateWidth); - return () => window.removeEventListener("resize", updateWidth); - }, []); - useEffect(() => { - updateWidth(); - }, [sidebarWidth]); - useEffect(() => { - document.title = `${env.APP_NAME}`; - }, []); - - return ( - -
-
- -
- {env.APP_NAME || "loop sys"} -
- -
-
- - - -
- -
- - -
-
-
-
-
- ); -}; - -export default MainLayoutPage; diff --git a/apps/web/src/app/admin/role/page.tsx b/apps/web/src/app/admin/role/page.tsx index 4a7b4ff..c867b32 100755 --- a/apps/web/src/app/admin/role/page.tsx +++ b/apps/web/src/app/admin/role/page.tsx @@ -1,11 +1,11 @@ -import FixedHeader from "@web/src/components/layout/fix-header"; +import AdminHeader from "@web/src/components/layout/admin/AdminHeader"; import RoleEditor from "@web/src/components/models/role/role-editor/role-editor"; export default function RoleAdminPage() { return ( <> - - + + diff --git a/apps/web/src/app/admin/staff/page.tsx b/apps/web/src/app/admin/staff/page.tsx index 35d3c2c..fe33f2a 100755 --- a/apps/web/src/app/admin/staff/page.tsx +++ b/apps/web/src/app/admin/staff/page.tsx @@ -1,7 +1,7 @@ import StaffEditor from "@web/src/components/models/staff/staff-editor" export default function StaffPage() { return ( -
+
); diff --git a/apps/web/src/app/admin/term/page.tsx b/apps/web/src/app/admin/term/page.tsx index a756fbf..bd471bc 100755 --- a/apps/web/src/app/admin/term/page.tsx +++ b/apps/web/src/app/admin/term/page.tsx @@ -1,10 +1,9 @@ - -import FixedHeader from "@web/src/components/layout/fix-header"; +import AdminHeader from "@web/src/components/layout/admin/AdminHeader"; import TermEditor from "@web/src/components/models/term/term-editor"; export default function TermAdminPage() { return (<> - + ); diff --git a/apps/web/src/app/auth/page.tsx b/apps/web/src/app/auth/page.tsx index 39c0185..c4a3d27 100644 --- a/apps/web/src/app/auth/page.tsx +++ b/apps/web/src/app/auth/page.tsx @@ -47,7 +47,7 @@ const AuthPage: React.FC = () => { >
{/* Left Panel - Welcome Section */} -
+
{ - + +

公开信件列表

diff --git a/apps/web/src/app/main/letter/list/LetterCard.tsx b/apps/web/src/app/main/letter/list/LetterCard.tsx index 61cbc18..b322c5b 100644 --- a/apps/web/src/app/main/letter/list/LetterCard.tsx +++ b/apps/web/src/app/main/letter/list/LetterCard.tsx @@ -37,7 +37,7 @@ export function LetterCard({ letter }: LetterCardProps) { return (

{/* Title & Priority */} @@ -46,10 +46,10 @@ export function LetterCard({ letter }: LetterCardProps) { {letter.title} @@ -60,20 +60,20 @@ export function LetterCard({ letter }: LetterCardProps) {
{/* Meta Info */} -
+
- + {letter.sender} | - + {letter.unit} - + {letter.date}
diff --git a/apps/web/src/app/main/letter/write/LeaderCard.tsx b/apps/web/src/app/main/letter/write/LeaderCard.tsx index d3c5b6a..a2ebdbf 100644 --- a/apps/web/src/app/main/letter/write/LeaderCard.tsx +++ b/apps/web/src/app/main/letter/write/LeaderCard.tsx @@ -41,7 +41,7 @@ export default function LeaderCard({ leader, isSelected, onSelect }: LeaderCardP

{leader.name}

- + {leader.rank}
@@ -76,8 +76,8 @@ export default function LeaderCard({ leader, isSelected, onSelect }: LeaderCardP
- setSearchFocused(true)} - value={searchQuery} - onChange={(e) => setSearchQuery(e.target.value)} - /> - {searchQuery && ( - setSearchQuery('')} - > - - - )} -
- -
- ); -} \ No newline at end of file diff --git a/apps/web/src/components/layout/main/search-dropdown.tsx b/apps/web/src/components/layout/main/search-dropdown.tsx deleted file mode 100644 index 39f27f4..0000000 --- a/apps/web/src/components/layout/main/search-dropdown.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import { MagnifyingGlassIcon } from '@heroicons/react/24/outline'; -import { motion } from 'framer-motion'; - -interface SearchDropdownProps { - searchFocused: boolean; - searchQuery: string; - recentSearches: string[]; - setSearchQuery: (query: string) => void; -} - -export function SearchDropdown({ - searchFocused, - searchQuery, - recentSearches, - setSearchQuery -}: SearchDropdownProps) { - if (!searchFocused) return null; - - return ( - -
-

Recent Searches

-
- {recentSearches.map((search, index) => ( - setSearchQuery(search)} - > - - {search} - - ))} -
-
- {searchQuery && ( -
- - - - Search for "{searchQuery}" - - -
- )} -
- ); -} \ No newline at end of file diff --git a/apps/web/src/components/layout/resizable-sidebar.tsx b/apps/web/src/components/layout/resizable-sidebar.tsx deleted file mode 100644 index da9e970..0000000 --- a/apps/web/src/components/layout/resizable-sidebar.tsx +++ /dev/null @@ -1,95 +0,0 @@ -import { useState, useEffect } from 'react'; -import { ResizableBox } from 'react-resizable'; -import 'react-resizable/css/styles.css'; -import { theme } from 'antd'; -import { ReactNode } from 'react'; - -type SidebarProps = { - children: ReactNode; - handlePosition?: 'left' | 'right'; - className?: string; - minWidth?: number; - maxWidth?: number; - defaultWidth?: number; - onWidthChange?: (width: number) => void; // New prop for handling width change -}; - -export default function ResizableSidebar({ - children, - handlePosition = 'right', - className = '', - minWidth = 200, - maxWidth = 400, - defaultWidth = 200, - onWidthChange -}: SidebarProps) { - const [width, setWidth] = useState(defaultWidth); - const [isDragging, setIsDragging] = useState(false); - const [isHoveringHandle, setIsHoveringHandle] = useState(false); - const { token } = theme.useToken(); - - useEffect(() => { - if (isDragging) { - document.body.style.cursor = 'col-resize'; - } else { - document.body.style.cursor = ''; - } - - return () => { - document.body.style.cursor = ''; // Cleanup on unmount - }; - }, [isDragging]); - - const handleResizeStop = (e, data) => { - const newWidth = data.size.width; - setWidth(newWidth); - setIsDragging(false); - - if (onWidthChange) { - onWidthChange(newWidth); // Call the callback with new width - } - }; - - return ( - setIsDragging(true)} - onResizeStop={handleResizeStop} - handle={ - setIsHoveringHandle(true)} - onMouseLeave={() => setIsHoveringHandle(false)} - /> - } - className={className} - style={{ - overflow: 'hidden', - position: 'relative', - ...(handlePosition === 'right' && { - borderRight: (isDragging || isHoveringHandle) ? `2px solid ${token.colorPrimaryBorder}` : ``, - }), - ...(handlePosition === 'left' && { - borderLeft: (isDragging || isHoveringHandle) ? `2px solid ${token.colorPrimaryBorder}` : ``, - }), - transition: 'border-color 0.3s', - }} - > - {children} - - ); -} diff --git a/apps/web/src/components/layout/sidebar-content.tsx b/apps/web/src/components/layout/sidebar-content.tsx deleted file mode 100644 index 95ab558..0000000 --- a/apps/web/src/components/layout/sidebar-content.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import { Avatar, Divider, Dropdown, theme } from "antd"; -import { Icon } from "@nice/iconer"; - -import CollapsibleSection from "../presentation/collapse-section"; -import { useAuth } from "@web/src/providers/auth-provider"; -import { RolePerms } from "@nice/common"; - -export default function SidebarContent() { - const { logout, user, isAuthenticated, hasSomePermissions } = useAuth(); - - return ( -
-
- , - // link: "/", - // }, - - hasSomePermissions( - RolePerms.MANAGE_ANY_DEPT, - RolePerms.MANAGE_ANY_STAFF, - RolePerms.MANAGE_ANY_ROLE, - RolePerms.MANAGE_DOM_STAFF, - RolePerms.MANAGE_BASE_SETTING - ) && { - key: "4", - label: "系统设置", - icon: , - children: [ - hasSomePermissions( - RolePerms.MANAGE_BASE_SETTING - ) && { - key: "4-0", - icon: , - label: "参数配置", - link: "/admin/base-setting", - }, - - hasSomePermissions( - RolePerms.MANAGE_ANY_TERM, - // RolePerms.MANAGE_DOM_TERM - ) && { - key: "4-1", - icon: , - label: "分类配置", - link: "/admin/term", - }, - hasSomePermissions( - RolePerms.MANAGE_ANY_DEPT - ) && { - key: "4-5", - icon: , - label: "组织架构", - link: "/admin/department", - }, - hasSomePermissions( - RolePerms.MANAGE_ANY_STAFF, - RolePerms.MANAGE_DOM_STAFF - ) && { - key: "4-6", - icon: , - label: "用户管理", - link: "/admin/staff", - }, - hasSomePermissions( - RolePerms.MANAGE_ANY_ROLE, - RolePerms.MANAGE_DOM_ROLE - ) && { - key: "4-7", - icon: , - label: "角色管理", - link: "/admin/role", - }, - ].filter(Boolean), - }, - ].filter(Boolean)}> -
-
- ); -} diff --git a/apps/web/src/components/layout/user-header.tsx b/apps/web/src/components/layout/user-header.tsx deleted file mode 100644 index 788f6a9..0000000 --- a/apps/web/src/components/layout/user-header.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { Avatar, Button, Dropdown, theme } from "antd"; -import { useAuth } from "@web/src/providers/auth-provider"; -import { Icon } from "@nice/iconer"; -import { useNavigate } from "react-router-dom"; - -export default function UserHeader() { - const { logout, user, isAuthenticated } = useAuth(); - const { token } = theme.useToken(); - - const navigate = useNavigate(); - return ( -
-
-
-
{ - // if (user?.pilot?.id) { - // navigate(`/pilots/${user?.pilot.id}`); - // } - }}> - - - {(user?.showname || user?.username) - ?.slice(0, 1) - .toUpperCase()} - - {user?.showname || user?.username} - {user?.department && <> - - {user?.department?.name}} -
-
-
{ - await logout() - }} - className="active:bg-gray-100/60 flex items-center gap-2 text-white hover:bg-gray-100/30 px-2 rounded py-1 cursor-pointer"> - - 注销 -
-
-
- ); -} diff --git a/apps/web/src/components/models/department/dept-editor.tsx b/apps/web/src/components/models/department/dept-editor.tsx index 1d43a2d..62239bb 100644 --- a/apps/web/src/components/models/department/dept-editor.tsx +++ b/apps/web/src/components/models/department/dept-editor.tsx @@ -7,7 +7,7 @@ import { useForm } from "antd/es/form/Form"; import DepartmentList from "./department-list"; import DeptModal from "./dept-modal"; import DeptImportModal from "./dept-import-modal"; -import FixedHeader from "../../layout/fix-header"; +import AdminHeader from "../../layout/admin/AdminHeader"; export const DeptEditorContext = createContext<{ parentId: string; domainId: string; @@ -58,7 +58,7 @@ export default function DeptEditor() { setImportModalOpen, importModalOpen, }}> - +
{canManageDept && ( <> @@ -81,7 +81,7 @@ export default function DeptEditor() { )}
-
+ diff --git a/apps/web/src/components/models/role/role-editor/role-list.tsx b/apps/web/src/components/models/role/role-editor/role-list.tsx index 6f06808..eaa4631 100644 --- a/apps/web/src/components/models/role/role-editor/role-list.tsx +++ b/apps/web/src/components/models/role/role-editor/role-list.tsx @@ -71,9 +71,9 @@ export default function RoleList() { setRole(item as any) }} style={{ - background: item.id === role?.id ? token.colorPrimaryBg : "" + background: item.id === role?.id ? token.colorBgTextHover : "" }} - className={`p-2 hover:bg-textHover text-tertiary-300 ${item.id === role?.id ? " text-primary border-l-4 border-primaryHover" : ""} transition-all ease-in-out flex items-center justify-between `} + className={`p-2 hover:bg-textHover text-tertiary-300 ${item.id === role?.id ? " text-primary border-l-4 border-primary" : ""} transition-all ease-in-out flex items-center justify-between `} key={item.id}>
diff --git a/apps/web/src/components/models/staff/staff-editor.tsx b/apps/web/src/components/models/staff/staff-editor.tsx index 285e149..4bc4b76 100644 --- a/apps/web/src/components/models/staff/staff-editor.tsx +++ b/apps/web/src/components/models/staff/staff-editor.tsx @@ -7,7 +7,8 @@ import { useAuth } from "@web/src/providers/auth-provider"; import { Button } from "antd"; import DepartmentSelect from "../department/department-select"; import { FormInstance, useForm } from "antd/es/form/Form"; -import FixedHeader from "../../layout/fix-header"; +import AdminHeader from "../../layout/admin/AdminHeader"; + export const StaffEditorContext = createContext<{ domainId: string, modalOpen: boolean, @@ -51,7 +52,7 @@ export default function StaffEditor() { return hasSomePermissions(RolePerms.MANAGE_ANY_STAFF) }, [user]) return - +
setDomainId(value as string)} disabled={!canManageAnyStaff} value={domainId} className="w-48" domain={true}> {canManageStaff &&
-
+
diff --git a/apps/web/src/components/models/term/taxonomy-list.tsx b/apps/web/src/components/models/term/taxonomy-list.tsx index 2689cce..a3ac151 100644 --- a/apps/web/src/components/models/term/taxonomy-list.tsx +++ b/apps/web/src/components/models/term/taxonomy-list.tsx @@ -25,12 +25,12 @@ const TaxonomyList: React.FC = () => { {taxonomies?.map((item) => (
{ setTaxonomyId(item.id) setTaxonomyName(item?.name) - }} className={`flex items-center ${item.id === taxonomyId ? " text-primary border-l-4 border-primaryHover" : ""} gap-4 p-2 hover:bg-textHover transition-all ease-in-out`}> + }} className={`flex items-center ${item.id === taxonomyId ? " text-primary border-l-4 border-primary" : ""} gap-4 p-2 hover:bg-textHover transition-all ease-in-out`}>
{item.name}
diff --git a/apps/web/src/components/presentation/NavBar.tsx b/apps/web/src/components/presentation/NavBar.tsx deleted file mode 100644 index dd9f98c..0000000 --- a/apps/web/src/components/presentation/NavBar.tsx +++ /dev/null @@ -1,58 +0,0 @@ -// components/NavBar.tsx -import { motion } from "framer-motion"; -import React, { useState } from "react"; - -interface NavItem { - id: string; - icon?: React.ReactNode; - label: string; -} - -interface NavBarProps { - items: NavItem[]; - defaultSelected?: string; - onSelect?: (id: string) => void; -} - -export const NavBar = ({ items, defaultSelected, onSelect }: NavBarProps) => { - const [selected, setSelected] = useState(defaultSelected || items[0]?.id); - - const handleSelect = (id: string) => { - setSelected(id); - onSelect?.(id); - }; - - return ( - - ); -}; diff --git a/apps/web/src/components/presentation/ag-server-table.tsx b/apps/web/src/components/presentation/ag-server-table.tsx index d7f13af..a73f176 100644 --- a/apps/web/src/components/presentation/ag-server-table.tsx +++ b/apps/web/src/components/presentation/ag-server-table.tsx @@ -368,7 +368,6 @@ const AgServerTable: React.FC = ({ }}>
; className?: string; defaultExpandedKeys?: string[]; + renderItem?: (item: MenuItem, isActive: boolean, level: number) => React.ReactNode; } interface MenuItem { @@ -25,6 +26,7 @@ const CollapsibleSection: React.FC = ({ items, className, defaultExpandedKeys = [], + renderItem, }) => { const location = useLocation(); const navigate = useNavigate(); @@ -59,12 +61,17 @@ const CollapsibleSection: React.FC = ({ const itemUrl = new URL(item.link, window.location.origin); const itemPath = itemUrl.pathname; const itemSearchParams = new URLSearchParams(itemUrl.search); + + const hasChildren = item.children && item.children.length > 0; const isActive = currentPath === itemPath && Array.from(itemSearchParams.entries()).every( ([key, value]) => currentSearchParams.get(key) === value ); + if (renderItem) { + return renderItem(item, isActive, level); + } const isChildCollapsed = !expandedSections[item.key]; diff --git a/apps/web/src/components/presentation/video-player/ControlButtons/Brightness.tsx b/apps/web/src/components/presentation/video-player/ControlButtons/Brightness.tsx index 2dcaf4d..7a3e462 100644 --- a/apps/web/src/components/presentation/video-player/ControlButtons/Brightness.tsx +++ b/apps/web/src/components/presentation/video-player/ControlButtons/Brightness.tsx @@ -8,7 +8,7 @@ export default function Brightness() { <> {/* 亮度控制 */}
-
diff --git a/apps/web/src/components/presentation/video-player/ControlButtons/Play.tsx b/apps/web/src/components/presentation/video-player/ControlButtons/Play.tsx index fdff076..0b3acc1 100644 --- a/apps/web/src/components/presentation/video-player/ControlButtons/Play.tsx +++ b/apps/web/src/components/presentation/video-player/ControlButtons/Play.tsx @@ -13,7 +13,7 @@ export default function Play() { ? videoRef.current.play() : videoRef.current?.pause() } - className="text-white hover:text-primaryHover"> + className="text-white hover:text-primary-400"> {isPlaying ? ( ) : ( diff --git a/apps/web/src/components/presentation/video-player/ControlButtons/Setting.tsx b/apps/web/src/components/presentation/video-player/ControlButtons/Setting.tsx index 2ece400..8516570 100644 --- a/apps/web/src/components/presentation/video-player/ControlButtons/Setting.tsx +++ b/apps/web/src/components/presentation/video-player/ControlButtons/Setting.tsx @@ -17,7 +17,7 @@ export default function Setting() {
@@ -42,11 +42,10 @@ export default function Setting() { }} className={` w-full text-left px-3 py-2 rounded - ${ - resolution === res.id - ? "bg-primary text-white" - : "text-white/90 hover:bg-white/20" - } + ${resolution === res.id + ? "bg-primary text-white" + : "text-white/90 hover:bg-white/20" + } transition-colors duration-200 `}> {res.label || `${res.height}p`} diff --git a/apps/web/src/components/presentation/video-player/ControlButtons/Speed.tsx b/apps/web/src/components/presentation/video-player/ControlButtons/Speed.tsx index 8489a50..bb4b6b6 100644 --- a/apps/web/src/components/presentation/video-player/ControlButtons/Speed.tsx +++ b/apps/web/src/components/presentation/video-player/ControlButtons/Speed.tsx @@ -16,7 +16,7 @@ export default function Speed() {
) diff --git a/apps/web/src/components/presentation/video-player/ControlButtons/Volume.tsx b/apps/web/src/components/presentation/video-player/ControlButtons/Volume.tsx index bb25b68..41180c4 100644 --- a/apps/web/src/components/presentation/video-player/ControlButtons/Volume.tsx +++ b/apps/web/src/components/presentation/video-player/ControlButtons/Volume.tsx @@ -11,7 +11,7 @@ export default function Volume() {