Compare commits

...

2 Commits

10 changed files with 158 additions and 69 deletions

View File

@ -564,7 +564,7 @@ export default {
TITLE: "Company Positioning",
CONTENT: "",
CONTENTTWO:
"Leveraging IoT, connectivity, and Al artificial intelligence to create targeted, multilingual digital brands, fostering a global community of Key Opinion Leaders and providing unparalleled value throughout the digital content lifecycle",
"Leveraging IoT, connectivity, and Al to create targeted, multilingual digital brands, fostering a global community of Key Opinion Leaders and providing unparalleled value throughout the digital content lifecycle",
},
},
CONTAINY: {
@ -607,7 +607,7 @@ export default {
TITLETWO: {
TITLE: "About FiEE, Inc.",
CONTENT:
'FiEE, Inc. (NASDAQ: MINM) formerly Minim, Inc. was founded in 1977. We have a historical track record of delivering a comprehensive WiFi/Software as a Service platform in the market. After years of development, we made the strategic decision to transition to a Software First Model in 2023 to expand our technology portfolio and revenue streams. in 2025, we rebranded ourselves as a technology company leveraging our expertise in IoT, connectivity, and artificial intelligence ("AI") to explore new business prospects and extend our global footprint.',
'FiEE, Inc. (NASDAQ: MINM) formerly Minim, Inc. was founded in 1977. We have a historical track record of delivering a comprehensive WiFi/Software as a Service platform in the market. After years of development, we made the strategic decision to transition to a Software First Model in 2023 to expand our technology portfolio and revenue streams. In 2025, we rebranded ourselves as a technology company leveraging our expertise in IoT, connectivity, and artificial intelligence ("AI") to explore new business prospects and extend our global footprint.',
CONTENTTWO:
'into four key categories: Cloud-Managed Connectivity (WiFi) Platform, IoT Hardware Sales & Licensing, SAAS Solutions, and Professional To-C and To-B Services & Support. Notably, we have introduced our innovative Software as a Service ("SaaS") solutions, which integrate our AI and data analytics capabilities into content creation and brand management. This initiative has led to the nurturing of a robust pool of Key Opinion Leaders (KOLs) on major social media platforms worldwide, assisting them in developing, managing, and optimizing their digital presence across global platforms. Our services include customized graphics and posts, short videos, and editorial calendars tailored to align with brand objectives.',
CONTENTTHREE:
@ -710,9 +710,9 @@ export default {
TITLE: "Wai Chung Li",
TITLETWO: "Chief Executive Officer",
CONTENT:
"Mr. Li is the Chief Executive Officer, Mr. Li has extensive experience in accounting, corporate management and finance management. His role encompasses the oversight of our daily business operations and plays a vital part in the overall management of our Group.With a track record spanning prestigious roles at Deloitte China, Shanghai Prime Machinery Company Limited, Lens Technology Co., Ltd., and more, Mr. Li brings invaluable expertise to lead the our team.",
"Mr. Li is our Chief Executive Officer, Mr. Li has extensive experience in accounting, corporate management and finance management. His role encompasses the oversight of our daily business operations and plays a vital part in the overall management of our Group.With a track record spanning prestigious roles at Deloitte China, Shanghai Prime Machinery Company Limited, Lens Technology Co., Ltd., and more, Mr. Li brings invaluable expertise to our team.",
CONTENTTWO:
"He served as chair of the Audit Committees for Fulu Holdings and Taizhou Water Group in Hong Kong, and Nedschroef in the Netherlands, showcasing his global leadership. Holding key positions in investment management, business consulting, and directorial roles in publicly listed companies.",
"He served as chair of the Audit Committees for Fulu Holdings and Taizhou Water Group in Hong Kong, and Nedschroef in the Netherlands, showcasing his global leadership. Mr. Li has previously held key positions in investment management, business consulting, and directorial roles in publicly listed companies.",
CONTENTTHREE: "",
},
TWO: {
@ -721,7 +721,7 @@ export default {
CONTENTONE:
"Ms. Cao is our Chief Financial Officer, Secretary, Treasurer and Director, Ms. Cao has a wealth of experience in financial management. She oversees financial operations, strategic planning, risk management, and reporting to ensure our financial health and compliance with regulations.",
CONTENTTWO:
"Ms. Cao was previously served as the treasury director of Taifeng Cultural Communication Co., Ltd where she oversaw its financial matters from November 2018 to November 2024. Prior to that, Ms. Cao served as a business manager of Yangfeng Art Exchange Co., Ltd from February 2016 to October 2018. From March 2011 to January 2016, she served as the treasury officer of financial department of Suzhou Industrial Park Xinfushida Plastic Profile Products Co., Ltd.",
"Ms. Cao previously served as the treasury director of Taifeng Cultural Communication Co., Ltd where she oversaw its financial matters from November 2018 to November 2024. Prior to that, Ms. Cao served as a business manager of Yangfeng Art Exchange Co., Ltd from February 2016 to October 2018. From March 2011 to January 2016, she served as the treasury officer of financial department of Suzhou Industrial Park Xinfushida Plastic Profile Products Co., Ltd.",
},
},
};

View File

@ -56,7 +56,7 @@
getCommitteeRole(director.name, 'Audit').toLowerCase()
"
>
<span class="badge-icon"></span>
{{ getCommitteeRole(director.name, "Audit") }}
</div>
</template>
</div>
@ -74,7 +74,7 @@
).toLowerCase()
"
>
<span class="badge-icon"></span>
{{ getCommitteeRole(director.name, "Compensation") }}
</div>
</template>
</div>
@ -89,7 +89,7 @@
getCommitteeRole(director.name, 'Governance').toLowerCase()
"
>
<span class="badge-icon"></span>
{{ getCommitteeRole(director.name, "Governance") }}
</div>
</template>
</div>
@ -112,24 +112,24 @@ const otherDirectors = [
{ name: "Chan Oi Fat", title: "Director" },
];
// - API
// Updated committee roles according to requirements
const committeeRoles = {
"Cao Yu": {},
"David Lazar": {},
"Hu Bin": {
Compensation: "Chair",
Governance: "Member",
Audit: "Chair",
Audit: "Member",
Compensation: "Member",
Governance: "Chair",
},
"David Natan": {
Compensation: "Chair",
Governance: "Member",
Audit: "Chair",
Compensation: "Member",
Governance: "Member",
},
"Chan Oi Fat": {
Audit: "Member",
Compensation: "Chair",
Governance: "Member",
Audit: "Chair",
},
};

View File

@ -1,7 +1,6 @@
<template>
<div class="committees-page">
<!-- 标题区 -->
<div class="title mb-[50px] text-center">
<h1 style="font-size: 40px; margin-top: 60px">Committee Composition</h1>
</div>
@ -41,7 +40,6 @@
>
{{ director.name }}
</router-link>
<!-- <p class="director-title">{{ director.title }}</p> -->
</div>
</div>
</div>
@ -56,7 +54,7 @@
getCommitteeRole(director.name, 'Audit').toLowerCase()
"
>
<span class="badge-icon"></span>
{{ getCommitteeRole(director.name, "Audit") }}
</div>
</template>
</div>
@ -74,7 +72,7 @@
).toLowerCase()
"
>
<span class="badge-icon"></span>
{{ getCommitteeRole(director.name, "Compensation") }}
</div>
</template>
</div>
@ -89,7 +87,7 @@
getCommitteeRole(director.name, 'Governance').toLowerCase()
"
>
<span class="badge-icon"></span>
{{ getCommitteeRole(director.name, "Governance") }}
</div>
</template>
</div>
@ -112,24 +110,24 @@ const otherDirectors = [
{ name: "Chan Oi Fat", title: "Director" },
];
// - API
// Updated committee roles according to requirements
const committeeRoles = {
"Cao Yu": {},
"David Lazar": {},
"Hu Bin": {
Compensation: "Chair",
Governance: "Member",
Audit: "Chair",
Audit: "Member",
Compensation: "Member",
Governance: "Chair",
},
"David Natan": {
Compensation: "Chair",
Governance: "Member",
Audit: "Chair",
Compensation: "Member",
Governance: "Member",
},
"Chan Oi Fat": {
Audit: "Member",
Compensation: "Chair",
Governance: "Member",
Audit: "Chair",
},
};

View File

@ -40,14 +40,18 @@
v-for="(committee, idx) in getCommittees(director.name)"
:key="idx"
>
<div class="committee-position">
<div
class="role-badge"
:class="
getCommitteeRole(director.name, committee).toLowerCase()
"
>
<span>{{ getCommitteeRole(director.name, committee) }}</span>
<span class="committee-name"></span>
<span>{{ getCommitteeShortName(committee) }}</span>
</div>
<div style="font-size: 16px" class="role-title">
{{ getCommitteeRole(director.name, committee) }}
</div>
</div>
</template>
</div>
@ -73,33 +77,40 @@ const otherDirectors = [
{ name: "Chan Oi Fat", title: "Director" },
];
//
// - (Chair/Member)
const committeeRoles = {
"Cao Yu": {},
"David Lazar": {},
"Hu Bin": {
Compensation: "Audit Committee ",
Governance: "Compensation Committee",
Audit: "Nominating Committee",
Audit: "Member",
Compensation: "Member",
Governance: "Chair",
},
"David Natan": {
Compensation: "Audit Committee ",
Governance: "Compensation Committee",
Audit: "Nominating Committee",
Audit: "Chair",
Compensation: "Member",
Governance: "Member",
},
"Chan Oi Fat": {
Compensation: "Audit Committee ",
Governance: "Compensation Committee",
Audit: "Nominating Committee",
Audit: "Member",
Compensation: "Chair",
Governance: "Member",
},
};
//
const committeeFullNames = {
Audit: "Audit Committee",
Compensation: "Compensation Committee",
Governance: "Nominating and Corporate Governance Committee",
};
//
const getCommittees = (name) => {
return Object.keys(committeeRoles[name] || {});
};
//
// (Chair/Member)
const getCommitteeRole = (name, committee) => {
return committeeRoles[name]?.[committee] || "";
};
@ -125,6 +136,40 @@ const getInitials = (name) => {
</script>
<style scoped>
/* 添加这些样式来显示职位类型 */
.committee-position {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 8px;
}
.role-title {
font-size: 12px;
color: #666;
margin-top: 4px;
text-transform: capitalize;
}
/* 保持原有的角色徽章样式 */
.role-badge {
padding: 6px 12px;
border-radius: 20px;
font-size: 14px;
font-weight: 500;
display: inline-flex;
align-items: center;
}
.role-badge.chair {
background-color: #e6f2ff;
color: #0066cc;
}
.role-badge.member {
background-color: #f0f0f0;
color: #555;
}
.title h1 {
position: relative;

View File

@ -40,14 +40,18 @@
v-for="(committee, idx) in getCommittees(director.name)"
:key="idx"
>
<div class="committee-position">
<div
class="role-badge"
:class="
getCommitteeRole(director.name, committee).toLowerCase()
"
>
<span>{{ getCommitteeRole(director.name, committee) }}</span>
<span class="committee-name"></span>
<span>{{ getCommitteeShortName(committee) }}</span>
</div>
<div style="font-size: 16px" class="role-title">
{{ getCommitteeRole(director.name, committee) }}
</div>
</div>
</template>
</div>
@ -73,33 +77,40 @@ const otherDirectors = [
{ name: "Chan Oi Fat", title: "Director" },
];
//
// - (Chair/Member)
const committeeRoles = {
"Cao Yu": {},
"David Lazar": {},
"Hu Bin": {
Compensation: "Audit Committee ",
Governance: "Compensation Committee",
Audit: "Nominating Committee",
Audit: "Member",
Compensation: "Member",
Governance: "Chair",
},
"David Natan": {
Compensation: "Audit Committee ",
Governance: "Compensation Committee",
Audit: "Nominating Committee",
Audit: "Chair",
Compensation: "Member",
Governance: "Member",
},
"Chan Oi Fat": {
Compensation: "Audit Committee ",
Governance: "Compensation Committee",
Audit: "Nominating Committee",
Audit: "Member",
Compensation: "Chair",
Governance: "Member",
},
};
//
const committeeFullNames = {
Audit: "Audit Committee",
Compensation: "Compensation Committee",
Governance: "Nominating and Corporate Governance Committee",
};
//
const getCommittees = (name) => {
return Object.keys(committeeRoles[name] || {});
};
//
// (Chair/Member)
const getCommitteeRole = (name, committee) => {
return committeeRoles[name]?.[committee] || "";
};
@ -125,6 +136,40 @@ const getInitials = (name) => {
</script>
<style scoped>
/* 添加这些样式来显示职位类型 */
.committee-position {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 8px;
}
.role-title {
font-size: 12px;
color: #666;
margin-top: 4px;
text-transform: capitalize;
}
/* 保持原有的角色徽章样式 */
.role-badge {
padding: 6px 12px;
border-radius: 20px;
font-size: 14px;
font-weight: 500;
display: inline-flex;
align-items: center;
}
.role-badge.chair {
background-color: #e6f2ff;
color: #0066cc;
}
.role-badge.member {
background-color: #f0f0f0;
color: #555;
}
.title h1 {
position: relative;

View File

@ -39,6 +39,7 @@
<h1 style="font-size: 18px" class="">
{{ item.title }}
</h1>
<text> {{ item.date }}</text>
</div>
</div>
<div class="mt-auto">
@ -86,28 +87,28 @@ const state = reactive({
description:
"Defines the purpose, composition, and responsibilities of the Audit Committee in overseeing financial reporting and disclosure.",
url: quarterlyPdfone,
date: "Last updated: March 2025",
date: "May 30, 2025",
},
{
title: "CODE OF BUSINESS CONDUCT AND ETHICS",
description:
"Establishes the ethical standards and legal compliance expectations for all directors, officers and employees.",
url: quarterlyPdftwo,
date: "Last updated: January 2025",
date: "May 30, 2025",
},
{
title: "COMPENSATION COMMITTEE CHARTER",
description:
"Outlines the duties and responsibilities for overseeing executive compensation and benefit plans.",
url: quarterlyPdfthree,
date: "Last updated: February 2025",
date: "May 30, 2025",
},
{
title: "NOMINATING AND CORPORATE GOVERNANCE COMMITTEE CHARTER",
description:
"Provides the framework for director nominations and corporate governance matters.",
url: quarterlyPdffour,
date: "Last updated: April 2025",
date: "May 30, 2025",
},
],
});