outline active eraser pen when erasing
info text when no note is available
This commit is contained in:
		@@ -209,48 +209,75 @@ class _AllNotesPageState extends State<AllNotesPage> {
 | 
			
		||||
  Widget _buildNoteTiles() {
 | 
			
		||||
    return Consumer<FileChangeNotifier>(
 | 
			
		||||
      builder: (BuildContext context, value, Widget? child) {
 | 
			
		||||
        return Expanded(
 | 
			
		||||
          child: GridView.builder(
 | 
			
		||||
            gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
 | 
			
		||||
                crossAxisCount: 6, childAspectRatio: 0.7),
 | 
			
		||||
            physics: const ScrollPhysics(),
 | 
			
		||||
            padding: const EdgeInsets.all(2),
 | 
			
		||||
            itemBuilder: (BuildContext context, int idx) => NoteTile(
 | 
			
		||||
              data: value.tiledata[idx],
 | 
			
		||||
              selectionMode: selectionMode,
 | 
			
		||||
              selected: selectionIdx.contains(idx),
 | 
			
		||||
              onSelectionChange: (selection) {
 | 
			
		||||
                if (selection) {
 | 
			
		||||
                  if (!selectionMode) {
 | 
			
		||||
                    setState(() {
 | 
			
		||||
                      selectionMode = true;
 | 
			
		||||
                    });
 | 
			
		||||
                  }
 | 
			
		||||
                  if (!selectionIdx.contains(idx)) {
 | 
			
		||||
        if (value.tiledata.isEmpty) {
 | 
			
		||||
          return _buildNoNotesText();
 | 
			
		||||
        } else {
 | 
			
		||||
          return Expanded(
 | 
			
		||||
            child: GridView.builder(
 | 
			
		||||
              gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
 | 
			
		||||
                  crossAxisCount: 6, childAspectRatio: 0.7),
 | 
			
		||||
              physics: const ScrollPhysics(),
 | 
			
		||||
              padding: const EdgeInsets.all(2),
 | 
			
		||||
              itemBuilder: (BuildContext context, int idx) => NoteTile(
 | 
			
		||||
                data: value.tiledata[idx],
 | 
			
		||||
                selectionMode: selectionMode,
 | 
			
		||||
                selected: selectionIdx.contains(idx),
 | 
			
		||||
                onSelectionChange: (selection) {
 | 
			
		||||
                  if (selection) {
 | 
			
		||||
                    if (!selectionMode) {
 | 
			
		||||
                      setState(() {
 | 
			
		||||
                        selectionMode = true;
 | 
			
		||||
                      });
 | 
			
		||||
                    }
 | 
			
		||||
                    if (!selectionIdx.contains(idx)) {
 | 
			
		||||
                      final sel = selectionIdx;
 | 
			
		||||
                      sel.add(idx);
 | 
			
		||||
                      setState(() {
 | 
			
		||||
                        selectionIdx = sel;
 | 
			
		||||
                      });
 | 
			
		||||
                    }
 | 
			
		||||
                  } else {
 | 
			
		||||
                    final sel = selectionIdx;
 | 
			
		||||
                    sel.add(idx);
 | 
			
		||||
                    sel.remove(idx);
 | 
			
		||||
                    if (sel.isEmpty) {
 | 
			
		||||
                      setState(() {
 | 
			
		||||
                        selectionMode = false;
 | 
			
		||||
                      });
 | 
			
		||||
                    }
 | 
			
		||||
                    setState(() {
 | 
			
		||||
                      selectionIdx = sel;
 | 
			
		||||
                    });
 | 
			
		||||
                  }
 | 
			
		||||
                } else {
 | 
			
		||||
                  final sel = selectionIdx;
 | 
			
		||||
                  sel.remove(idx);
 | 
			
		||||
                  if (sel.isEmpty) {
 | 
			
		||||
                    setState(() {
 | 
			
		||||
                      selectionMode = false;
 | 
			
		||||
                    });
 | 
			
		||||
                  }
 | 
			
		||||
                  setState(() {
 | 
			
		||||
                    selectionIdx = sel;
 | 
			
		||||
                  });
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
                },
 | 
			
		||||
              ),
 | 
			
		||||
              itemCount: value.tiledata.length,
 | 
			
		||||
            ),
 | 
			
		||||
            itemCount: value.tiledata.length,
 | 
			
		||||
          ),
 | 
			
		||||
        );
 | 
			
		||||
          );
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  Widget _buildNoNotesText() {
 | 
			
		||||
    return Expanded(
 | 
			
		||||
      child: Column(
 | 
			
		||||
        mainAxisAlignment: MainAxisAlignment.center,
 | 
			
		||||
        children: const [
 | 
			
		||||
          Text(
 | 
			
		||||
            'No notes',
 | 
			
		||||
            style: TextStyle(
 | 
			
		||||
                color: Color.fromRGBO(255, 255, 255, .75), fontSize: 14),
 | 
			
		||||
          ),
 | 
			
		||||
          SizedBox(
 | 
			
		||||
            height: 10,
 | 
			
		||||
          ),
 | 
			
		||||
          Text(
 | 
			
		||||
            'Tap the Add Button to create a note.',
 | 
			
		||||
            style: TextStyle(
 | 
			
		||||
                color: Color.fromRGBO(255, 255, 255, .65), fontSize: 12),
 | 
			
		||||
          )
 | 
			
		||||
        ],
 | 
			
		||||
      ),
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user