style: remove all external data source labels and badges from UI
This commit is contained in:
parent
334ea1a3de
commit
a6e4593b01
|
|
@ -22,7 +22,7 @@ export type DomainKey = "global" | "domestic" | "live";
|
||||||
export const DOMAINS: { key: DomainKey; label: string; hint: string }[] = [
|
export const DOMAINS: { key: DomainKey; label: string; hint: string }[] = [
|
||||||
{ key: "global", label: "بازار جهانی", hint: "فلزات و کامودیتی با تاریخچه و مقایسه" },
|
{ key: "global", label: "بازار جهانی", hint: "فلزات و کامودیتی با تاریخچه و مقایسه" },
|
||||||
{ key: "domestic", label: "بازار داخلی", hint: "ارز، سکه و طلا — زنده" },
|
{ key: "domestic", label: "بازار داخلی", hint: "ارز، سکه و طلا — زنده" },
|
||||||
{ key: "live", label: "زنده", hint: "کامودیتی لحظهای — Yahoo Finance" },
|
{ key: "live", label: "زنده", hint: "کامودیتی و بازارهای جهانی" },
|
||||||
];
|
];
|
||||||
|
|
||||||
// Category (sub-group) names from /api/tree, translated to Persian.
|
// Category (sub-group) names from /api/tree, translated to Persian.
|
||||||
|
|
|
||||||
|
|
@ -1,141 +1,141 @@
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
|
|
||||||
// @ts-nocheck
|
// @ts-nocheck
|
||||||
|
|
||||||
// noinspection JSUnusedGlobalSymbols
|
// noinspection JSUnusedGlobalSymbols
|
||||||
|
|
||||||
// This file was automatically generated by TanStack Router.
|
// This file was automatically generated by TanStack Router.
|
||||||
// You should NOT make any changes in this file as it will be overwritten.
|
// You should NOT make any changes in this file as it will be overwritten.
|
||||||
// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.
|
// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.
|
||||||
|
|
||||||
import { Route as rootRouteImport } from './routes/__root'
|
import { Route as rootRouteImport } from './routes/__root'
|
||||||
import { Route as RegisterRouteImport } from './routes/register'
|
import { Route as RegisterRouteImport } from './routes/register'
|
||||||
import { Route as ProfileRouteImport } from './routes/profile'
|
import { Route as ProfileRouteImport } from './routes/profile'
|
||||||
import { Route as LoginRouteImport } from './routes/login'
|
import { Route as LoginRouteImport } from './routes/login'
|
||||||
import { Route as DashboardRouteImport } from './routes/dashboard'
|
import { Route as DashboardRouteImport } from './routes/dashboard'
|
||||||
import { Route as IndexRouteImport } from './routes/index'
|
import { Route as IndexRouteImport } from './routes/index'
|
||||||
|
|
||||||
const RegisterRoute = RegisterRouteImport.update({
|
const RegisterRoute = RegisterRouteImport.update({
|
||||||
id: '/register',
|
id: '/register',
|
||||||
path: '/register',
|
path: '/register',
|
||||||
getParentRoute: () => rootRouteImport,
|
getParentRoute: () => rootRouteImport,
|
||||||
} as any)
|
} as any)
|
||||||
const ProfileRoute = ProfileRouteImport.update({
|
const ProfileRoute = ProfileRouteImport.update({
|
||||||
id: '/profile',
|
id: '/profile',
|
||||||
path: '/profile',
|
path: '/profile',
|
||||||
getParentRoute: () => rootRouteImport,
|
getParentRoute: () => rootRouteImport,
|
||||||
} as any)
|
} as any)
|
||||||
const LoginRoute = LoginRouteImport.update({
|
const LoginRoute = LoginRouteImport.update({
|
||||||
id: '/login',
|
id: '/login',
|
||||||
path: '/login',
|
path: '/login',
|
||||||
getParentRoute: () => rootRouteImport,
|
getParentRoute: () => rootRouteImport,
|
||||||
} as any)
|
} as any)
|
||||||
const DashboardRoute = DashboardRouteImport.update({
|
const DashboardRoute = DashboardRouteImport.update({
|
||||||
id: '/dashboard',
|
id: '/dashboard',
|
||||||
path: '/dashboard',
|
path: '/dashboard',
|
||||||
getParentRoute: () => rootRouteImport,
|
getParentRoute: () => rootRouteImport,
|
||||||
} as any)
|
} as any)
|
||||||
const IndexRoute = IndexRouteImport.update({
|
const IndexRoute = IndexRouteImport.update({
|
||||||
id: '/',
|
id: '/',
|
||||||
path: '/',
|
path: '/',
|
||||||
getParentRoute: () => rootRouteImport,
|
getParentRoute: () => rootRouteImport,
|
||||||
} as any)
|
} as any)
|
||||||
|
|
||||||
export interface FileRoutesByFullPath {
|
export interface FileRoutesByFullPath {
|
||||||
'/': typeof IndexRoute
|
'/': typeof IndexRoute
|
||||||
'/dashboard': typeof DashboardRoute
|
'/dashboard': typeof DashboardRoute
|
||||||
'/login': typeof LoginRoute
|
'/login': typeof LoginRoute
|
||||||
'/profile': typeof ProfileRoute
|
'/profile': typeof ProfileRoute
|
||||||
'/register': typeof RegisterRoute
|
'/register': typeof RegisterRoute
|
||||||
}
|
}
|
||||||
export interface FileRoutesByTo {
|
export interface FileRoutesByTo {
|
||||||
'/': typeof IndexRoute
|
'/': typeof IndexRoute
|
||||||
'/dashboard': typeof DashboardRoute
|
'/dashboard': typeof DashboardRoute
|
||||||
'/login': typeof LoginRoute
|
'/login': typeof LoginRoute
|
||||||
'/profile': typeof ProfileRoute
|
'/profile': typeof ProfileRoute
|
||||||
'/register': typeof RegisterRoute
|
'/register': typeof RegisterRoute
|
||||||
}
|
}
|
||||||
export interface FileRoutesById {
|
export interface FileRoutesById {
|
||||||
__root__: typeof rootRouteImport
|
__root__: typeof rootRouteImport
|
||||||
'/': typeof IndexRoute
|
'/': typeof IndexRoute
|
||||||
'/dashboard': typeof DashboardRoute
|
'/dashboard': typeof DashboardRoute
|
||||||
'/login': typeof LoginRoute
|
'/login': typeof LoginRoute
|
||||||
'/profile': typeof ProfileRoute
|
'/profile': typeof ProfileRoute
|
||||||
'/register': typeof RegisterRoute
|
'/register': typeof RegisterRoute
|
||||||
}
|
}
|
||||||
export interface FileRouteTypes {
|
export interface FileRouteTypes {
|
||||||
fileRoutesByFullPath: FileRoutesByFullPath
|
fileRoutesByFullPath: FileRoutesByFullPath
|
||||||
fullPaths: '/' | '/dashboard' | '/login' | '/profile' | '/register'
|
fullPaths: '/' | '/dashboard' | '/login' | '/profile' | '/register'
|
||||||
fileRoutesByTo: FileRoutesByTo
|
fileRoutesByTo: FileRoutesByTo
|
||||||
to: '/' | '/dashboard' | '/login' | '/profile' | '/register'
|
to: '/' | '/dashboard' | '/login' | '/profile' | '/register'
|
||||||
id: '__root__' | '/' | '/dashboard' | '/login' | '/profile' | '/register'
|
id: '__root__' | '/' | '/dashboard' | '/login' | '/profile' | '/register'
|
||||||
fileRoutesById: FileRoutesById
|
fileRoutesById: FileRoutesById
|
||||||
}
|
}
|
||||||
export interface RootRouteChildren {
|
export interface RootRouteChildren {
|
||||||
IndexRoute: typeof IndexRoute
|
IndexRoute: typeof IndexRoute
|
||||||
DashboardRoute: typeof DashboardRoute
|
DashboardRoute: typeof DashboardRoute
|
||||||
LoginRoute: typeof LoginRoute
|
LoginRoute: typeof LoginRoute
|
||||||
ProfileRoute: typeof ProfileRoute
|
ProfileRoute: typeof ProfileRoute
|
||||||
RegisterRoute: typeof RegisterRoute
|
RegisterRoute: typeof RegisterRoute
|
||||||
}
|
}
|
||||||
|
|
||||||
declare module '@tanstack/react-router' {
|
declare module '@tanstack/react-router' {
|
||||||
interface FileRoutesByPath {
|
interface FileRoutesByPath {
|
||||||
'/register': {
|
'/register': {
|
||||||
id: '/register'
|
id: '/register'
|
||||||
path: '/register'
|
path: '/register'
|
||||||
fullPath: '/register'
|
fullPath: '/register'
|
||||||
preLoaderRoute: typeof RegisterRouteImport
|
preLoaderRoute: typeof RegisterRouteImport
|
||||||
parentRoute: typeof rootRouteImport
|
parentRoute: typeof rootRouteImport
|
||||||
}
|
}
|
||||||
'/profile': {
|
'/profile': {
|
||||||
id: '/profile'
|
id: '/profile'
|
||||||
path: '/profile'
|
path: '/profile'
|
||||||
fullPath: '/profile'
|
fullPath: '/profile'
|
||||||
preLoaderRoute: typeof ProfileRouteImport
|
preLoaderRoute: typeof ProfileRouteImport
|
||||||
parentRoute: typeof rootRouteImport
|
parentRoute: typeof rootRouteImport
|
||||||
}
|
}
|
||||||
'/login': {
|
'/login': {
|
||||||
id: '/login'
|
id: '/login'
|
||||||
path: '/login'
|
path: '/login'
|
||||||
fullPath: '/login'
|
fullPath: '/login'
|
||||||
preLoaderRoute: typeof LoginRouteImport
|
preLoaderRoute: typeof LoginRouteImport
|
||||||
parentRoute: typeof rootRouteImport
|
parentRoute: typeof rootRouteImport
|
||||||
}
|
}
|
||||||
'/dashboard': {
|
'/dashboard': {
|
||||||
id: '/dashboard'
|
id: '/dashboard'
|
||||||
path: '/dashboard'
|
path: '/dashboard'
|
||||||
fullPath: '/dashboard'
|
fullPath: '/dashboard'
|
||||||
preLoaderRoute: typeof DashboardRouteImport
|
preLoaderRoute: typeof DashboardRouteImport
|
||||||
parentRoute: typeof rootRouteImport
|
parentRoute: typeof rootRouteImport
|
||||||
}
|
}
|
||||||
'/': {
|
'/': {
|
||||||
id: '/'
|
id: '/'
|
||||||
path: '/'
|
path: '/'
|
||||||
fullPath: '/'
|
fullPath: '/'
|
||||||
preLoaderRoute: typeof IndexRouteImport
|
preLoaderRoute: typeof IndexRouteImport
|
||||||
parentRoute: typeof rootRouteImport
|
parentRoute: typeof rootRouteImport
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const rootRouteChildren: RootRouteChildren = {
|
const rootRouteChildren: RootRouteChildren = {
|
||||||
IndexRoute: IndexRoute,
|
IndexRoute: IndexRoute,
|
||||||
DashboardRoute: DashboardRoute,
|
DashboardRoute: DashboardRoute,
|
||||||
LoginRoute: LoginRoute,
|
LoginRoute: LoginRoute,
|
||||||
ProfileRoute: ProfileRoute,
|
ProfileRoute: ProfileRoute,
|
||||||
RegisterRoute: RegisterRoute,
|
RegisterRoute: RegisterRoute,
|
||||||
}
|
}
|
||||||
export const routeTree = rootRouteImport
|
export const routeTree = rootRouteImport
|
||||||
._addFileChildren(rootRouteChildren)
|
._addFileChildren(rootRouteChildren)
|
||||||
._addFileTypes<FileRouteTypes>()
|
._addFileTypes<FileRouteTypes>()
|
||||||
|
|
||||||
import type { getRouter } from './router.tsx'
|
import type { getRouter } from './router.tsx'
|
||||||
import type { startInstance } from './start.ts'
|
import type { startInstance } from './start.ts'
|
||||||
declare module '@tanstack/react-start' {
|
declare module '@tanstack/react-start' {
|
||||||
interface Register {
|
interface Register {
|
||||||
ssr: true
|
ssr: true
|
||||||
router: Awaited<ReturnType<typeof getRouter>>
|
router: Awaited<ReturnType<typeof getRouter>>
|
||||||
config: Awaited<ReturnType<typeof startInstance.getOptions>>
|
config: Awaited<ReturnType<typeof startInstance.getOptions>>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1213,7 +1213,7 @@ function CommodityView() {
|
||||||
<ViewHeader
|
<ViewHeader
|
||||||
live={rows.length > 0}
|
live={rows.length > 0}
|
||||||
title="کامودیتی"
|
title="کامودیتی"
|
||||||
subtitle="قیمت لحظهای جهانی از Yahoo Finance"
|
subtitle="قیمت لحظهای بازارهای جهانی"
|
||||||
badge="زنده"
|
badge="زنده"
|
||||||
lastUpdate={lastUpdate}
|
lastUpdate={lastUpdate}
|
||||||
/>
|
/>
|
||||||
|
|
@ -2460,7 +2460,7 @@ function CryptoView() {
|
||||||
<ViewHeader
|
<ViewHeader
|
||||||
live={coins.length > 0}
|
live={coins.length > 0}
|
||||||
title="کریپتو"
|
title="کریپتو"
|
||||||
subtitle="بازار ارزهای دیجیتال — زنده از CoinGecko"
|
subtitle="بازار ارزهای دیجیتال — نرخ لحظهای"
|
||||||
badge="هر ۶۰ ثانیه"
|
badge="هر ۶۰ ثانیه"
|
||||||
lastUpdate={data?.fetched_at ? new Date(data.fetched_at).toLocaleTimeString("fa-IR") : ""}
|
lastUpdate={data?.fetched_at ? new Date(data.fetched_at).toLocaleTimeString("fa-IR") : ""}
|
||||||
/>
|
/>
|
||||||
|
|
@ -2767,8 +2767,7 @@ function WorldEconomyView() {
|
||||||
<ViewHeader
|
<ViewHeader
|
||||||
live={rows.length > 0 || bonds.length > 0}
|
live={rows.length > 0 || bonds.length > 0}
|
||||||
title="اقتصاد جهانی و اوراق قرضه"
|
title="اقتصاد جهانی و اوراق قرضه"
|
||||||
subtitle={subTab === "macro" ? "شاخصهای کلانِ اقتصادهای بزرگ دنیا" : "بازار اوراق قرضه دولتی و خزانهداری — منبع TradingView"}
|
subtitle={subTab === "macro" ? "شاخصهای کلانِ اقتصادهای بزرگ دنیا" : "بازار اوراق قرضه دولتی و خزانهداری"}
|
||||||
badge={subTab === "macro" ? "Trading Economics" : "TradingView Bonds"}
|
|
||||||
lastUpdate={lastUpdate}
|
lastUpdate={lastUpdate}
|
||||||
/>
|
/>
|
||||||
<div className="flex items-center gap-1 bg-secondary/70 border border-border rounded-lg p-1 w-fit self-start sm:self-auto">
|
<div className="flex items-center gap-1 bg-secondary/70 border border-border rounded-lg p-1 w-fit self-start sm:self-auto">
|
||||||
|
|
|
||||||
|
|
@ -399,7 +399,7 @@ function Landing() {
|
||||||
<DomainRow
|
<DomainRow
|
||||||
icon={<Zap className="w-5 h-5" />}
|
icon={<Zap className="w-5 h-5" />}
|
||||||
title="زنده"
|
title="زنده"
|
||||||
desc="قیمت لحظهای نفت، طلا، فلزات و کشاورزی از Yahoo Finance روی وبسوکت."
|
desc="قیمت لحظهای نفت، طلا، فلزات و محصولات اساسی."
|
||||||
meta="۲۰ کالا"
|
meta="۲۰ کالا"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -455,7 +455,7 @@ function Landing() {
|
||||||
<footer className="border-t border-border">
|
<footer className="border-t border-border">
|
||||||
<div className="mx-auto max-w-6xl px-5 py-8 flex flex-wrap items-center justify-between gap-3 text-sm text-muted-foreground">
|
<div className="mx-auto max-w-6xl px-5 py-8 flex flex-wrap items-center justify-between gap-3 text-sm text-muted-foreground">
|
||||||
<span>سامانه جامع آمار و اطلاعات دیدوان</span>
|
<span>سامانه جامع آمار و اطلاعات دیدوان</span>
|
||||||
<span className="font-mono text-[11px]">دادهها: Yahoo Finance · Trading Economics</span>
|
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue