diff --git a/Asset 24.svg b/Asset 24.svg
new file mode 100644
index 0000000..8115e27
--- /dev/null
+++ b/Asset 24.svg
@@ -0,0 +1,37 @@
+
+
\ No newline at end of file
diff --git a/Asset 26.svg b/Asset 26.svg
new file mode 100644
index 0000000..b04ebb9
--- /dev/null
+++ b/Asset 26.svg
@@ -0,0 +1,25 @@
+
+
\ No newline at end of file
diff --git a/apps/web/index.html b/apps/web/index.html
index d122152..ff6210d 100644
--- a/apps/web/index.html
+++ b/apps/web/index.html
@@ -4,7 +4,7 @@
منتکت | Montact CRM
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/web/public/brand/montact-wordmark.svg b/apps/web/public/brand/montact-wordmark.svg
new file mode 100644
index 0000000..8115e27
--- /dev/null
+++ b/apps/web/public/brand/montact-wordmark.svg
@@ -0,0 +1,37 @@
+
+
\ No newline at end of file
diff --git a/apps/web/src/components/OrgSwitcher.vue b/apps/web/src/components/OrgSwitcher.vue
index 9d9b7ff..5114af1 100644
--- a/apps/web/src/components/OrgSwitcher.vue
+++ b/apps/web/src/components/OrgSwitcher.vue
@@ -3,10 +3,8 @@ import { computed, nextTick, onMounted, onUnmounted, ref } from 'vue';
import axios from 'axios';
import { useAuthStore } from '@/stores/auth';
import { USER_ROLE_LABELS } from '@/lib/roles';
-import { BUSINESS_FIELDS, BUSINESS_FIELD_LABELS } from '@/lib/business-fields';
-import type { BusinessField, OrganizationMembershipDto } from '@mento/shared';
+import type { OrganizationMembershipDto } from '@mento/shared';
import UiIcon from '@/components/UiIcon.vue';
-import UiModal from '@/components/ui/UiModal.vue';
const props = withDefaults(
defineProps<{
@@ -28,12 +26,8 @@ const auth = useAuthStore();
const orgs = ref([]);
const open = ref(false);
-const createOpen = ref(false);
const loading = ref(false);
-const creating = ref(false);
const error = ref('');
-const newName = ref('');
-const newField = ref('personal');
const rootEl = ref(null);
const menuEl = ref(null);
const menuStyle = ref>({});
@@ -60,7 +54,7 @@ const currentInitial = computed(() => {
const canSwitch = computed(() => orgs.value.length > 1);
const isWorkspace = computed(() => props.variant === 'workspace');
-/** در حالت workspace منو همیشه باز میشود (لیست org + محیط جدید)؛ در حالت پیشفرض فقط وقتی بیش از یکی باشد */
+/** در حالت workspace منو همیشه باز میشود؛ در حالت پیشفرض فقط وقتی بیش از یکی باشد */
const menuEnabled = computed(() => isWorkspace.value || canSwitch.value);
function apiError(e: unknown, fallback: string) {
@@ -148,34 +142,6 @@ async function choose(org: OrganizationMembershipDto) {
}
}
-function openCreate() {
- closeMenu();
- newName.value = '';
- newField.value = 'personal';
- error.value = '';
- createOpen.value = true;
-}
-
-async function submitCreate() {
- const name = newName.value.trim();
- if (name.length < 2) {
- error.value = 'نام محیط باید حداقل دو حرف باشد.';
- return;
- }
- creating.value = true;
- error.value = '';
- try {
- await auth.createOrganization({
- name,
- businessField: newField.value,
- });
- window.location.assign('/');
- } catch (e) {
- error.value = apiError(e, 'ساخت محیط ناموفق بود');
- creating.value = false;
- }
-}
-
function onDocClick(event: MouseEvent) {
if (!open.value || Date.now() < ignoreDocClickUntil) return;
const target = event.target;
@@ -260,36 +226,9 @@ onUnmounted(() => {
:size="16"
/>
-
- {{ error }}
+ {{ error }}
-
-
-
-
-
-
-
-
@@ -585,61 +524,9 @@ onUnmounted(() => {
color: #0f172a;
}
-.create {
- margin-top: 0.15rem;
- padding: 0.7rem 0.65rem 0.55rem;
- border-top: 1px solid #eef2f7;
- border-radius: 0 0 12px 12px;
- color: var(--accent-deep);
- font-weight: 700;
- font-size: 0.86rem;
-}
-
-.menu.org-ws .create:hover {
- background: #f8fafc;
- color: #0f766e;
-}
-
.err {
margin: 0.2rem 0 0;
color: #b91c1c;
font-size: 0.75rem;
}
-
-.form {
- display: grid;
- gap: 0.75rem;
-}
-
-.form label {
- display: grid;
- gap: 0.35rem;
- font-size: 0.88rem;
-}
-
-.form input,
-.form select {
- border: 1px solid var(--line);
- border-radius: 10px;
- padding: 0.65rem 0.75rem;
-}
-
-.ghost,
-.primary {
- border-radius: 10px;
- padding: 0.55rem 0.9rem;
- cursor: pointer;
-}
-
-.ghost {
- border: 1px solid var(--line);
- background: #fff;
-}
-
-.primary {
- border: 0;
- background: var(--accent);
- color: #fff;
- font-weight: 700;
-}
diff --git a/apps/web/src/components/dashboard/HomeHero.vue b/apps/web/src/components/dashboard/HomeHero.vue
index 5bf9c97..548f8f7 100644
--- a/apps/web/src/components/dashboard/HomeHero.vue
+++ b/apps/web/src/components/dashboard/HomeHero.vue
@@ -1,6 +1,6 @@