hbf0421 commited on
Commit
f0c27c9
·
verified ·
1 Parent(s): e34a698

کلیک روی صفحه کار نمیکند

Browse files
Files changed (1) hide show
  1. script.js +46 -15
script.js CHANGED
@@ -35,12 +35,34 @@ let currentImage = null;
35
  let currentPageCount = 4;
36
  let currentOverlap = 5; // in mm
37
  // Event listeners
38
- uploadBtn.addEventListener('click', () => fileInput.click());
39
- fileInput.addEventListener('change', handleFileSelect);
40
- dropZone.addEventListener('dragover', handleDragOver);
41
- dropZone.addEventListener('dragleave', handleDragLeave);
42
- dropZone.addEventListener('drop', handleDrop);
43
- pageCountInput.addEventListener('input', updatePageCount);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  overlapInput.addEventListener('input', updateOverlap);
45
  portraitBtn.addEventListener('click', () => setOrientation('portrait'));
46
  landscapeBtn.addEventListener('click', () => setOrientation('landscape'));
@@ -86,44 +108,53 @@ currentOrientation = orientation;
86
 
87
  // Handle drag over
88
  function handleDragOver(e) {
89
- e.preventDefault();
90
  e.stopPropagation();
91
  dropZone.classList.add('highlight');
92
  }
93
 
94
  // Handle drag leave
95
  function handleDragLeave(e) {
96
- e.preventDefault();
97
  e.stopPropagation();
98
  dropZone.classList.remove('highlight');
99
  }
100
-
101
  // Handle drop
102
  function handleDrop(e) {
103
- e.preventDefault();
104
  e.stopPropagation();
105
  dropZone.classList.remove('highlight');
106
 
107
- const file = e.dataTransfer.files[0];
 
 
108
  if (file && file.type.match('image.*')) {
109
  processImageFile(file);
 
 
110
  }
111
  }
112
-
113
- // Process image file
114
  function processImageFile(file) {
 
 
 
 
 
115
  const reader = new FileReader();
116
  reader.onload = function(e) {
117
  currentImage = new Image();
118
  currentImage.onload = function() {
119
  showPreview();
120
  };
 
 
 
121
  currentImage.src = e.target.result;
122
  };
 
 
 
123
  reader.readAsDataURL(file);
124
  }
125
-
126
- // Show preview
127
  function showPreview() {
128
  imagePreview.src = currentImage.src;
129
  imagePreviewContainer.classList.remove('hidden');
 
35
  let currentPageCount = 4;
36
  let currentOverlap = 5; // in mm
37
  // Event listeners
38
+ // Set up event listeners properly
39
+ if (uploadBtn && fileInput) {
40
+ uploadBtn.addEventListener('click', (e) => {
41
+ e.preventDefault();
42
+ fileInput.click();
43
+ });
44
+ }
45
+
46
+ if (fileInput) {
47
+ fileInput.addEventListener('change', handleFileSelect);
48
+ }
49
+
50
+ if (dropZone) {
51
+ dropZone.addEventListener('click', () => fileInput.click());
52
+ dropZone.addEventListener('dragover', (e) => {
53
+ e.preventDefault();
54
+ handleDragOver(e);
55
+ });
56
+ dropZone.addEventListener('dragleave', (e) => {
57
+ e.preventDefault();
58
+ handleDragLeave(e);
59
+ });
60
+ dropZone.addEventListener('drop', (e) => {
61
+ e.preventDefault();
62
+ handleDrop(e);
63
+ });
64
+ }
65
+ pageCountInput.addEventListener('input', updatePageCount);
66
  overlapInput.addEventListener('input', updateOverlap);
67
  portraitBtn.addEventListener('click', () => setOrientation('portrait'));
68
  landscapeBtn.addEventListener('click', () => setOrientation('landscape'));
 
108
 
109
  // Handle drag over
110
  function handleDragOver(e) {
 
111
  e.stopPropagation();
112
  dropZone.classList.add('highlight');
113
  }
114
 
115
  // Handle drag leave
116
  function handleDragLeave(e) {
 
117
  e.stopPropagation();
118
  dropZone.classList.remove('highlight');
119
  }
 
120
  // Handle drop
121
  function handleDrop(e) {
 
122
  e.stopPropagation();
123
  dropZone.classList.remove('highlight');
124
 
125
+ const dt = e.dataTransfer;
126
+ const file = dt.files[0];
127
+
128
  if (file && file.type.match('image.*')) {
129
  processImageFile(file);
130
+ } else {
131
+ alert('Please drop an image file only');
132
  }
133
  }
134
+ // Process image file
 
135
  function processImageFile(file) {
136
+ if (!file.type.match('image.*')) {
137
+ alert('Please select an image file (JPEG, PNG, etc.)');
138
+ return;
139
+ }
140
+
141
  const reader = new FileReader();
142
  reader.onload = function(e) {
143
  currentImage = new Image();
144
  currentImage.onload = function() {
145
  showPreview();
146
  };
147
+ currentImage.onerror = function() {
148
+ alert('Error loading image');
149
+ };
150
  currentImage.src = e.target.result;
151
  };
152
+ reader.onerror = function() {
153
+ alert('Error reading file');
154
+ };
155
  reader.readAsDataURL(file);
156
  }
157
+ // Show preview
 
158
  function showPreview() {
159
  imagePreview.src = currentImage.src;
160
  imagePreviewContainer.classList.remove('hidden');