Merge branch 'shadi/develop' of https://git2.tavasi.ir/front/base_ui into main

This commit is contained in:
mustafa-rezae 2025-02-27 13:19:29 +03:30
commit cab508f69a
28 changed files with 155 additions and 118 deletions

View File

@ -1,5 +1,7 @@
@import "src/assets/common/scss/mixin";
@import "src/assets/common/scss/placeholder";
// @import "src/assets/common/scss/mixin";
// @import "src/assets/common/scss/placeholder";
@import "@/assets/common/scss/mixin";
@import "@/assets/common/scss/placeholder";
.admin-system,.task-system,.admin-panel{
//@import "main";

View File

@ -1,5 +1,7 @@
@import "src/assets/common/scss/mixin";
@import "src/assets/common/scss/placeholder";
// @import "src/assets/common/scss/mixin";
// @import "src/assets/common/scss/placeholder";
@import "@/assets/common/scss/mixin";
@import "@/assets/common/scss/placeholder";
.admin-panel {
.pages-content-container {

View File

@ -106,7 +106,9 @@
<script>
import authMixin from "~/mixins/authMixin";
import { required, minLength } from "vuelidate/lib/validators";
import { required,minLength } from '@vuelidate/validators'
import useVuelidate from '@vuelidate/core'
import { mapState } from "pinia";

View File

@ -5,13 +5,13 @@
"{{ userFullname(getFullName) }}" عزیز، خوش آمدید.
</div>
<div v-else> 0{{ getMobile }} </div>
<div v-else>0{{ getMobile }}</div>
</div>
<div class="m-sign-up__text">رمز پیامک شده را وارد کنید</div>
<div class="m-sign-up__form">
<div class="m-sign-up__form-row m-sign-up__simple-input">
<div
class="form-group "
class="form-group"
:class="{ 'form-group--error': $v.code.$error }"
>
<input
@ -96,7 +96,7 @@
</div>
<div class="m-sign-up__button-container">
<a @click.prevent="goBack" :href="$t('Back')">{{ $t("Back") }}</a>
<button v-on:click="doActivate">
<button v-on:click="doActivate">
{{ $t("Verify") }}
</button>
</div>
@ -106,7 +106,8 @@
<script>
import authMixin from "~/mixins/authMixin";
import { required, minLength } from "vuelidate/lib/validators";
import { required, minLength } from "@vuelidate/validators";
import { useCommonStore } from "~/stores/commonStore";
import { useAuthStore } from "~/stores/authStore";
import { mapState } from "pinia";
@ -147,7 +148,11 @@ export default {
};
},
computed: {
...mapState(useAuthStore,["getMobile", "getFullName", "getResetPasswordState"]),
...mapState(useAuthStore, [
"getMobile",
"getFullName",
"getResetPasswordState",
]),
},
methods: {
resetErrors() {
@ -183,14 +188,14 @@ export default {
vm.mySwalToast({
title: res.message,
icon: "success",
});
});
const { $eventBus } = useNuxtApp();
$eventBus.emit(
'authenticated-by-modal',
this.$route.query["invite-id"]
);
"authenticated-by-modal",
this.$route.query["invite-id"]
);
// vm.$router.push({
// name: "dashboard",
// });
@ -226,7 +231,7 @@ export default {
const vm = this;
var timeleft = timeInSecond;
var downloadTimer = setInterval(function() {
var downloadTimer = setInterval(function () {
if (timeleft <= 0) {
clearInterval(downloadTimer);
vm.$refs.countdown.innerHTML = "ارسال مجدد";
@ -250,7 +255,7 @@ export default {
display: inline-block !important;
text-align: center !important;
border: none !important;
background:unset !important;
background: unset !important;
&[disabled] {
min-width: 4em !important;
}

View File

@ -43,7 +43,7 @@ import {
minLength,
maxLength,
between,
} from "vuelidate/lib/validators";
} from "@vuelidate/validators";
export default {
name: "forget",

View File

@ -156,7 +156,7 @@ import {
minLength,
maxLength,
between,
} from "vuelidate/lib/validators";
} from "@vuelidate/validators";
export default {
mounted() {

View File

@ -116,7 +116,7 @@ import {
minLength,
maxLength,
between,
} from "vuelidate/lib/validators";
} from "@vuelidate/validators";
import { mapState, mapActions } from "pinia";
import { useCommonStore } from "~/stores/commonStore";

View File

@ -207,7 +207,7 @@ import {
maxLength,
between,
sameAs,
} from "vuelidate/lib/validators";
} from "@vuelidate/validators";
export default {
mounted(){

View File

@ -93,7 +93,7 @@ import {
maxLength,
between,
sameAs,
} from "vuelidate/lib/validators";
} from "@vuelidate/validators";
export default {
validations: {

View File

@ -110,7 +110,7 @@ import {
required,
minLength,
sameAs,
} from "vuelidate/lib/validators";
} from "@vuelidate/validators";
import { mapState, mapActions } from "pinia";
import { useCommonStore } from "~/stores/commonStore";
import { useAuthStore } from "~/stores/authStore";

View File

@ -34,12 +34,8 @@
<script>
import authMixin from "~/mixins/authMixin";
import {
required,
minLength,
maxLength,
between,
} from "vuelidate/lib/validators";
import { required, minLength, maxLength, between } from "@vuelidate/validators";
export default {
name: "forget",
@ -75,7 +71,7 @@ export default {
title: res.message,
icon: "success",
});
this.$router.push({
name: "resetpass",
params: { usernameemail: vm.usernameemail },

View File

@ -116,7 +116,7 @@ import {
minLength,
maxLength,
between,
} from "vuelidate/lib/validators";
} from "@vuelidate/validators";
import { mapState, mapActions } from "pinia";
import { useCommonStore } from "~/stores/commonStore";

View File

@ -146,7 +146,7 @@ import {
maxLength,
between,
sameAs,
} from "vuelidate/lib/validators";
} from "@vuelidate/validators";
export default {
validations: {

View File

@ -107,7 +107,7 @@ import {
required,
minLength,
sameAs,
} from "vuelidate/lib/validators";
} from "@vuelidate/validators";
import { mapState, mapActions } from "pinia";
export default {

View File

@ -44,7 +44,7 @@ import {
minLength,
maxLength,
between,
} from "vuelidate/lib/validators";
} from "@vuelidate/validators";
export default {
validations: {

View File

@ -63,8 +63,8 @@
<div class="row">
<div class="col-sm-6 mb-2 mb-sm-0 col-md mb-sm-2 mb-md-0">
<div class="link-item-container">
<a
:href="urlResolver('qq309202')"
<NuxtLink
:to="urlResolver('qq309202')"
target="_blank"
class="btn link-item"
>
@ -80,13 +80,13 @@
<div class="more-text-container">
<span class="more-text"> مشاهده بیشتر </span>
</div>
</a>
</NuxtLink>
</div>
</div>
<div class="col-sm-6 mb-2 mb-sm-0 col-md mb-sm-2 mb-md-0">
<div class="link-item-container">
<a
:href="urlResolver('qq308235')"
<NuxtLink
:to="urlResolver('qq308235')"
target="_blank"
class="btn link-item"
>
@ -100,13 +100,13 @@
<div class="more-text-container">
<span class="more-text"> مشاهده بیشتر </span>
</div>
</a>
</NuxtLink>
</div>
</div>
<div class="col-sm-6 mb-2 mb-sm-0 col-md">
<div class="link-item-container">
<a
:href="urlResolver('qq38162')"
<NuxtLink
:to="urlResolver('qq38162')"
target="_blank"
class="btn link-item"
>
@ -120,13 +120,13 @@
<div class="more-text-container">
<span class="more-text"> مشاهده بیشتر </span>
</div>
</a>
</NuxtLink>
</div>
</div>
<div class="col-sm-6 mb-2 mb-sm-0 col-md">
<div class="link-item-container">
<a
:href="urlResolver('qq233930')"
<NuxtLink
:to="urlResolver('qq233930')"
target="_blank"
class="btn link-item"
>
@ -140,7 +140,7 @@
<div class="more-text-container">
<span class="more-text"> مشاهده بیشتر </span>
</div>
</a>
</NuxtLink>
</div>
</div>
</div>
@ -156,7 +156,8 @@ import searchApi from "~/apis/searchApi";
import { mapState, mapActions } from "pinia";
import { useCommonStore } from "~/stores/commonStore";
import { useStorage } from "@vueuse/core";
import {clearBodyClass} from "@manuals/utilities"
import { clearBodyClass } from "@manuals/utilities";
import { useRouter } from "vue-router";
export default {
beforeMount() {
@ -164,7 +165,7 @@ export default {
},
mounted() {
this.setBodyClass("majles-user-panel");
let localStoageSearchSchema = useStorage("searchSchema",undefined).value;
let localStoageSearchSchema = useStorage("searchSchema", undefined).value;
if (localStoageSearchSchema) {
let searchSchema = JSON.parse(localStoageSearchSchema);
this.schemasSetter(searchSchema);
@ -255,7 +256,9 @@ export default {
},
urlResolver(_id) {
return "";
const router = `search/qasection/${_id}/show`;
return router;
// const routeData = this.$router.resolve({
// path: "navigation",
// params: {
@ -272,7 +275,6 @@ export default {
<style lang="scss">
@import "../../../assets/majles/scss/majles";
.custom-class {
.dropdown-toggle {
color: rgba(0, 0, 0, 0.5) !important;

View File

@ -4,7 +4,7 @@
>{{ getLabel() }}:</label
>
<div>
<codemirror
<!-- <codemirror
:options="cmOptions"
class="markdown-preview"
v-model="textValue"
@ -12,7 +12,7 @@
:id="localFormElement.key"
:name="localFormElement.key"
ref="myCm"
></codemirror>
></codemirror> -->
</div>
</div>
</template>
@ -21,20 +21,20 @@
import { mapState } from "pinia";
import formBuilderMixin from "@mixins/formBuilderMixin";
import { codemirror } from "vue-codemirror";
import "vue-codemirror/node_modules/codemirror/lib/codemirror.css";
import "vue-codemirror/node_modules/codemirror/mode/markdown/markdown.js";
import "vue-codemirror/node_modules/codemirror/mode/javascript/javascript.js";
import "vue-codemirror/node_modules/codemirror/mode/css/css.js";
import "vue-codemirror/node_modules/codemirror/mode/vue/vue.js";
import "vue-codemirror/node_modules/codemirror/mode/htmlmixed/htmlmixed.js";
import "vue-codemirror/node_modules/codemirror/addon/edit/closebrackets.js";
import "vue-codemirror/node_modules/codemirror/addon/edit/matchbrackets.js";
import "vue-codemirror/node_modules/codemirror/addon/edit/closetag.js";
import "vue-codemirror/node_modules/codemirror/addon/display/placeholder.js";
import "vue-codemirror/node_modules/codemirror/addon/scroll/simplescrollbars.js";
import "vue-codemirror/node_modules/codemirror/addon/scroll/simplescrollbars.css";
import "vue-codemirror/node_modules/codemirror/addon/selection/active-line.js";
// import { codemirror } from "vue-codemirror";
// import "vue-codemirror/node_modules/codemirror/lib/codemirror.css";
// import "vue-codemirror/node_modules/codemirror/mode/markdown/markdown.js";
// import "vue-codemirror/node_modules/codemirror/mode/javascript/javascript.js";
// import "vue-codemirror/node_modules/codemirror/mode/css/css.js";
// import "vue-codemirror/node_modules/codemirror/mode/vue/vue.js";
// import "vue-codemirror/node_modules/codemirror/mode/htmlmixed/htmlmixed.js";
// import "vue-codemirror/node_modules/codemirror/addon/edit/closebrackets.js";
// import "vue-codemirror/node_modules/codemirror/addon/edit/matchbrackets.js";
// import "vue-codemirror/node_modules/codemirror/addon/edit/closetag.js";
// import "vue-codemirror/node_modules/codemirror/addon/display/placeholder.js";
// import "vue-codemirror/node_modules/codemirror/addon/scroll/simplescrollbars.js";
// import "vue-codemirror/node_modules/codemirror/addon/scroll/simplescrollbars.css";
// import "vue-codemirror/node_modules/codemirror/addon/selection/active-line.js";
export default {
mixins: [formBuilderMixin],

View File

@ -1,8 +1,8 @@
<template>
<div class="row form-group" :key="$attrs.key">
<label :for="localFormElement?.key" class="col-md-3">{{
localFormElement?.label
}}:</label>
<label :for="localFormElement?.key" class="col-md-3"
>{{ localFormElement?.label }}:</label
>
<div v-if="isInitial" class="dropbox">
<input
@ -58,7 +58,7 @@ const STATUS_INITIAL = 0,
STATUS_FAILED = 3;
import { upload } from "@services/fileUploadService";
import { wait } from "@utilities/utilities.js";
import { wait } from "~/manuals/utilities.js";
import formBuilderMixin from "@mixins/formBuilderMixin";
export default {
@ -133,7 +133,7 @@ export default {
.dropbox {
outline: 2px dashed grey; /* the dash box */
outline-offset: -10px;
background: lightcyan;
background: lightcyan;
color: dimgray;
padding: 10px 10px;
min-height: 200px; /* minimum height */

View File

@ -92,7 +92,7 @@ export default {
// datePicker: VuePersianDatetimePicker,
datePicker: () =>
import(
"vue-persian-datetime-picker"
"vue3-persian-datetime-picker"
),
},
};

View File

@ -86,13 +86,13 @@ import repoApi from "~/apis/repoApi";
import { mapState } from "pinia";
import { useCommonStore } from "~/stores/commonStore";
import SelectComponentDefault from "~/components/SelectComponentDefault.vue";
import SelectComponent from "~/components/SelectComponent.vue";
import InputComponent from "~/components/InputComponent.vue";
import LabelComponent from "~/components/LabelComponent.vue";
import tagsComponent from "~/components/tagsComponent.vue";
import DateComponent from "~/components/DateComponent.vue";
import TextareaComponent from "~/components/TextareaComponent.vue";
import SelectComponentDefault from "~/components/other/SelectComponentDefault.vue";
import SelectComponent from "~/components/other/SelectComponent.vue";
import InputComponent from "~/components/other/InputComponent.vue";
import LabelComponent from "~/components/other/LabelComponent.vue";
import tagsComponent from "~/components/other/tagsComponent.vue";
import DateComponent from "~/components/other/DateComponent.vue";
import TextareaComponent from "~/components/other/TextareaComponent.vue";
/**
* @vue-data {Object} [listUpdatedText = {}] - متنهای بهروزشده در لیست.
* @vue-data {undefined} [httpService = undefined] - سرویس HTTP برای درخواستها.

View File

@ -28,8 +28,8 @@
<button
class="navbar-toggler"
type="button"
data-toggle="collapse"
data-target="#navbarSupportedContent"
data-bs-toggle="collapse"
data-bs-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent"
aria-expanded="false"
aria-label="Toggle navigation"
@ -50,10 +50,10 @@
</div>
<button
class="btn p-0 mr-auto"
class="btn p-0 me-auto"
type="button"
data-toggle="collapse"
data-target="#navbarSupportedContent"
data-bs-toggle="collapse"
data-bs-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent"
aria-expanded="false"
aria-label="Toggle navigation"
@ -63,7 +63,7 @@
</svg>
</button>
</div>
<ul class="navbar-nav ml-auto mr-md-5">
<ul class="navbar-nav ms-auto me-md-5">
<!-- <li class="nav-item active">
<a class="nav-link" href="#"
>پیشخوان <span class="sr-only">(current)</span></a
@ -77,7 +77,7 @@
class="nav-link dropdown-toggle"
id="navbarDropdown"
role="button"
data-toggle="dropdown"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>
@ -87,13 +87,13 @@
<!-- <my-system class="list" layout="list"></my-system> -->
</div>
</li>
<li class="nav-item dropdown">
<li class="nav-item dropdown">
<a
class="nav-link dropdown-toggle"
href="#"
id="navbarDropdown"
role="button"
data-toggle="dropdown"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>
@ -128,7 +128,7 @@
</li>
</ul>
<ul class="navbar-nav ml-md-3 mr-auto">
<ul class="navbar-nav ms-md-3 me-auto">
<li class="nav-item">
<notification></notification>
</li>
@ -151,12 +151,14 @@
<the-sidebar
:showUserAvatar="true"
:menu="$attrs.menu"
@statusPag="statusPag"
></the-sidebar>
<main class="main-page__content" :class="{ expanded: !isSidebarCollapsed }">
<!-- <div class="pages list-page"> -->
<!-- <div class="pages-content align-items-stretch p-0"> -->
<!-- <div class="flex-grow-1"> -->
<slot></slot>
<!-- </div> -->
<!-- </div> -->
@ -169,7 +171,7 @@
import { mapState, mapActions } from "pinia";
import { useCommonStore } from "~/stores/commonStore";
import {clearBodyClass} from "@manuals/utilities"
import { clearBodyClass } from "@manuals/utilities";
export default {
mounted() {
// this.setBodyClass("default-dashboard");

View File

@ -1,5 +1,5 @@
import { mapState, mapActions } from "pinia";
import { useCommonStore } from "@stores/commonStore";
import { useCommonStore } from "~/stores/commonStore";
export default {
created() {

32
package-lock.json generated
View File

@ -17,6 +17,7 @@
"@vueup/vue-quill": "^1.2.0",
"axios": "^1.7.7",
"bootstrap": "^5.3.3",
"codemirror": "^6.0.1",
"docx": "^9.1.1",
"echarts": "^5.5.1",
"echarts-wordcloud": "^2.1.0",
@ -667,7 +668,6 @@
"resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.18.3.tgz",
"integrity": "sha512-1dNIOmiM0z4BIBwxmxEfA1yoxh1MF/6KPBbh20a5vphGV0ictKlgQsbJs6D6SkR6iJpGbpwRsa6PFMNlg9T9pQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"@codemirror/language": "^6.0.0",
"@codemirror/state": "^6.0.0",
@ -712,7 +712,6 @@
"resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.8.3.tgz",
"integrity": "sha512-GSGfKxCo867P7EX1k2LoCrjuQFeqVgPGRRsSl4J4c0KMkD+k1y6WYvTQkzv0iZ8JhLJDujEvlnMchv4CZQLh3Q==",
"license": "MIT",
"peer": true,
"dependencies": {
"@codemirror/state": "^6.0.0",
"@codemirror/view": "^6.35.0",
@ -724,7 +723,6 @@
"resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.8.tgz",
"integrity": "sha512-PoWtZvo7c1XFeZWmmyaOp2G0XVbOnm+fJzvghqGAktBW3cufwJUWvSCcNG0ppXiBEM05mZu6RhMtXPv2hpllig==",
"license": "MIT",
"peer": true,
"dependencies": {
"@codemirror/state": "^6.0.0",
"@codemirror/view": "^6.0.0",
@ -6845,7 +6843,6 @@
"resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz",
"integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==",
"license": "MIT",
"peer": true,
"dependencies": {
"@codemirror/autocomplete": "^6.0.0",
"@codemirror/commands": "^6.0.0",
@ -7112,8 +7109,7 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz",
"integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==",
"license": "MIT",
"peer": true
"license": "MIT"
},
"node_modules/croner": {
"version": "9.0.0",
@ -11913,6 +11909,8 @@
},
"node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
"inBundle": true,
"license": "MIT",
"dependencies": {
@ -12571,6 +12569,8 @@
},
"node_modules/npm/node_modules/cross-spawn/node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"inBundle": true,
"license": "ISC",
"dependencies": {
@ -13192,6 +13192,8 @@
},
"node_modules/npm/node_modules/minipass-flush/node_modules/minipass": {
"version": "3.3.6",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
"integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"inBundle": true,
"license": "ISC",
"dependencies": {
@ -13214,6 +13216,8 @@
},
"node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": {
"version": "3.3.6",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
"integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"inBundle": true,
"license": "ISC",
"dependencies": {
@ -13236,6 +13240,8 @@
},
"node_modules/npm/node_modules/minipass-sized/node_modules/minipass": {
"version": "3.3.6",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
"integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"inBundle": true,
"license": "ISC",
"dependencies": {
@ -13261,6 +13267,8 @@
},
"node_modules/npm/node_modules/minizlib/node_modules/minipass": {
"version": "3.3.6",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
"integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"inBundle": true,
"license": "ISC",
"dependencies": {
@ -13395,6 +13403,8 @@
},
"node_modules/npm/node_modules/nopt/node_modules/abbrev": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
"integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
"inBundle": true,
"license": "ISC",
"engines": {
@ -14015,6 +14025,8 @@
},
"node_modules/npm/node_modules/tar/node_modules/fs-minipass": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
"integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
"inBundle": true,
"license": "ISC",
"dependencies": {
@ -14026,6 +14038,8 @@
},
"node_modules/npm/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": {
"version": "3.3.6",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
"integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"inBundle": true,
"license": "ISC",
"dependencies": {
@ -14037,6 +14051,8 @@
},
"node_modules/npm/node_modules/tar/node_modules/minipass": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
"integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
"inBundle": true,
"license": "ISC",
"engines": {
@ -14198,6 +14214,8 @@
},
"node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"inBundle": true,
"license": "MIT",
"dependencies": {
@ -14232,6 +14250,8 @@
},
"node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
"inBundle": true,
"license": "MIT",
"dependencies": {

View File

@ -25,6 +25,7 @@
"@vueup/vue-quill": "^1.2.0",
"axios": "^1.7.7",
"bootstrap": "^5.3.3",
"codemirror": "^6.0.1",
"docx": "^9.1.1",
"echarts": "^5.5.1",
"echarts-wordcloud": "^2.1.0",

View File

@ -5,7 +5,7 @@
<!-- majles dashbaord -->
<search-section v-if="buildName() == 'majles'"></search-section>
<!-- monir dashboard -->
<default-dashboard></default-dashboard>
<default-dashboard v-else></default-dashboard>
<!-- </ClientOnly> -->
</NuxtLayout>
</div>

View File

@ -4,23 +4,28 @@
// createApp.use(Vuelidate);
import { useVuelidate } from '@vuelidate/core'
import { required, minLength } from '@vuelidate/validators'
// import { required, minLength } from '@vuelidate/validators'
export default defineNuxtPlugin((nuxtApp) => {
nuxtApp.vueApp.use(() => {
// // Example of global setup, but typically you'd handle this in the component
// const state = reactive({
// firstName: ''
// })
// const rules = {
// firstName: {
// required,
// minLength: minLength(2)
// }
// }
// const v$ = useVuelidate(rules, state)
// return v$;
// // Return the v$ instance or any other necessary setup
})
})
// export default defineNuxtPlugin((nuxtApp) => {
// nuxtApp.vueApp.use((useVuelidate) => {
// // // Example of global setup, but typically you'd handle this in the component
// // const state = reactive({
// // firstName: ''
// // })
// // const rules = {
// // firstName: {
// // required,
// // minLength: minLength(2)
// // }
// // }
// // const v$ = useVuelidate(rules, state)
// // return v$;
// // // Return the v$ instance or any other necessary setup
// })
// })
export default defineNuxtPlugin(nuxtApp => {
nuxtApp.provide('vuelidate', useVuelidate)
})

@ -1 +1 @@
Subproject commit 9a5f23287ffa2b970b17f5d1ab83cf8e6f5cc025
Subproject commit 0825fefd58df634196a1f7cf49446db73547c961

View File

@ -3192,7 +3192,7 @@ cluster-key-slot@^1.1.0:
cmd-shim@^7.0.0:
version "7.0.0"
codemirror@6.x:
codemirror@^6.0.1, codemirror@6.x:
version "6.0.1"
resolved "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz"
integrity sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==