전체 글

-- ==========================================-- 댓글(comments) 테이블 정책-- ==========================================-- 모든 사용자가 댓글 조회 가능CREATE POLICY "모든 사용자가 댓글 조회 가능"ON commentsFOR SELECTUSING (true);-- 인증된 사용자만 댓글 생성 가능CREATE POLICY "인증된 사용자만 댓글 생성 가능"ON commentsFOR INSERTWITH CHECK (auth.uid() = user_id);-- 사용자는 자신의 댓글만 수정 가능CREATE POLICY "사용자는 자신의 댓글만 수정 가능"ON commentsFOR UPDATEUSING (auth.uid()..
const CommentTextField = styled(TextField)` & .MuiOutlinedInput-root { border-radius: 24px; & fieldset { border-color: ${({ theme }) => theme.palette.primary.main}; } &:hover fieldset { border-color: ${({ theme }) => theme.palette.primary.main}; } &.Mui-focused fieldset { border-color: ${({ theme }) => theme.palette.primary.main}; border-width: 2px; } }`;
/** * 랜덤 닉네임 생성 유틸리티 * 형용사와 명사를 조합하여 독특한 닉네임을 생성합니다. */// 형용사 목록const adjectives = [ "행복한", "슬픈", "화난", "지친", "활기찬", "조용한", "시끄러운", "따뜻한", "차가운", "부드러운", "강한", "약한", "빠른", "느린", "밝은", "어두운", "현명한", "용감한", "겸손한", "정직한", "친절한", "엄격한", "귀여운", "멋진", "신비로운", "공정한", "냉철한", "신중한", "논리적인", "객관적인", "분석적인", "통찰력있는", "예리한", "진지한", "사려깊은", "정의로운", "합리적인", "균형잡힌", "엄정한"..
// 임포트import { Stack, Typography, Theme, useTheme } from "@mui/material";// 렌더링// 스타일드 컴포넌트 타입 정의type CardHeaderProps = { status: "requested" | "approved" | "rejected";}// 스타일드 컴포넌트 스타일 정의const CardHeader = styled(Stack)` flex-direction: row; justify-content: space-between; align-items: center; background-color: ${({ status, theme }) => (status === "requested" && theme.palette.primary.ma..
import dayjs from "dayjs";import 'dayjs/locale/ko'; // 한국어 로케일 추가dayjs.locale('ko'); // dayjs 한국어 설정// 날짜 포맷팅 함수const formatDate = (dateString: string) => { return dayjs(dateString).format('YYYY년 MM월 DD일 HH:mm'); // '년월일 시간:분' 으로 변경}; // 사용formatDate(시간 문자열을 매개변수로 넣습니다).ex) formatDate(info.created_at)
"use client";import { CircularProgress } from "@mui/material";const Loading = () => { return ;};export default Loading;
코드// 보낸 요청 조회export async function getSentPartnerRelationship(requesterId: string) { const response = await supabase .from("partner_relationship") .select( ` *, approver:users!partner-relationship_approver_id_fkey(id, email), requester:users!partner-relationship_requester_id_fkey(id, email) ` ) .eq("requester_id", requesterId); return response;} 해석users 테이블..
import * as React from "react";import Tabs from "@mui/material/Tabs";import Tab from "@mui/material/Tab";import Box from "@mui/material/Box";import { styled } from "@mui/material/styles";interface TabPanelProps { children?: React.ReactNode; index: number; value: number;}function CustomTabPanel(props: TabPanelProps) { const { children, value, index, ...other } = props; return ( {val..