Flutter 게시판 앱 만들기 — 북마크로 찜한 글만 모아보기

2025. 5. 21. 17:24·Flutter/Flutter 게시판 앱 만들기
728x90
반응형

게시글을 스쳐 지나가기만 한다면 조금 아쉽다.
내가 좋아하는 글, 나중에 다시 보고 싶은 글은 북마크 해두고 모아보면 훨씬 편리하다.

이번 글에서는 Flutter 게시판 앱에 즐겨찾기(북마크) 기능을 추가해보자.
`⭐` 아이콘 하나로 앱의 감성이 한층 살아날 수 있다.


📌 Post 모델에 즐겨찾기 필드 추가

기존의 Post 클래스에 isBookmarked 필드를 추가한다:

class Post {
  final String title;
  final String content;
  bool isBookmarked;

  Post({
    required this.title,
    required this.content,
    this.isBookmarked = false,
  });

  Map<String, dynamic> toJson() => {
    'title': title,
    'content': content,
    'isBookmarked': isBookmarked,
  };

  factory Post.fromJson(Map<String, dynamic> json) {
    return Post(
      title: json['title'],
      content: json['content'],
      isBookmarked: json['isBookmarked'] ?? false,
    );
  }
}

⭐ 북마크 버튼 UI

게시글 카드 혹은 상세 화면에서 북마크 아이콘을 추가한다:

IconButton(
  icon: Icon(
    post.isBookmarked ? Icons.star : Icons.star_border,
    color: post.isBookmarked ? Colors.amber : Colors.grey,
  ),
  onPressed: () {
    context.read<PostProvider>().toggleBookmark(index);
  },
)

아이콘 클릭 시 상태가 바뀌고 `notifyListeners()`로 화면을 갱신한다.


📦 Provider에 토글 함수 추가

void toggleBookmark(int index) {
  _posts[index].isBookmarked = !_posts[index].isBookmarked;
  notifyListeners();
  savePosts();
}

북마크 상태를 반전시킨 후 저장하면 앱을 껐다 켜도 유지된다.


📂 북마크된 글만 보기

북마크 탭이나 필터 버튼을 만들어서 아래처럼 필터링된 리스트를 보여줄 수 있다:

List<Post> bookmarkedPosts = context.watch<PostProvider>()
  .posts
  .where((post) => post.isBookmarked)
  .toList();

탭 전환을 통해 전체 글 ↔ 즐겨찾기 글을 오가도록 만들면 UX도 훌륭하다.


🌿 감성 포인트

  • 북마크 아이콘에 애니메이션 효과 넣기 (`AnimatedSwitcher`, `ScaleTransition` 등)
  • 북마크 탭에 “⭐ 내 마음 속 글 모음” 문구 넣기
  • 북마크된 글이 없을 땐 “아직 찜한 글이 없어요” 메시지 표시

🌱 다음 단계

이제 내가 좋아하는 글만 따로 볼 수 있게 되었으니,
다음은 글 작성 시간 표시 & 최신순 정렬 기능을 추가해보자!

✍️ 이 글은 터미널 밖으로 나온 개발자의 Flutter 앱 만들기 여정입니다.

728x90
반응형

'Flutter > Flutter 게시판 앱 만들기' 카테고리의 다른 글

Flutter 게시판 앱 만들기 — 감성 앱의 마무리는 어둠 속의 편안함  (0) 2025.05.21
Flutter 게시판 앱 만들기 — Flutter 게시판을 시간 순서대로 정리해보자  (0) 2025.05.21
Flutter 게시판 앱 만들기 — 실시간으로 게시글 찾기  (0) 2025.05.21
Flutter 게시판 앱 만들기 — Flutter 테마와 커스텀 스타일 적용하기  (0) 2025.05.21
Flutter 게시판 앱 만들기 — 게시글 수정 & 삭제 기능 추가하기  (0) 2025.05.21
'Flutter/Flutter 게시판 앱 만들기' 카테고리의 다른 글
  • Flutter 게시판 앱 만들기 — 감성 앱의 마무리는 어둠 속의 편안함
  • Flutter 게시판 앱 만들기 — Flutter 게시판을 시간 순서대로 정리해보자
  • Flutter 게시판 앱 만들기 — 실시간으로 게시글 찾기
  • Flutter 게시판 앱 만들기 — Flutter 테마와 커스텀 스타일 적용하기
코드를 걷는 사람
코드를 걷는 사람
devwanderer 님의 블로그 입니다.
  • 코드를 걷는 사람
    터미널 밖으로 나온 개발자
    코드를 걷는 사람
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Flutter
        • Flutter 게시판 앱 만들기
        • Flutter 뉴스 앱 만들기
        • Flutter 메모 앱 만들기
        • Flutter 캘린더 앱 만들기
        • Flutter 날씨 앱 만들기
      • Next.js
      • Ruby On Rails
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    캘린더앱
    Firebase
    rails보안
    북마크기능
    openweather
    RubyOnRails
    다크모드
    UI디자인
    모바일앱개발
    table_calendar
    뉴스앱
    개발블로그
    Flutter
    UIUX
    ActiveRecord
    flutter앱개발
    flutter기초
    백엔드개발
    감성앱
    Nextjs
    fluttertips
    flutter개발
    정적사이트
    flutter상태관리
    날씨앱
    코드를걷는사람
    flutter디자인
    flutter게시판
    메모앱
    flutterui
  • 최근 댓글

  • 최근 글

  • 반응형
    250x250
  • hELLO· Designed By정상우.v4.10.3
코드를 걷는 사람
Flutter 게시판 앱 만들기 — 북마크로 찜한 글만 모아보기
상단으로

티스토리툴바