feat: complete release preparation, 10+ ad mediation, CI/CD, and docker deployment
Some checks failed
CI Pipeline / Code Quality & Typecheck (push) Waiting to run
CI Pipeline / Test Suite (macos-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (ubuntu-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (windows-latest) (push) Blocked by required conditions
CI Pipeline / Build Validation (admin) (push) Blocked by required conditions
CI Pipeline / Build Validation (desktop) (push) Blocked by required conditions
Deploy Landing Page / deploy (push) Blocked by required conditions
Deploy Landing Page / build (push) Waiting to run
Release & Packaging Pipeline / Build & Publish Admin Docker Image (push) Failing after 8s
Release & Code Signing CA Pipeline / build-and-sign-windows (push) Failing after 1m51s
Build macOS / Build & Package (macOS) (push) Failing after 4s
Build macOS / Build & Package (macOS)-1 (push) Failing after 5s
Release & Code Signing CA Pipeline / build-and-sign-macos (push) Failing after 3s
Release & Packaging Pipeline / Package macOS Desktop App (push) Failing after 4s
Release & Packaging Pipeline / Package Windows Desktop App (push) Failing after 2m28s
Release & Packaging Pipeline / Publish Official GitHub Release (push) Has been skipped
Some checks failed
CI Pipeline / Code Quality & Typecheck (push) Waiting to run
CI Pipeline / Test Suite (macos-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (ubuntu-latest) (push) Blocked by required conditions
CI Pipeline / Test Suite (windows-latest) (push) Blocked by required conditions
CI Pipeline / Build Validation (admin) (push) Blocked by required conditions
CI Pipeline / Build Validation (desktop) (push) Blocked by required conditions
Deploy Landing Page / deploy (push) Blocked by required conditions
Deploy Landing Page / build (push) Waiting to run
Release & Packaging Pipeline / Build & Publish Admin Docker Image (push) Failing after 8s
Release & Code Signing CA Pipeline / build-and-sign-windows (push) Failing after 1m51s
Build macOS / Build & Package (macOS) (push) Failing after 4s
Build macOS / Build & Package (macOS)-1 (push) Failing after 5s
Release & Code Signing CA Pipeline / build-and-sign-macos (push) Failing after 3s
Release & Packaging Pipeline / Package macOS Desktop App (push) Failing after 4s
Release & Packaging Pipeline / Package Windows Desktop App (push) Failing after 2m28s
Release & Packaging Pipeline / Publish Official GitHub Release (push) Has been skipped
This commit is contained in:
parent
5cd1de6859
commit
708e20f747
406 changed files with 42464 additions and 6199 deletions
|
|
@ -1,17 +1,24 @@
|
|||
// src/renderer/components/shared/SearchInput.tsx
|
||||
// 공유: 모노 폰트 검색 입력 필드
|
||||
// Precision Glass Search Bar with Tactile Clear & Keycap Indicator
|
||||
|
||||
import { TextField, InputAdornment } from '@mui/material'
|
||||
import { Search } from 'lucide-react'
|
||||
import { d3roPalette, d3roFontMono, d3roTypo } from '@d3ro/ui/theme'
|
||||
import React from 'react'
|
||||
import { TextField, InputAdornment, IconButton, Box } from '@mui/material'
|
||||
import { Search, X } from 'lucide-react'
|
||||
import { d3roPalette, d3roFontSans, d3roFontMono, d3roTypo, d3roRadius, d3roShadow } from '@d3ro/ui/theme'
|
||||
|
||||
interface SearchInputProps {
|
||||
export interface SearchInputProps {
|
||||
value: string
|
||||
onChange: (value: string) => void
|
||||
placeholder: string
|
||||
shortcut?: string
|
||||
}
|
||||
|
||||
export function SearchInput({ value, onChange, placeholder }: SearchInputProps): React.ReactElement {
|
||||
export function SearchInput({
|
||||
value,
|
||||
onChange,
|
||||
placeholder,
|
||||
shortcut = '/',
|
||||
}: SearchInputProps): React.ReactElement {
|
||||
return (
|
||||
<TextField
|
||||
placeholder={placeholder}
|
||||
|
|
@ -19,20 +26,76 @@ export function SearchInput({ value, onChange, placeholder }: SearchInputProps):
|
|||
onChange={(e) => onChange(e.target.value)}
|
||||
fullWidth
|
||||
sx={{
|
||||
mb: 3,
|
||||
mb: 2.5,
|
||||
'& .MuiOutlinedInput-root': {
|
||||
bgcolor: d3roPalette.glass.raised,
|
||||
backdropFilter: `blur(${d3roPalette.glass.blur})`,
|
||||
borderRadius: d3roRadius.inner,
|
||||
border: `1px solid ${d3roPalette.glass.hairline}`,
|
||||
boxShadow: d3roShadow.inset,
|
||||
transition: 'all 0.2s ease',
|
||||
'& fieldset': { border: 'none' },
|
||||
'&:hover': {
|
||||
borderColor: d3roPalette.glass.hairlineStrong,
|
||||
bgcolor: d3roPalette.bg.cardHover,
|
||||
},
|
||||
'&.Mui-focused': {
|
||||
border: `1px solid ${d3roPalette.accent.main}`,
|
||||
boxShadow: `${d3roShadow.inset}, 0 0 0 3px ${d3roPalette.accent.dim}`,
|
||||
},
|
||||
},
|
||||
'& .MuiInputBase-input': {
|
||||
fontFamily: d3roFontMono,
|
||||
fontSize: d3roTypo.small.size,
|
||||
letterSpacing: d3roTypo.small.spacing,
|
||||
fontFamily: d3roFontSans,
|
||||
fontSize: d3roTypo.compact.size,
|
||||
color: d3roPalette.text.primary,
|
||||
py: 1.25,
|
||||
'&::placeholder': {
|
||||
color: d3roPalette.text.disabled,
|
||||
opacity: 1,
|
||||
},
|
||||
},
|
||||
}}
|
||||
slotProps={{
|
||||
input: {
|
||||
startAdornment: (
|
||||
<InputAdornment position="start">
|
||||
<Search size={18} style={{ color: d3roPalette.text.inactive }} />
|
||||
<InputAdornment position="start" sx={{ pl: 0.5 }}>
|
||||
<Search size={17} style={{ color: d3roPalette.text.secondary }} />
|
||||
</InputAdornment>
|
||||
),
|
||||
endAdornment: value ? (
|
||||
<InputAdornment position="end">
|
||||
<IconButton
|
||||
size="small"
|
||||
onClick={() => onChange('')}
|
||||
sx={{
|
||||
color: d3roPalette.text.inactive,
|
||||
p: 0.5,
|
||||
'&:hover': { color: d3roPalette.text.primary },
|
||||
}}
|
||||
>
|
||||
<X size={15} />
|
||||
</IconButton>
|
||||
</InputAdornment>
|
||||
) : shortcut ? (
|
||||
<InputAdornment position="end" sx={{ pr: 0.5 }}>
|
||||
<Box
|
||||
sx={{
|
||||
px: 0.85,
|
||||
py: 0.2,
|
||||
borderRadius: d3roRadius.xs,
|
||||
bgcolor: d3roPalette.bg.inset,
|
||||
border: `1px solid ${d3roPalette.border.subtle}`,
|
||||
fontFamily: d3roFontMono,
|
||||
fontSize: '11px',
|
||||
color: d3roPalette.text.dimLabel,
|
||||
lineHeight: 1,
|
||||
userSelect: 'none',
|
||||
}}
|
||||
>
|
||||
{shortcut}
|
||||
</Box>
|
||||
</InputAdornment>
|
||||
) : undefined,
|
||||
},
|
||||
}}
|
||||
/>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue