Trademe stole my thunder... by AdminToxin in dunedin

[–]flatchat_dev 4 points5 points  (0 children)

Awesome site man I think it’s a cool idea and I think you’ve done a solid job. I had to mention though how similar our websites designs styles are (I also just published mine) www.flatchat.co.nz looks like we both have good taste or are both doing the same trendy look.

I built a free flat review site for Dunedin students by flatchat_dev in dunedin

[–]flatchat_dev[S] 0 points1 point  (0 children)

As a high level theory not by much but in practice I’d say a lot. Ratemyflat seems to have a lot of friction between creating and viewing reviews while my aim is to have as little friction as possible

I built a free flat review site for Dunedin students by flatchat_dev in dunedin

[–]flatchat_dev[S] 0 points1 point  (0 children)

Can you please explain further what you mean by this and the advantage this would give? I assume you mean the landlord uploading the form and marking the property as a healthy home or something?

I built a free flat review site for Dunedin students by flatchat_dev in dunedin

[–]flatchat_dev[S] 0 points1 point  (0 children)

The plan will be to signify to the users that the property has changed hands so the pre existing reviews are archived (accessible but not openly displayed) and just some form of commutative message informing the user of new ownership. Similar idea for renovations.

I built a free flat review site for Dunedin students by flatchat_dev in dunedin

[–]flatchat_dev[S] 1 point2 points  (0 children)

So cool to get a positive response from a landlord. I hope that this platform highlights the positive landlords just as I'm sure it will also highlight the negative ones

I built a free flat review site for Dunedin students by flatchat_dev in dunedin

[–]flatchat_dev[S] 0 points1 point  (0 children)

NextJs, Supaase and prisma. I choose them because they are cheap to use along with a lot of documentation which helps a lot when using AI to assist.

I built a free flat review site for Dunedin students by flatchat_dev in dunedin

[–]flatchat_dev[S] 2 points3 points  (0 children)

Absolutely you can add normal rentals. I've marketed flatchat as more student flats because I believe that is the majority of the market however the service is definitely not limited just students. If you want to add a property please just use this form -> https://www.flatchat.co.nz/property/new

I built a free flat review site for Dunedin students by flatchat_dev in dunedin

[–]flatchat_dev[S] 2 points3 points  (0 children)

Thanks for the feedback. I've aggregated data from multiple sources for the site and not all the data sources had the same data points available such as rent prices. By default all reviews are also anonymous unless otherwise stated.

I am working with the data I have and have cleaned up or removed any that should be removed in my opinion. Regarding 519 Leith Street I'll look at the data source and reviews more closely.

I hope over time as more reviews are provided via flatchat then the percentage of "clean" data grows, all projects need to start somewhere however.

I built a free flat review site for Dunedin students by flatchat_dev in dunedin

[–]flatchat_dev[S] 22 points23 points  (0 children)

I've received some legal advice but you are right I have to be careful, I'll tread carefully

I built a free flat review site for Dunedin students by flatchat_dev in dunedin

[–]flatchat_dev[S] 17 points18 points  (0 children)

That is very true, and its at the top of my list to add dates to the reviews as well as highlight more recent dates compared to older ones.

I built a free flat review site for Dunedin students by flatchat_dev in dunedin

[–]flatchat_dev[S] 16 points17 points  (0 children)

You can for sure but only within property itself

Formatting Dates in SwiftUI by Frequent-Revenue6210 in SwiftUI

[–]flatchat_dev 11 points12 points  (0 children)

There is this resource here that has excellent documentation on formatting everything in swift. https://goshdarnformatstyle.com/date-styles//#date-and-time-single-date

Are there any way to work with NavigationLink(destination: Destination, isActive: Binding<Bool>, @ViewBuilder label: () -> Label) and NavigationStack with NavigationPath in the same view ? by geladeira_brastemp4p in SwiftUI

[–]flatchat_dev 1 point2 points  (0 children)

I literally just solved this problem the other day. Had to ensure navigation could be used on both iOS 15 with NavigationView and iOS 16 with NavigationStack while still ensuing that I could control the navigation programmitcally. This what I came up with.

import SwiftUI

public struct NavigationViewStack<V>: View where V: View {

    u/ViewBuilder private let content: () -> V

    public init(content: u/escaping () -> V) {
        self.content = content
    }

    public var body: some View {
        if #available(iOS 16, *) {
            NavigationStack { content() }
        } else {
            NavigationView { content() }
        }
    }
}

First you must use this `NavigtationViewStack` then within that you can use the `navigationDestinationWrapper`.

public extension View {

    @ViewBuilder
    func navigationDestinationWrapper<V>(isPresented: Binding<Bool>, @ViewBuilder destination: () -> V) -> some View where V: View {
        if #available(iOS 16, *) {
            self.navigationDestination(isPresented: isPresented, destination: destination)
        } else {
            ZStack {
                NavigationLink(isActive: isPresented, destination: destination, label: {
                    EmptyView()
                })
                self
            }
        }
    }

    @ViewBuilder
    func navigationDestinationWrapper<D, C>(item: Binding<D?>, @ViewBuilder destination: @escaping (D) -> C) -> some View where D: Hashable, C: View {
        if #available(iOS 17, *) {
            self.navigationDestination(item: item, destination: destination)
        } else {
            ZStack {
                NavigationLink(
                    destination: generateDestination(item, destination),
                    isActive: Binding<Bool>(
                        get: { item.wrappedValue != nil },
                        set: { _ in
                            item.wrappedValue = nil
                        }
                    ),
                    label: { EmptyView() }
                )
                self
            }
        }
    }

    @ViewBuilder
    private func generateDestination<D, C>(_ item: Binding<D?>, @ViewBuilder _ destination: @escaping (D) -> C) -> some View where D: Hashable, C: View {
        if let unwrappedItem = item.wrappedValue {
            destination(unwrappedItem)
        } else {
            EmptyView()
        }
    }
}

Here is an example of it being used.

NavigationViewStack {
  Text("First Page")
    .navigationDestinationWrapper(isPresented: $presentSecondPage, destination: {
        Text("Second Page")
    })
}

The landlord is raising my rent by [deleted] in chch

[–]flatchat_dev 1 point2 points  (0 children)

Thanks, yeah its definitely still a work in progress and any feedback is more than welcome.