Skip to content

Commit

Permalink
Merge branch 'dev' into itttm/update_wallet_bitname
Browse files Browse the repository at this point in the history
  • Loading branch information
itttm127 authored Jan 28, 2025
2 parents f4fb8e0 + e2d7e5c commit 29f6573
Show file tree
Hide file tree
Showing 17 changed files with 3,210 additions and 447 deletions.
87 changes: 87 additions & 0 deletions components/shared/WalletComponents.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
import { ComponentChildren } from "preact";
import {
alignmentClasses,
type AlignmentType,
dataLabel,
dataLabelSm,
dataValueSm,
dataValueXl,
} from "$components/shared/WalletStyles.ts";

interface StatBaseProps {
label: string | ComponentChildren;
value: string | ComponentChildren;
align?: AlignmentType;
}

interface StatItemProps extends StatBaseProps {
class?: string;
href?: string;
target?: "_blank" | "_self" | "_parent" | "_top";
}

interface StatTitleProps extends StatBaseProps {
href?: string;
target?: "_blank" | "_self" | "_parent" | "_top";
}

export function StatItem({
label,
value,
align = "left",
class: customClass,
href,
target = "_self",
}: StatItemProps) {
const alignmentClass = alignmentClasses[align];
const content = (
<div class={`flex flex-col -space-y-1 ${customClass || ""}`}>
<p class={`${dataLabelSm} ${alignmentClass}`}>
{label}
</p>
<p
class={`${dataValueSm} ${alignmentClass} group-hover:text-stamp-purple-bright`}
>
{value}
</p>
</div>
);

return href
? (
<a href={href} target={target} class="group">
{content}
</a>
)
: content;
}

export function StatTitle({
label,
value,
align = "left",
href,
target = "_self",
}: StatTitleProps) {
const alignmentClass = alignmentClasses[align];
const content = (
<div class="flex flex-col -space-y-1">
<p class={`${dataLabel} ${alignmentClass}`}>
{label}
</p>
<p
class={`${dataValueXl} ${alignmentClass} group-hover:text-stamp-purple-bright`}
>
{value}
</p>
</div>
);

return href
? (
<a href={href} target={target} class="group">
{content}
</a>
)
: content;
}
56 changes: 56 additions & 0 deletions components/shared/WalletStyles.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
// Container styles
export const backgroundContainer =
"flex flex-col dark-gradient rounded-lg p-3 mobileMd:p-6";

// Data column and layout styles
export const dataColumn = "flex flex-col -space-y-1";

// Text styles - Labels
export const dataLabelSm =
"text-sm mobileLg:text-base font-light text-stamp-grey-darker uppercase";
export const dataLabel =
"text-base mobileLg:text-lg font-light text-stamp-grey-darker uppercase";
export const dataLabelLg =
"text-lg mobileLg:text-xl font-light text-stamp-grey-darker uppercase";

// Text styles - Values
export const dataValueXs =
"text-xs mobileLg:text-sm font-normal text-stamp-grey-light";
export const dataValueSm =
"text-sm mobileLg:text-base font-medium text-stamp-grey-light";
export const dataValue =
"text-base mobileLg:text-lg font-medium text-stamp-grey-light uppercase";
export const dataValueLg =
"text-xl mobileLg:text-2xl font-medium text-stamp-grey-light uppercase";
export const dataValueXl =
"text-3xl mobileLg:text-4xl font-black text-stamp-grey-light";

// Title styles
export const titleGreyDL =
"inline-block text-3xl mobileMd:text-4xl mobileLg:text-5xl font-black gray-gradient3";
export const subTitleGrey =
"inline-block text-sm mobileMd:text-base mobileLg:text-lg font-medium text-stamp-grey-darker";

// Button styles
export const buttonPurpleFlat =
"inline-flex items-center justify-center bg-stamp-purple border-2 border-stamp-purple rounded-md text-sm mobileLg:text-base font-extrabold text-black tracking-[0.05em] h-[42px] mobileLg:h-[48px] px-4 mobileLg:px-5 hover:border-stamp-purple-highlight hover:bg-stamp-purple-highlight transition-colors";
export const buttonGreyOutline =
"inline-flex items-center justify-center border-2 border-stamp-grey rounded-md text-sm mobileLg:text-base font-extrabold text-stamp-grey tracking-[0.05em] h-[42px] mobileLg:h-12 px-4 mobileLg:px-5 hover:border-stamp-grey-light hover:text-stamp-grey-light transition-colors";

// Tooltip styles
export const tooltipIcon =
"absolute left-1/2 -translate-x-1/2 bg-[#000000BF] px-2 py-1 rounded-sm bottom-full text-[10px] mobileLg:text-xs text-stamp-grey-light whitespace-nowrap transition-opacity duration-300";

// Header styles
export const titlePurpleDL =
"inline-block text-3xl mobileMd:text-4xl mobileLg:text-5xl font-black purple-gradient1";

// Alignment utilities
export const alignmentClasses = {
left: "text-left",
center: "text-center",
right: "text-right",
} as const;

// Type for alignment options
export type AlignmentType = keyof typeof alignmentClasses;
17 changes: 17 additions & 0 deletions fresh.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ import * as $collection_index from "./routes/collection/index.tsx";
import * as $collection_overview_overview_ from "./routes/collection/overview/[overview].tsx";
import * as $config from "./routes/config.ts";
import * as $content_imgpath_ from "./routes/content/[...imgpath].tsx";
import * as $dashboard_address_ from "./routes/dashboard/[address].tsx";
import * as $docs_index from "./routes/docs/index.tsx";
import * as $fairmint from "./routes/fairmint.tsx";
import * as $faq_index from "./routes/faq/index.tsx";
Expand Down Expand Up @@ -135,10 +136,15 @@ import * as $Wallet_ConnectedModal from "./islands/Wallet/ConnectedModal.tsx";
import * as $Wallet_ConnectorsModal from "./islands/Wallet/ConnectorsModal.tsx";
import * as $Wallet_WalletModal from "./islands/Wallet/WalletModal.tsx";
import * as $Wallet_connectors_Wallet_connector from "./islands/Wallet/connectors/Wallet.connector.tsx";
import * as $Wallet_details_WalletDashboardContent from "./islands/Wallet/details/WalletDashboardContent.tsx";
import * as $Wallet_details_WalletDashboardDetails from "./islands/Wallet/details/WalletDashboardDetails.tsx";
import * as $Wallet_details_WalletDashboardHeader from "./islands/Wallet/details/WalletDashboardHeader.tsx";
import * as $Wallet_details_WalletContent from "./islands/Wallet/details/WalletContent.tsx";
import * as $Wallet_details_WalletDetails from "./islands/Wallet/details/WalletDetails.tsx";
import * as $Wallet_details_WalletDispenserDetails from "./islands/Wallet/details/WalletDispenserDetails.tsx";
import * as $Wallet_details_WalletDonateModal from "./islands/Wallet/details/WalletDonateModal.tsx";
import * as $Wallet_details_WalletHeader from "./islands/Wallet/details/WalletHeader.tsx";
import * as $Wallet_details_WalletProfileDetails from "./islands/Wallet/details/WalletProfileDetails.tsx";
import * as $Wallet_details_WalletReceiveModal from "./islands/Wallet/details/WalletReceiveModal.tsx";
import * as $Wallet_details_WalletSendBTCModal from "./islands/Wallet/details/WalletSendBTCModal.tsx";
import * as $Wallet_details_WalletSendStampModal from "./islands/Wallet/details/WalletSendStampModal.tsx";
Expand Down Expand Up @@ -340,6 +346,7 @@ const manifest = {
$collection_overview_overview_,
"./routes/config.ts": $config,
"./routes/content/[...imgpath].tsx": $content_imgpath_,
"./routes/dashboard/[address].tsx": $dashboard_address_,
"./routes/docs/index.tsx": $docs_index,
"./routes/fairmint.tsx": $fairmint,
"./routes/faq/index.tsx": $faq_index,
Expand Down Expand Up @@ -393,11 +400,21 @@ const manifest = {
"./islands/Wallet/WalletModal.tsx": $Wallet_WalletModal,
"./islands/Wallet/connectors/Wallet.connector.tsx":
$Wallet_connectors_Wallet_connector,
"./islands/Wallet/details/WalletDashboardContent.tsx":
$Wallet_details_WalletDashboardContent,
"./islands/Wallet/details/WalletDashboardDetails.tsx":
$Wallet_details_WalletDashboardDetails,
"./islands/Wallet/details/WalletDashboardHeader.tsx":
$Wallet_details_WalletDashboardHeader,
"./islands/Wallet/details/WalletContent.tsx": $Wallet_details_WalletContent,
"./islands/Wallet/details/WalletDetails.tsx": $Wallet_details_WalletDetails,
"./islands/Wallet/details/WalletDispenserDetails.tsx":
$Wallet_details_WalletDispenserDetails,
"./islands/Wallet/details/WalletDonateModal.tsx":
$Wallet_details_WalletDonateModal,
"./islands/Wallet/details/WalletHeader.tsx": $Wallet_details_WalletHeader,
"./islands/Wallet/details/WalletProfileDetails.tsx":
$Wallet_details_WalletProfileDetails,
"./islands/Wallet/details/WalletReceiveModal.tsx":
$Wallet_details_WalletReceiveModal,
"./islands/Wallet/details/WalletSendBTCModal.tsx":
Expand Down
33 changes: 23 additions & 10 deletions islands/Wallet/details/WalletContent.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { abbreviateAddress } from "$lib/utils/formatUtils.ts";
import { Filter } from "$islands/datacontrol/Filter.tsx";
import { Setting } from "$islands/datacontrol/Setting.tsx";
import { Pagination } from "$islands/datacontrol/Pagination.tsx";
import WalletSendStampModal from "$islands/Wallet/details/WalletSendStampModal.tsx";
import { SRC20Section } from "$islands/src20/SRC20Section.tsx";
import StampSection from "$islands/stamp/StampSection.tsx";
import { WalletContentProps } from "$types/wallet.d.ts";
Expand All @@ -14,6 +13,10 @@ import { formatBTCAmount } from "$lib/utils/formatUtils.ts";
import { getStampImageSrc } from "$lib/utils/imageUtils.ts";
import { NOT_AVAILABLE_IMAGE } from "$lib/utils/constants.ts";
import { StampRow } from "$globals";
import {
backgroundContainer,
dataLabel,
} from "$components/shared/WalletStyles.ts";

const ItemHeader = ({
title = "STAMP",
Expand Down Expand Up @@ -50,7 +53,7 @@ const ItemHeader = ({
return (
<div class="flex flex-row justify-between items-center gap-3 w-full relative">
<div class="flex items-end">
<p class="text-2xl mobileMd:text-3xl mobileLg:text-4xl desktop:text-5xl font-extralight text-stamp-purple-highlight">
<p class="text-2xl mobileMd:text-3xl mobileLg:text-4xl font-extralight text-stamp-purple-bright">
{title}
</p>
</div>
Expand Down Expand Up @@ -555,7 +558,7 @@ export default function WalletContent({
return (
<>
{/* Stamps Section */}
<div class="mt-6 mobileLg:mt-12 desktop:mt-24" id="stamps-section">
<div class="mt-3 mobileLg:mt-6" id="stamps-section">
<ItemHeader
title="STAMPS"
sort={true}
Expand All @@ -565,7 +568,7 @@ export default function WalletContent({
handleOpen={handleOpen}
search={true}
filter={false}
setting={true}
setting={false}
isOpenFilter={false}
isOpenSetting={openSetting}
handleOpenFilter={() => {}}
Expand All @@ -575,12 +578,16 @@ export default function WalletContent({
<div class="mt-3 mobileLg:mt-6">
{stamps.data?.length
? <StampSection {...stampSection} />
: <p class="text-gray-500">NO AVAILABLE STAMP</p>}
: (
<p class={`${dataLabel} -mt-1.5 mobileLg:-mt-3`}>
NO STAMPS IN THE WALLET
</p>
)}
</div>
</div>

{/* SRC20 (TOKENS) Section */}
<div class="mt-12 mobileLg:mt-24 desktop:mt-36" id="src20-section">
<div class="mt-6 mobileLg:mt-12" id="src20-section">
<ItemHeader
title="TOKENS"
sort={true}
Expand Down Expand Up @@ -618,13 +625,17 @@ export default function WalletContent({
sortBy={sortTokens}
/>
)
: <p class="text-gray-500">NO AVAILABLE TOKEN</p>}
: (
<p class={`${dataLabel} -mt-1.5 mobileLg:-mt-3`}>
NO TOKENS IN THE WALLET
</p>
)}
</div>
</div>

{/* Dispensers Section */}
{dispensers.data.length > 0 && (
<div class="mt-48">
<div class="mt-3 mobileLg:mt-6" id="listings-section">
<ItemHeader
title="LISTINGS"
sort={true}
Expand Down Expand Up @@ -659,7 +670,8 @@ export default function WalletContent({
</div>
)}

{/* Modal for sending stamps */}
{
/* Modal for sending stamps
{openSettingModal && (
<WalletSendStampModal
stamps={stamps}
Expand All @@ -668,7 +680,8 @@ export default function WalletContent({
toggleModal={handleOpenSettingModal}
handleCloseModal={handleCloseSettingModal}
/>
)}
)} */
}
</>
);
}
Loading

0 comments on commit 29f6573

Please sign in to comment.