about summary refs log tree commit diff
path: root/modules/bottom-sheet/ios/SheetManager.swift
blob: e4e843bea51011c51e5b8d49e85b0d83dfdb35c1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//
//  SheetManager.swift
//  Pods
//
//  Created by Hailey on 10/1/24.
//

import ExpoModulesCore

class SheetManager {
  static let shared = SheetManager()

  private var sheetViews = NSHashTable<SheetView>(options: .weakMemory)

  func add(_ view: SheetView) {
    sheetViews.add(view)
  }

  func remove(_ view: SheetView) {
    sheetViews.remove(view)
  }

  func dismissAll() {
    sheetViews.allObjects.forEach { sheetView in
      sheetView.dismiss()
    }
  }
}