52 lines
1.0 KiB
TypeScript
52 lines
1.0 KiB
TypeScript
export type ToolId =
|
|
| 'select'
|
|
| 'pan'
|
|
| 'highlight'
|
|
| 'draw'
|
|
| 'comment'
|
|
| 'textbox'
|
|
| 'edit_text'
|
|
| 'signature'
|
|
| 'stamp'
|
|
| 'redact';
|
|
|
|
export interface ToolSettings {
|
|
highlightColor: string;
|
|
highlightOpacity: number; // 0..1
|
|
inkColor: string;
|
|
inkThickness: number;
|
|
textColor: string;
|
|
fontSize: number;
|
|
}
|
|
|
|
export const DEFAULT_TOOL_SETTINGS: ToolSettings = {
|
|
highlightColor: '#facc15',
|
|
highlightOpacity: 0.4,
|
|
inkColor: '#2563eb',
|
|
inkThickness: 2,
|
|
textColor: '#1f2937',
|
|
fontSize: 14,
|
|
};
|
|
|
|
export const TOOL_SHORTCUTS: Record<string, ToolId> = {
|
|
v: 'select',
|
|
h: 'pan',
|
|
k: 'highlight',
|
|
d: 'draw',
|
|
c: 'comment',
|
|
t: 'textbox',
|
|
e: 'edit_text',
|
|
s: 'signature',
|
|
m: 'stamp',
|
|
r: 'redact',
|
|
};
|
|
|
|
export const STAMP_PRESETS = [
|
|
{ label: 'APPROVED', color: '#16a34a' },
|
|
{ label: 'DRAFT', color: '#6b7280' },
|
|
{ label: 'CONFIDENTIAL', color: '#dc2626' },
|
|
{ label: 'REVIEWED', color: '#2563eb' },
|
|
{ label: 'FINAL', color: '#7c3aed' },
|
|
{ label: 'VOID', color: '#dc2626' },
|
|
];
|