Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
VCCI-News
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Văn Hoàng
VCCI-News
Commits
70a14928
Commit
70a14928
authored
Jun 16, 2026
by
Lê Bảo Hồng Đức
☄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
4e6180c7
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
12 additions
and
8 deletions
+12
-8
index.tsx
src/app/(main)/(home)/components/members/index.tsx
+3
-3
index.tsx
src/app/(main)/(home)/components/video-and-patners/index.tsx
+2
-2
index.ts
src/links/index.ts
+7
-3
No files found.
src/app/(main)/(home)/components/members/index.tsx
View file @
70a14928
...
...
@@ -3,6 +3,7 @@
import
{
useHomePosts
}
from
"@/app/(main)/(home)/lib/use-home-posts"
;
import
ImageNext
from
"@/components/shared/image-next"
;
import
memberImages
from
"@/constants/memberImages"
;
import
links
from
"@/links"
;
import
Link
from
"next/link"
;
import
{
useEffect
,
useState
}
from
"react"
;
import
{
Autoplay
}
from
"swiper/modules"
;
...
...
@@ -10,8 +11,7 @@ import { Swiper, SwiperSlide } from "swiper/react";
import
"swiper/css"
;
const
MEMBER_CONNECTION_FALLBACK_IMAGE
=
"/home/20-2048x1365.webp"
;
const
FEATURED_MEMBER_API_URL
=
"https://vccihcm.vn/api/v1.0/organizations?pageSize=12&filters=users.status_id%3D%3D36ca1cc5-7b6e-4f9f-b973-69c5207deb62&sortField=created_at&sortOrder=ASC"
;
const
FEATURED_MEMBER_API_URL
=
`
${
links
.
siteURL
}
api/featured-members`
;
const
FEATURED_MEMBER_MORE_URL
=
"https://vccihcm.vn/giao-thuong-b2b?filters=users.status_id+%3D%3D+36ca1cc5-7b6e-4f9f-b973-69c5207deb62&sortField=created_at&sortOrder=ASC"
;
const
VCCI_HCM_ORIGIN
=
"https://vccihcm.vn"
;
...
...
@@ -75,7 +75,7 @@ function Members() {
const
rows
=
data
.
responseData
?.
rows
??
[];
if
(
isMounted
)
{
setFeaturedMembers
(
rows
.
slice
(
0
,
12
));
setFeaturedMembers
(
rows
.
slice
(
0
,
9
));
}
}
catch
(
error
)
{
console
.
error
(
error
);
...
...
src/app/(main)/(home)/components/video-and-patners/index.tsx
View file @
70a14928
...
...
@@ -5,6 +5,7 @@ import ImageNext from "@/components/shared/image-next";
import
partnerImages
from
"@/constants/partnerImages"
;
import
{
ChevronRight
,
Play
}
from
"lucide-react"
;
import
Link
from
"next/link"
;
import
links
from
"@/links"
;
import
{
fetchClientVideos
}
from
"@/lib/api/videos"
;
import
{
Autoplay
}
from
"swiper/modules"
;
import
{
Swiper
,
SwiperSlide
}
from
"swiper/react"
;
...
...
@@ -23,8 +24,7 @@ type PartnerResponse = {
};
};
const
PARTNER_API_URL
=
"https://vccihcm.vn/api/v1.0/organizations?filters=type%3D%3DSPONSOR&pageSize=12&sortField=sort_order&sortOrder=ASC"
;
const
PARTNER_API_URL
=
`
${
links
.
siteURL
}
api/partners`
;
const
VCCI_HCM_ORIGIN
=
"https://vccihcm.vn"
;
const
resolvePartnerImage
=
(
avatar
:
string
|
null
|
undefined
,
index
:
number
)
=>
{
...
...
src/links/index.ts
View file @
70a14928
...
...
@@ -9,7 +9,7 @@ const LEGACY_MEDIA_HOSTS = new Set([
const
normalizeOrigin
=
(
value
?:
string
|
null
)
=>
value
?.
trim
().
replace
(
/
\/
+$/
,
""
)
||
""
;
const
extractUploadPath
=
(
pathname
:
string
)
=>
{
const
markers
=
[
"/api/uploads/"
,
"/uploads/"
,
"/wp-content/uploads/"
];
const
markers
=
[
"/api/uploads/"
,
"/uploads/"
,
"/
images/"
,
"/
wp-content/uploads/"
];
for
(
const
marker
of
markers
)
{
const
index
=
pathname
.
indexOf
(
marker
);
...
...
@@ -97,7 +97,11 @@ export const resolveUploadUrl = (value?: string | null) => {
}
if
(
trimmed
.
startsWith
(
"/"
))
{
if
(
trimmed
.
startsWith
(
"/uploads/"
)
||
trimmed
.
startsWith
(
"/api/uploads/"
))
{
if
(
trimmed
.
startsWith
(
"/uploads/"
)
||
trimmed
.
startsWith
(
"/api/uploads/"
)
||
trimmed
.
startsWith
(
"/images/"
)
)
{
const
cleanPath
=
trimmed
.
replace
(
/^
\/
+/
,
""
).
replace
(
/^api
\/
uploads
\/
/
,
"uploads/"
);
return
backendOrigin
?
`
${
backendOrigin
}
/
${
cleanPath
}
`
:
`/
${
cleanPath
}
`
;
}
...
...
@@ -106,7 +110,7 @@ export const resolveUploadUrl = (value?: string | null) => {
}
const
cleanPath
=
trimmed
.
replace
(
/^
\/
+/
,
""
).
replace
(
/^api
\/
uploads
\/
/
,
"uploads/"
);
if
(
cleanPath
.
startsWith
(
"uploads/"
))
{
if
(
cleanPath
.
startsWith
(
"uploads/"
)
||
cleanPath
.
startsWith
(
"images/"
)
)
{
return
backendOrigin
?
`
${
backendOrigin
}
/
${
cleanPath
}
`
:
`/
${
cleanPath
}
`
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment