Merge branch 'develop'
This commit is contained in:
		
						commit
						3e11011229
					
				
					 746 changed files with 2393 additions and 2182 deletions
				
			
		|  | @ -1,6 +1,6 @@ | |||
| { | ||||
| 	"extension": ["ts","js","cjs","mjs"], | ||||
| 	"require": "ts-node/register", | ||||
| 	"require": ["ts-node/register", "tsconfig-paths/register"], | ||||
| 	"slow": 1000, | ||||
| 	"timeout": 30000, | ||||
| 	"exit": true | ||||
|  |  | |||
							
								
								
									
										12
									
								
								gulpfile.ts
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								gulpfile.ts
									
										
									
									
									
								
							|  | @ -4,7 +4,6 @@ | |||
| 
 | ||||
| import * as fs from 'fs'; | ||||
| import * as gulp from 'gulp'; | ||||
| import * as ts from 'gulp-typescript'; | ||||
| import * as rimraf from 'rimraf'; | ||||
| import * as replace from 'gulp-replace'; | ||||
| const terser = require('gulp-terser'); | ||||
|  | @ -13,16 +12,6 @@ const cssnano = require('gulp-cssnano'); | |||
| const locales: { [x: string]: any } = require('./locales'); | ||||
| const meta = require('./package.json'); | ||||
| 
 | ||||
| gulp.task('build:ts', () => { | ||||
| 	const tsProject = ts.createProject('./src/tsconfig.json'); | ||||
| 
 | ||||
| 	return tsProject | ||||
| 		.src() | ||||
| 		.pipe(tsProject()) | ||||
| 		.on('error', () => {}) | ||||
| 		.pipe(gulp.dest('./built/')); | ||||
| }); | ||||
| 
 | ||||
| gulp.task('build:copy:views', () => | ||||
| 	gulp.src('./src/server/web/views/**/*').pipe(gulp.dest('./built/server/web/views')) | ||||
| ); | ||||
|  | @ -78,7 +67,6 @@ gulp.task('cleanall', gulp.parallel('clean', cb => | |||
| )); | ||||
| 
 | ||||
| gulp.task('build', gulp.parallel( | ||||
| 	'build:ts', | ||||
| 	'build:copy', | ||||
| )); | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										12
									
								
								package.json
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								package.json
									
										
									
									
									
								
							|  | @ -1,7 +1,7 @@ | |||
| { | ||||
| 	"name": "misskey", | ||||
| 	"author": "syuilo <syuilotan@yahoo.co.jp>", | ||||
| 	"version": "12.75.0", | ||||
| 	"version": "12.75.1", | ||||
| 	"codename": "indigo", | ||||
| 	"repository": { | ||||
| 		"type": "git", | ||||
|  | @ -15,11 +15,13 @@ | |||
| 		"ormconfig": "node ./built/ormconfig.js", | ||||
| 		"migrate": "ts-node ./node_modules/typeorm/cli.js migration:run", | ||||
| 		"migrateandstart": "npm run migrate && npm run start", | ||||
| 		"build": "npm run build-webpack && npm run build-gulp", | ||||
| 		"build": "npm run build-webpack && npm run build-ts && npm run build-gulp", | ||||
| 		"build-webpack": "webpack", | ||||
| 		"build-ts": "tsc -p src/tsconfig.json || echo done. && tsc-alias -p src/tsconfig.json", | ||||
| 		"build-gulp": "gulp build", | ||||
| 		"watch": "concurrently \"npm:watch-*\"", | ||||
| 		"watch-webpack": "webpack --watch", | ||||
| 		"watch-ts": "tsc -w -p src/tsconfig.json && tsc-alias -w -p src/tsconfig.json", | ||||
| 		"watch-gulp": "gulp watch", | ||||
| 		"clean": "gulp clean", | ||||
| 		"cleanall": "gulp cleanall", | ||||
|  | @ -148,7 +150,6 @@ | |||
| 		"gulp-replace": "1.0.0", | ||||
| 		"gulp-terser": "2.0.1", | ||||
| 		"gulp-tslint": "8.1.4", | ||||
| 		"gulp-typescript": "6.0.0-alpha.1", | ||||
| 		"hard-source-webpack-plugin": "0.13.1", | ||||
| 		"html-minifier": "4.0.0", | ||||
| 		"http-proxy-agent": "4.0.1", | ||||
|  | @ -234,12 +235,13 @@ | |||
| 		"tmp": "0.2.1", | ||||
| 		"ts-loader": "8.0.18", | ||||
| 		"ts-node": "9.1.1", | ||||
| 		"tsc-alias": "1.2.8", | ||||
| 		"tsconfig-paths": "3.9.0", | ||||
| 		"tslint": "6.1.3", | ||||
| 		"tslint-sonarts": "1.9.0", | ||||
| 		"typeorm": "0.2.31", | ||||
| 		"typescript": "4.2.3", | ||||
| 		"ulid": "2.3.0", | ||||
| 		"url-loader": "4.1.1", | ||||
| 		"uuid": "8.3.2", | ||||
| 		"v-debounce": "0.1.2", | ||||
| 		"vanilla-tilt": "1.7.0", | ||||
|  | @ -252,7 +254,7 @@ | |||
| 		"vue-style-loader": "4.1.3", | ||||
| 		"vuedraggable": "4.0.1", | ||||
| 		"web-push": "3.4.4", | ||||
| 		"webpack": "5.26.3", | ||||
| 		"webpack": "5.27.2", | ||||
| 		"webpack-cli": "4.5.0", | ||||
| 		"websocket": "1.0.33", | ||||
| 		"ws": "7.4.4", | ||||
|  |  | |||
							
								
								
									
										3
									
								
								src/@types/meta.json.d.ts
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								src/@types/meta.json.d.ts
									
										
									
									
										vendored
									
									
								
							|  | @ -1,3 +0,0 @@ | |||
| declare module '*/meta.json' { | ||||
| 	const version: string; | ||||
| } | ||||
|  | @ -1,5 +1,5 @@ | |||
| import * as program from 'commander'; | ||||
| import config from './config'; | ||||
| import config from '@/config'; | ||||
| 
 | ||||
| program | ||||
| 	.version(config.version) | ||||
|  |  | |||
|  | @ -6,13 +6,13 @@ import * as isRoot from 'is-root'; | |||
| import { getConnection } from 'typeorm'; | ||||
| 
 | ||||
| import Logger from '../services/logger'; | ||||
| import loadConfig from '../config/load'; | ||||
| import { Config } from '../config/types'; | ||||
| import loadConfig from '@/config/load'; | ||||
| import { Config } from '@/config/types'; | ||||
| import { lessThan } from '../prelude/array'; | ||||
| import { program } from '../argv'; | ||||
| import { showMachineInfo } from '../misc/show-machine-info'; | ||||
| import { showMachineInfo } from '@/misc/show-machine-info'; | ||||
| import { initDb } from '../db/postgre'; | ||||
| import * as meta from '../meta.json'; | ||||
| const meta = require('../meta.json'); | ||||
| 
 | ||||
| const logger = new Logger('core', 'cyan'); | ||||
| const bootLogger = logger.createSubLogger('boot', 'magenta', false); | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| import { reactive } from 'vue'; | ||||
| import { apiUrl } from '@/config'; | ||||
| import { waiting } from '@/os'; | ||||
| import { unisonReload } from '@/scripts/unison-reload'; | ||||
| import { apiUrl } from '@client/config'; | ||||
| import { waiting } from '@client/os'; | ||||
| import { unisonReload } from '@client/scripts/unison-reload'; | ||||
| 
 | ||||
| // TODO: 他のタブと永続化されたstateを同期
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -29,10 +29,10 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent, markRaw } from 'vue'; | ||||
| import { faExclamationCircle } from '@fortawesome/free-solid-svg-icons'; | ||||
| import XWindow from '@/components/ui/window.vue'; | ||||
| import MkTextarea from '@/components/ui/textarea.vue'; | ||||
| import MkButton from '@/components/ui/button.vue'; | ||||
| import * as os from '@/os'; | ||||
| import XWindow from '@client/components/ui/window.vue'; | ||||
| import MkTextarea from '@client/components/ui/textarea.vue'; | ||||
| import MkButton from '@client/components/ui/button.vue'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -36,7 +36,7 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import * as tinycolor from 'tinycolor2'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	data() { | ||||
|  |  | |||
|  | @ -29,12 +29,12 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent, markRaw } from 'vue'; | ||||
| import { emojilist } from '../../misc/emojilist'; | ||||
| import contains from '@/scripts/contains'; | ||||
| import { twemojiSvgBase } from '../../misc/twemoji-base'; | ||||
| import { getStaticImageUrl } from '@/scripts/get-static-image-url'; | ||||
| import { acct } from '@/filters/user'; | ||||
| import * as os from '@/os'; | ||||
| import { emojilist } from '@/misc/emojilist'; | ||||
| import contains from '@client/scripts/contains'; | ||||
| import { twemojiSvgBase } from '@/misc/twemoji-base'; | ||||
| import { getStaticImageUrl } from '@client/scripts/get-static-image-url'; | ||||
| import { acct } from '@client/filters/user'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| type EmojiDef = { | ||||
| 	emoji: string; | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -21,7 +21,7 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { faSpinner, faPlus, faMinus, } from '@fortawesome/free-solid-svg-icons'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -40,10 +40,10 @@ | |||
| import { defineComponent } from 'vue'; | ||||
| import { faSpinner, faInfoCircle, faExclamationTriangle, faCheck } from '@fortawesome/free-solid-svg-icons'; | ||||
| import { faTimesCircle, faQuestionCircle } from '@fortawesome/free-regular-svg-icons'; | ||||
| import MkModal from '@/components/ui/modal.vue'; | ||||
| import MkButton from '@/components/ui/button.vue'; | ||||
| import MkInput from '@/components/ui/input.vue'; | ||||
| import MkSelect from '@/components/ui/select.vue'; | ||||
| import MkModal from '@client/components/ui/modal.vue'; | ||||
| import MkButton from '@client/components/ui/button.vue'; | ||||
| import MkInput from '@client/components/ui/input.vue'; | ||||
| import MkSelect from '@client/components/ui/select.vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -27,7 +27,7 @@ import { | |||
| 	faFilm | ||||
| 	} from '@fortawesome/free-solid-svg-icons'; | ||||
| import ImgWithBlurhash from './img-with-blurhash.vue'; | ||||
| import { ColdDeviceStorage } from '@/store'; | ||||
| import { ColdDeviceStorage } from '@client/store'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -20,8 +20,8 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import XDrive from './drive.vue'; | ||||
| import XModalWindow from '@/components/ui/modal-window.vue'; | ||||
| import number from '@/filters/number'; | ||||
| import XModalWindow from '@client/components/ui/modal-window.vue'; | ||||
| import number from '@client/filters/number'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -15,7 +15,7 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import XDrive from './drive.vue'; | ||||
| import XWindow from '@/components/ui/window.vue'; | ||||
| import XWindow from '@client/components/ui/window.vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -34,10 +34,10 @@ | |||
| import { defineComponent } from 'vue'; | ||||
| import { faEye, faEyeSlash } from '@fortawesome/free-regular-svg-icons'; | ||||
| import { faDownload, faLink, faICursor, faTrashAlt } from '@fortawesome/free-solid-svg-icons'; | ||||
| import copyToClipboard from '@/scripts/copy-to-clipboard'; | ||||
| import copyToClipboard from '@client/scripts/copy-to-clipboard'; | ||||
| import MkDriveFileThumbnail from './drive-file-thumbnail.vue'; | ||||
| import bytes from '@/filters/bytes'; | ||||
| import * as os from '@/os'; | ||||
| import bytes from '@client/filters/bytes'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -29,7 +29,7 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { faFolder, faFolderOpen, faTrashAlt, faWindowRestore } from '@fortawesome/free-regular-svg-icons'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| import { faICursor } from '@fortawesome/free-solid-svg-icons'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
|  |  | |||
|  | @ -15,7 +15,7 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { faCloud } from '@fortawesome/free-solid-svg-icons'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -52,7 +52,7 @@ import XNavFolder from './drive.nav-folder.vue'; | |||
| import XFolder from './drive.folder.vue'; | ||||
| import XFile from './drive.file.vue'; | ||||
| import MkButton from './ui/button.vue'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| import { faTrashAlt } from '@fortawesome/free-regular-svg-icons'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
|  |  | |||
|  | @ -6,8 +6,8 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent, markRaw } from 'vue'; | ||||
| import MkModal from '@/components/ui/modal.vue'; | ||||
| import MkEmojiPicker from '@/components/emoji-picker.vue'; | ||||
| import MkModal from '@client/components/ui/modal.vue'; | ||||
| import MkEmojiPicker from '@client/components/emoji-picker.vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -13,8 +13,8 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent, markRaw } from 'vue'; | ||||
| import MkWindow from '@/components/ui/window.vue'; | ||||
| import MkEmojiPicker from '@/components/emoji-picker.vue'; | ||||
| import MkWindow from '@client/components/ui/window.vue'; | ||||
| import MkEmojiPicker from '@client/components/emoji-picker.vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -18,7 +18,7 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent, markRaw } from 'vue'; | ||||
| import { faChevronUp, faChevronDown } from '@fortawesome/free-solid-svg-icons'; | ||||
| import { getStaticImageUrl } from '@/scripts/get-static-image-url'; | ||||
| import { getStaticImageUrl } from '@client/scripts/get-static-image-url'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -74,15 +74,15 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent, markRaw } from 'vue'; | ||||
| import { emojilist } from '../../misc/emojilist'; | ||||
| import { getStaticImageUrl } from '@/scripts/get-static-image-url'; | ||||
| import { emojilist } from '@/misc/emojilist'; | ||||
| import { getStaticImageUrl } from '@client/scripts/get-static-image-url'; | ||||
| import { faAsterisk, faLeaf, faUtensils, faFutbol, faCity, faDice, faGlobe, faClock, faUser, faChevronDown, faShapes, faBicycle, faHashtag } from '@fortawesome/free-solid-svg-icons'; | ||||
| import { faHeart, faFlag, faLaugh } from '@fortawesome/free-regular-svg-icons'; | ||||
| import Particle from '@/components/particle.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { isDeviceTouch } from '@/scripts/is-device-touch'; | ||||
| import { isMobile } from '@/scripts/is-mobile'; | ||||
| import { emojiCategories } from '@/instance'; | ||||
| import Particle from '@client/components/particle.vue'; | ||||
| import * as os from '@client/os'; | ||||
| import { isDeviceTouch } from '@client/scripts/is-device-touch'; | ||||
| import { isMobile } from '@client/scripts/is-mobile'; | ||||
| import { emojiCategories } from '@client/instance'; | ||||
| import XSection from './emoji-picker.section.vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { faFileImage } from '@fortawesome/free-solid-svg-icons'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -30,7 +30,7 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { faSpinner, faPlus, faMinus, faHourglassHalf } from '@fortawesome/free-solid-svg-icons'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -48,7 +48,7 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import XModalWindow from '@/components/ui/modal-window.vue'; | ||||
| import XModalWindow from '@client/components/ui/modal-window.vue'; | ||||
| import FormBase from './form/base.vue'; | ||||
| import FormInput from './form/input.vue'; | ||||
| import FormTextarea from './form/textarea.vue'; | ||||
|  |  | |||
|  | @ -16,7 +16,7 @@ | |||
| import { defineComponent } from 'vue'; | ||||
| import FormButton from './button.vue'; | ||||
| import FormGroup from './group.vue'; | ||||
| import paging from '@/scripts/paging'; | ||||
| import paging from '@client/scripts/paging'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent, h } from 'vue'; | ||||
| import MkRadio from '@/components/ui/radio.vue'; | ||||
| import MkRadio from '@client/components/ui/radio.vue'; | ||||
| import './form.scss'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import * as katex from 'katex';import * as os from '@/os'; | ||||
| import * as katex from 'katex';import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| </template> | ||||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent, defineAsyncComponent } from 'vue';import * as os from '@/os'; | ||||
| import { defineComponent, defineAsyncComponent } from 'vue';import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -7,12 +7,12 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { faExpandAlt, faColumns, faExternalLinkAlt, faLink, faWindowMaximize } from '@fortawesome/free-solid-svg-icons'; | ||||
| import * as os from '@/os'; | ||||
| import copyToClipboard from '@/scripts/copy-to-clipboard'; | ||||
| import { router } from '@/router'; | ||||
| import { url } from '@/config'; | ||||
| import { popout } from '@/scripts/popout'; | ||||
| import { ColdDeviceStorage } from '@/store'; | ||||
| import * as os from '@client/os'; | ||||
| import copyToClipboard from '@client/scripts/copy-to-clipboard'; | ||||
| import { router } from '@client/router'; | ||||
| import { url } from '@client/config'; | ||||
| import { popout } from '@client/scripts/popout'; | ||||
| import { ColdDeviceStorage } from '@client/store'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	inject: { | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { toUnicode } from 'punycode'; | ||||
| import { host } from '@/config'; | ||||
| import { host } from '@client/config'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: ['user', 'detail'], | ||||
|  |  | |||
|  | @ -9,9 +9,9 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { getStaticImageUrl } from '@/scripts/get-static-image-url'; | ||||
| import { extractAvgColorFromBlurhash } from '@/scripts/extract-avg-color-from-blurhash'; | ||||
| import { acct, userPage } from '@/filters/user'; | ||||
| import { getStaticImageUrl } from '@client/scripts/get-static-image-url'; | ||||
| import { extractAvgColorFromBlurhash } from '@client/scripts/extract-avg-color-from-blurhash'; | ||||
| import { acct, userPage } from '@client/filters/user'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -7,8 +7,8 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { getStaticImageUrl } from '@/scripts/get-static-image-url'; | ||||
| import { twemojiSvgBase } from '@/../misc/twemoji-base'; | ||||
| import { getStaticImageUrl } from '@client/scripts/get-static-image-url'; | ||||
| import { twemojiSvgBase } from '@client/../misc/twemoji-base'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; | ||||
| import MkButton from '@/components/ui/button.vue'; | ||||
| import MkButton from '@client/components/ui/button.vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -4,7 +4,7 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import MfmCore from '@/components/mfm'; | ||||
| import MfmCore from '@client/components/mfm'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -23,9 +23,9 @@ | |||
| import { defineComponent } from 'vue'; | ||||
| import { faExternalLinkSquareAlt } from '@fortawesome/free-solid-svg-icons'; | ||||
| import { toUnicode as decodePunycode } from 'punycode'; | ||||
| import { url as local } from '@/config'; | ||||
| import { isDeviceTouch } from '@/scripts/is-device-touch'; | ||||
| import * as os from '@/os'; | ||||
| import { url as local } from '@client/config'; | ||||
| import { isDeviceTouch } from '@client/scripts/is-device-touch'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  | @ -72,7 +72,7 @@ export default defineComponent({ | |||
| 			if (!document.body.contains(this.$el)) return; | ||||
| 			if (this.close) return; | ||||
| 
 | ||||
| 			const { dispose } = await os.popup(import('@/components/url-preview-popup.vue'), { | ||||
| 			const { dispose } = await os.popup(import('@client/components/url-preview-popup.vue'), { | ||||
| 				url: this.url, | ||||
| 				source: this.$el | ||||
| 			}); | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { faSearch } from '@fortawesome/free-solid-svg-icons'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: ['q'], | ||||
|  |  | |||
|  | @ -14,9 +14,9 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import bytes from '@/filters/bytes'; | ||||
| import number from '@/filters/number'; | ||||
| import MkModal from '@/components/ui/modal.vue'; | ||||
| import bytes from '@client/filters/bytes'; | ||||
| import number from '@client/filters/number'; | ||||
| import MkModal from '@client/components/ui/modal.vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -126,7 +126,7 @@ import { defineComponent, markRaw } from 'vue'; | |||
| import { faChartBar, faUser, faPencilAlt, faSync } from '@fortawesome/free-solid-svg-icons'; | ||||
| import Chart from 'chart.js'; | ||||
| import MkSelect from './ui/select.vue'; | ||||
| import number from '@/filters/number'; | ||||
| import number from '@client/filters/number'; | ||||
| 
 | ||||
| const sum = (...arr) => arr.reduce((r, a) => r.map((b, i) => a[i] + b)); | ||||
| const negate = arr => arr.map(x => -x); | ||||
|  | @ -137,7 +137,7 @@ const alpha = (hex, a) => { | |||
| 	const b = parseInt(result[3], 16); | ||||
| 	return `rgba(${r}, ${g}, ${b}, ${a})`; | ||||
| }; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { instanceName } from '@/config'; | ||||
| import { instanceName } from '@client/config'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -36,9 +36,9 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { faQuestionCircle, faInfoCircle, faCircle } from '@fortawesome/free-solid-svg-icons'; | ||||
| import MkModal from '@/components/ui/modal.vue'; | ||||
| import { sidebarDef } from '@/sidebar'; | ||||
| import { instanceName } from '@/config'; | ||||
| import MkModal from '@client/components/ui/modal.vue'; | ||||
| import { sidebarDef } from '@client/sidebar'; | ||||
| import { instanceName } from '@client/config'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -12,9 +12,9 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { faExternalLinkSquareAlt } from '@fortawesome/free-solid-svg-icons'; | ||||
| import { url as local } from '@/config'; | ||||
| import { isDeviceTouch } from '@/scripts/is-device-touch'; | ||||
| import * as os from '@/os'; | ||||
| import { url as local } from '@client/config'; | ||||
| import { isDeviceTouch } from '@client/scripts/is-device-touch'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  | @ -46,7 +46,7 @@ export default defineComponent({ | |||
| 			if (!document.body.contains(this.$el)) return; | ||||
| 			if (this.close) return; | ||||
| 
 | ||||
| 			const { dispose } = await os.popup(import('@/components/url-preview-popup.vue'), { | ||||
| 			const { dispose } = await os.popup(import('@client/components/url-preview-popup.vue'), { | ||||
| 				url: this.url, | ||||
| 				source: this.$el | ||||
| 			}); | ||||
|  |  | |||
|  | @ -28,8 +28,8 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; | ||||
| import * as os from '@/os'; | ||||
| import { ColdDeviceStorage } from '@/store'; | ||||
| import * as os from '@client/os'; | ||||
| import { ColdDeviceStorage } from '@client/store'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -24,11 +24,11 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { faExclamationTriangle, faEyeSlash } from '@fortawesome/free-solid-svg-icons'; | ||||
| import { getStaticImageUrl } from '@/scripts/get-static-image-url'; | ||||
| import { extractAvgColorFromBlurhash } from '@/scripts/extract-avg-color-from-blurhash'; | ||||
| import { getStaticImageUrl } from '@client/scripts/get-static-image-url'; | ||||
| import { extractAvgColorFromBlurhash } from '@client/scripts/extract-avg-color-from-blurhash'; | ||||
| import ImageViewer from './image-viewer.vue'; | ||||
| import ImgWithBlurhash from './img-with-blurhash.vue'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -17,7 +17,7 @@ import { defineComponent } from 'vue'; | |||
| import XBanner from './media-banner.vue'; | ||||
| import XImage from './media-image.vue'; | ||||
| import XVideo from './media-video.vue'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -25,7 +25,7 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { faExclamationTriangle, faEyeSlash } from '@fortawesome/free-solid-svg-icons'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -17,9 +17,9 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { toUnicode } from 'punycode'; | ||||
| import { host as localHost } from '@/config'; | ||||
| import { host as localHost } from '@client/config'; | ||||
| import { wellKnownServices } from '../../well-known-services'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -1,16 +1,16 @@ | |||
| import { VNode, defineComponent, h } from 'vue'; | ||||
| import { MfmForest } from '@/../mfm/prelude'; | ||||
| import { parse, parsePlain } from '@/../mfm/parse'; | ||||
| import MkUrl from '@/components/global/url.vue'; | ||||
| import MkLink from '@/components/link.vue'; | ||||
| import MkMention from '@/components/mention.vue'; | ||||
| import MkEmoji from '@/components/global/emoji.vue'; | ||||
| import { concat } from '@/../prelude/array'; | ||||
| import MkFormula from '@/components/formula.vue'; | ||||
| import MkCode from '@/components/code.vue'; | ||||
| import MkGoogle from '@/components/google.vue'; | ||||
| import MkA from '@/components/global/a.vue'; | ||||
| import { host } from '@/config'; | ||||
| import { MfmForest } from '@client/../mfm/prelude'; | ||||
| import { parse, parsePlain } from '@client/../mfm/parse'; | ||||
| import MkUrl from '@client/components/global/url.vue'; | ||||
| import MkLink from '@client/components/link.vue'; | ||||
| import MkMention from '@client/components/mention.vue'; | ||||
| import MkEmoji from '@client/components/global/emoji.vue'; | ||||
| import { concat } from '@client/../prelude/array'; | ||||
| import MkFormula from '@client/components/formula.vue'; | ||||
| import MkCode from '@client/components/code.vue'; | ||||
| import MkGoogle from '@client/components/google.vue'; | ||||
| import MkA from '@client/components/global/a.vue'; | ||||
| import { host } from '@client/config'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -32,7 +32,7 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { v4 as uuid } from 'uuid'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -132,15 +132,15 @@ import XReactionsViewer from './reactions-viewer.vue'; | |||
| import XMediaList from './media-list.vue'; | ||||
| import XCwButton from './cw-button.vue'; | ||||
| import XPoll from './poll.vue'; | ||||
| import { pleaseLogin } from '@/scripts/please-login'; | ||||
| import { focusPrev, focusNext } from '@/scripts/focus'; | ||||
| import { url } from '@/config'; | ||||
| import copyToClipboard from '@/scripts/copy-to-clipboard'; | ||||
| import { checkWordMute } from '@/scripts/check-word-mute'; | ||||
| import { userPage } from '@/filters/user'; | ||||
| import * as os from '@/os'; | ||||
| import { noteActions, noteViewInterruptors } from '@/store'; | ||||
| import { reactionPicker } from '@/scripts/reaction-picker'; | ||||
| import { pleaseLogin } from '@client/scripts/please-login'; | ||||
| import { focusPrev, focusNext } from '@client/scripts/focus'; | ||||
| import { url } from '@client/config'; | ||||
| import copyToClipboard from '@client/scripts/copy-to-clipboard'; | ||||
| import { checkWordMute } from '@client/scripts/check-word-mute'; | ||||
| import { userPage } from '@client/filters/user'; | ||||
| import * as os from '@client/os'; | ||||
| import { noteActions, noteViewInterruptors } from '@client/store'; | ||||
| import { reactionPicker } from '@client/scripts/reaction-picker'; | ||||
| 
 | ||||
| function markRawAll(...xs) { | ||||
| 	for (const x of xs) { | ||||
|  | @ -160,8 +160,8 @@ export default defineComponent({ | |||
| 		XMediaList, | ||||
| 		XCwButton, | ||||
| 		XPoll, | ||||
| 		MkUrlPreview: defineAsyncComponent(() => import('@/components/url-preview.vue')), | ||||
| 		MkInstanceTicker: defineAsyncComponent(() => import('@/components/instance-ticker.vue')), | ||||
| 		MkUrlPreview: defineAsyncComponent(() => import('@client/components/url-preview.vue')), | ||||
| 		MkInstanceTicker: defineAsyncComponent(() => import('@client/components/instance-ticker.vue')), | ||||
| 	}, | ||||
| 
 | ||||
| 	inject: { | ||||
|  | @ -687,7 +687,7 @@ export default defineComponent({ | |||
| 						text: this.$ts.reportAbuse, | ||||
| 						action: () => { | ||||
| 							const u = `${url}/notes/${this.appearNote.id}`; | ||||
| 							os.popup(import('@/components/abuse-report-window.vue'), { | ||||
| 							os.popup(import('@client/components/abuse-report-window.vue'), { | ||||
| 								user: this.appearNote.user, | ||||
| 								initialComment: `Note: ${u}\n-----\n` | ||||
| 							}, {}, 'closed'); | ||||
|  |  | |||
|  | @ -28,7 +28,7 @@ import { faHome, faUnlock, faEnvelope, faMobileAlt, faBookmark, faBiohazard } fr | |||
| import { faBookmark as farBookmark } from '@fortawesome/free-regular-svg-icons'; | ||||
| import notePage from '../filters/note'; | ||||
| import { userPage } from '../filters/user'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -21,7 +21,7 @@ import { defineComponent } from 'vue'; | |||
| import XNoteHeader from './note-header.vue'; | ||||
| import XSubNoteContent from './sub-note-content.vue'; | ||||
| import XCwButton from './cw-button.vue'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -24,7 +24,7 @@ import { defineComponent } from 'vue'; | |||
| import XNoteHeader from './note-header.vue'; | ||||
| import XSubNoteContent from './sub-note-content.vue'; | ||||
| import XCwButton from './cw-button.vue'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	name: 'XSub', | ||||
|  |  | |||
|  | @ -114,15 +114,15 @@ import XReactionsViewer from './reactions-viewer.vue'; | |||
| import XMediaList from './media-list.vue'; | ||||
| import XCwButton from './cw-button.vue'; | ||||
| import XPoll from './poll.vue'; | ||||
| import { pleaseLogin } from '@/scripts/please-login'; | ||||
| import { focusPrev, focusNext } from '@/scripts/focus'; | ||||
| import { url } from '@/config'; | ||||
| import copyToClipboard from '@/scripts/copy-to-clipboard'; | ||||
| import { checkWordMute } from '@/scripts/check-word-mute'; | ||||
| import { userPage } from '@/filters/user'; | ||||
| import * as os from '@/os'; | ||||
| import { noteActions, noteViewInterruptors } from '@/store'; | ||||
| import { reactionPicker } from '@/scripts/reaction-picker'; | ||||
| import { pleaseLogin } from '@client/scripts/please-login'; | ||||
| import { focusPrev, focusNext } from '@client/scripts/focus'; | ||||
| import { url } from '@client/config'; | ||||
| import copyToClipboard from '@client/scripts/copy-to-clipboard'; | ||||
| import { checkWordMute } from '@client/scripts/check-word-mute'; | ||||
| import { userPage } from '@client/filters/user'; | ||||
| import * as os from '@client/os'; | ||||
| import { noteActions, noteViewInterruptors } from '@client/store'; | ||||
| import { reactionPicker } from '@client/scripts/reaction-picker'; | ||||
| 
 | ||||
| function markRawAll(...xs) { | ||||
| 	for (const x of xs) { | ||||
|  | @ -141,8 +141,8 @@ export default defineComponent({ | |||
| 		XMediaList, | ||||
| 		XCwButton, | ||||
| 		XPoll, | ||||
| 		MkUrlPreview: defineAsyncComponent(() => import('@/components/url-preview.vue')), | ||||
| 		MkInstanceTicker: defineAsyncComponent(() => import('@/components/instance-ticker.vue')), | ||||
| 		MkUrlPreview: defineAsyncComponent(() => import('@client/components/url-preview.vue')), | ||||
| 		MkInstanceTicker: defineAsyncComponent(() => import('@client/components/instance-ticker.vue')), | ||||
| 	}, | ||||
| 
 | ||||
| 	inject: { | ||||
|  | @ -662,7 +662,7 @@ export default defineComponent({ | |||
| 						text: this.$ts.reportAbuse, | ||||
| 						action: () => { | ||||
| 							const u = `${url}/notes/${this.appearNote.id}`; | ||||
| 							os.popup(import('@/components/abuse-report-window.vue'), { | ||||
| 							os.popup(import('@client/components/abuse-report-window.vue'), { | ||||
| 								user: this.appearNote.user, | ||||
| 								initialComment: `Note: ${u}\n-----\n` | ||||
| 							}, {}, 'closed'); | ||||
|  |  | |||
|  | @ -29,10 +29,10 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import paging from '@/scripts/paging'; | ||||
| import paging from '@client/scripts/paging'; | ||||
| import XNote from './note.vue'; | ||||
| import XList from './date-separated-list.vue'; | ||||
| import MkButton from '@/components/ui/button.vue'; | ||||
| import MkButton from '@client/components/ui/button.vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -26,7 +26,7 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent, PropType } from 'vue'; | ||||
| import XModalWindow from '@/components/ui/modal-window.vue'; | ||||
| import XModalWindow from '@client/components/ui/modal-window.vue'; | ||||
| import MkSwitch from './ui/switch.vue'; | ||||
| import MkInfo from './ui/info.vue'; | ||||
| import MkButton from './ui/button.vue'; | ||||
|  |  | |||
|  | @ -61,13 +61,13 @@ | |||
| import { defineComponent } from 'vue'; | ||||
| import { faIdCardAlt, faPlus, faQuoteLeft, faQuoteRight, faRetweet, faReply, faAt, faCheck, faPollH } from '@fortawesome/free-solid-svg-icons'; | ||||
| import { faClock } from '@fortawesome/free-regular-svg-icons'; | ||||
| import { getNoteSummary } from '../../misc/get-note-summary'; | ||||
| import { getNoteSummary } from '@/misc/get-note-summary'; | ||||
| import XReactionIcon from './reaction-icon.vue'; | ||||
| import MkFollowButton from './follow-button.vue'; | ||||
| import notePage from '../filters/note'; | ||||
| import { userPage } from '../filters/user'; | ||||
| import { i18n } from '@/i18n'; | ||||
| import * as os from '@/os'; | ||||
| import { i18n } from '@client/i18n'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -18,12 +18,12 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent, PropType } from 'vue'; | ||||
| import paging from '@/scripts/paging'; | ||||
| import paging from '@client/scripts/paging'; | ||||
| import XNotification from './notification.vue'; | ||||
| import XList from './date-separated-list.vue'; | ||||
| import XNote from './note.vue'; | ||||
| import { notificationTypes } from '../../types'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -17,7 +17,7 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { userName } from '../filters/user'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -23,12 +23,12 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { faExternalLinkAlt, faExpandAlt, faLink, faChevronLeft, faColumns } from '@fortawesome/free-solid-svg-icons'; | ||||
| import XWindow from '@/components/ui/window.vue'; | ||||
| import XHeader from '@/ui/_common_/header.vue'; | ||||
| import { popout } from '@/scripts/popout'; | ||||
| import copyToClipboard from '@/scripts/copy-to-clipboard'; | ||||
| import { resolve } from '@/router'; | ||||
| import { url } from '@/config'; | ||||
| import XWindow from '@client/components/ui/window.vue'; | ||||
| import XHeader from '@client/ui/_common_/header.vue'; | ||||
| import { popout } from '@client/scripts/popout'; | ||||
| import copyToClipboard from '@client/scripts/copy-to-clipboard'; | ||||
| import { resolve } from '@client/router'; | ||||
| import { url } from '@client/config'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -19,8 +19,8 @@ import XCounter from './page.counter.vue'; | |||
| import XRadioButton from './page.radio-button.vue'; | ||||
| import XCanvas from './page.canvas.vue'; | ||||
| import XNote from './page.note.vue'; | ||||
| import { Hpml } from '@/scripts/hpml/evaluator'; | ||||
| import { Block } from '@/scripts/hpml/block'; | ||||
| import { Hpml } from '@client/scripts/hpml/evaluator'; | ||||
| import { Block } from '@client/scripts/hpml/block'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -7,9 +7,9 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent, PropType, unref } from 'vue'; | ||||
| import MkButton from '../ui/button.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { ButtonBlock } from '@/scripts/hpml/block'; | ||||
| import { Hpml } from '@/scripts/hpml/evaluator'; | ||||
| import * as os from '@client/os'; | ||||
| import { ButtonBlock } from '@client/scripts/hpml/block'; | ||||
| import { Hpml } from '@client/scripts/hpml/evaluator'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -6,9 +6,9 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent, onMounted, PropType, Ref, ref } from 'vue'; | ||||
| import * as os from '@/os'; | ||||
| import { CanvasBlock } from '@/scripts/hpml/block'; | ||||
| import { Hpml } from '@/scripts/hpml/evaluator'; | ||||
| import * as os from '@client/os'; | ||||
| import { CanvasBlock } from '@client/scripts/hpml/block'; | ||||
| import { Hpml } from '@client/scripts/hpml/evaluator'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -7,9 +7,9 @@ | |||
| <script lang="ts"> | ||||
| import { computed, defineComponent, PropType } from 'vue'; | ||||
| import MkButton from '../ui/button.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { CounterVarBlock } from '@/scripts/hpml/block'; | ||||
| import { Hpml } from '@/scripts/hpml/evaluator'; | ||||
| import * as os from '@client/os'; | ||||
| import { CounterVarBlock } from '@client/scripts/hpml/block'; | ||||
| import { Hpml } from '@client/scripts/hpml/evaluator'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -5,8 +5,8 @@ | |||
| </template> | ||||
| 
 | ||||
| <script lang="ts"> | ||||
| import { IfBlock } from '@/scripts/hpml/block'; | ||||
| import { Hpml } from '@/scripts/hpml/evaluator'; | ||||
| import { IfBlock } from '@client/scripts/hpml/block'; | ||||
| import { Hpml } from '@client/scripts/hpml/evaluator'; | ||||
| import { defineComponent, defineAsyncComponent, PropType } from 'vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
|  |  | |||
|  | @ -6,9 +6,9 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent, PropType } from 'vue'; | ||||
| import * as os from '@/os'; | ||||
| import { ImageBlock } from '@/scripts/hpml/block'; | ||||
| import { Hpml } from '@/scripts/hpml/evaluator'; | ||||
| import * as os from '@client/os'; | ||||
| import { ImageBlock } from '@client/scripts/hpml/block'; | ||||
| import { Hpml } from '@client/scripts/hpml/evaluator'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -7,10 +7,10 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent, onMounted, PropType, Ref, ref } from 'vue'; | ||||
| import XNote from '@/components/note.vue'; | ||||
| import XNoteDetailed from '@/components/note-detailed.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { NoteBlock } from '@/scripts/hpml/block'; | ||||
| import XNote from '@client/components/note.vue'; | ||||
| import XNoteDetailed from '@client/components/note-detailed.vue'; | ||||
| import * as os from '@client/os'; | ||||
| import { NoteBlock } from '@client/scripts/hpml/block'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -7,9 +7,9 @@ | |||
| <script lang="ts"> | ||||
| import { computed, defineComponent, PropType } from 'vue'; | ||||
| import MkInput from '../ui/input.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { Hpml } from '@/scripts/hpml/evaluator'; | ||||
| import { NumberInputVarBlock } from '@/scripts/hpml/block'; | ||||
| import * as os from '@client/os'; | ||||
| import { Hpml } from '@client/scripts/hpml/evaluator'; | ||||
| import { NumberInputVarBlock } from '@client/scripts/hpml/block'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -10,10 +10,10 @@ import { defineComponent, PropType } from 'vue'; | |||
| import { faCheck, faPaperPlane } from '@fortawesome/free-solid-svg-icons'; | ||||
| import MkTextarea from '../ui/textarea.vue'; | ||||
| import MkButton from '../ui/button.vue'; | ||||
| import { apiUrl } from '@/config'; | ||||
| import * as os from '@/os'; | ||||
| import { PostBlock } from '@/scripts/hpml/block'; | ||||
| import { Hpml } from '@/scripts/hpml/evaluator'; | ||||
| import { apiUrl } from '@client/config'; | ||||
| import * as os from '@client/os'; | ||||
| import { PostBlock } from '@client/scripts/hpml/block'; | ||||
| import { Hpml } from '@client/scripts/hpml/evaluator'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -8,9 +8,9 @@ | |||
| <script lang="ts"> | ||||
| import { computed, defineComponent, PropType } from 'vue'; | ||||
| import MkRadio from '../ui/radio.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { Hpml } from '@/scripts/hpml/evaluator'; | ||||
| import { RadioButtonVarBlock } from '@/scripts/hpml/block'; | ||||
| import * as os from '@client/os'; | ||||
| import { Hpml } from '@client/scripts/hpml/evaluator'; | ||||
| import { RadioButtonVarBlock } from '@client/scripts/hpml/block'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -10,9 +10,9 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent, defineAsyncComponent, PropType } from 'vue'; | ||||
| import * as os from '@/os'; | ||||
| import { SectionBlock } from '@/scripts/hpml/block'; | ||||
| import { Hpml } from '@/scripts/hpml/evaluator'; | ||||
| import * as os from '@client/os'; | ||||
| import { SectionBlock } from '@client/scripts/hpml/block'; | ||||
| import { Hpml } from '@client/scripts/hpml/evaluator'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -7,9 +7,9 @@ | |||
| <script lang="ts"> | ||||
| import { computed, defineComponent, PropType } from 'vue'; | ||||
| import MkSwitch from '../ui/switch.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { Hpml } from '@/scripts/hpml/evaluator'; | ||||
| import { SwitchVarBlock } from '@/scripts/hpml/block'; | ||||
| import * as os from '@client/os'; | ||||
| import { Hpml } from '@client/scripts/hpml/evaluator'; | ||||
| import { SwitchVarBlock } from '@client/scripts/hpml/block'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -7,9 +7,9 @@ | |||
| <script lang="ts"> | ||||
| import { computed, defineComponent, PropType } from 'vue'; | ||||
| import MkInput from '../ui/input.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { Hpml } from '@/scripts/hpml/evaluator'; | ||||
| import { TextInputVarBlock } from '@/scripts/hpml/block'; | ||||
| import * as os from '@client/os'; | ||||
| import { Hpml } from '@client/scripts/hpml/evaluator'; | ||||
| import { TextInputVarBlock } from '@client/scripts/hpml/block'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -6,15 +6,15 @@ | |||
| </template> | ||||
| 
 | ||||
| <script lang="ts"> | ||||
| import { TextBlock } from '@/scripts/hpml/block'; | ||||
| import { Hpml } from '@/scripts/hpml/evaluator'; | ||||
| import { TextBlock } from '@client/scripts/hpml/block'; | ||||
| import { Hpml } from '@client/scripts/hpml/evaluator'; | ||||
| import { defineAsyncComponent, defineComponent, PropType } from 'vue'; | ||||
| import { parse } from '../../../mfm/parse'; | ||||
| import { unique } from '../../../prelude/array'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
| 		MkUrlPreview: defineAsyncComponent(() => import('@/components/url-preview.vue')), | ||||
| 		MkUrlPreview: defineAsyncComponent(() => import('@client/components/url-preview.vue')), | ||||
| 	}, | ||||
| 	props: { | ||||
| 		block: { | ||||
|  |  | |||
|  | @ -7,10 +7,10 @@ | |||
| <script lang="ts"> | ||||
| import { computed, defineComponent, PropType } from 'vue'; | ||||
| import MkTextarea from '../ui/textarea.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { Hpml } from '@/scripts/hpml/evaluator'; | ||||
| import { HpmlTextInput } from '@/scripts/hpml'; | ||||
| import { TextInputVarBlock } from '@/scripts/hpml/block'; | ||||
| import * as os from '@client/os'; | ||||
| import { Hpml } from '@client/scripts/hpml/evaluator'; | ||||
| import { HpmlTextInput } from '@client/scripts/hpml'; | ||||
| import { TextInputVarBlock } from '@client/scripts/hpml/block'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -3,8 +3,8 @@ | |||
| </template> | ||||
| 
 | ||||
| <script lang="ts"> | ||||
| import { TextBlock } from '@/scripts/hpml/block'; | ||||
| import { Hpml } from '@/scripts/hpml/evaluator'; | ||||
| import { TextBlock } from '@client/scripts/hpml/block'; | ||||
| import { Hpml } from '@client/scripts/hpml/evaluator'; | ||||
| import { defineComponent, PropType } from 'vue'; | ||||
| import MkTextarea from '../ui/textarea.vue'; | ||||
| 
 | ||||
|  |  | |||
|  | @ -8,10 +8,10 @@ | |||
| import { defineComponent, onMounted, nextTick, onUnmounted, PropType } from 'vue'; | ||||
| import { parse } from '@syuilo/aiscript'; | ||||
| import XBlock from './page.block.vue'; | ||||
| import { Hpml } from '@/scripts/hpml/evaluator'; | ||||
| import { url } from '@/config'; | ||||
| import { $i } from '@/account'; | ||||
| import { defaultStore } from '@/store'; | ||||
| import { Hpml } from '@client/scripts/hpml/evaluator'; | ||||
| import { url } from '@client/config'; | ||||
| import { $i } from '@client/account'; | ||||
| import { defaultStore } from '@client/store'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -52,7 +52,7 @@ | |||
| import { defineComponent } from 'vue'; | ||||
| import { faExclamationTriangle, faTimes } from '@fortawesome/free-solid-svg-icons'; | ||||
| import { addTime } from '../../prelude/time'; | ||||
| import { formatDateTimeString } from '../../misc/format-time-string'; | ||||
| import { formatDateTimeString } from '@/misc/format-time-string'; | ||||
| import MkInput from './ui/input.vue'; | ||||
| import MkSelect from './ui/select.vue'; | ||||
| import MkSwitch from './ui/switch.vue'; | ||||
|  |  | |||
|  | @ -25,7 +25,7 @@ | |||
| import { defineComponent } from 'vue'; | ||||
| import { faCheck } from '@fortawesome/free-solid-svg-icons'; | ||||
| import { sum } from '../../prelude/array'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -19,7 +19,7 @@ import { defineComponent, defineAsyncComponent } from 'vue'; | |||
| import { faTimesCircle, faEye, faEyeSlash } from '@fortawesome/free-regular-svg-icons'; | ||||
| import { faExclamationTriangle, faICursor } from '@fortawesome/free-solid-svg-icons'; | ||||
| import MkDriveFileThumbnail from './drive-file-thumbnail.vue' | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -6,8 +6,8 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import MkModal from '@/components/ui/modal.vue'; | ||||
| import MkPostForm from '@/components/post-form.vue'; | ||||
| import MkModal from '@client/components/ui/modal.vue'; | ||||
| import MkPostForm from '@client/components/post-form.vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -59,17 +59,17 @@ import { length } from 'stringz'; | |||
| import { toASCII } from 'punycode'; | ||||
| import XNotePreview from './note-preview.vue'; | ||||
| import { parse } from '../../mfm/parse'; | ||||
| import { host, url } from '@/config'; | ||||
| import { host, url } from '@client/config'; | ||||
| import { erase, unique } from '../../prelude/array'; | ||||
| import extractMentions from '../../misc/extract-mentions'; | ||||
| import getAcct from '../../misc/acct/render'; | ||||
| import { formatTimeString } from '../../misc/format-time-string'; | ||||
| import { Autocomplete } from '@/scripts/autocomplete'; | ||||
| import extractMentions from '@/misc/extract-mentions'; | ||||
| import getAcct from '@/misc/acct/render'; | ||||
| import { formatTimeString } from '@/misc/format-time-string'; | ||||
| import { Autocomplete } from '@client/scripts/autocomplete'; | ||||
| import { noteVisibilities } from '../../types'; | ||||
| import * as os from '@/os'; | ||||
| import { selectFile } from '@/scripts/select-file'; | ||||
| import { notePostInterruptors, postFormActions } from '@/store'; | ||||
| import { isMobile } from '@/scripts/is-mobile'; | ||||
| import * as os from '@client/os'; | ||||
| import { selectFile } from '@client/scripts/select-file'; | ||||
| import { notePostInterruptors, postFormActions } from '@client/store'; | ||||
| import { isMobile } from '@client/scripts/is-mobile'; | ||||
| import { throttle } from 'throttle-debounce'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
|  |  | |||
|  | @ -18,9 +18,9 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent, ref } from 'vue'; | ||||
| import XDetails from '@/components/reactions-viewer.details.vue'; | ||||
| import XReactionIcon from '@/components/reaction-icon.vue'; | ||||
| import * as os from '@/os'; | ||||
| import XDetails from '@client/components/reactions-viewer.details.vue'; | ||||
| import XReactionIcon from '@client/components/reaction-icon.vue'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -29,13 +29,13 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import MkButton from '@/components/ui/button.vue'; | ||||
| import MkInput from '@/components/ui/input.vue'; | ||||
| import MkSwitch from '@/components/ui/switch.vue'; | ||||
| import MkTextarea from '@/components/ui/textarea.vue'; | ||||
| import MkRadio from '@/components/ui/radio.vue'; | ||||
| import * as os from '@/os'; | ||||
| import * as config from '@/config'; | ||||
| import MkButton from '@client/components/ui/button.vue'; | ||||
| import MkInput from '@client/components/ui/input.vue'; | ||||
| import MkSwitch from '@client/components/ui/switch.vue'; | ||||
| import MkTextarea from '@client/components/ui/textarea.vue'; | ||||
| import MkRadio from '@client/components/ui/radio.vue'; | ||||
| import * as os from '@client/os'; | ||||
| import * as config from '@client/config'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -48,11 +48,11 @@ | |||
| import { defineComponent } from 'vue'; | ||||
| import { faGripVertical, faChevronLeft, faHashtag, faBroadcastTower, faFireAlt, faEllipsisH, faPencilAlt, faBars, faTimes, faSearch, faUserCog, faCog, faUser, faHome, faStar, faCircle, faAt, faListUl, faPlus, faUserClock, faUsers, faTachometerAlt, faExchangeAlt, faGlobe, faChartBar, faCloud, faServer, faInfoCircle, faQuestionCircle, faProjectDiagram, faStream, faExclamationCircle } from '@fortawesome/free-solid-svg-icons'; | ||||
| import { faBell, faEnvelope, faLaugh, faComments } from '@fortawesome/free-regular-svg-icons'; | ||||
| import { host } from '@/config'; | ||||
| import { search } from '@/scripts/search'; | ||||
| import * as os from '@/os'; | ||||
| import { sidebarDef } from '@/sidebar'; | ||||
| import { getAccounts, addAccount, login } from '@/account'; | ||||
| import { host } from '@client/config'; | ||||
| import { search } from '@client/scripts/search'; | ||||
| import * as os from '@client/os'; | ||||
| import { sidebarDef } from '@client/sidebar'; | ||||
| import { getAccounts, addAccount, login } from '@client/account'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	props: { | ||||
|  |  | |||
|  | @ -13,7 +13,7 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import XModalWindow from '@/components/ui/modal-window.vue'; | ||||
| import XModalWindow from '@client/components/ui/modal-window.vue'; | ||||
| import MkSignin from './signin.vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
|  |  | |||
|  | @ -53,10 +53,10 @@ import { faLock, faGavel } from '@fortawesome/free-solid-svg-icons'; | |||
| import { faTwitter, faDiscord, faGithub } from '@fortawesome/free-brands-svg-icons'; | ||||
| import MkButton from './ui/button.vue'; | ||||
| import MkInput from './ui/input.vue'; | ||||
| import { apiUrl, host } from '@/config'; | ||||
| import { byteify, hexify } from '@/scripts/2fa'; | ||||
| import * as os from '@/os'; | ||||
| import { login } from '@/account'; | ||||
| import { apiUrl, host } from '@client/config'; | ||||
| import { byteify, hexify } from '@client/scripts/2fa'; | ||||
| import * as os from '@client/os'; | ||||
| import { login } from '@client/account'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -15,7 +15,7 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import XModalWindow from '@/components/ui/modal-window.vue'; | ||||
| import XModalWindow from '@client/components/ui/modal-window.vue'; | ||||
| import XSignup from './signup.vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
|  |  | |||
|  | @ -56,12 +56,12 @@ import { defineComponent, defineAsyncComponent } from 'vue'; | |||
| import { faLock, faExclamationTriangle, faSpinner, faCheck, faKey } from '@fortawesome/free-solid-svg-icons'; | ||||
| const getPasswordStrength = require('syuilo-password-strength'); | ||||
| import { toUnicode } from 'punycode'; | ||||
| import { host, url } from '@/config'; | ||||
| import { host, url } from '@client/config'; | ||||
| import MkButton from './ui/button.vue'; | ||||
| import MkInput from './ui/input.vue'; | ||||
| import MkSwitch from './ui/switch.vue'; | ||||
| import * as os from '@/os'; | ||||
| import { login } from '@/account'; | ||||
| import * as os from '@client/os'; | ||||
| import { login } from '@client/account'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -23,7 +23,7 @@ import { defineComponent } from 'vue'; | |||
| import { faReply } from '@fortawesome/free-solid-svg-icons'; | ||||
| import XPoll from './poll.vue'; | ||||
| import XMediaList from './media-list.vue'; | ||||
| import * as os from '@/os'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -23,8 +23,8 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import * as JSON5 from 'json5'; | ||||
| import XWindow from '@/components/ui/window.vue'; | ||||
| import MkTab from '@/components/tab.vue'; | ||||
| import XWindow from '@client/components/ui/window.vue'; | ||||
| import MkTab from '@client/components/tab.vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -79,11 +79,11 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent, markRaw, onBeforeUnmount, ref, shallowRef } from 'vue'; | ||||
| import { faTerminal } from '@fortawesome/free-solid-svg-icons'; | ||||
| import XWindow from '@/components/ui/window.vue'; | ||||
| import MkTab from '@/components/tab.vue'; | ||||
| import MkButton from '@/components/ui/button.vue'; | ||||
| import follow from '@/directives/follow-append'; | ||||
| import * as os from '@/os'; | ||||
| import XWindow from '@client/components/ui/window.vue'; | ||||
| import MkTab from '@client/components/tab.vue'; | ||||
| import MkButton from '@client/components/ui/button.vue'; | ||||
| import follow from '@client/directives/follow-append'; | ||||
| import * as os from '@client/os'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -5,8 +5,8 @@ | |||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import XNotes from './notes.vue'; | ||||
| import * as os from '@/os'; | ||||
| import * as sound from '@/scripts/sound'; | ||||
| import * as os from '@client/os'; | ||||
| import * as sound from '@client/scripts/sound'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
|  |  | |||
|  | @ -27,8 +27,8 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { kinds } from '../../misc/api-permissions'; | ||||
| import XModalWindow from '@/components/ui/modal-window.vue'; | ||||
| import { kinds } from '@/misc/api-permissions'; | ||||
| import XModalWindow from '@client/components/ui/modal-window.vue'; | ||||
| import MkInput from './ui/input.vue'; | ||||
| import MkTextarea from './ui/textarea.vue'; | ||||
| import MkSwitch from './ui/switch.vue'; | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import contains from '@/scripts/contains'; | ||||
| import contains from '@client/scripts/contains'; | ||||
| import MkMenu from './menu.vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
|  |  | |||
Some files were not shown because too many files have changed in this diff Show more
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue