Skip to content

Feat/notification-panel-table #1343

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Apr 6, 2025
6 changes: 6 additions & 0 deletions .changeset/thirty-falcons-perform.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@wizleap-inc/wiz-ui-react": minor
"@wizleap-inc/wiz-ui-next": minor
---

Feat(notification-panel): table-info layout
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { StoryFn, Meta } from "@storybook/vue3";
import { Meta, StoryFn } from "@storybook/vue3";

import { WizText, WizVStack, WizHStack, WizBox } from "@/components";
import { WizBox, WizHStack, WizText, WizVStack } from "@/components";

import { WizNotificationPanel } from ".";

Expand Down Expand Up @@ -40,7 +40,7 @@ const baseProps = {
content: "データ1",
},
{
title: "情報2",
title: "情報002",
content: "データ2",
},
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,29 +14,53 @@
width,
}"
>
<WizHStack px="md" py="xs" justify="between" align="center">
<WizHStack px="md" py="xs" justify="between" align="center" nowrap>
<WizVStack gap="xs" position="relative" width="100%">
<WizHStack v-if="variant === 'primary'" justify="between" align="start">
<WizVStack gap="xs">
<WizHStack gap="xl" v-for="(item, i) in tableInfo" :key="i">
<WizText :bold="!read" fontSize="xs" color="gray.700">{{
item.title
}}</WizText>
<WizText :bold="!read" fontSize="xs" color="gray.700">{{
item.content
}}</WizText>
</WizHStack>
</WizVStack>
<WizUnstyledTable>
<WizUnstyledTbody>
<WizUnstyledTr
v-for="(item, i) in tableInfo"
:key="`${item.title}_${i}`"
>
<WizUnstyledTd
align="left"
:style="{
paddingRight: THEME.spacing.xl,
paddingBottom: THEME.spacing.xs,
}"
>
<WizText :bold="!read" fontSize="xs" color="gray.700">
{{ item.title }}
</WizText>
</WizUnstyledTd>
<WizUnstyledTd
align="left"
:style="{ paddingBottom: THEME.spacing.xs }"
>
<WizText :bold="!read" fontSize="xs" color="gray.700">
{{ item.content }}
</WizText>
</WizUnstyledTd>
</WizUnstyledTr>
</WizUnstyledTbody>
</WizUnstyledTable>
<WizText color="gray.600" fontSize="xs2">
{{ displayHowPast }}
</WizText>
</WizHStack>
<WizText color="gray.700" fontSize="xs" :maxLines="2" :bold="!read">
{{ title }}
</WizText>
<WizText v-if="variant === 'secondary'" color="gray.600" fontSize="xs2">
{{ displayDatetime }}
</WizText>
<WizStack gap="xs">
<WizText color="gray.700" fontSize="xs" :maxLines="2" :bold="!read">
{{ title }}
</WizText>
<WizText
v-if="variant === 'secondary'"
color="gray.600"
fontSize="xs2"
>
{{ displayDatetime }}
</WizText>
</WizStack>
</WizVStack>
<WizIcon
:icon="WizIChevronRight"
Expand All @@ -47,16 +71,21 @@
</template>

<script setup lang="ts">
import { ColorKeys, ComponentName } from "@wizleap-inc/wiz-ui-constants";
import { ColorKeys, ComponentName, THEME } from "@wizleap-inc/wiz-ui-constants";
import { formatDateToYMDHM, formatHowPast } from "@wizleap-inc/wiz-ui-utils";
import { computed, ref, PropType } from "vue";
import { computed, PropType, ref } from "vue";

import {
WizBox,
WizHStack,
WizIcon,
WizVStack,
WizStack,
WizText,
WizUnstyledTable,
WizUnstyledTbody,
WizUnstyledTd,
WizUnstyledTr,
WizVStack,
} from "@/components/base";
import { WizIChevronRight } from "@/components/icons";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ColorKeys, ComponentName } from "@wizleap-inc/wiz-ui-constants";
import { ColorKeys, ComponentName, THEME } from "@wizleap-inc/wiz-ui-constants";
import { formatDateToYMDHM, formatHowPast } from "@wizleap-inc/wiz-ui-utils";
import { FC, useCallback, useEffect, useMemo, useState } from "react";

Expand All @@ -8,6 +8,10 @@ import {
WizIChevronRight,
WizIcon,
WizText,
WizUnstyledTable,
WizUnstyledTbody,
WizUnstyledTd,
WizUnstyledTr,
WizVStack,
} from "@/components";
import { BaseProps } from "@/types";
Expand Down Expand Up @@ -86,31 +90,48 @@ const NotificationPanel: FC<Props> = ({
<WizVStack gap="xs" position="relative" width="100%">
{variant === "primary" && (
<WizHStack justify="between" align="start">
<WizVStack gap="xs">
{tableInfo?.map((item, i) => (
<WizHStack key={i} gap="xl">
<WizText bold={!read} fontSize="xs" color="gray.700">
{item.title}
</WizText>
<WizText bold={!read} fontSize="xs" color="gray.700">
{item.content}
</WizText>
</WizHStack>
))}
</WizVStack>
<WizUnstyledTable>
<WizUnstyledTbody>
{tableInfo?.map((item, i) => (
<WizUnstyledTr key={`${item.title}_${i}`}>
<WizUnstyledTd
align="left"
style={{
paddingRight: THEME.spacing.xl,
paddingBottom: THEME.spacing.xs,
}}
>
<WizText bold={!read} fontSize="xs" color="gray.700">
{item.title}
</WizText>
</WizUnstyledTd>
<WizUnstyledTd
align="left"
style={{ paddingBottom: THEME.spacing.xs }}
>
<WizText bold={!read} fontSize="xs" color="gray.700">
{item.content}
</WizText>
</WizUnstyledTd>
</WizUnstyledTr>
))}
</WizUnstyledTbody>
</WizUnstyledTable>
<WizText color="gray.600" fontSize="xs2">
{displayHowPast}
</WizText>
</WizHStack>
)}
<WizText color="gray.700" fontSize="xs" maxLines={2} bold={!read}>
{title}
</WizText>
{variant === "secondary" && (
<WizText color="gray.600" fontSize="xs2">
{displayDatetime}
<WizHStack gap="xs">
<WizText color="gray.700" fontSize="xs" maxLines={2} bold={!read}>
{title}
</WizText>
)}
{variant === "secondary" && (
<WizText color="gray.600" fontSize="xs2">
{displayDatetime}
</WizText>
)}
</WizHStack>
</WizVStack>
<WizIcon icon={WizIChevronRight} color="green.800" />
</WizHStack>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const baseProps = {
content: "データ1",
},
{
title: "情報2",
title: "情報002",
content: "データ2",
},
],
Expand Down
Loading