summaryrefslogtreecommitdiff
path: root/components/common/discipline-hardcoded
diff options
context:
space:
mode:
Diffstat (limited to 'components/common/discipline-hardcoded')
-rw-r--r--components/common/discipline-hardcoded/discipline-data.ts14
-rw-r--r--components/common/discipline-hardcoded/discipline-hardcoded-selector.tsx48
-rw-r--r--components/common/discipline-hardcoded/index.ts3
3 files changed, 65 insertions, 0 deletions
diff --git a/components/common/discipline-hardcoded/discipline-data.ts b/components/common/discipline-hardcoded/discipline-data.ts
new file mode 100644
index 00000000..4910e272
--- /dev/null
+++ b/components/common/discipline-hardcoded/discipline-data.ts
@@ -0,0 +1,14 @@
+export const HARDCODED_DISCIPLINES = [
+ 'ARCHITECTURE',
+ 'CCS',
+ 'ELECTRICAL',
+ 'INSTRUMENT',
+ 'INSULATION',
+ 'MACHINERY',
+ 'MECHANICAL',
+ 'PIPING',
+ 'STRUCTURE',
+ 'SURFACE PROTECTION',
+] as const
+
+export type HardcodedDiscipline = typeof HARDCODED_DISCIPLINES[number]
diff --git a/components/common/discipline-hardcoded/discipline-hardcoded-selector.tsx b/components/common/discipline-hardcoded/discipline-hardcoded-selector.tsx
new file mode 100644
index 00000000..6de0a285
--- /dev/null
+++ b/components/common/discipline-hardcoded/discipline-hardcoded-selector.tsx
@@ -0,0 +1,48 @@
+'use client'
+
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from '@/components/ui/select'
+import { HARDCODED_DISCIPLINES, HardcodedDiscipline } from './discipline-data'
+
+export interface DisciplineHardcodedSelectorProps {
+ selectedDiscipline?: string
+ onDisciplineSelect: (discipline: string) => void
+ disabled?: boolean
+ placeholder?: string
+ className?: string
+}
+
+export function DisciplineHardcodedSelector({
+ selectedDiscipline,
+ onDisciplineSelect,
+ disabled,
+ placeholder = "설계공종 선택",
+ className
+}: DisciplineHardcodedSelectorProps) {
+
+ return (
+ <Select
+ value={selectedDiscipline}
+ onValueChange={onDisciplineSelect}
+ disabled={disabled}
+ >
+ <SelectTrigger className={`w-full ${className || ''}`}>
+ <SelectValue placeholder={placeholder}>
+ {selectedDiscipline || <span className="text-muted-foreground">{placeholder}</span>}
+ </SelectValue>
+ </SelectTrigger>
+ <SelectContent>
+ {HARDCODED_DISCIPLINES.map((discipline) => (
+ <SelectItem key={discipline} value={discipline}>
+ {discipline}
+ </SelectItem>
+ ))}
+ </SelectContent>
+ </Select>
+ )
+}
diff --git a/components/common/discipline-hardcoded/index.ts b/components/common/discipline-hardcoded/index.ts
new file mode 100644
index 00000000..bd55175f
--- /dev/null
+++ b/components/common/discipline-hardcoded/index.ts
@@ -0,0 +1,3 @@
+export * from './discipline-data'
+export * from './discipline-hardcoded-selector'
+