Add branding configuration and assets for Sepehr tenant
Production CI / validate-and-build (push) Failing after 1m2s
- Created branding.config.ts to define branding settings including app title, support contact information, and working hours. - Added brandingAssets.ts to import and export logo and login images for the Sepehr tenant. - Introduced config.ts to specify application type as POS for the Sepehr tenant.
@@ -81,6 +81,54 @@
|
||||
"outputHashing": "all",
|
||||
"outputPath": "dist/production"
|
||||
},
|
||||
"sepehr": {
|
||||
"assets": [
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "public-sepehr"
|
||||
}
|
||||
],
|
||||
"budgets": [
|
||||
{
|
||||
"maximumError": "3MB",
|
||||
"maximumWarning": "2MB",
|
||||
"type": "initial"
|
||||
},
|
||||
{
|
||||
"maximumError": "8kB",
|
||||
"maximumWarning": "4kB",
|
||||
"type": "anyComponentStyle"
|
||||
}
|
||||
],
|
||||
"fileReplacements": [
|
||||
{
|
||||
"replace": "src/config.ts",
|
||||
"with": "src/tenants/sepehr/config.ts"
|
||||
},
|
||||
{
|
||||
"replace": "src/assets/images/brandingAssets.ts",
|
||||
"with": "src/tenants/sepehr/brandingAssets.ts"
|
||||
},
|
||||
{
|
||||
"replace": "src/environments/environment.ts",
|
||||
"with": "src/environments/environment.sepehr.ts"
|
||||
},
|
||||
{
|
||||
"replace": "src/app.routes.ts",
|
||||
"with": "src/tenants/sepehr/app.routes.ts"
|
||||
},
|
||||
{
|
||||
"replace": "src/app/branding/branding.config.ts",
|
||||
"with": "src/tenants/sepehr/branding.config.ts"
|
||||
}
|
||||
],
|
||||
"outputHashing": "all",
|
||||
"outputPath": "dist/sepehr",
|
||||
"styles": [
|
||||
"src/assets/styles.scss",
|
||||
"src/assets/psp.scss"
|
||||
]
|
||||
},
|
||||
"staging": {
|
||||
"extractLicenses": true,
|
||||
"fileReplacements": [
|
||||
@@ -100,10 +148,6 @@
|
||||
"input": "public-tis"
|
||||
}
|
||||
],
|
||||
"styles": [
|
||||
"src/assets/styles.scss",
|
||||
"src/assets/psp.scss"
|
||||
],
|
||||
"budgets": [
|
||||
{
|
||||
"maximumError": "3MB",
|
||||
@@ -139,7 +183,11 @@
|
||||
}
|
||||
],
|
||||
"outputHashing": "all",
|
||||
"outputPath": "dist/tis"
|
||||
"outputPath": "dist/tis",
|
||||
"styles": [
|
||||
"src/assets/styles.scss",
|
||||
"src/assets/psp.scss"
|
||||
]
|
||||
},
|
||||
"tis-development": {
|
||||
"assets": [
|
||||
@@ -148,10 +196,6 @@
|
||||
"input": "public-tis"
|
||||
}
|
||||
],
|
||||
"styles": [
|
||||
"src/assets/styles.scss",
|
||||
"src/assets/psp.scss"
|
||||
],
|
||||
"budgets": [
|
||||
{
|
||||
"maximumError": "2.5MB",
|
||||
@@ -190,7 +234,11 @@
|
||||
"optimization": false,
|
||||
"outputHashing": "all",
|
||||
"outputPath": "dist/tis",
|
||||
"sourceMap": true
|
||||
"sourceMap": true,
|
||||
"styles": [
|
||||
"src/assets/styles.scss",
|
||||
"src/assets/psp.scss"
|
||||
]
|
||||
}
|
||||
},
|
||||
"defaultConfiguration": "production",
|
||||
@@ -233,6 +281,9 @@
|
||||
"production": {
|
||||
"buildTarget": "pos.client:build:production"
|
||||
},
|
||||
"sepehr": {
|
||||
"buildTarget": "pos.client:build:sepehr"
|
||||
},
|
||||
"staging": {
|
||||
"buildTarget": "pos.client:build:staging"
|
||||
},
|
||||
|
||||
@@ -13,6 +13,18 @@ services:
|
||||
- "8091:8090"
|
||||
restart: unless-stopped
|
||||
|
||||
app_sepehr:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
args:
|
||||
TENANT: sepehr
|
||||
DIST_DIR: sepehr
|
||||
|
||||
ports:
|
||||
- "8092:8090"
|
||||
restart: unless-stopped
|
||||
|
||||
app_default:
|
||||
build:
|
||||
context: .
|
||||
|
||||
@@ -56,10 +56,12 @@
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "ng build",
|
||||
"build:sepehr": "ng build --configuration sepehr",
|
||||
"build:tis": "ng build --configuration tis",
|
||||
"ng": "ng",
|
||||
"prestart": "node aspnetcore-https",
|
||||
"start": "run-script-os",
|
||||
"start:sepehr": " ng serve --configuration sepehr",
|
||||
"start:tis": " ng serve --configuration tis",
|
||||
"test": "ng test",
|
||||
"watch": "ng build --watch --configuration development"
|
||||
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 187 KiB |
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "پرداخت الکترونیک سپهر",
|
||||
"short_name": "پرداخت الکترونیک سپهر",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/web-app-manifest-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "/web-app-manifest-512x512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
}
|
||||
],
|
||||
"theme_color": "#ffffff",
|
||||
"background_color": "#ffffff",
|
||||
"display": "standalone"
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"background_color": "#ffffff",
|
||||
"display": "standalone",
|
||||
"icons": [
|
||||
{
|
||||
"purpose": "any",
|
||||
"sizes": "192x192",
|
||||
"src": "/favicon/web-app-manifest-192x192.png",
|
||||
"type": "image/png"
|
||||
},
|
||||
{
|
||||
"purpose": "maskable",
|
||||
"sizes": "192x192",
|
||||
"src": "/favicon/web-app-manifest-192x192.png",
|
||||
"type": "image/png"
|
||||
},
|
||||
{
|
||||
"purpose": "any",
|
||||
"sizes": "512x512",
|
||||
"src": "/favicon/web-app-manifest-512x512.png",
|
||||
"type": "image/png"
|
||||
},
|
||||
{
|
||||
"purpose": "maskable",
|
||||
"sizes": "512x512",
|
||||
"src": "/favicon/web-app-manifest-512x512.png",
|
||||
"type": "image/png"
|
||||
}
|
||||
],
|
||||
"id": "/",
|
||||
"name": "پرداخت الکترونیک سپهر",
|
||||
"scope": "/",
|
||||
"short_name": "سپهر",
|
||||
"start_url": "/",
|
||||
"theme_color": "#ffffff"
|
||||
}
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 69 KiB |
@@ -28,9 +28,9 @@
|
||||
}
|
||||
],
|
||||
"id": "/",
|
||||
"name": "نرم افزار صورتحسابهای مالیاتی پاژن",
|
||||
"name": "نرم افزار صورتحسابهای مالیاتی سپاس",
|
||||
"scope": "/",
|
||||
"short_name": "پاژن",
|
||||
"short_name": "سپاس",
|
||||
"start_url": "/",
|
||||
"theme_color": "#ffffff"
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<div class="h-10 w-10">
|
||||
<img [src]="logo" alt="Logo" class="object-contain" />
|
||||
</div>
|
||||
<span class="text-muted-color text-sm font-medium">مدیریت صورتحسابهای مالیاتی پاژن</span>
|
||||
<span class="text-muted-color text-sm font-medium">مدیریت صورتحسابهای مالیاتی سپاس</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
<div class="bg-white h-svh relative">
|
||||
<div class="absolute inset-0 opacity-30 blur-xs flex items-center justify-center">
|
||||
<div class="relative h-svh bg-white">
|
||||
<div class="absolute inset-0 flex items-center justify-center opacity-30 blur-xs">
|
||||
<img [src]="authVector" alt="background image" class="w-full bg-cover bg-no-repeat" />
|
||||
</div>
|
||||
<div class="flex justify-center items-center relative z-10 h-svh mx-auto bg-gray-800/80">
|
||||
<div class="relative z-10 mx-auto flex h-svh items-center justify-center bg-gray-800/80">
|
||||
<div
|
||||
class="flex flex-col items-center justify-center px-12 py-10 h-auto bg-surface-card border border-surface-border rounded-lg shadow w-full max-w-md"
|
||||
>
|
||||
<div class="flex flex-col gap-4 text-center mb-10 items-center justify-center">
|
||||
<img [src]="logo" alt="مدیریت صورتحسابهای مالیاتی" class="w-20 h-auto" />
|
||||
<span class="text-lg font-bold"> به پنل مدیریت صورتحسابهای مالیاتی پاژن خوش آمدید. </span>
|
||||
class="bg-surface-card border-surface-border flex h-auto w-full max-w-md flex-col items-center justify-center rounded-lg border px-12 py-10 shadow">
|
||||
<div class="mb-10 flex flex-col items-center justify-center gap-4 text-center">
|
||||
<img [src]="logo" alt="مدیریت صورتحسابهای مالیاتی" class="h-auto w-20" />
|
||||
<span class="text-lg font-bold"> به پنل مدیریت صورتحسابهای مالیاتی سپاس خوش آمدید. </span>
|
||||
</div>
|
||||
|
||||
<!-- @if (activeStep() === "login") { -->
|
||||
@@ -18,8 +17,7 @@
|
||||
[defaultRole]="role"
|
||||
class="w-full"
|
||||
(onSuccessfullySubmit)="onLoggedIn($event)"
|
||||
(onToSignup)="toSignUp()"
|
||||
/>
|
||||
(onToSignup)="toSignUp()" />
|
||||
<!-- } @else if (activeStep() === "signup") {
|
||||
<auth-signup role="TEACHER" class="w-full" />
|
||||
} @else if (activeStep() === "otp") {
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
// TIS tenant environment configuration
|
||||
export const environment = {
|
||||
production: true,
|
||||
// apiBaseUrl: 'https://psp-api.shift-am.ir',
|
||||
apiBaseUrl: 'http://192.168.128.73:5002',
|
||||
// apiBaseUrl: 'http://192.168.0.162:5002',
|
||||
// apiBaseUrl: 'http://localhost:5002',
|
||||
host: 'localhost',
|
||||
port: 5010,
|
||||
enableLogging: false,
|
||||
enableDebug: false,
|
||||
enableNativeBridge: true,
|
||||
};
|
||||
@@ -1,8 +1,8 @@
|
||||
// TIS tenant environment configuration
|
||||
export const environment = {
|
||||
production: true,
|
||||
// apiBaseUrl: 'https://psp-api.shift-am.ir',
|
||||
apiBaseUrl: 'http://192.168.128.73:5002',
|
||||
apiBaseUrl: 'https://psp-api.shift-am.ir',
|
||||
// apiBaseUrl: 'http://192.168.128.73:5002',
|
||||
// apiBaseUrl: 'http://192.168.0.162:5002',
|
||||
// apiBaseUrl: 'http://localhost:5002',
|
||||
host: 'localhost',
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<html lang="fa" dir="rtl">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>مدیریت صورتحسابهای مالیاتی پاژن</title>
|
||||
<title>مدیریت صورتحسابهای مالیاتی سپاس</title>
|
||||
<base href="/" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="theme-color" content="#ffffff" />
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
import { posAuthNamedRoutes } from '@/domains/pos/modules/auth/constants';
|
||||
import { POS_ROUTES } from '@/domains/pos/routes';
|
||||
import { PUBLIC_SALE_INVOICES_ROUTES } from '@/modules/saleInvoices/constants';
|
||||
import { Notfound } from '@/pages/notfound/notfound.component';
|
||||
import { Routes } from '@angular/router';
|
||||
|
||||
export const appRoutes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
loadComponent: () =>
|
||||
import('@/domains/pos/layouts/layout.component').then((m) => m.PosLayoutComponent),
|
||||
children: [POS_ROUTES],
|
||||
},
|
||||
{
|
||||
...posAuthNamedRoutes.login,
|
||||
path: 'auth',
|
||||
},
|
||||
...PUBLIC_SALE_INVOICES_ROUTES,
|
||||
{ path: '**', component: Notfound },
|
||||
];
|
||||
|
After Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1,27 @@
|
||||
import { BrandingConfig } from '../default/branding.config';
|
||||
|
||||
export const brandingConfig: BrandingConfig = {
|
||||
appTitle: 'پرداخت الکترونیک سپهر - مدیریت صورتحسابهای مالیاتی',
|
||||
manifestPath: '/favicon/site.webmanifest',
|
||||
themeColor: '#ffffff',
|
||||
enableInstallPrompt: true,
|
||||
title: 'پرداخت الکترونیک سپهر',
|
||||
fullTitle: 'پرداخت الکترونیک سپهر - مدیریت صورتحسابهای مالیاتی',
|
||||
support: {
|
||||
phones: [
|
||||
{
|
||||
title: 'واحد پشتیبانی 1',
|
||||
phones: ['021-91012345'],
|
||||
},
|
||||
{
|
||||
title: 'واحد پشتیبانی 2',
|
||||
phones: ['021-91012346'],
|
||||
},
|
||||
{
|
||||
title: 'پاسخگویی اضطراری',
|
||||
phones: ['0912-123-4567'],
|
||||
},
|
||||
],
|
||||
workingHours: 'شنبه تا چهارشنبه: 8 صبح تا 5 عصر، پنجشنبه: 8 صبح تا 2 عصر',
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,7 @@
|
||||
import login from 'src/tenants/tis/assets/images/login.jpg';
|
||||
import logo from 'src/tenants/tis/assets/images/logo.png';
|
||||
|
||||
export default {
|
||||
logo,
|
||||
login,
|
||||
};
|
||||
@@ -0,0 +1,3 @@
|
||||
export default {
|
||||
isPosApplication: true,
|
||||
};
|
||||