refactor(client): use css modules
This commit is contained in:
		
							parent
							
								
									7bdff90415
								
							
						
					
					
						commit
						7823ba494f
					
				
					 1 changed files with 50 additions and 50 deletions
				
			
		|  | @ -1,10 +1,10 @@ | ||||||
| <template> | <template> | ||||||
| <MkModal ref="modal" :prefer-type="'dialog'" :z-priority="'high'" @click="done(true)" @closed="emit('closed')"> | <MkModal ref="modal" :prefer-type="'dialog'" :z-priority="'high'" @click="done(true)" @closed="emit('closed')"> | ||||||
| 	<div class="mk-dialog"> | 	<div :class="$style.root"> | ||||||
| 		<div v-if="icon" class="icon"> | 		<div v-if="icon" :class="$style.icon"> | ||||||
| 			<i :class="icon"></i> | 			<i :class="icon"></i> | ||||||
| 		</div> | 		</div> | ||||||
| 		<div v-else-if="!input && !select" class="icon" :class="type"> | 		<div v-else-if="!input && !select" :class="[$style.icon, type]"> | ||||||
| 			<i v-if="type === 'success'" class="ti ti-check"></i> | 			<i v-if="type === 'success'" class="ti ti-check"></i> | ||||||
| 			<i v-else-if="type === 'error'" class="ti ti-circle-x"></i> | 			<i v-else-if="type === 'error'" class="ti ti-circle-x"></i> | ||||||
| 			<i v-else-if="type === 'warning'" class="ti ti-alert-triangle"></i> | 			<i v-else-if="type === 'warning'" class="ti ti-alert-triangle"></i> | ||||||
|  | @ -12,8 +12,8 @@ | ||||||
| 			<i v-else-if="type === 'question'" class="ti ti-question-circle"></i> | 			<i v-else-if="type === 'question'" class="ti ti-question-circle"></i> | ||||||
| 			<MkLoading v-else-if="type === 'waiting'" :em="true"/> | 			<MkLoading v-else-if="type === 'waiting'" :em="true"/> | ||||||
| 		</div> | 		</div> | ||||||
| 		<header v-if="title"><Mfm :text="title"/></header> | 		<header v-if="title" :class="$style.title"><Mfm :text="title"/></header> | ||||||
| 		<div v-if="text" class="body"><Mfm :text="text"/></div> | 		<div v-if="text" :class="$style.text"><Mfm :text="text"/></div> | ||||||
| 		<MkInput v-if="input" v-model="inputValue" autofocus :type="input.type || 'text'" :placeholder="input.placeholder || undefined" @keydown="onInputKeydown"> | 		<MkInput v-if="input" v-model="inputValue" autofocus :type="input.type || 'text'" :placeholder="input.placeholder || undefined" @keydown="onInputKeydown"> | ||||||
| 			<template v-if="input.type === 'password'" #prefix><i class="ti ti-lock"></i></template> | 			<template v-if="input.type === 'password'" #prefix><i class="ti ti-lock"></i></template> | ||||||
| 		</MkInput> | 		</MkInput> | ||||||
|  | @ -27,11 +27,11 @@ | ||||||
| 				</optgroup> | 				</optgroup> | ||||||
| 			</template> | 			</template> | ||||||
| 		</MkSelect> | 		</MkSelect> | ||||||
| 		<div v-if="(showOkButton || showCancelButton) && !actions" class="buttons"> | 		<div v-if="(showOkButton || showCancelButton) && !actions" :class="$style.buttons"> | ||||||
| 			<MkButton v-if="showOkButton" inline primary :autofocus="!input && !select" @click="ok">{{ (showCancelButton || input || select) ? i18n.ts.ok : i18n.ts.gotIt }}</MkButton> | 			<MkButton v-if="showOkButton" inline primary :autofocus="!input && !select" @click="ok">{{ (showCancelButton || input || select) ? i18n.ts.ok : i18n.ts.gotIt }}</MkButton> | ||||||
| 			<MkButton v-if="showCancelButton || input || select" inline @click="cancel">{{ i18n.ts.cancel }}</MkButton> | 			<MkButton v-if="showCancelButton || input || select" inline @click="cancel">{{ i18n.ts.cancel }}</MkButton> | ||||||
| 		</div> | 		</div> | ||||||
| 		<div v-if="actions" class="buttons"> | 		<div v-if="actions" :class="$style.buttons"> | ||||||
| 			<MkButton v-for="action in actions" :key="action.text" inline :primary="action.primary" @click="() => { action.callback(); close(); }">{{ action.text }}</MkButton> | 			<MkButton v-for="action in actions" :key="action.text" inline :primary="action.primary" @click="() => { action.callback(); close(); }">{{ action.text }}</MkButton> | ||||||
| 		</div> | 		</div> | ||||||
| 	</div> | 	</div> | ||||||
|  | @ -143,8 +143,8 @@ onBeforeUnmount(() => { | ||||||
| }); | }); | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
| <style lang="scss" scoped> | <style lang="scss" module> | ||||||
| .mk-dialog { | .root { | ||||||
| 	position: relative; | 	position: relative; | ||||||
| 	padding: 32px; | 	padding: 32px; | ||||||
| 	min-width: 320px; | 	min-width: 320px; | ||||||
|  | @ -153,56 +153,56 @@ onBeforeUnmount(() => { | ||||||
| 	text-align: center; | 	text-align: center; | ||||||
| 	background: var(--panel); | 	background: var(--panel); | ||||||
| 	border-radius: var(--radius); | 	border-radius: var(--radius); | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| 	> .icon { | .icon { | ||||||
| 		font-size: 24px; | 	font-size: 24px; | ||||||
| 
 | 
 | ||||||
| 		&.info { | 	&.info { | ||||||
| 			color: #55c4dd; | 		color: #55c4dd; | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 		&.success { |  | ||||||
| 			color: var(--success); |  | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 		&.error { |  | ||||||
| 			color: var(--error); |  | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 		&.warning { |  | ||||||
| 			color: var(--warn); |  | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 		> * { |  | ||||||
| 			display: block; |  | ||||||
| 			margin: 0 auto; |  | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 		& + header { |  | ||||||
| 			margin-top: 8px; |  | ||||||
| 		} |  | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	> header { | 	&.success { | ||||||
| 		margin: 0 0 8px 0; | 		color: var(--success); | ||||||
| 		font-weight: bold; |  | ||||||
| 		font-size: 1.1em; |  | ||||||
| 
 |  | ||||||
| 		& + .body { |  | ||||||
| 			margin-top: 8px; |  | ||||||
| 		} |  | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	> .body { | 	&.error { | ||||||
| 		margin: 16px 0 0 0; | 		color: var(--error); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	> .buttons { | 	&.warning { | ||||||
| 		margin-top: 16px; | 		color: var(--warn); | ||||||
|  | 	} | ||||||
| 
 | 
 | ||||||
| 		> * { | 	> * { | ||||||
| 			margin: 0 8px; | 		display: block; | ||||||
| 		} | 		margin: 0 auto; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	& + .title { | ||||||
|  | 		margin-top: 8px; | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | .title { | ||||||
|  | 	margin: 0 0 8px 0; | ||||||
|  | 	font-weight: bold; | ||||||
|  | 	font-size: 1.1em; | ||||||
|  | 
 | ||||||
|  | 	& + .text { | ||||||
|  | 		margin-top: 8px; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .text { | ||||||
|  | 	margin: 16px 0 0 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .buttons { | ||||||
|  | 	margin-top: 16px; | ||||||
|  | 	display: flex; | ||||||
|  | 	gap: 8px; | ||||||
|  | 	flex-wrap: wrap; | ||||||
|  | 	justify-content: center; | ||||||
|  | } | ||||||
| </style> | </style> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue