fix
This commit is contained in:
		
							parent
							
								
									45a87ce157
								
							
						
					
					
						commit
						e540a82d98
					
				| @ -1,4 +1,4 @@ | |||||||
| import { test, expect } from '@playwright/test'; | import { expect, test } from '@playwright/test'; | ||||||
| 
 | 
 | ||||||
| test.describe('Tool - Border generator', () => { | test.describe('Tool - Border generator', () => { | ||||||
|   test.beforeEach(async ({ page }) => { |   test.beforeEach(async ({ page }) => { | ||||||
| @ -8,8 +8,4 @@ test.describe('Tool - Border generator', () => { | |||||||
|   test('Has correct title', async ({ page }) => { |   test('Has correct title', async ({ page }) => { | ||||||
|     await expect(page).toHaveTitle('Border generator - IT Tools'); |     await expect(page).toHaveTitle('Border generator - IT Tools'); | ||||||
|   }); |   }); | ||||||
| 
 | }); | ||||||
|   test('', async ({ page }) => { |  | ||||||
| 
 |  | ||||||
|   }); |  | ||||||
| }); |  | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| import { expect, describe, it } from 'vitest'; | // import { expect, describe, it } from 'vitest';
 | ||||||
| // import { } from './border-generator.service';
 | // import { } from './border-generator.service';
 | ||||||
| //
 | //
 | ||||||
| // describe('border-generator', () => {
 | // describe('border-generator', () => {
 | ||||||
| //
 | //
 | ||||||
| // })
 | // })
 | ||||||
|  | |||||||
| @ -1,84 +1,9 @@ | |||||||
| <template> |  | ||||||
|   <div class="container"> |  | ||||||
|     <div class="square" :style="styleObject"></div> |  | ||||||
| 
 |  | ||||||
|     <n-card title="Border Radius and Style Editor" class="controls"> |  | ||||||
|       <n-form> |  | ||||||
|         <n-form-item label="Units"> |  | ||||||
|           <n-select v-model:value="unit" :options="unitOptions" @update:value="updateCSSOutput" /> |  | ||||||
|         </n-form-item> |  | ||||||
| 
 |  | ||||||
|         <div class="radius-controls"> |  | ||||||
|           <n-form-item label="Top Left" class="half-slider"> |  | ||||||
|             <n-slider |  | ||||||
|               :min="0" |  | ||||||
|               :max="borders.topLeft.max" |  | ||||||
|               v-model:value="borders.topLeft.value" |  | ||||||
|               @update:value="updateCSSOutput" |  | ||||||
|               :step="1" |  | ||||||
|             /> |  | ||||||
|             <span>{{ borders.topLeft.value + unit }}</span> |  | ||||||
|           </n-form-item> |  | ||||||
|           <n-form-item label="Top Right" class="half-slider"> |  | ||||||
|             <n-slider |  | ||||||
|               :min="0" |  | ||||||
|               :max="borders.topRight.max" |  | ||||||
|               v-model:value="borders.topRight.value" |  | ||||||
|               @update:value="updateCSSOutput" |  | ||||||
|               :step="1" |  | ||||||
|             /> |  | ||||||
|             <span>{{ borders.topRight.value + unit }}</span> |  | ||||||
|           </n-form-item> |  | ||||||
|         </div> |  | ||||||
|         <div class="radius-controls"> |  | ||||||
|           <n-form-item label="Bottom Left" class="half-slider"> |  | ||||||
|             <n-slider |  | ||||||
|               :min="0" |  | ||||||
|               :max="borders.bottomLeft.max" |  | ||||||
|               v-model:value="borders.bottomLeft.value" |  | ||||||
|               @update:value="updateCSSOutput" |  | ||||||
|               :step="1" |  | ||||||
|             /> |  | ||||||
|             <span>{{ borders.bottomLeft.value + unit }}</span> |  | ||||||
|           </n-form-item> |  | ||||||
|           <n-form-item label="Bottom Right" class="half-slider"> |  | ||||||
|             <n-slider |  | ||||||
|               :min="0" |  | ||||||
|               :max="borders.bottomRight.max" |  | ||||||
|               v-model:value="borders.bottomRight.value" |  | ||||||
|               @update:value="updateCSSOutput" |  | ||||||
|               :step="1" |  | ||||||
|             /> |  | ||||||
|             <span>{{ borders.bottomRight.value + unit }}</span> |  | ||||||
|           </n-form-item> |  | ||||||
|         </div> |  | ||||||
|         <div class="border-controls"> |  | ||||||
|           <n-form-item label="Border Width" class="border-width-slider"> |  | ||||||
|             <n-slider :min="0" :max="100" v-model:value="borderWidth" @update:value="updateCSSOutput" :step="1" /> |  | ||||||
|             <span>{{ borderWidth + 'px' }}</span> |  | ||||||
|           </n-form-item> |  | ||||||
|           <n-form-item label="Border Style" class="border-style-select"> |  | ||||||
|             <n-select v-model:value="borderStyle" :options="borderStyles" @update:value="updateCSSOutput" /> |  | ||||||
|           </n-form-item> |  | ||||||
|         </div> |  | ||||||
| 
 |  | ||||||
|         <n-form-item label="Border Color"> |  | ||||||
|           <n-color-picker v-model:value="borderColor" @update:value="updateCSSOutput" /> |  | ||||||
|         </n-form-item> |  | ||||||
| 
 |  | ||||||
|         <n-form-item label="CSS Properties"> |  | ||||||
|           <TextareaCopyable :value="cssOutput" language="css" /> |  | ||||||
|         </n-form-item> |  | ||||||
|       </n-form> |  | ||||||
|     </n-card> |  | ||||||
|   </div> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script lang="ts"> | <script lang="ts"> | ||||||
| import { defineComponent, ref, computed } from 'vue'; | import { defineComponent, ref, computed } from 'vue'; | ||||||
| import { NSlider, NForm, NFormItem, NSelect, NCard, NColorPicker } from 'naive-ui'; | import { NSlider, NForm, NFormItem, NSelect, NCard, NColorPicker } from 'naive-ui'; | ||||||
| import TextareaCopyable from '@/components/TextareaCopyable.vue'; | import TextareaCopyable from '@/components/TextareaCopyable.vue'; | ||||||
| import { Borders } from './border-generator.service'; | import { Borders } from './border-generator.service'; | ||||||
|  | import { generateCSSOutput } from './border-generator.service'; | ||||||
| 
 | 
 | ||||||
| export default defineComponent({ | export default defineComponent({ | ||||||
|   name: 'BorderRadiusViewer', |   name: 'BorderRadiusViewer', | ||||||
| @ -117,7 +42,6 @@ export default defineComponent({ | |||||||
|       { label: 'Outset', value: 'outset' }, |       { label: 'Outset', value: 'outset' }, | ||||||
|       { label: 'None', value: 'none' }, |       { label: 'None', value: 'none' }, | ||||||
|     ]; |     ]; | ||||||
| 
 |  | ||||||
|     const styleObject = computed(() => ({ |     const styleObject = computed(() => ({ | ||||||
|       border: `${borderWidth.value}px ${borderStyle.value} ${borderColor.value}`, |       border: `${borderWidth.value}px ${borderStyle.value} ${borderColor.value}`, | ||||||
|       borderRadius: `${borders.value.topLeft.value}${unit.value} ${borders.value.topRight.value}${unit.value} ${borders.value.bottomRight.value}${unit.value} ${borders.value.bottomLeft.value}${unit.value}`, |       borderRadius: `${borders.value.topLeft.value}${unit.value} ${borders.value.topRight.value}${unit.value} ${borders.value.bottomRight.value}${unit.value} ${borders.value.bottomLeft.value}${unit.value}`, | ||||||
| @ -125,7 +49,8 @@ export default defineComponent({ | |||||||
| 
 | 
 | ||||||
|     const cssOutput = computed( |     const cssOutput = computed( | ||||||
|       () => |       () => | ||||||
|         `border: ${borderWidth.value}px ${borderStyle.value} ${borderColor.value};\nborder-radius: ${borders.value.topLeft.value}${unit.value} ${borders.value.topRight.value}${unit.value} ${borders.value.bottomRight.value}${unit.value} ${borders.value.bottomLeft.value}${unit.value};`, |         `border: ${borderWidth.value}px ${borderStyle.value} ${borderColor.value}; | ||||||
|  | border-radius: ${borders.value.topLeft.value}${unit.value} ${borders.value.topRight.value}${unit.value} ${borders.value.bottomRight.value}${unit.value} ${borders.value.bottomLeft.value}${unit.value};`, | ||||||
|     ); |     ); | ||||||
| 
 | 
 | ||||||
|     function updateCSSOutput() { |     function updateCSSOutput() { | ||||||
| @ -211,3 +136,78 @@ n-color-picker { | |||||||
|   width: 100%; |   width: 100%; | ||||||
| } | } | ||||||
| </style> | </style> | ||||||
|  | <template> | ||||||
|  |   <div class="container"> | ||||||
|  |     <div class="square" :style="styleObject"></div> | ||||||
|  | 
 | ||||||
|  |     <NCard title="Border Radius and Style Editor" class="controls"> | ||||||
|  |       <NForm> | ||||||
|  |         <NFormItem label="Units"> | ||||||
|  |           <NSelect v-model:value="unit" :options="unitOptions" @update:value="updateCSSOutput" /> | ||||||
|  |         </NFormItem> | ||||||
|  | 
 | ||||||
|  |         <div class="radius-controls"> | ||||||
|  |           <NFormItem label="Top Left" class="half-slider"> | ||||||
|  |             <NSlider | ||||||
|  |               v-model:value="borders.topLeft.value" | ||||||
|  |               :min="0" | ||||||
|  |               :max="borders.topLeft.max" | ||||||
|  |               :step="1" | ||||||
|  |               @update:value="updateCSSOutput" | ||||||
|  |             /> | ||||||
|  |             <span>{{ borders.topLeft.value + unit }}</span> | ||||||
|  |           </NFormItem> | ||||||
|  |           <NFormItem label="Top Right" class="half-slider"> | ||||||
|  |             <NSlider | ||||||
|  |               v-model:value="borders.topRight.value" | ||||||
|  |               :min="0" | ||||||
|  |               :max="borders.topRight.max" | ||||||
|  |               :step="1" | ||||||
|  |               @update:value="updateCSSOutput" | ||||||
|  |             /> | ||||||
|  |             <span>{{ borders.topRight.value + unit }}</span> | ||||||
|  |           </NFormItem> | ||||||
|  |         </div> | ||||||
|  |         <div class="radius-controls"> | ||||||
|  |           <NFormItem label="Bottom Left" class="half-slider"> | ||||||
|  |             <NSlider | ||||||
|  |               v-model:value="borders.bottomLeft.value" | ||||||
|  |               :min="0" | ||||||
|  |               :max="borders.bottomLeft.max" | ||||||
|  |               :step="1" | ||||||
|  |               @update:value="updateCSSOutput" | ||||||
|  |             /> | ||||||
|  |             <span>{{ borders.bottomLeft.value + unit }}</span> | ||||||
|  |           </NFormItem> | ||||||
|  |           <NFormItem label="Bottom Right" class="half-slider"> | ||||||
|  |             <NSlider | ||||||
|  |               v-model:value="borders.bottomRight.value" | ||||||
|  |               :min="0" | ||||||
|  |               :max="borders.bottomRight.max" | ||||||
|  |               :step="1" | ||||||
|  |               @update:value="updateCSSOutput" | ||||||
|  |             /> | ||||||
|  |             <span>{{ borders.bottomRight.value + unit }}</span> | ||||||
|  |           </NFormItem> | ||||||
|  |         </div> | ||||||
|  |         <div class="border-controls"> | ||||||
|  |           <NFormItem label="Border Width" class="border-width-slider"> | ||||||
|  |             <NSlider v-model:value="borderWidth" :min="0" :max="100" :step="1" @update:value="updateCSSOutput" /> | ||||||
|  |             <span>{{ borderWidth + 'px' }}</span> | ||||||
|  |           </NFormItem> | ||||||
|  |           <NFormItem label="Border Style" class="border-style-select"> | ||||||
|  |             <NSelect v-model:value="borderStyle" :options="borderStyles" @update:value="updateCSSOutput" /> | ||||||
|  |           </NFormItem> | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  |         <NFormItem label="Border Color"> | ||||||
|  |           <NColorPicker v-model:value="borderColor" @update:value="updateCSSOutput" /> | ||||||
|  |         </NFormItem> | ||||||
|  | 
 | ||||||
|  |         <NFormItem label="CSS Properties"> | ||||||
|  |           <TextareaCopyable :value="cssOutput" language="css" /> | ||||||
|  |         </NFormItem> | ||||||
|  |       </NForm> | ||||||
|  |     </NCard> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user