         return true
 
     visible_projects: ->
-        words = misc.split(@props.search).concat(k for k of @props.selected_hashtags[@filter()])
-        return (project for _, project of @props.project_list when @project_is_in_filter(project, @props.hidden, @props.deleted) and @matches(project, words))
+        words = misc.split(@props.search.toLowerCase()).concat(k for k of @props.selected_hashtags[@filter()])
+        return (project for project in @project_list() when project_is_in_filter(project, @props.hidden, @props.deleted) and @matches(project, words))
 
     toggle_hashtag: (tag) ->
         selected_hashtags = JSON.parse(JSON.stringify(@props.selected_hashtags))

    filter: ->
        "#{@props.hidden}-#{@props.deleted}"

    # All hashtags from visible projects
    hashtags: ->
        tags = {}
        for _, project of @props.project_list
            if @project_is_in_filter(project, @props.hidden, @props.deleted)
                for tag in parse_project_tags(project)
                    tags[tag] = true
        return misc.keys(tags).sort()

    # Returns true if the project should be visible with the current filters active
    project_is_in_filter: (project) ->
        account_id = require('account').account_settings.account_id()
        !!project.deleted == @props.deleted and !!project.users[account_id].hide == @props.hidden


    render_projects_title: ->
        projects_title_styles =

        </Grid>


ProjectsPage = rclass
    render: ->
        <FluxComponent flux={flux} connectToStores={'projects'}>
            <ProjectSelector />
        </FluxComponent>

React.render(<ProjectsPage />, document.getElementById("projects"))
